Ответ в теме: Как сделать запрос по оборотам регистра накопления с отбором по массиву документ

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

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

    Для отбора по массиву документов лучше использовать виртуальную таблицу Обороты(), а отбор по регистраторам передать четвертым параметром виртуальной таблицы. Поскольку в результате нужен Регистратор, периодичность виртуальной таблицы должна быть Регистратор.

    Исправленный запрос:

    Параметры запроса устанавливаются так:

    Важные моменты:

    1. Ваш исходный запрос обращается к основной таблице регистра:

    Это таблица движений, а не виртуальная таблица оборотов.

    2. Для получения оборотов используется:

    3. В виртуальной таблице параметр Регистратор после третьего параметра означает периодичность:

    Это позволяет получить данные с детализацией по регистратору.

    4. Отбор по массиву передан внутрь виртуальной таблицы:

    Так обычно эффективнее, чем писать отбор во внешнем ГДЕ, поскольку виртуальная таблица сразу формируется по нужным регистраторам.

    5. В виртуальной таблице имена ресурсов обычно получают суффикс Оборот. Поэтому:

    заменяется на:

    Аналогично:

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

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

    Этот вариант подходит, если нужно обработать фактические записи движений и не требуется расчет виртуальных оборотов за период.

    Если регистратор имеет составной тип и массив содержит документы разных типов, отбор может работать медленнее. Желательно, чтобы в МассивДокументов находились ссылки одного типа, например только Документ.РеализацияТоваровУслуг.

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