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

В чём отличие регистра сведений от регистра накопления?

1.0 Junior🔥 261 комментариев
#Регистры

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

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

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

Общие характеристики

Оба регистра хранят информацию в разрезе измерений (аналитик), но отличаются логикой и назначением.

Регистр накопления (Accumulation Register)

Назначение

Накапливание информации с суммированием показателей:

  • Остатки товаров
  • Финансовые средства
  • Обороты (приходы/расходы)

Структура

РегистрНакопления.ОстаткиТоваров {
    Измерения: Номенклатура, Склад
    Ресурсы: Количество, СуммаОстатков (суммируются)
    Реквизиты: ЕдиницаИзмерения, Цена
    Тип: Остатки или Обороты
}

Механизм работы

1. Создаём движение (документ приход)
2. 1С автоматически суммирует
3. Остаток = Было + Новое
4. Запрос видит готовый остаток

Пример:

// Было: Болты = 500
Документ.ПриходТоваров: Болты +100
// Стало: Болты = 600

Документ.РасходТоваров: Болты -30
// Стало: Болты = 570

Регистр информации (Information Register)

Назначение

Хранение справочной информации без суммирования:

  • Курсы валют
  • Цены товаров
  • История должностей
  • Кэш данных

Структура

РегистрИнформации.КурсыВалют {
    Измерения: Валюта, Дата
    Ресурсы: Курс (НЕ суммируется!)
    Периодичность: На дату / Ежедневная / Не периодический
}

Периодичность — ключевое отличие

// На дату: одна запись на дату
Курс USD на 01.01.2024 = 95
// Повторная запись → перезапись, не суммирование

// Не периодический: несколько записей
Сотрудник Иванов, должность 01.01-30.06 = Менеджер
Сотрудник Иванов, должность 01.07-31.12 = Начальник

Сравнительная таблица

ПараметрНакоплениеИнформация
НазначениеОстатки, оборотыСправочная информация
СуммированиеДа (автоматическое)Нет
ДвиженияПриход/РасходНет
Данные на датуВычисляются (сумма)Хранятся явно
ЧтениеСредняя скоростьВысокая скорость
ЗаписьМедленнее (пересчёт)Быстрее
ИсторияВсе движенияЗаменяют старые
ПримерОстатки товаровЦена на дату

Практические примеры

Пример 1: Остатки (Регистр накопления)

Документ.ПриходТоваров.Записать();
    // Движение: Болты +50 на Основной
    // Остаток вычисляется: 0 + 50 = 50

Документ.РасходТоваров.Записать();
    // Движение: Болты -20 на Основной
    // Остаток вычисляется: 50 - 20 = 30

Запрос = Новый Запрос("SELECT Количество FROM ОстаткиТоваров WHERE Номенклатура = Болты");
// Результат: 30 (вычисленный остаток)

Пример 2: Курсы валют (Регистр информации)

// Записываем курс
КурсыВалют: USD на 01.01.2024 = 95

// Перезаписываем на ту же дату
КурсыВалют: USD на 01.01.2024 = 96
// Результат: 96 (перезапись, не суммирование!)

Запрос = Новый Запрос("SELECT Курс FROM КурсыВалют WHERE Валюта = USD AND Дата = 01.01.2024");
// Результат: 96 (одна запись)

Пример 3: История должностей (Регистр информации)

СотрудникВДолжности:
  Иванов, 01.01-30.06.2024 = Менеджер
  Иванов, 01.07-31.12.2024 = Начальник отдела

// Запрос: Какая должность была на 15.05.2024?
Должность = СотрудникВДолжности.ПолучитьНаДату("15.05.2024", Отбор);
// Результат: Менеджер (из первой записи)

Когда использовать?

Регистр накопления:

  • Остатки товаров/денег
  • Обороты за период
  • Данные, которые суммируются
  • Аналитика по периодам

Регистр информации:

  • Справочные данные (курсы, цены)
  • История переходов (должности)
  • Кэш часто используемых данных
  • Связи между объектами

Производительность

Регистр накопления (1M записей):
- Чтение остатка: ~100ms (нужно суммировать)
- Запись: ~10ms (пересчёт)

Регистр информации (1M записей):
- Чтение: ~1ms (прямой поиск)
- Запись: ~1ms (простая замена)

Правильный выбор критичен для архитектуры конфигурации.

В чём отличие регистра сведений от регистра накопления? | PrepBro