1с 8 УПП.
Делаю запрос - муторошный.
КодВЫБРАТЬ
ПодразделенияОрганизаций.Ссылка,
ПодразделенияОрганизаций.Родитель,
ПодразделенияОрганизаций.Код,
ПодразделенияОрганизаций.Наименование
ПОМЕСТИТЬ Подразделения
ИЗ
Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций
ГДЕ
ПодразделенияОрганизаций.Ссылка В ИЕРАРХИИ
(ВЫБРАТЬ
СИЗСпецУсловияПодразделения.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций
ИЗ
Справочник.СИЗСпецУсловия.Подразделения КАК СИЗСпецУсловияПодразделения)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СИЗСпецУсловияПодразделения.Ссылка КАК Ссылка,
СИЗСпецУсловияПодразделения.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций,
Подразделения.Родитель,
Подразделения.Наименование,
Подразделения.Ссылка КАК Ссылка1
ПОМЕСТИТЬ ЕстьССЫЛКА
ИЗ
Подразделения КАК Подразделения
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СИЗСпецУсловия.Подразделения КАК СИЗСпецУсловияПодразделения
ПО Подразделения.Ссылка = СИЗСпецУсловияПодразделения.ПодразделенияОрганизаций
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СИЗСпецУсловияПодразделения.Ссылка,
СИЗСпецУсловияПодразделения.ПодразделенияОрганизаций КАК ПОдраЗДЕЛЕНИЕ,
Подразделения.Ссылка КАК ПодразделенияОрганизаций,
Подразделения.Родитель
ПОМЕСТИТЬ НЕТССЫЛКИ
ИЗ
Справочник.СИЗСпецУсловия.Подразделения КАК СИЗСпецУсловияПодразделения
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Подразделения КАК Подразделения
ПО СИЗСпецУсловияПодразделения.ПодразделенияОрганизаций = Подразделения.Родитель
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
НЕТССЫЛКИ.Ссылка,
НЕТССЫЛКИ.ПодразделенияОрганизаций
ПОМЕСТИТЬ СПЕЦПОДРАЗДЕЛЕНИЯ
ИЗ
НЕТССЫЛКИ КАК НЕТССЫЛКИ
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ЕСТЬССЫЛКА.Ссылка,
ЕСТЬССЫЛКА.ПодразделенияОрганизаций
ИЗ
ЕстьССЫЛКА КАК ЕСТЬССЫЛКА
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
НормыВыдачиСпецодеждыСпецодежда.Наименование КАК Наименование,
НормыВыдачиСпецодеждыСпецодежда.Требования.Наименование + "(" + (ВЫРАЗИТЬ(НормыВыдачиСпецодеждыСпецодежда.Требования.Расшифровка КАК СТРОКА(500))) + ")" КАК Требования,
ЦехадляСИЗЦеха.Ссылка КАК Цех,
СотрудникиОрганизаций.ТекущаяДолжностьОрганизации КАК ТекущаяДолжностьОрганизации,
СотрудникиОрганизаций.ТекущееПодразделениеОрганизации,
НормыВыдачиСпецодеждыСпецодежда.Ссылка КАК Ссылка,
ВЫБОР
КОГДА НормыВыдачиСпецодеждыСпецодежда.СрокНоски.дней = ЛОЖЬ
И (НормыВыдачиСпецодеждыСпецодежда.СрокНоски.КоличествоМесяцев = 0
ИЛИ НормыВыдачиСпецодеждыСпецодежда.СрокНоски.КоличествоМесяцев > 12)
ТОГДА 360
КОГДА НормыВыдачиСпецодеждыСпецодежда.СрокНоски.дней = ЛОЖЬ
ТОГДА НормыВыдачиСпецодеждыСпецодежда.СрокНоски.КоличествоМесяцев * 30
КОГДА НормыВыдачиСпецодеждыСпецодежда.СрокНоски.КоличествоМесяцев = 0
ТОГДА 360
ИНАЧЕ НормыВыдачиСпецодеждыСпецодежда.СрокНоски.КоличествоМесяцев
КОНЕЦ КАК дней,
НормыВыдачиСпецодеждыСпецодежда.СпецУсловия,
НормыВыдачиСпецодеждыСпецодежда.Требования.Расшифровка,
НормыВыдачиСпецодеждыСпецодежда.СрокНоски,
НормыВыдачиСпецодеждыСпецодежда.Требования.Наименование,
СотрудникиОрганизаций.Ссылка КАК СотрудникиОрганизаций
ПОМЕСТИТЬ НормыВыдачиСпецодеждыСпецодежда
ИЗ
Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.НормыВыдачиСпецодежды.ДолжностиОрганизаций КАК НормыВыдачиСпецодеждыДолжностиОрганизаций
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.НормыВыдачиСпецодежды.Спецодежда КАК НормыВыдачиСпецодеждыСпецодежда
ПО НормыВыдачиСпецодеждыДолжностиОрганизаций.Ссылка = НормыВыдачиСпецодеждыСпецодежда.Ссылка
ПО СотрудникиОрганизаций.ТекущаяДолжностьОрганизации = НормыВыдачиСпецодеждыДолжностиОрганизаций.ДолжностиОрганизаций
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЦехадляСИЗ.Цеха КАК ЦехадляСИЗЦеха
ПО СотрудникиОрганизаций.ТекущееПодразделениеОрганизации = ЦехадляСИЗЦеха.Подразделения
ГДЕ
СотрудникиОрганизаций.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
И СотрудникиОрганизаций.ВидЗанятости В(&видзанятости)
И СотрудникиОрганизаций.ВидДоговора = &виддоговора
И НормыВыдачиСпецодеждыСпецодежда.СпецУсловия = ЗНАЧЕНИЕ(Справочник.СИЗСПЕцУсловия.ПустаяСсылка)
ОБЪЕДИНИТЬ
ВЫБРАТЬ
НормыВыдачиСпецодеждыСпецодежда.Наименование,
НормыВыдачиСпецодеждыСпецодежда.Требования.Наименование + "(" + (ВЫРАЗИТЬ(НормыВыдачиСпецодеждыСпецодежда.Требования.Расшифровка КАК СТРОКА(500))) + ")",
ЦехадляСИЗЦеха.Ссылка,
СотрудникиОрганизаций.ТекущаяДолжностьОрганизации,
СотрудникиОрганизаций.ТекущееПодразделениеОрганизации,
НормыВыдачиСпецодеждыСпецодежда.Ссылка,
ВЫБОР
КОГДА НормыВыдачиСпецодеждыСпецодежда.СрокНоски.дней = ЛОЖЬ
И (НормыВыдачиСпецодеждыСпецодежда.СрокНоски.КоличествоМесяцев = 0
ИЛИ НормыВыдачиСпецодеждыСпецодежда.СрокНоски.КоличествоМесяцев > 12)
ТОГДА 360
КОГДА НормыВыдачиСпецодеждыСпецодежда.СрокНоски.дней = ЛОЖЬ
ТОГДА НормыВыдачиСпецодеждыСпецодежда.СрокНоски.КоличествоМесяцев * 30
КОГДА НормыВыдачиСпецодеждыСпецодежда.СрокНоски.КоличествоМесяцев = 0
ТОГДА 360
ИНАЧЕ НормыВыдачиСпецодеждыСпецодежда.СрокНоски.КоличествоМесяцев
КОНЕЦ,
НормыВыдачиСпецодеждыСпецодежда.СпецУсловия,
НормыВыдачиСпецодеждыСпецодежда.Требования.Расшифровка,
НормыВыдачиСпецодеждыСпецодежда.СрокНоски,
НормыВыдачиСпецодеждыСпецодежда.Требования.Наименование,
СотрудникиОрганизаций.Ссылка
ИЗ
Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.НормыВыдачиСпецодежды.ДолжностиОрганизаций КАК НормыВыдачиСпецодеждыДолжностиОрганизаций
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.НормыВыдачиСпецодежды.Спецодежда КАК НормыВыдачиСпецодеждыСпецодежда
ПО НормыВыдачиСпецодеждыДолжностиОрганизаций.Ссылка = НормыВыдачиСпецодеждыСпецодежда.Ссылка
ПО СотрудникиОрганизаций.ТекущаяДолжностьОрганизации = НормыВыдачиСпецодеждыДолжностиОрганизаций.ДолжностиОрганизаций
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЦехадляСИЗ.Цеха КАК ЦехадляСИЗЦеха
ПО СотрудникиОрганизаций.ТекущееПодразделениеОрганизации = ЦехадляСИЗЦеха.Подразделения
ВНУТРЕННЕЕ СОЕДИНЕНИЕ СПЕЦПОДРАЗДЕЛЕНИЯ КАК СПЕЦПОДРАЗДЕЛЕНИЯ
ПО СотрудникиОрганизаций.ТекущееПодразделениеОрганизации = СПЕЦПОДРАЗДЕЛЕНИЯ.ПодразделенияОрганизаций
И (НормыВыдачиСпецодеждыСпецодежда.СпецУсловия = СПЕЦПОДРАЗДЕЛЕНИЯ.Ссылка)
ГДЕ
СотрудникиОрганизаций.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
И СотрудникиОрганизаций.ВидЗанятости В(&видзанятости)
И СотрудникиОрганизаций.ВидДоговора = &виддоговора
И НормыВыдачиСпецодеждыСпецодежда.СпецУсловия <> ЗНАЧЕНИЕ(Справочник.СИЗСПЕцУсловия.ПустаяСсылка)
ИНДЕКСИРОВАТЬ ПО
Цех,
ТекущаяДолжностьОрганизации,
Наименование,
НормыВыдачиСпецодеждыСпецодежда.Ссылка
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
НормыВыдачиСпецодеждыСпецодежда.Цех,
НормыВыдачиСпецодеждыСпецодежда.Наименование,
НормыВыдачиСпецодеждыСпецодежда.Требования,
НормыВыдачиСпецодеждыСпецодежда.дней,
КОЛИЧЕСТВО(НормыВыдачиСпецодеждыСпецодежда.Наименование) КАК Количество
ПОМЕСТИТЬ НАБОР
ИЗ
НормыВыдачиСпецодеждыСпецодежда КАК НормыВыдачиСпецодеждыСпецодежда
СГРУППИРОВАТЬ ПО
НормыВыдачиСпецодеждыСпецодежда.Наименование,
НормыВыдачиСпецодеждыСпецодежда.Требования,
НормыВыдачиСпецодеждыСпецодежда.дней,
НормыВыдачиСпецодеждыСпецодежда.Цех
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
НАБОР.Цех,
НАБОР.Наименование,
НАБОР.Требования,
НАБОР.дней,
Набор.Количество*360 /дней КАК Надо
ПОМЕСТИТЬ Потребность
ИЗ
НАБОР КАК НАБОР
;
ВЫБРАТЬ
Набор.Цех,
Набор.Наименование,
Набор.Требования,
СУММА(Надо) КАК Потребность
ИЗ
Потребность КАК Набор
СГРУППИРОВАТЬ ПО
Набор.Наименование,
Набор.Требования,
Набор.Цех
Отлаживаю его
Потом переношу его один к одному в отчет - и другие значения. Такое ощущения что
КОЛИЧЕСТВО(НормыВыдачиСпецодеждыСпецодежда.Наименование) КАК Количество
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua