УПП 8.2
Есть справочник спецодежды - наименование, табличная часть ДолжностиОрганизаций.
Но для некоторых позиций ТЧ нужно сделать отбор только отдельным подразделениям.
Сделал в ТЧ ссылку на справочник СИЗТребования с ТЧ Подразделения.
Вся проблема оказалась в том что Справочник Подразделений иерархический.
Мне надо выбрать все подразделения соответствующие ТЧ СИЗТребования с сохраниением ссылки на нее
ВЫБРАТЬ
СотрудникиОрганизаций.ТекущаяДолжностьОрганизации КАК ТекущаяДолжностьОрганизации,
СотрудникиОрганизаций.ТекущееПодразделениеОрганизации КАК ТекущееПодразделениеОрганизации
ИЗ
Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
ГДЕ
СотрудникиОрганизаций.ТекущееПодразделениеОрганизации В ИЕРАРХИИ
(ВЫБРАТЬ
СИЗСпецУсловияПодразделения.ПодразделенияОрганизаций
ИЗ
Справочник.СИЗСпецУсловия.Подразделения КАК СИЗСпецУсловияПодразделения)
УПОРЯДОЧИТЬ ПО
ТекущееПодразделениеОрганизации,
ТекущаяДолжностьОрганизации
А по-человечески объяснить - что надо получить?
Мне надо вытащить значение из подзапроса
ВЫБРАТЬ
СИЗСпецУсловияПодразделения.ПодразделенияОрганизаций
ИЗ
Справочник.СИЗСпецУсловия.Подразделения КАК СИЗСпецУсловияПодразделения
ВЫБРАТЬ СотрудникиОрганизаций.ТекущаяДолжностьОрганизации КАК ТекущаяДолжностьОрганизации,
СотрудникиОрганизаций.ТекущееПодразделениеОрганизации КАК ТекущееПодразделениеОрганизации
ИЗ Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
ЛЕВОЕ СОЕДИНЕНИЕ (
ВЫБРАТЬ СИЗСпецУсловияПодразделения.ПодразделенияОрганизаций,
// тут еще что-то
ИЗ Справочник.СИЗСпецУсловия.Подразделения КАК СИЗСпецУсловияПодразделения
) как Табл ПО Табл.ПодразделенияОрганизаций = СотрудникиОрганизаций.ТекущееПодразделениеОрганизации
Вот не надо так делать - соединять с подзапросом:
ЛЕВОЕ СОЕДИНЕНИЕ (
ВЫБРАТЬ СИЗСпецУсловияПодразделения.ПодразделенияОрганизаций,
// тут еще что-то
ИЗ Справочник.СИЗСпецУсловия.Подразделения КАК СИЗСпецУсловияПодразделения
) как Табл ПО Табл.ПодразделенияОрганизаций = СотрудникиОрганизаций.ТекущееПодразделениеОрганизации
ВЫБРАТЬ
СотрудникиОрганизаций.ТекущаяДолжностьОрганизации КАК ТекущаяДолжностьОрганизации,
СотрудникиОрганизаций.ТекущееПодразделениеОрганизации КАК ТекущееПодразделениеОрганизации,
СИЗСпецУсловияПодразделения.*
ИЗ
Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
левое соединение Справочник.СИЗСпецУсловия.Подразделения КАК СИЗСпецУсловияПодразделения
по СИЗСпецУсловияПодразделения.ПодразделенияОрганизаций = СотрудникиОрганизаций.ТекущееПодразделениеОрганизации
И получится табличка с колонкамиВсе дело в иерархии. Если ссылки на подразделения совпадают (это если есть подчиненние подразделения) , то все хорошо , а если нет то и ссылки на СИЗСпецУсловияПодразделения я не получаю. Хуже всего я не понимаю как получить именно из ТЧ СИЗСпецУсловияПодразделения ТЧ со всеми подчиненными подразделениями
Запрос = Новый запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СотрудникиОрганизаций.Ссылка
|ИЗ
| Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
|ГДЕ
| СотрудникиОрганизаций.ПодразделениеОрганизации В ИЕРАРХИИ(&Подразделения)";
Запрос.УстановитьПараметр("Подразделения",Подразделение);
alexandr_f @ Сегодня, 14:49
,ВЫБРАТЬ ...
ИЗ Документ.РеализацияТоваровУслуг
ЛЕВОЕ СОЕДИНЕНИЕ (
ВЫБРАТЬ ИЗ РегистрСведений.Лимиты
ГДЕ ...
СГРУППИРОВАТЬ ПО ...
) ПО ...
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua