← Назад к вопросам

Сколько физических таблиц используется в регистрах накопления оборотов?

1.0 Junior🔥 91 комментариев
#Регистры#СУБД и хранение

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Физические таблицы в регистрах накопления оборотов

Регистр накопления оборотов в 1С использует две физические таблицы для своего функционирования. Это ключевой архитектурный момент, который необходимо понимать при работе с регистрами.

Структура физических таблиц

Таблица 1: Основная таблица (AccumulationRegisterName)

  • Содержит все документированные обороты по активным и пассивным счетам
  • Хранит полный набор всех реквизитов и измерений регистра
  • Служит источником данных для всех аналитических запросов
  • Использует индексы для оптимизации поиска

Таблица 2: Таблица остатков (AccumulationRegisterName_остатки)

  • Содержит только вычисленные остатки (итоги) по каждому уникальному набору измерений
  • Обновляется при закрытии периода или при пересчёте остатков
  • Используется для быстрого получения остатков без полного пересчёта
  • Выполняет роль кэша для оптимизации производительности

Назначение разделения

Делением на две таблицы достигается:

  1. Оптимизация производительности — остатки предварительно вычисляются и кэшируются
  2. Быстрый доступ к итогам — не требуется каждый раз суммировать обороты
  3. Гибкость аналитики — можно анализировать как обороты, так и остатки отдельно
  4. Управление переходящими остатками — сохранение остатков на конец периода

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

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

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

Управление остатками

Для работы с остатками используются механизмы закрытия периодов. При закрытии регистра:

  • Вычисляются и сохраняются остатки на конец периода
  • Остатки становятся начальными для следующего периода
  • Обороты текущего периода закрываются и перестают пересчитываться

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

  • Пересчёт остатков выполняется явно через процедуру закрытия периода
  • Синхронизация таблиц осуществляется автоматически при проведении документов
  • Производительность зависит от индексов на измерениях и ресурсах
  • Хранение требует регулярной архивизации старых периодов

Понимание двухтабличной структуры критически важно для правильного проектирования отчётов и обеспечения высокой производительности системы.

Сколько физических таблиц используется в регистрах накопления оборотов? | PrepBro