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