Использование виртуальных таблиц регистров накопления в 1С

Для чего применяются виртуальные таблицы

Виртуальные таблицы — это специальный механизм платформы 1С для быстрого получения данных из регистров накопления. Они физически не хранятся в базе данных, а формируются платформой «на лету» на основе реальных таблиц движений и итогов.

Преимущества использования:

  • Простой синтаксис запросов вместо сложных соединений к реальным таблицам
  • Автоматическая работа с итогами (быстрее вычисления)
  • Исключение ошибок разработчика при работе с регистрами
  • Скорость работы запроса

Виды виртуальных таблиц регистров накопления

Набор виртуальных таблиц зависит от вида регистра накопления:

Вид регистраВиртуальные таблицы
ОстаткиОстатки, Обороты, ОстаткиИОбороты
ОборотыОбороты (только одна)

Виртуальная таблица Остатки

Назначение — получение остатков ресурсов регистра на определённую дату (на начало момента времени).

Особенности:

  • Строит остатки на начало секунды, указанной в параметре Период (дата не включается)
  • Для получения остатков включительно с датой используйте тип Граница
  • При работе с остатками всегда добавляйте 1 секунду к периоду, если нужна дата включительно

Параметры:

ПараметрЗа что отвечает
ПериодМомент времени, на который считаем остатки (тип: Дата, МоментВремени, Граница) 
УсловиеОтбор по измерениям регистра (например, Организация = &ВыбОрг) 

В условии можно использовать только измерения регистра, не реквизиты и не ресурсы.

Виртуальная таблица Обороты

Назначение — получение оборотов ресурсов регистра за период (сумма движений).

Особенности:

  • Работает только по таблице движений (без использования итогов)
  • Включает начало и конец периода
  • Доступна для обоих видов регистров (остатки и обороты)

Параметры:

ПараметрЗа что отвечает
НачалоПериодаНачало периода включительно (если не указано — с начала учёта) 
КонецПериодаКонец периода включительно (если не указано — на момент формирования) 
ПериодичностьГруппировка оборотов: Период, Запись, День, Месяц, Год, Авто и др. 
УсловиеОтбор по измерениям регистра 

Для примера — при периодичности Месяц обороты суммируются по месяцам.

Виртуальная таблица ОстаткиИОбороты

Назначение — получение остатков и оборотов одновременно в одном запросе. Дает возможность получить начальный и конечный остаток, приход, расход и обороты за период.

Особенности:

  • Работает только если включены итоги для регистра
  • Режим работы зависит от указания периодичности

Параметры:

ПараметрЗа что отвечает
НачалоПериодаНачало периода включительно 
КонецПериодаКонец периода включительно 
ПериодичностьГруппировка данных: День, Месяц, Год, Авто и др. 
Метод дополнения периодовДвижения — только движения за период; ДвиженияИГраницыПериода — включая начальные остатки (объекты без оборотов попадают с нулём) 
УсловиеОтбор по измерениям регистра 

При периодичности Авто система сама подберёт периодичность (не менее 3 и не более 12 значений периодов).

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

// Остатки на дату
ВЫБРАТЬ
    Остатки.Товар,
    Остатки.Склад,
    Остатки.КоличествоОстаток
ИЗ
    РегистрНакопления.ТоварныеЗапасы.Остатки(&Период, Товар = &Товар) КАК Остатки

// Обороты за месяц
ВЫБРАТЬ
    Обороты.Товар,
    Обороты.КоличествоОборот
ИЗ
    РегистрНакопления.ТоварныеЗапасы.Обороты(
        &НачалоПериода, &КонецПериода, Месяц, , Организация = &Орг) КАК Обороты

// Остатки и обороты вместе
ВЫБРАТЬ
    ООб.Период,
    ООб.Товар,
    ООб.КоличествоНачальныйОстаток,
    ООб.КоличествоОборот
ИЗ
    РегистрНакопления.ТоварныеЗапасы.ОстаткиИОбороты(
        &НачалоПериода, &КонецПериода, Месяц, , Организация = &Орг) КАК ООб

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Отправьте форму и мы вам перезвоним

Отправляя форму вы соглашаетесь с политикой конфиденциальности и даете согласие на обработку персональных данных компании ИП Рыжиченко Антону Ивановичу
Сайт itviar.ru использует cookie для персонализации и хранения настроек.
Отправляя форму вы соглашаетесь с политикой конфиденциальности и даете согласие на обработку персональных данных компании ИП Рыжиченко Антону Ивановичу