Правильно подтянуть номенклатуру из табличных частей в запросе
Всем привет. Подскажите пожалуйста, есть две табличных части из Коммерческого предложения и заказа клиента, мне необходимо из них правильно вытащить "номенклатуру". В КП бывает что номенклатуры больше чем в заказе клиента, к примеру в КП 5 позиций а в заказ ушло только 3 позиции. Как сделать так чтобы в отчете отображалось из КП все позиции а в заказе 3 которые ушли в заказ и 2 чтобы пустые показывало ну или вообще пустые не отображало а только 3 которые ушли в заказ. За ранее спасибо!
ВЫБРАТЬ
ЗаказКлиентаТовары.Ссылка.Валюта КАК ВалютаЗаказКлиента,
ЗаказКлиентаТовары.Номенклатура КАК НоменклатураЗаказКлиента,
ЗаказКлиентаТовары.Цена КАК ЦенаЗаказКлиента,
ЗаказКлиентаТовары.Сумма КАК СуммаЗаказКлиента,
ЗаказКлиентаТовары.Ссылка КАК ДокументЗаказКлиента,
ЗаказКлиентаТовары.Ссылка.ДокументОснование КАК ДокументОснование,
ЗаказКлиентаТовары.Количество КАК Количество,
ЗаказКлиентаТовары.СуммаСНДС КАК СуммаСНДС,
ЗаказКлиентаТовары.Цена КАК Цена,
ЗаказКлиентаТовары.Ссылка.Статус КАК Статус,
ЗаказКлиентаТовары.Ссылка.Дата КАК ДатаИзЗК,
ЗаказКлиентаТовары.НомерСтроки КАК НомерСтрокиИзЗК
ПОМЕСТИТЬ ВТ2
ИЗ
Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
КоммерческоеПредложениеКлиентуТовары.Ссылка КАК ДокументКоммерческоеПредложениеКлиенту,
КоммерческоеПредложениеКлиентуТовары.Номенклатура КАК НоменклатураИзКП,
КоммерческоеПредложениеКлиентуТовары.Ссылка.Дата КАК ДатаИзКП,
КоммерческоеПредложениеКлиентуТовары.Количество КАК Количество,
КоммерческоеПредложениеКлиентуТовары.СуммаСНДС КАК СуммаСНДС,
КоммерческоеПредложениеКлиентуТовары.Цена КАК Цена,
КоммерческоеПредложениеКлиентуТовары.СуммаНДС КАК СуммаНДС,
КоммерческоеПредложениеКлиентуТовары.Ссылка.Статус КАК Статус,
КоммерческоеПредложениеКлиентуТовары.НомерСтроки КАК НомерСтрокиИзКП
ПОМЕСТИТЬ ВТ3
ИЗ
Документ.КоммерческоеПредложениеКлиенту.Товары КАК КоммерческоеПредложениеКлиентуТовары
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ3.ДокументКоммерческоеПредложениеКлиенту КАК ДокументКоммерческоеПредложениеКлиенту,
ВТ3.НоменклатураИзКП КАК НоменклатураИзКП,
ВТ3.Количество КАК КоличествоИзКП,
ВТ3.Цена КАК ЦенаИзКП,
ВТ3.СуммаСНДС КАК СуммаСНДСИзКП,
ВТ3.Статус КАК СтатусИзКП,
ВТ2.ДокументЗаказКлиента КАК ДокументЗаказКлиента,
ВТ2.НоменклатураЗаказКлиента КАК НоменклатураЗаказКлиента,
ВТ2.Количество КАК КоличествоИзЗК,
ВТ2.Цена КАК ЦенаИзЗК,
ВТ2.СуммаСНДС КАК СуммаСНДСИзЗК,
ВТ2.Статус КАК СтатусИзЗК,
ВТ2.ДатаИзЗК КАК ДатаИзЗК,
ВТ2.ДокументОснование КАК ДокументОснование,
ВТ2.НомерСтрокиИзЗК КАК НомерСтрокиИзЗК,
ВТ3.НомерСтрокиИзКП КАК НомерСтрокиИзКП
ИЗ
ВТ3 КАК ВТ3
ЛЕВОЕ СОЕДИНЕНИЕ ВТ2 КАК ВТ2
ПО ВТ3.ДокументКоммерческоеПредложениеКлиенту.Ссылка = ВТ2.ДокументОснование
И ВТ3.НоменклатураИзКП.Ссылка = ВТ2.НоменклатураЗаказКлиента.Ссылка
ГДЕ
ВТ3.ДатаИзКП МЕЖДУ &Д1 И &Д2
СГРУППИРОВАТЬ ПО
ВТ3.СуммаСНДС,
ВТ3.Статус,
ВТ2.НоменклатураЗаказКлиента,
ВТ2.ДокументЗаказКлиента,
ВТ2.ДатаИзЗК,
ВТ2.ДокументОснование,
ВТ3.Цена,
ВТ2.СуммаСНДС,
ВТ3.НоменклатураИзКП,
ВТ2.Цена,
ВТ2.Статус,
ВТ3.ДокументКоммерческоеПредложениеКлиенту,
ВТ3.Количество,
ВТ2.Количество,
ВТ2.НомерСтрокиИзЗК,
ВТ3.НомерСтрокиИзКП
ПоказатьПо теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(9) судя по всему это отчет на СКД.
Тогда в запросе достаточно этого:
Остальное в настройках СКД делается.
Тогда в запросе достаточно этого:
ВЫБРАТЬ
КП.Ссылка КАК ДокументКоммерческоеПредложениеКлиенту,
КП.Номенклатура КАК НоменклатураИзКП,
КП.Количество КАК КоличествоИзКП,
КП.Цена КАК ЦенаИзКП,
КП.СуммаСНДС КАК СуммаСНДСИзКП,
КП.Ссылка.Статус КАК СтатусИзКП,
Заказ.Ссылка КАК ДокументЗаказКлиента,
Заказ.Номенклатура КАК НоменклатураЗаказКлиента,
Заказ.Количество КАК КоличествоИзЗК,
Заказ.Цена КАК ЦенаИзЗК,
Заказ.СуммаСНДС КАК СуммаСНДСИзЗК,
Заказ.Ссылка.Статус КАК СтатусИзЗК,
Заказ.Ссылка.Дата КАК ДатаИзЗК,
Заказ.Ссылка.ДокументОснование КАК ДокументОснование,
Заказ.НомерСтроки КАК НомерСтрокиИзЗК,
КП.НомерСтроки КАК НомерСтрокиИзКП
ИЗ
Документ.КоммерческоеПредложениеКлиенту.Товары КАК КП
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.Товары КАК Заказ
ПО КП.Ссылка = Заказ.Ссылка.ДокументОснование
И КП.Номенклатура = Заказ.Номенклатура
ГДЕ
КП.Дата МЕЖДУ &Д1 И &Д2
ПоказатьОстальное в настройках СКД делается.
есть несколько вариантов.
Скажу для тебя самый простой (по мне)
делаем еще ВТ4 в нем используем конструкцию ГДЕ (ВТ3.ДокументКоммерческоеПредложениеКлиенту,ВТ3.ДокументКоммерческоеПредложениеКлиенту) В (Выбрать Таб.ДокументОснование,Таб.НоменклатураЗаказКлиента как ВТ2 как ТАб)
Далее
Итоговой запрос собирает данные из ВТ4 и делаешь Объединить все с ВТ2 добавив условие по аналогии из ВТ4 только с НЕ
Скажу для тебя самый простой (по мне)
делаем еще ВТ4 в нем используем конструкцию ГДЕ (ВТ3.ДокументКоммерческоеПредложениеКлиенту,ВТ3.ДокументКоммерческоеПредложениеКлиенту) В (Выбрать Таб.ДокументОснование,Таб.НоменклатураЗаказКлиента как ВТ2 как ТАб)
Далее
Итоговой запрос собирает данные из ВТ4 и делаешь Объединить все с ВТ2 добавив условие по аналогии из ВТ4 только с НЕ
(3) Сделал ВТ4
Теперь необходимо ВТ4 добавить в итоговый запрос? Связь с ней нужно делать или из итоговой связи все удалить и делать условие?
ВЫБРАТЬ
ВТ3.ДокументКоммерческоеПредложениеКлиенту КАК ДокументКоммерческоеПредложениеКлиенту,
ВТ2.ДокументОснование КАК ДокументОснование,
ВТ2.НоменклатураЗаказКлиента КАК НоменклатураЗаказКлиента
ПОМЕСТИТЬ ВТ4
ИЗ
ВТ2 КАК ВТ2,
ВТ3 КАК ВТ3
ГДЕ
(ВТ3.ДокументКоммерческоеПредложениеКлиенту, ВТ3.ДокументКоммерческоеПредложениеКлиенту) В
(ВЫБРАТЬ
ВТ2.ДокументОснование,
ВТ2.НоменклатураЗаказКлиента
ИЗ
ВТ2 КАК ВТ2)
ПоказатьТеперь необходимо ВТ4 добавить в итоговый запрос? Связь с ней нужно делать или из итоговой связи все удалить и делать условие?
(6) я когда копировал. забыл поправить
ГДЕ
(ВТ3.ДокументКоммерческоеПредложениеКлиенту, ВТ3.НоменклатураИзКП) В
(ВЫБРАТЬ
ВТ2.ДокументОснование,
ВТ2.НоменклатураЗаказКлиента КАК ВТ2
ИЗ
ВТ2)
Далее
ИЗ
ВТ2 КАК ВТ2,
ВТ3 КАК ВТ3
Зачем!!!???, ТАб ВТ4 у тебя в ней должны быть позиции которые выполнены заказам. Условие выше эти данные и отбирает.
ГДЕ
(ВТ3.ДокументКоммерческоеПредложениеКлиенту, ВТ3.НоменклатураИзКП) В
(ВЫБРАТЬ
ВТ2.ДокументОснование,
ВТ2.НоменклатураЗаказКлиента КАК ВТ2
ИЗ
ВТ2)
Далее
ИЗ
ВТ2 КАК ВТ2,
ВТ3 КАК ВТ3
Зачем!!!???, ТАб ВТ4 у тебя в ней должны быть позиции которые выполнены заказам. Условие выше эти данные и отбирает.
Пишет что не может найти ВТ2
ВЫБРАТЬ
КоммерческоеПредложениеКлиентуТовары.Ссылка КАК ДокументКоммерческоеПредложениеКлиенту,
КоммерческоеПредложениеКлиентуТовары.Номенклатура КАК НоменклатураИзКП,
КоммерческоеПредложениеКлиентуТовары.Ссылка.Дата КАК ДатаИзКП,
КоммерческоеПредложениеКлиентуТовары.Количество КАК Количество,
КоммерческоеПредложениеКлиентуТовары.СуммаСНДС КАК СуммаСНДС,
КоммерческоеПредложениеКлиентуТовары.Цена КАК Цена,
КоммерческоеПредложениеКлиентуТовары.СуммаНДС КАК СуммаНДС,
КоммерческоеПредложениеКлиентуТовары.Ссылка.Статус КАК Статус,
КоммерческоеПредложениеКлиентуТовары.НомерСтроки КАК НомерСтрокиИзКП
ПОМЕСТИТЬ ВТ3
ИЗ
Документ.КоммерческоеПредложениеКлиенту.Товары КАК КоммерческоеПредложениеКлиентуТовары
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
NULL КАК КП,
ЗаказКлиентаТовары.Номенклатура КАК НоменклатураЗаказКлиента,
ЗаказКлиентаТовары.Цена КАК Цена,
ЗаказКлиентаТовары.Количество КАК Количество,
ЗаказКлиентаТовары.СуммаСНДС КАК СуммаСНДС,
ЗаказКлиентаТовары.Ссылка.ДокументОснование КАК ДокументОснование,
ЗаказКлиентаТовары.Ссылка КАК ДокументЗаказКлиента,
ЗаказКлиентаТовары.Ссылка.Валюта КАК ВалютаЗаказКлиента,
ЗаказКлиентаТовары.Цена КАК ЦенаЗаказКлиента,
ЗаказКлиентаТовары.Сумма КАК СуммаЗаказКлиента,
ЗаказКлиентаТовары.Ссылка.Статус КАК Статус,
ЗаказКлиентаТовары.Ссылка.Дата КАК ДатаИзЗК,
ЗаказКлиентаТовары.НомерСтроки КАК НомерСтрокиИзЗК,
NULL КАК Поле2,
NULL КАК Поле3,
NULL КАК Поле4
ПОМЕСТИТЬ ВТ2
ИЗ
Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ВТ3.ДокументКоммерческоеПредложениеКлиенту,
ВТ2.НоменклатураЗаказКлиента,
ВТ3.Цена,
ВТ3.Количество,
ВТ3.СуммаСНДС,
ВТ2.ДокументОснование,
ВТ2.ДокументЗаказКлиента,
ВТ3.НоменклатураИзКП,
ВТ2.Количество,
ВТ2.Цена,
ВТ2.СуммаСНДС,
ВТ2.Статус,
ВТ2.ДатаИзЗК,
ВТ3.Статус,
ВТ2.НомерСтрокиИзЗК,
ВТ3.НомерСтрокиИзКП
ИЗ
ВТ2 КАК ВТ2
ЛЕВОЕ СОЕДИНЕНИЕ ВТ3 КАК ВТ3
ПО ВТ2.ДокументОснование = ВТ3.ДокументКоммерческоеПредложениеКлиенту.Ссылка
И ВТ2.НоменклатураЗаказКлиента.Ссылка = ВТ3.НоменклатураИзКП.Ссылка
ГДЕ
ВТ3.ДатаИзКП МЕЖДУ &Д1 И &Д2
И НЕ (ВТ3.ДокументКоммерческоеПредложениеКлиенту, ВТ3.НоменклатураИзКП) В
(ВЫБРАТЬ
ВТ2.ДокументОснование,
ВТ2.НоменклатураЗаказКлиента КАК ВТ2
ИЗ
ВТ2)
СГРУППИРОВАТЬ ПО
ВТ3.СуммаСНДС,
ВТ3.Статус,
ВТ2.НоменклатураЗаказКлиента,
ВТ2.ДокументЗаказКлиента,
ВТ2.ДатаИзЗК,
ВТ2.ДокументОснование,
ВТ3.Цена,
ВТ2.СуммаСНДС,
ВТ3.НоменклатураИзКП,
ВТ2.Цена,
ВТ2.Статус,
ВТ3.ДокументКоммерческоеПредложениеКлиенту,
ВТ3.Количество,
ВТ2.Количество,
ВТ2.НомерСтрокиИзЗК,
ВТ3.НомерСтрокиИзКП
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ3.ДокументКоммерческоеПредложениеКлиенту КАК ДокументКоммерческоеПредложениеКлиенту,
ВТ2.ДокументОснование КАК ДокументОснование,
ВТ2.НоменклатураЗаказКлиента КАК НоменклатураЗаказКлиента
ПОМЕСТИТЬ ВТ4
ИЗ
ВТ2 КАК ВТ2,
ВТ3 КАК ВТ3
ГДЕ
(ВТ3.ДокументКоммерческоеПредложениеКлиенту, ВТ3.НоменклатураИзКП) В
(ВЫБРАТЬ
ВТ2.ДокументОснование,
ВТ2.НоменклатураЗаказКлиента КАК ВТ2
ИЗ
ВТ2)
Показать
(4) Сделал вот так. То же самое, только теперь он и приравнял если из КП пошел Заказ . Мне нужно еще КП из которых заказ не пошел
ВТ2 КАК ВТ2
ЛЕВОЕ СОЕДИНЕНИЕ ВТ3 КАК ВТ3
ПО ВТ2.ДокументОснование = ВТ3.ДокументКоммерческоеПредложениеКлиенту.Ссылка
И ВТ2.НоменклатураЗаказКлиента.Ссылка = ВТ3.НоменклатураИзКП.Ссылка
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот