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

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

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

Оффлайн Inetguru

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

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

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

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

 

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

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

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

ОБЪЕДИНИТЬ

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

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

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


Теги:
 


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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
184 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
50 Сообщений
andron81_81
40 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
29 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 323
  • Точка Скрытых: 0
  • Точка Пользователей: 8
  • Точка Сейчас на форуме:

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal