Разработка и Конфигурация · 10 мин
Для чего нужны регистры в 1С
Что такое регистры в 1С и для чего они нужны. Виды регистров, отличие от справочников и документов, типичные ошибки и проверка данных.
Регистры — это объекты конфигурации 1С, в которых хранятся итоговые и аналитические данные, накапливаемые документами. Сами по себе документы (приходная накладная, заказ, начисление зарплаты) фиксируют факт хозяйственной операции, а регистры превращают этот факт в данные, по которым строятся отчёты: остатки товаров, взаиморасчёты, остатки на складах, задолженности, курсы валют.
Без регистров программа «знала» бы, что документ проведён, но не могла бы быстро ответить на вопросы: сколько товара осталось на складе, сколько должен клиент, какие ставки НДФЛ действовали на конкретную дату. Именно регистры обеспечивают скорость типовых отчётов: данные в них уже агрегированы по нужным разрезам, и отчёту не требуется каждый раз пересчитывать все документы за период.
Понимание устройства регистров нужно не только разработчикам. Бухгалтеру и оператору это помогает разбираться в расхождениях: почему в отчёте нет товара, хотя накладная проведена, откуда взялись отрицательные остатки и почему после «перепроведения» цифры изменились. Почти всегда ответ лежит в движениях документа по регистрам.
Что такое регистр и чем он отличается от справочника и документа
Справочник хранит относительно постоянную информацию: номенклатуру, контрагентов, склады, сотрудников. Документ фиксирует событие во времени: поступление, продажу, оплату. Регистр же хранит результат этих событий в разрезе нужных аналитик — например, «товар Х на складе Y, количество +10».
Ключевое отличие регистра — его записи, как правило, не создаются вручную, а формируются документами при проведении. Эти записи называются движениями. Один документ может делать движения сразу по нескольким регистрам: приходная накладная увеличивает остатки товаров, формирует задолженность поставщику и записывает данные по НДС.
Ещё одно важное свойство: записи регистров подчинены регистратору (документу). Нельзя удалить отдельную запись из регистра, не трогая документ, — запись живёт и умирает вместе с проведением документа. Это защищает учёт от «подчистки» отдельных цифр, но требует аккуратности при отмене проведения и перепроведении.
Какие виды регистров существуют и для чего каждый нужен
В платформе 1С:Предприятие существует четыре вида регистров, и каждый решает свою задачу. Выбор вида определяет, как данные будут накапливаться и какие отчёты по ним можно построить.
| Вид регистра | Что хранит | Типовое применение |
|---|---|---|
| Сведений | Значения в разрезе измерений, без сумм и количеств | Курсы валют, цены номенклатуры, штрихкоды, адреса и телефоны |
| Накопления (остатки) | Остатки по ресурсам на любую дату | Товары на складах, деньги на счетах, взаиморасчёты |
| Накопления (обороты) | Только обороты за период, без остатков | Продажи, объёмы закупок, статистика операций |
| Бухгалтерии | Проводки по плану счетов | Бухгалтерский и налоговый учёт, корреспонденции счетов |
Регистры сведений
Регистры сведений хранят информацию, которая не является количеством или суммой: курс валюты на дату, цена товара в прайсе, ответственный менеджер клиента. Периодические регистры сведений позволяют хранить историю изменения значения — например, как менялась цена во времени, и получать её «на дату».
Регистры накопления
Регистры накопления с видом «Остатки» отвечают на вопрос «сколько сейчас»: остаток товара на складе, долг клиента. С видом «Обороты» — на вопрос «сколько было за период»: сумма продаж за месяц. Пытаться хранить остатки в оборотном регистре — типичная ошибка проектирования, она приводит к медленным и сложным запросам.
Как документы записывают данные в регистры
При проведении документа выполняется его модуль проведения, который формирует наборы записей по регистрам. Пока документ просто записан (не проведён), движений нет, и отчёты его «не видят». Это объясняет частую ситуацию: документ есть в журнале, а в отчёте по остаткам его нет.
При отмене проведения движения удаляются, при перепроведении — создаются заново. Поэтому массовое перепроведение документов за период — стандартный способ восстановить корректность регистров после сбоев, обменов или ручных правок. В типовых конфигурациях для этого есть обработки «Проведение документов» и механизмы восстановления последовательностей.
- 1Откройте документ, который должен был повлиять на отчёт
- 2Убедитесь, что он проведён (нет пометки «не проведён»)
- 3Откройте «Ещё — Движения документа» (в ряде конфигураций — отдельная кнопка или команда)
- 4Проверьте, по каким регистрам есть записи и совпадают ли суммы и количества с табличной частью
- 5Если движений нет — перепроведите документ и проверьте снова
Почему отчёты «врут»: типичные проблемы с регистрами
Большинство расхождений между документами и отчётами объясняется состоянием регистров, а не ошибкой в отчёте. Разобраться помогает сравнение движений конкретного документа с данными отчёта по тому же регистру.
Открыть движения документа и проверить, по нужному ли регистру сделаны записи
Проверить даты и время документов, включить контроль остатков
Сверить проведённость документов за период обмена
Проверить период рассчитанных итогов в управлении итогами
Отрицательные остатки — самый частый симптом. Они возникают, когда расходный документ проводится «задним числом» до приходного или когда приходный документ отменили, а расходный остался. В типовых конфигурациях есть контроль остатков при проведении, но его иногда отключают ради скорости — и тогда минусы копятся незаметно.
Итоги, производительность и обслуживание регистров
Для регистров накопления и бухгалтерии платформа хранит предрассчитанные итоги, благодаря которым отчёты по остаткам работают быстро. Итоги рассчитываются по периодам, и чем дальше в прошлое уходит учёт, тем длиннее цепочка пересчёта при проведении документов задним числом.
Проведение документа задним числом заставляет платформу пересчитывать итоги с даты документа до текущего периода — поэтому массовые правки прошлых периодов заметно нагружают базу. Для снижения нагрузки используют дату запрета изменения данных, а администратор может управлять периодом рассчитанных итогов.
Когда нужен свой регистр, а когда хватит типового
В типовых конфигурациях состав регистров уже покрывает стандартный учёт. Собственный регистр имеет смысл добавлять, когда появляется новый разрез аналитики или новый вид накапливаемых данных: например, резервирование по проектам, бонусные баллы, показатели для нестандартной отчётности.
При проектировании регистра важно правильно выбрать вид и состав измерений. Лишние измерения раздувают таблицы и замедляют проведение, недостаток измерений делает невозможным нужный отчёт. Ресурсы должны быть именно числовыми показателями (количество, сумма), а всё остальное — измерениями или реквизитами.
Как проверить корректность данных в регистрах
Базовая проверка — сопоставление трёх источников: табличной части документа, движений документа и отчёта по регистру. Если все три совпадают, учёт по этой цепочке корректен. Расхождение на любом шаге локализует проблему: либо документ не проведён, либо движения сформированы не по тому регистру, либо отчёт использует другой регистр или отбор.
Как проверить результат
Записи есть, суммы и количества совпадают с табличной частью
Движений нет или суммы отличаются
Нет отрицательных остатков без объяснения
Минусы по позициям, где отгрузка раньше поступления
Отчёт за типовой период формируется за разумное время
Резкая деградация после правок прошлых периодов
Установлена дата запрета, старые документы не изменяются
Документы прошлых периодов свободно перепроводятся
Частые вопросы о регистрах 1С
Можно ли удалить записи регистра, не трогая документы?
Штатно — нет: записи регистров подчинены регистраторам и удаляются вместе с отменой проведения или удалением документа. Существуют способы прямой правки через код, но это нарушает целостность учёта и допустимо только в исключительных случаях после резервного копирования.
Почему документ есть, а в отчёте его нет?
Чаще всего документ не проведён или проведён, но не делает движений по регистру, на котором построен отчёт. Откройте движения документа и сверьте состав регистров с тем, что использует отчёт.
Чем регистр накопления «Остатки» отличается от «Обороты» на практике?
Регистр «Остатки» позволяет быстро получить значение на любую дату (сколько товара сейчас). Регистр «Обороты» хранит только суммы за период (сколько продано за месяц) и не может дать остаток без суммирования всех записей с начала учёта.
Что делает кнопка «Перепровести» с регистрами?
При перепроведении старые движения документа удаляются и создаются заново по текущим данным документа. Если в документе что-то изменили, регистры после перепроведения отразят новые значения, а отчёты пересчитаются.
Опасно ли проводить документы задним числом?
Само по себе — нет, но это вызывает пересчёт итогов с даты документа и может изменить остатки и отчёты последующих периодов. Перед такими операциями в рабочей базе стоит убедиться, что прошлые периоды закрыты датой запрета, а изменения согласованы с ответственными за учёт.
Нужно ли создавать отдельный регистр под каждый новый отчёт?
Нет. Сначала проверьте, нельзя ли получить данные из существующих регистров с помощью настройки отчёта или запроса. Новый регистр оправдан, только когда появляются данные, которые раньше нигде не накапливались.
Что важно запомнить
Регистры — это слой накопленных данных между документами и отчётами: документы пишут движения, отчёты читают итоги. Понимание видов регистров, умения смотреть движения документа и проверять остатки достаточно, чтобы самостоятельно разбирать большинство расхождений в учёте, не прибегая к рискованным прямым правкам данных.