Доброго дня, коллеги!
На нашем сайте опубликована серия бесплатных статей, одна из них – СКД не только для отчетов – реализация универсальных отборов. Если вы работаете с современными типовыми конфигурациями, то вы конечно же понимаете, что сегодня система компоновки данных широко используется не только для построения отчетов. Познакомиться с нюансами работы в СКД можно в рамках курса Профессиональная разработка отчетов в 1С 8.3 на СКД.
Вопрос
ВЫБРАТЬ Контрагенты.Ссылка КАК Контрагент, NULL КАК Номенклатура ИЗ Справочник.Контрагенты КАК Контрагенты ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ NULL, Номенклатура.Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура
Но после повышения режима совместимости конфигурации до 8.3.14 – комбинация из двух отборов работать перестала, по отдельности можно указать отборы и они работают, но при указании обоих отборов – процессор возвращает пустую таблицу значений.
Ответ
Добрый день! В таком случае нужно в наборе данных – запросе снять галочку Автозаполнение, в тексте запроса при помощи фигурных скобок явно указать системе, какие выбранные поля будут в запросе, как именно следует обрабатывать отборы:
ВЫБРАТЬ Контрагенты.Ссылка КАК Контрагент, NULL КАК Товар {ВЫБРАТЬ Контрагент.*, Товар.*} ИЗ Справочник.Контрагенты КАК Контрагенты {ГДЕ Контрагенты.Ссылка.* КАК Контрагент} ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ NULL, Товары.Ссылка ИЗ Справочник.Товары КАК Товары {ГДЕ Товары.Ссылка.* КАК Товар}
Это значит, что отбор на поле Контрагент будет устанавливаться только в первом запросе объединения, а отбор на поле Товар – только во втором.
Профессиональная разработка отчетов в 1С 8.3 на СКД.