Много лет мучаюсь с ситуацией, что СКД убирает поля виртуальных таблиц, которые по логике задачи нужны, но не протянуты но последнего запроса.
Приходится их тянуть в последний запрос и уже у роли поля ставить "Обязательное". Но этот костыль уже надоел, может есть боле изящное решение?
Например запрос:
ВЫБРАТЬ
ЗаказыПокупателейОстатки.Номенклатура КАК Номенклатура,
ЗаказыПокупателейОстатки.ДокументЗаказа КАК ДокументЗаказ,
ЗаказыПокупателейОстатки.КоличествоОстаток КАК КоличествоДозаказать
ПОМЕСТИТЬ ТаблицаПромежуточная
ИЗ
РегистрНакопления.ЗаказыПокупателей.Остатки КАК ЗаказыПокупателейОстатки
ГДЕ
ЗаказыПокупателейОстатки.КоличествоОстаток < 0
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТаблицаПромежуточная.ДокументЗаказ
ИЗ
ТаблицаПромежуточная КАК ТаблицаПромежуточная
Вырождается без костыля в
ВЫБРАТЬ
ЗаказыПокупателейОстатки.ДокументЗаказа КАК ДокументЗаказ
ПОМЕСТИТЬ ТаблицаПромежуточная
ИЗ
РегистрНакопления.ЗаказыПокупателей.Остатки(&П) КАК ЗаказыПокупателейОстатки
ГДЕ
ЗаказыПокупателейОстатки.КоличествоОстаток < 0
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТаблицаПромежуточная.ДокументЗаказ КАК ДокументЗаказ,
ТаблицаПромежуточная.ДокументЗаказ.Дата КАК ДокументЗаказДата
ИЗ
ТаблицаПромежуточная КАК ТаблицаПромежуточная
И первый запрос пакета возвращает совсем не то, что я хотел
Сам не пробовал, но вроде можно не протягивать поле до самого конца запроса, а просто добавить его на закладке "Компоновка данных.Поля" в запросе из регистра и у него уже указать "Обязательное"
(4) Попытка добавить
{ВЫБРАТЬ
(1) КАК Номенклатура}
Приводит к ошибке.
Попробовал добавить просто поле
Неопределено КАК Номенклатура и у номенклатуры поставить Обязательное.
Так вроде не надо тянуть в последний запрос поле. Но фокус не удался