Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
15 окт 2025, 18:03

Доработка 1С:ЗУП 3.1 (3.1.34.77) - Добавление реквизита "Дата окончания отпуска" в форму списка справочника "Сотрудники"

Автор Danil_12, 16 сен 2025, 11:36

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

Danil_12

LexaK, Спасибо большое за подсказку!
Попробовал через левое соединение сделать не получилось, ошибки посыпались.

Danil_12

Такой вот запрос получился динамического списка:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
   0 КАК ИндикаторПроблем,
   Сотрудники.Ссылка КАК Ссылка,
   Сотрудники.ВерсияДанных КАК ВерсияДанных,
   Сотрудники.ПометкаУдаления КАК ПометкаУдаления,
   Сотрудники.Код КАК Код,
   Сотрудники.Наименование КАК Наименование,
   ДанныеДляПодбора.Наименование КАК НаименованиеСотрудника,
   Сотрудники.ФизическоеЛицо КАК ФизическоеЛицо,
   ДанныеДляПодбора.Организация КАК Организация,
   Сотрудники.ВАрхиве КАК ВАрхиве,
   Сотрудники.УточнениеНаименования КАК УточнениеНаименования,
   Сотрудники.ГоловнойСотрудник КАК ГоловнойСотрудник,
   Сотрудники.Предопределенный КАК Предопределенный,
   Сотрудники.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных,
   ВЫБОР
      КОГДА Сотрудники.ПометкаУдаления
         ТОГДА 4
      ИНАЧЕ 3
   КОНЕЦ КАК Пиктограмма,
   ДанныеДляПодбора.Филиал КАК Филиал,
   ДанныеДляПодбора.Подразделение КАК Подразделение,
   ДанныеДляПодбора.Должность КАК Должность,
   ДанныеДляПодбора.ДолжностьПоШтатномуРасписанию КАК ДолжностьПоШтатномуРасписанию,
   ДанныеДляПодбора.КоличествоСтавок КАК КоличествоСтавок,
   ДанныеДляПодбора.КоличествоСтавокПредставление КАК КоличествоСтавокПредставление,
   ВидыЗанятостиСотрудниковДляПодбора.ВидЗанятости КАК ВидЗанятости,
   ЕСТЬNULL(ДанныеДляПодбора.ВидДоговора, ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровССотрудниками.ПустаяСсылка)) КАК ВидДоговора,
   ДанныеОбОплатеТрудаДляПодбора.ТарифнаяСтавка КАК ТарифнаяСтавка,
   ДанныеОбОплатеТрудаДляПодбора.ФОТ КАК ФОТ,
   ДанныеОбОплатеТрудаДляПодбора.Надбавка КАК Надбавка,
   ДанныеОбОплатеТрудаДляПодбора.СпособРасчетаАванса КАК СпособРасчетаАванса,
   ДанныеОбОплатеТрудаДляПодбора.Аванс КАК Аванс,
   ТекущиеКадровыеДанные.ДатаПриема КАК ДатаПриема,
   ТекущиеКадровыеДанные.ДатаУвольнения КАК ДатаУвольнения,
   ТекущиеКадровыеДанные.ОформленПоТрудовомуДоговору КАК ОформленПоТрудовомуДоговору,
   ВЫБОР
      КОГДА РолиСотрудниковРаботник.Сотрудник ЕСТЬ NULL
         ТОГДА ЛОЖЬ
      ИНАЧЕ ИСТИНА
   КОНЕЦ КАК Работник,
   ВЫБОР
      КОГДА РолиСотрудниковДоговорник.Сотрудник ЕСТЬ NULL
         ТОГДА ЛОЖЬ
      ИНАЧЕ ИСТИНА
   КОНЕЦ КАК Договорник,
   "" КАК ПредставлениеСостояния,
   СостоянияСотрудников.Состояние КАК Состояние,
   СостоянияСотрудников.ДействуетДо КАК СостояниеДействуетДо,
   ДанныеДляПодбора.РабочееМесто КАК РабочееМесто,
   ДанныеДляПодбора.ЭтоГоловнойСотрудник КАК ЭтоГоловнойСотрудник,
   ДанныеДляПодбора.Начало КАК Начало,
   ДанныеДляПодбора.Окончание КАК Окончание,
   ДанныеДляПодбора.МестоВСтруктуреПредприятия КАК МестоВСтруктуреПредприятия,
   Отпуска.Окончание КАК Окончание1
ИЗ
   РегистрСведений.ДанныеДляПодбораСотрудников КАК ДанныеДляПодбора
      ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Сотрудники КАК Сотрудники
         ПРАВОЕ СОЕДИНЕНИЕ ЖурналДокументов.Отпуска КАК Отпуска
         ПО Отпуска.Сотрудник = Сотрудники.Ссылка
      ПО ДанныеДляПодбора.Сотрудник = Сотрудники.Ссылка
         И ДанныеДляПодбора.Наименование = Сотрудники.Наименование
         И (ДанныеДляПодбора.ИдентификаторЗаписи В
            (ВЫБРАТЬ ПЕРВЫЕ 1
               ДанныеДляПодбораСотрудниковОтбор.ИдентификаторЗаписи
            ИЗ
               РегистрСведений.ДанныеДляПодбораСотрудников КАК ДанныеДляПодбораСотрудниковОтбор
            ГДЕ
               ДанныеДляПодбораСотрудниковОтбор.Сотрудник = ДанныеДляПодбора.Сотрудник
               И ДанныеДляПодбораСотрудниковОтбор.Наименование = ДанныеДляПодбора.Наименование
               И ДанныеДляПодбораСотрудниковОтбор.Начало <= &ДатаОкончания
               И (ДанныеДляПодбораСотрудниковОтбор.Окончание = ДАТАВРЕМЯ(1, 1, 1)
                  ИЛИ ДанныеДляПодбораСотрудниковОтбор.Окончание >= &ДатаНачала)
            УПОРЯДОЧИТЬ ПО
               ДанныеДляПодбораСотрудниковОтбор.ПоДоговоруГПХ,
               ДанныеДляПодбораСотрудниковОтбор.Начало УБЫВ,
               ДанныеДляПодбораСотрудниковОтбор.Организация,
               ДанныеДляПодбораСотрудниковОтбор.Филиал,
               ДанныеДляПодбораСотрудниковОтбор.Подразделение))
      {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанные
      ПО ДанныеДляПодбора.ФизическоеЛицо = ТекущиеКадровыеДанные.ФизическоеЛицо
         И ДанныеДляПодбора.Сотрудник = ТекущиеКадровыеДанные.Сотрудник
         И ДанныеДляПодбора.Организация = ТекущиеКадровыеДанные.ГоловнаяОрганизация}
      {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РолиСотрудников КАК РолиСотрудниковРаботник
      ПО ДанныеДляПодбора.Сотрудник = РолиСотрудниковРаботник.Сотрудник
         И (&ИспользуетсяОтборПоРолиСотрудникаРаботник = ИСТИНА)
         И (РолиСотрудниковРаботник.РольСотрудника = ЗНАЧЕНИЕ(Перечисление.РолиСотрудников.Работник))}
      {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РолиСотрудников КАК РолиСотрудниковДоговорник
      ПО ДанныеДляПодбора.Сотрудник = РолиСотрудниковДоговорник.Сотрудник
         И (&ИспользуетсяОтборПоРолиСотрудникаДоговорник = ИСТИНА)
         И (РолиСотрудниковДоговорник.РольСотрудника = ЗНАЧЕНИЕ(Перечисление.РолиСотрудников.Договорник))}
      {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияСотрудников КАК СостоянияСотрудников
      ПО ДанныеДляПодбора.Сотрудник = СостоянияСотрудников.Сотрудник
         И (СостоянияСотрудников.Период <= &ДатаОкончания)
         И (СостоянияСотрудников.ДействуетДо >= &ДатаНачалаСведений
            ИЛИ СостоянияСотрудников.ДействуетДо = ДАТАВРЕМЯ(1, 1, 1))}
      {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДанныеОбОплатеТрудаДляПодбораСотрудников КАК ДанныеОбОплатеТрудаДляПодбора
      ПО ДанныеДляПодбора.Сотрудник = ДанныеОбОплатеТрудаДляПодбора.Сотрудник
         И ДанныеДляПодбора.ФизическоеЛицо = ДанныеОбОплатеТрудаДляПодбора.ФизическоеЛицо
         И ДанныеДляПодбора.ИдентификаторЗаписи = ДанныеОбОплатеТрудаДляПодбора.ИдентификаторЗаписи}
      {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВидыЗанятостиСотрудниковИнтервальный КАК ВидыЗанятостиСотрудниковДляПодбора
      ПО ДанныеДляПодбора.Сотрудник = ВидыЗанятостиСотрудниковДляПодбора.Сотрудник
         И (ВЫБОР
            КОГДА ДанныеДляПодбора.Окончание = ДАТАВРЕМЯ(1, 1, 1)
               ТОГДА ДАТАВРЕМЯ(3999, 12, 31, 23, 59, 59)
            ИНАЧЕ КОНЕЦПЕРИОДА(ДанныеДляПодбора.Окончание, ДЕНЬ)
         КОНЕЦ МЕЖДУ ВидыЗанятостиСотрудниковДляПодбора.ДатаНачала И ВидыЗанятостиСотрудниковДляПодбора.ДатаОкончания)}

СГРУППИРОВАТЬ ПО
   Сотрудники.Ссылка,
   Сотрудники.ВерсияДанных,
   Сотрудники.ПометкаУдаления,
   Сотрудники.Код,
   Сотрудники.Наименование,
   ДанныеДляПодбора.Наименование,
   Сотрудники.ФизическоеЛицо,
   ДанныеДляПодбора.Организация,
   Сотрудники.ВАрхиве,
   Сотрудники.УточнениеНаименования,
   Сотрудники.ГоловнойСотрудник,
   Сотрудники.Предопределенный,
   Сотрудники.ИмяПредопределенныхДанных,
   ДанныеДляПодбора.Филиал,
   ДанныеДляПодбора.Подразделение,
   ДанныеДляПодбора.Должность,
   ДанныеДляПодбора.ДолжностьПоШтатномуРасписанию,
   ДанныеДляПодбора.КоличествоСтавок,
   ДанныеДляПодбора.КоличествоСтавокПредставление,
   ВидыЗанятостиСотрудниковДляПодбора.ВидЗанятости,
   ДанныеОбОплатеТрудаДляПодбора.ТарифнаяСтавка,
   ДанныеОбОплатеТрудаДляПодбора.ФОТ,
   ДанныеОбОплатеТрудаДляПодбора.Надбавка,
   ДанныеОбОплатеТрудаДляПодбора.СпособРасчетаАванса,
   ДанныеОбОплатеТрудаДляПодбора.Аванс,
   ТекущиеКадровыеДанные.ДатаПриема,
   ТекущиеКадровыеДанные.ДатаУвольнения,
   ТекущиеКадровыеДанные.ОформленПоТрудовомуДоговору,
   СостоянияСотрудников.Состояние,
   СостоянияСотрудников.ДействуетДо,
   ДанныеДляПодбора.РабочееМесто,
   ДанныеДляПодбора.ЭтоГоловнойСотрудник,
   ДанныеДляПодбора.Начало,
   ДанныеДляПодбора.Окончание,
   ДанныеДляПодбора.МестоВСтруктуреПредприятия,
   ЕСТЬNULL(ДанныеДляПодбора.ВидДоговора, ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровССотрудниками.ПустаяСсылка)),
   ВЫБОР
      КОГДА РолиСотрудниковРаботник.Сотрудник ЕСТЬ NULL
         ТОГДА ЛОЖЬ
      ИНАЧЕ ИСТИНА
   КОНЕЦ,
   ВЫБОР
      КОГДА РолиСотрудниковДоговорник.Сотрудник ЕСТЬ NULL
         ТОГДА ЛОЖЬ
      ИНАЧЕ ИСТИНА
   КОНЕЦ,
   Отпуска.Окончание

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск