Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 12:39

Объединить в запросе несколько ТЧ документов одного типа

Автор Andra, 16 июл 2024, 07:39

0 Пользователей и 1 гость просматривают эту тему.

Максим75

Andra, возьмите из того запроса, что Вам LexaK выслал, только
Перемещение.Ссылка как Документ,
замените на Перемещение.Ссылка.ДокументОснование как Документ

ну что же Вы вообще просто копируете?
Вам надо со второго набора выбрать не сам документ, а основание.

Максим75


Andra

LexaK, просто по логике как я понимаю правильно сделать:
1. Получаю ТЧ ТребованиеВКладовую, оборачиваю во временную таблицу, т.к. в объединении не задать условие, что ТребованиеВКладовую.Ссылка = ПеремещениеТоваровТовары.Ссылка.ДокументОснование2. Получаю ТЧ ПеремещениеТовара, внутреннее соединение с первой тч
3. Объединяю все это в одну таблицу
Вот загвоздка на этапе объединения: если делать так, то данные в любом случае друг под другом, хоть новый пакет запроса, хоть еще временных таблиц напихай

Andra

Максим75, так я так и делал, а все равно некорректно отрабатывает и берет данные по всем перемещениям за период вообще

Максим75

Andra, текст дайте, я же не вижу, что Вы там наваяли.

LexaK

Andra, примерно таким запросом можно связать докуметы по основанию
и в разрезе номенклатуры
(а контроль в Перемещении ведется? можно переместить товар который не был затребовар?)
   
    Выбрать
    Требование.Ссылка.Дата как Период,
    Требование.Ссылка как Требование,
    Требование.Номенклатура как Товар,
    Требование.Количество как Заказано,
    Перемещение.Ссылка как Перемещение,
    Перемещение.Количество как Отпущено
Из
    Документ.ТребованиеВКладовую.Товары как Требование
//при условии что нет дублей в тч.Товары   
левое соединение     Документ.ПеремещениеТоваров.Товары как Перемещение
по     Требование.Ссылка = Перемещение.Ссывлка.ДокументОснование
и      Требование.Номенклатура  = Перемещение.Номенклатура
где   
    Требование.Ссылка.Дата Между &Дата1 и &Дата2
    и Требование.Ссылка.Проведен //или Не ПометкаУдаленя
    и Перемещение.Ссылка.Проведен


если помогло нажмите: Спасибо!

Максим75

LexaK, да с таким соединением он вообще запутается. логичней было бы вначале сгруппировать перемещения по основанию и товару, потом уже соединять, а то к одному товару в требовании может несколько строк добавить, ведь может быть несколько перемещений.

Andra

Максим75, ВЫБРАТЬ
ТребованиеВКладовуюТовары.Ссылка КАК ТребованиеСсылка,
ТребованиеВКладовуюТовары.Ссылка.Дата КАК Период,
ТребованиеВКладовуюТовары.Номенклатура КАК НоменклатураТребование,
СУММА(ТребованиеВКладовуюТовары.Количество) КАК КоличествоЗаказано,
СУММА(0) КАК Отпущено
ПОМЕСТИТЬ вт_Данные
ИЗ
Документ.ТребованиеВКладовую.Товары КАК ТребованиеВКладовуюТовары
ГДЕ
ТребованиеВКладовуюТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
И ТребованиеВКладовуюТовары.Ссылка.Проведен

СГРУППИРОВАТЬ ПО
ТребованиеВКладовуюТовары.Ссылка,
ТребованиеВКладовуюТовары.Ссылка.Дата,
ТребованиеВКладовуюТовары.Номенклатура

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
ПеремещениеТоваровТовары.Ссылка.ДокументОснование,
ПеремещениеТоваровТовары.Ссылка.Дата,
ПеремещениеТоваровТовары.Номенклатура,
СУММА(0),
СУММА(ПеремещениеТоваровТовары.Количество)
ИЗ
Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
ГДЕ
ПеремещениеТоваровТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
И ПеремещениеТоваровТовары.Ссылка.Проведен

СГРУППИРОВАТЬ ПО
ПеремещениеТоваровТовары.Ссылка.ДокументОснование,
ПеремещениеТоваровТовары.Ссылка.Дата,
ПеремещениеТоваровТовары.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
вт_Данные.ТребованиеСсылка КАК ТребованиеСсылка,
вт_Данные.Период КАК Период,
вт_Данные.НоменклатураТребование КАК НоменклатураТребование,
СУММА(вт_Данные.КоличествоЗаказано) КАК КоличествоЗаказано,
СУММА(вт_Данные.Отпущено) КАК Отпущено
ИЗ
вт_Данные КАК вт_Данные

СГРУППИРОВАТЬ ПО
вт_Данные.ТребованиеСсылка,
вт_Данные.Период,
вт_Данные.НоменклатураТребование

LexaK

Максим75,
Цитироватьа то к одному товару в требовании может несколько
 строк добавить, ведь может быть несколько перемещений.
так это и требуется!
только в СКД то что затребовано сделать группировкой,
тогда в детали попадут подчиненные Перемещения (каждое со своим Количеством)
если помогло нажмите: Спасибо!

Максим75

Andra, вот в Вашем запросе поле период - в первом наборе это дата документа Требование, а во втором наборе это дата документа Перемещение.
поэтому могут быть разные даты. будет несколько записей по одному Требованию.
дату уберите и тогда схлопнется по Требованию и Товару.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск