При выполнении запроса типа "Компоновка" в режиме "Выполнить с настройками" не формируется последняя таблица с выборкой, только временные таблицы.
Создаю новый запрос, вставляю текст из СКД, выбираю тип запроса "Компоновка", заполняю отбор на вкладке Компоновка, нажимаю "Выполнить с настройками", хочу увидеть две временные таблицы и таблицу с выборкой, но вижу только временные таблицы.
Текст запроса:
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ Сегменты.Номенклатура КАК Номенклатура, Сегменты.Характеристика КАК Характеристика, ИСТИНА КАК ИспользуетсяОтборПоСегментуНоменклатуры ПОМЕСТИТЬ ОтборПоСегментуНоменклатуры ИЗ РегистрСведений.НоменклатураСегмента КАК Сегменты {ГДЕ Сегменты.Сегмент.* КАК СегментНоменклатуры, Сегменты.Номенклатура.* КАК Номенклатура, Сегменты.Характеристика.* КАК Характеристика}
ИНДЕКСИРОВАТЬ ПО Номенклатура, Характеристика, ИспользуетсяОтборПоСегментуНоменклатуры ;
//////////////////////////////////////////////////////////////////////////////// // Временная таблица "ВтСвободныеОстатки" // ВЫБРАТЬ РАЗРЕШЕННЫЕ Набор.Номенклатура КАК Номенклатура, Набор.Характеристика КАК Характеристика, Набор.Склад КАК Склад,
СУММА(Набор.ВНаличии) КАК ВНаличии, СУММА(Набор.ВРезервеСоСклада) КАК ВРезервеСоСклада, СУММА(Набор.ВРезервеПодЗаказ) КАК ВРезервеПодЗаказ, СУММА(Набор.КОтгрузке) КАК КОтгрузке
ПОМЕСТИТЬ ВтСвободныеОстатки ИЗ( ВЫБРАТЬ
Таблица.Номенклатура КАК Номенклатура, Таблица.Характеристика КАК Характеристика, Таблица.Склад КАК Склад,
Таблица.ВНаличииОстаток КАК ВНаличии, Таблица.ВРезервеСоСкладаОстаток КАК ВРезервеСоСклада, Таблица.ВРезервеПодЗаказОстаток КАК ВРезервеПодЗаказ, 0 КАК КОтгрузке
ИЗ РегистрНакопления.СвободныеОстатки.Остатки( , { (Номенклатура, Характеристика) В( ВЫБРАТЬ ТаблицаОтбора.Номенклатура КАК Номенклатура, ТаблицаОтбора.Характеристика КАК Характеристика ИЗ ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора ГДЕ ТаблицаОтбора.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры) } {Склад.*, Номенклатура.*, Характеристика.*}) КАК Таблица
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ Таблица.Номенклатура КАК Номенклатура, Таблица.Характеристика КАК Характеристика, Таблица.Склад КАК Склад,
Таблица.КОтгрузкеОстаток КАК ВНаличии, 0 КАК ВРезервеСоСклада, 0 КАК ВРезервеПодЗаказ, Таблица.КОтгрузкеОстаток КАК КОтгрузке ИЗ РегистрНакопления.ТоварыКОтгрузке.Остатки(, { (Номенклатура, Характеристика) В( ВЫБРАТЬ ТаблицаОтбора.Номенклатура КАК Номенклатура, ТаблицаОтбора.Характеристика КАК Характеристика ИЗ ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора ГДЕ ТаблицаОтбора.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры) } {Склад.*, Номенклатура.*, Характеристика.*}) КАК Таблица) КАК Набор
СГРУППИРОВАТЬ ПО Набор.Номенклатура, Набор.Характеристика, Набор.Склад
ИНДЕКСИРОВАТЬ ПО Номенклатура, Характеристика, Склад ;
Набор.Номенклатура КАК Номенклатура, Набор.Характеристика КАК Характеристика, Набор.Склад КАК Склад, МАКСИМУМ(&ТекстЗапросаВесНоменклатуры) КАК Вес, МАКСИМУМ(&ТекстЗапросаОбъемНоменклатуры) КАК Объем, МАКСИМУМ(Набор.Номенклатура.ЕдиницаИзмерения) КАК ЕдиницаХранения, МАКСИМУМ(Набор.Номенклатура.ЕдиницаДляОтчетов) КАК ЕдиницаДляОтчетов, МАКСИМУМ(Набор.Номенклатура.КоэффициентЕдиницыДляОтчетов) КАК КоэффициентЕдиницыДляОтчетов,
СУММА(Набор.ВНаличии) КАК ВНаличии, СУММА(Набор.ПриходОсновной) КАК ПриходОсновной, СУММА(Набор.РасходОсновной) КАК РасходОсновной, СУММА(Набор.ВРезервеСоСкладаИПодЗаказ) КАК ВРезервеСоСкладаИПодЗаказ, СУММА(Набор.ВРезервеСоСкладаИПодЗаказ) + СУММА(Набор.ВРезервеГрафика) КАК ВРезерве, СУММА(Набор.Котгрузке) КАК Котгрузке
ИЗ( // 1) В наличии ВЫБРАТЬ
Таблица.Номенклатура КАК Номенклатура, Таблица.Характеристика КАК Характеристика, Таблица.Склад КАК Склад,
Таблица.ВНаличии КАК ВНаличии, 0 КАК ПриходОсновной, Таблица.ВРезервеПодЗаказ + Таблица.ВРезервеСоСклада + Таблица.КОтгрузке КАК РасходОсновной,
Таблица.ВРезервеПодЗаказ + Таблица.ВРезервеСоСклада КАК ВРезервеСоСкладаИПодЗаказ,
0 КАК ВРезервеГрафика, Таблица.КОтгрузке КАК КОтгрузке
ИЗ ВтСвободныеОстатки КАК Таблица
ОБЪЕДИНИТЬ ВСЕ
// 2) Приход по заказам ВЫБРАТЬ Таблица.Номенклатура КАК Номенклатура, Таблица.Характеристика КАК Характеристика, Таблица.Склад КАК Склад,
0 КАК ВНаличии, Таблица.КоличествоИзЗаказовОстаток КАК ПриходОсновной, 0 КАК РасходОсновной, 0 КАК ВРезервеСоСкладаИПодЗаказ,
0 КАК ВРезервеГрафика, 0 КАК КОтгрузке
ИЗ РегистрНакопления.ГрафикПоступленияТоваров.Остатки(,{ (Номенклатура, Характеристика) В( ВЫБРАТЬ ТаблицаОтбора.Номенклатура КАК Номенклатура, ТаблицаОтбора.Характеристика КАК Характеристика ИЗ ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора ГДЕ ТаблицаОтбора.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры) } {Склад.*, Номенклатура.*, Характеристика.*}) КАК Таблица
ОБЪЕДИНИТЬ ВСЕ
// 3) Расход по заказам ВЫБРАТЬ Таблица.Номенклатура КАК Номенклатура, Таблица.Характеристика КАК Характеристика, Таблица.Склад КАК Склад,
0 КАК ВНаличии, 0 КАК ПриходОсновной, Таблица.КоличествоИзЗаказовОстаток КАК РасходОсновной, 0 КАК ВРезервеСоСкладаИПодЗаказ,
0 КАК ВРезервеГрафика, 0 КАК КОтгрузке
ИЗ РегистрНакопления.ГрафикОтгрузкиТоваров.Остатки(,{ (Номенклатура, Характеристика) В( ВЫБРАТЬ ТаблицаОтбора.Номенклатура КАК Номенклатура, ТаблицаОтбора.Характеристика КАК Характеристика ИЗ ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора ГДЕ ТаблицаОтбора.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры) } {Склад.*, Номенклатура.*, Характеристика.*}) КАК Таблица
ОБЪЕДИНИТЬ ВСЕ
// 4) Резерв графика поставок ВЫБРАТЬ Таблица.Номенклатура КАК Номенклатура, Таблица.Характеристика КАК Характеристика, Таблица.Склад КАК Склад,
0 КАК ВНаличии,
0 КАК ПриходОсновной,
0 КАК РасходОсновной,
0 КАК ВРезервеСоСкладаИПодЗаказ, -Таблица.Количество КАК ВРезервеГрафика, 0 КАК КОтгрузке
ИЗ РегистрСведений.ДоступныеОстаткиПланируемыхПоступлений КАК Таблица {ГДЕ (Таблица.Номенклатура, Таблица.Характеристика) В( ВЫБРАТЬ ТаблицаОтбора.Номенклатура КАК Номенклатура, ТаблицаОтбора.Характеристика КАК Характеристика ИЗ ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора ГДЕ ТаблицаОтбора.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры) } {ГДЕ Таблица.Склад.* КАК Склад, Таблица.Номенклатура.* КАК Номенклатура, Таблица.Характеристика.* КАК Характеристика}
ГДЕ Таблица.Количество < 0 И Таблица.ДатаДоступности = ДАТАВРЕМЯ(1, 1, 1)) КАК Набор
СГРУППИРОВАТЬ ПО Набор.Номенклатура, Набор.Характеристика, Набор.Склад
Платформа: 8.3.18.1289 Режим БД: клиент-серверный Конфигурация. Название: Управление торговлей, редакция 11 (11.4.11.102) Конфигурация. Основной режим запуска: Управляемое приложение Конфигурация. Вариант встроенного языка: Русский Конфигурация. Режим управления блокировкой данных: Управляемый Конфигурация. Режим совместимости: Версия8_3_12 Конфигурация. Версия БСП: 300 Инструменты разработчика. Версия: Портативный 6.05.2p Инструменты разработчика. Инструмент: Консоль запросов Инструменты разработчика. Перехват клавиатурного ввода: Да Инструменты разработчика. Объекты на сервере: Да Инструменты разработчика. Серверный модуль: Да Клиент. ОС: Microsoft Windows 7 Профессиональная 64-bit Русский Клиент. Приложение: Обычное приложение 32б Клиент. Проверка модальных вызовов: Нет Клиент. Язык интерфейса конфигурации: ru Клиент. Язык интерфейса системы: ru Клиент. От имени администратора Windows: Нет Сервер. ОС: Windows x86-64 Microsoft Windows 10 version 10.0 (Build 14393)
Не смог воспроизвести. У меня в ERP 2.5 этот запрос дает 3 строки в таблице пакета. Попробуй передать готовый файл консоли. Запиши видео, начиная с открытия консоли.
Ошибку воспроизвел https://www.hostedredmine.com/issues/932231 Но обрати внимание, что в таблице все равно останется 2 строки. Чтобы понять почему, нужно смотреть страницу "Запрос результата" или выполнить команду "Открыть исполняемый запрос".
Ничего не понял. Запрос результата показывает все нормально, две ВТ и одну обычную таблицу. Сейчас обхожу ситуацию так, что последний запрос тоже оформляю временной таблицей, и он начинает выводиться.