Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
24 Май 2018, 03:28
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Как в ЗУП получить периоды действия должности без штатного в запросе  (Прочитано 2725 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Inetguru

  • *
  • Сообщений: 1
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-11-03
  • Сайт: 
  • Профессия: Программист 1С
Народ помогите решить такую задачку для ЗУП через запрос. 
Нужно вычислить периоды действия должности без использования  штатного расписания в заданном промежутке между &ДатаНачала и &ДатаОкончания.

Должность начинает действовать, когда ее занимать хоть 1 сотрудник и перестает, когда ни один сотрудник ее не  занимает.

Соответственно периодов может быть несколько, а если окончания нет, то окончание= &ДатаОкончания.

Результат нужен в таком виде:
Должность    Дата Начала    Дата Окончания

 

Начал писать запрос, но пока получилось только вот это:

ВЫБРАТЬ РАЗЛИЧНЫЕ
    РаботникиОрганизаций.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
    РаботникиОрганизаций.Должность КАК Должность,
    МИНИМУМ(РаботникиОрганизаций.Период) КАК Период,
    РаботникиОрганизаций.Организация КАК Организация
ИЗ
    РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций

СГРУППИРОВАТЬ ПО
    РаботникиОрганизаций.ПодразделениеОрганизации,
    РаботникиОрганизаций.Должность,
    РаботникиОрганизаций.Организация

ОБЪЕДИНИТЬ

ВЫБРАТЬ РАЗЛИЧНЫЕ
    Работники.ПодразделениеОрганизацииЗавершения,
    Работники.ДолжностьЗавершения,
    МИНИМУМ(Работники.ПериодЗавершения),
    Работники.Организация
ИЗ
    РегистрСведений.РаботникиОрганизаций КАК Работники
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК ПериодыПерекрытия
        ПО (ПериодыПерекрытия.Период <= Работники.ПериодЗавершения)
            И (ПериодыПерекрытия.Период > Работники.Период)
            И (ПериодыПерекрытия.Сотрудник = Работники.Сотрудник)
ГДЕ
    Работники.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)

  И Пе риодыПерекрытия.Период ЕСТЬ NULL

СГРУППИРОВАТЬ ПО
    Работники.ПодразделениеОрганизацииЗавершения,
    Работники.ДолжностьЗавершения,
    Работники.Организация
Подскажите хоть направление размышлений.


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
161 Сообщений
alex0402
76 Сообщений
oleg-x
68 Сообщений
AIFrame AIFrame
60 Сообщений
buketov.av buketov.av
44 Сообщений
wise wise
39 Сообщений
KOI8-R
35 Сообщений
ilyay ilyay
29 Сообщений
Анюта17
29 Сообщений
Alter
29 Сообщений

* Кто онлайн

  • Точка Гостей: 143
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal