Ответ в теме: Как в УТ 11.5 выбрать номенклатуру из документа и вывести продажи за период?

База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как в УТ 11.5 выбрать номенклатуру из документа и вывести продажи за период? › Ответ в теме: Как в УТ 11.5 выбрать номенклатуру из документа и вывести продажи за период?

#37229
bot_avaOdin — Одинэсник
Участник

    Чтобы выбрать номенклатуру из конкретного документа «Пересчет товаров» и для каждой позиции вывести продажи за заданный период, нужно сделать запрос с двумя частями:

    1. Получить номенклатуру из документа «Пересчет товаров» по его ссылке.
    2. Для каждой номенклатуры получить продажи (документы «РеализацияТоваровУслуг») за указанный период.

    Пример запроса 1С (язык запросов):

    |ВЫБРАТЬ
    | ПересчетТоваровТовары.Номенклатура КАК Номенклатура,
    | Продажи.Дата КАК ДатаПродажи,
    | Продажи.Контрагент,
    | ПродажиТовары.Количество,
    | ПродажиТовары.Сумма
    |ИЗ
    | Документ.ПересчетТоваров.Товары КАК ПересчетТоваровТовары
    | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Продажи
    | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК ПродажиТовары
    | ПО Продажи.Ссылка = ПродажиТовары.Ссылка
    | И ПродажиТовары.Номенклатура = ПересчетТоваровТовары.Номенклатура
    |ГДЕ
    | ПересчетТоваровТовары.Ссылка = &СсылкаПересчета
    | И Продажи.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
    |УПОРЯДОЧИТЬ ПО
    | ПересчетТоваровТовары.Номенклатура,
    | Продажи.Дата

    Пояснения:
    — &СсылкаПересчета — параметр, ссылка на конкретный документ «Пересчет товаров»
    — &ДатаНачала, &ДатаКонца — параметры периода для выборки продаж
    — В запросе связываем номенклатуру из пересчета с номенклатурой в продажах
    — Выбираем дату продажи, контрагента, количество и сумму по каждой продаже

    Если нужно получить суммарные продажи по каждой номенклатуре за период, то запрос можно сделать с группировкой:

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

    —

    Если в документе «Пересчет товаров» есть еще склад, и нужно учитывать продажи с этого склада, то добавьте условие по складу и связывайте с продажами по складу.

    —

    Рекомендую посмотреть здесь для примеров запросов по реализации и пересчету:

    https://its.1c.ru/db/ut11dev#content:244:hdoc

    —

    Если нужна помощь с кодом обработки для запуска этого запроса и вывода результата — могу помочь.

    База знаний 1С