ЗУП Зарплата и Управление Персоналом, редакция 2.5 (2.5.123.1) 1С:Предприятие 8.3 (8.3.10.2299)
Доработать ЗУП: при оформлении приказа о командировке сотрудника требуется проверка - не отсутствует ли он на работе про причинам отпуска, больничного и т.д.
Я только учусь работать с запросами
ВЫБРАТЬ РАЗЛИЧНЫЕ
| КомандировкиОрганизацийРаботникиОрганизации.Сотрудник,
| КомандировкиОрганизацийРаботникиОрганизации.НомерСтроки,
| КомандировкиОрганизацийРаботникиОрганизации.ДатаНачала,
| КомандировкиОрганизацийРаботникиОрганизации.ДатаОкончания
|ПОМЕСТИТЬ ВТПериодКПроверке
|ИЗ
| Документ.КомандировкиОрганизаций.РаботникиОрганизации КАК КомандировкиОрганизацийРаботникиОрганизации
|ГДЕ
| КомандировкиОрганизацийРаботникиОрганизации.Ссылка = &Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДОБАВИТЬКДАТЕ(СостояниеРаботниковОрганизаций.ПериодЗавершения, ДЕНЬ, -1) КАК ПериодКонец,
| ВТПериодКПроверке.НомерСтроки КАК НомерСтроки,
| СостояниеРаботниковОрганизаций.Регистратор,
| СостояниеРаботниковОрганизаций.Сотрудник,
| СостояниеРаботниковОрганизаций.Период,
| СостояниеРаботниковОрганизаций.ПериодЗавершения
|ПОМЕСТИТЬ ДругиеПричины
|ИЗ
| ВТПериодКПроверке КАК ВТПериодКПроверке
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботниковОрганизаций КАК СостояниеРаботниковОрганизаций
| ПО ВТПериодКПроверке.Сотрудник = СостояниеРаботниковОрганизаций.Сотрудник
| И (ДОБАВИТЬКДАТЕ(СостояниеРаботниковОрганизаций.ПериодЗавершения, ДЕНЬ, -1) >= ВТПериодКПроверке.ДатаНачала)
| И (СостояниеРаботниковОрганизаций.Состояние <> ЗНАЧЕНИЕ(Перечисление.СостоянияРаботникаОрганизации.ПособиеПриДолечивании))
| И ВТПериодКПроверке.ДатаОкончания >= СостояниеРаботниковОрганизаций.Период
| И (СостояниеРаботниковОрганизаций.Регистратор <> &Ссылка)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ ПЕРВЫЕ 1
| СостояниеРаботниковОрганизаций.Сотрудник,
| СостояниеРаботниковОрганизаций.Регистратор,
| СостояниеРаботниковОрганизаций.Состояние,
| СостояниеРаботниковОрганизаций.Период КАК Период
|ПОМЕСТИТЬ Заболевшие
|ИЗ
| ВТПериодКПроверке КАК ВТПериодКПроверке
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботниковОрганизаций КАК СостояниеРаботниковОрганизаций
| ПО ВТПериодКПроверке.Сотрудник = СостояниеРаботниковОрганизаций.Сотрудник
| И ВТПериодКПроверке.ДатаОкончания >= СостояниеРаботниковОрганизаций.Период
|ГДЕ
| СостояниеРаботниковОрганизаций.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияРаботникаОрганизации.Заболевание)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| НеявкиИБолезниОрганизацийРаботникиОрганизации.Сотрудник,
| Заболевшие.Период КАК НачалоБол,
| ВЫБОР
| КОГДА НеявкиИБолезниОрганизацийРаботникиОрганизации.ПричинаОтсутствия = ЗНАЧЕНИЕ(Перечисление.СостоянияРаботникаОрганизации.Работает)
| И НеявкиИБолезниОрганизацийРаботникиОрганизации.ДатаНачала <= ВТПериодКПроверке.ДатаОкончания
| ИЛИ НеявкиИБолезниОрганизацийРаботникиОрганизации.ПричинаОтсутствия = NULL
| ТОГДА НеявкиИБолезниОрганизацийРаботникиОрганизации.ДатаНачала
| КОНЕЦ КАК ДатаНачалаРаботы,
| НеявкиИБолезниОрганизацийРаботникиОрганизации.Ссылка КАК РегистраторБол
|ПОМЕСТИТЬ Больные
|ИЗ
| ВТПериодКПроверке КАК ВТПериодКПроверке
| ЛЕВОЕ СОЕДИНЕНИЕ Заболевшие КАК Заболевшие
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.НеявкиИБолезниОрганизаций.РаботникиОрганизации КАК НеявкиИБолезниОрганизацийРаботникиОрганизации
| ПО Заболевшие.Регистратор = НеявкиИБолезниОрганизацийРаботникиОрганизации.Ссылка
| ПО ВТПериодКПроверке.Сотрудник = Заболевшие.Сотрудник
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВТПериодКПроверке.НомерСтроки КАК НомерСтроки,
| ВТПериодКПроверке.Сотрудник,
| ВТПериодКПроверке.ДатаНачала,
| ВТПериодКПроверке.ДатаОкончания,
| Больные.НачалоБол,
| Больные.ДатаНачалаРаботы,
| Больные.РегистраторБол,
| ДругиеПричины.Период,
| ДругиеПричины.ПериодКонец,
| ДругиеПричины.Регистратор
|ИЗ
| ВТПериодКПроверке КАК ВТПериодКПроверке
| ЛЕВОЕ СОЕДИНЕНИЕ Больные КАК Больные
| ПО ВТПериодКПроверке.Сотрудник = Больные.Сотрудник
| ЛЕВОЕ СОЕДИНЕНИЕ ДругиеПричины КАК ДругиеПричины
| ПО ВТПериодКПроверке.Сотрудник = ДругиеПричины.Сотрудник
|
|СГРУППИРОВАТЬ ПО
| ВТПериодКПроверке.НомерСтроки,
| ВТПериодКПроверке.Сотрудник,
| ВТПериодКПроверке.ДатаНачала,
| ВТПериодКПроверке.ДатаОкончания,
| Больные.НачалоБол,
| Больные.ДатаНачалаРаботы,
| Больные.РегистраторБол,
| ДругиеПричины.Период,
| ДругиеПричины.ПериодКонец,
| ДругиеПричины.Регистратор"