Ответ в теме: Как вытащить номера ГТД для номенклатуры по периодам в 1С?

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

    Чтобы получить номера ГТД по конкретной номенклатуре из регистра накопления «ТоварыОрганизаций» с разбивкой по периодам, нужно в запрос добавить фильтр по номенклатуре и группировку по периоду.

    Предположим, что:

    — Поле с номером ГТД называется «НомерГТД» (если другое — замените).
    — Поле периода — «Период» (обычно в регистрах накопления есть поле Период).
    — Номенклатура — ссылка на справочник «Номенклатура».

    Пример запроса:

    |ВЫБРАТЬ
    | ТоварыОрганизаций.Период КАК Период,
    | ТоварыОрганизаций.НомерГТД КАК НомерГТД
    |ИЗ
    | РегистрНакопления.ТоварыОрганизаций КАК ТоварыОрганизаций
    |ГДЕ
    | ТоварыОрганизаций.Номенклатура = &Номенклатура
    | И ТоварыОрганизаций.НомерГТД <> «»
    |УПОРЯДОЧИТЬ ПО
    | ТоварыОрганизаций.Период,
    | ТоварыОрганизаций.НомерГТД

    Если нужно получить уникальные номера ГТД по периодам (чтобы не было повторов), то можно использовать группировку:

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

    Параметр запроса &Номенклатура нужно установить в коде, например:

    Если поле «НомерГТД» хранится не в регистре, а в связанном справочнике партий, то запрос усложняется с JOIN по партии.

    Если нужно — могу помочь адаптировать под конкретную структуру.

    Рекомендую посмотреть, как работать с регистрами накопления и параметрами периода:
    https://infostart.ru/public/1042547/
    https://infostart.ru/public/1725228/

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