← Назад к вопросам
В чём отличие регистра сведений от регистра накопления?
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 (простая замена)
Правильный выбор критичен для архитектуры конфигурации.