К статье
Практический материал

Разработка и Конфигурация · 10 мин

Для чего нужны регистры в 1С

Что такое регистры в 1С и для чего они нужны. Виды регистров, отличие от справочников и документов, типичные ошибки и проверка данных.

Регистры — это объекты конфигурации 1С, в которых хранятся итоговые и аналитические данные, накапливаемые документами. Сами по себе документы (приходная накладная, заказ, начисление зарплаты) фиксируют факт хозяйственной операции, а регистры превращают этот факт в данные, по которым строятся отчёты: остатки товаров, взаиморасчёты, остатки на складах, задолженности, курсы валют.

Без регистров программа «знала» бы, что документ проведён, но не могла бы быстро ответить на вопросы: сколько товара осталось на складе, сколько должен клиент, какие ставки НДФЛ действовали на конкретную дату. Именно регистры обеспечивают скорость типовых отчётов: данные в них уже агрегированы по нужным разрезам, и отчёту не требуется каждый раз пересчитывать все документы за период.

Понимание устройства регистров нужно не только разработчикам. Бухгалтеру и оператору это помогает разбираться в расхождениях: почему в отчёте нет товара, хотя накладная проведена, откуда взялись отрицательные остатки и почему после «перепроведения» цифры изменились. Почти всегда ответ лежит в движениях документа по регистрам.

Что такое регистр и чем он отличается от справочника и документа

Справочник хранит относительно постоянную информацию: номенклатуру, контрагентов, склады, сотрудников. Документ фиксирует событие во времени: поступление, продажу, оплату. Регистр же хранит результат этих событий в разрезе нужных аналитик — например, «товар Х на складе Y, количество +10».

Ключевое отличие регистра — его записи, как правило, не создаются вручную, а формируются документами при проведении. Эти записи называются движениями. Один документ может делать движения сразу по нескольким регистрам: приходная накладная увеличивает остатки товаров, формирует задолженность поставщику и записывает данные по НДС.

Ещё одно важное свойство: записи регистров подчинены регистратору (документу). Нельзя удалить отдельную запись из регистра, не трогая документ, — запись живёт и умирает вместе с проведением документа. Это защищает учёт от «подчистки» отдельных цифр, но требует аккуратности при отмене проведения и перепроведении.

Какие виды регистров существуют и для чего каждый нужен

В платформе 1С:Предприятие существует четыре вида регистров, и каждый решает свою задачу. Выбор вида определяет, как данные будут накапливаться и какие отчёты по ним можно построить.

Вид регистраЧто хранитТиповое применение
СведенийЗначения в разрезе измерений, без сумм и количествКурсы валют, цены номенклатуры, штрихкоды, адреса и телефоны
Накопления (остатки)Остатки по ресурсам на любую датуТовары на складах, деньги на счетах, взаиморасчёты
Накопления (обороты)Только обороты за период, без остатковПродажи, объёмы закупок, статистика операций
БухгалтерииПроводки по плану счетовБухгалтерский и налоговый учёт, корреспонденции счетов

Регистры сведений

Регистры сведений хранят информацию, которая не является количеством или суммой: курс валюты на дату, цена товара в прайсе, ответственный менеджер клиента. Периодические регистры сведений позволяют хранить историю изменения значения — например, как менялась цена во времени, и получать её «на дату».

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

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

Как документы записывают данные в регистры

При проведении документа выполняется его модуль проведения, который формирует наборы записей по регистрам. Пока документ просто записан (не проведён), движений нет, и отчёты его «не видят». Это объясняет частую ситуацию: документ есть в журнале, а в отчёте по остаткам его нет.

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

Как посмотреть движения документа
  1. 1
    Откройте документ, который должен был повлиять на отчёт
  2. 2
    Убедитесь, что он проведён (нет пометки «не проведён»)
  3. 3
    Откройте «Ещё — Движения документа» (в ряде конфигураций — отдельная кнопка или команда)
  4. 4
    Проверьте, по каким регистрам есть записи и совпадают ли суммы и количества с табличной частью
  5. 5
    Если движений нет — перепроведите документ и проверьте снова

Почему отчёты «врут»: типичные проблемы с регистрами

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

Документ проведён, но в отчёте пустоНет движений по регистру

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

Отрицательные остатки в отчётеОтгрузка проведена раньше поступления по времени

Проверить даты и время документов, включить контроль остатков

После обмена цифры изменилисьДокументы пришли без проведения или перепровелись

Сверить проведённость документов за период обмена

Отчёт формируется очень долгоНакоплены избыточные итоги или большой объём записей

Проверить период рассчитанных итогов в управлении итогами

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

Итоги, производительность и обслуживание регистров

Для регистров накопления и бухгалтерии платформа хранит предрассчитанные итоги, благодаря которым отчёты по остаткам работают быстро. Итоги рассчитываются по периодам, и чем дальше в прошлое уходит учёт, тем длиннее цепочка пересчёта при проведении документов задним числом.

Проведение документа задним числом заставляет платформу пересчитывать итоги с даты документа до текущего периода — поэтому массовые правки прошлых периодов заметно нагружают базу. Для снижения нагрузки используют дату запрета изменения данных, а администратор может управлять периодом рассчитанных итогов.

Когда нужен свой регистр, а когда хватит типового

В типовых конфигурациях состав регистров уже покрывает стандартный учёт. Собственный регистр имеет смысл добавлять, когда появляется новый разрез аналитики или новый вид накапливаемых данных: например, резервирование по проектам, бонусные баллы, показатели для нестандартной отчётности.

При проектировании регистра важно правильно выбрать вид и состав измерений. Лишние измерения раздувают таблицы и замедляют проведение, недостаток измерений делает невозможным нужный отчёт. Ресурсы должны быть именно числовыми показателями (количество, сумма), а всё остальное — измерениями или реквизитами.

Типичные ошибки при работе с регистрами
01
Хранить остатки в оборотном регистре — отчёты по остаткам получаются медленными и громоздкими
02
Добавлять в регистр избыточные измерения «на всякий случай» — растёт объём данных и падает скорость проведения
03
Править записи регистра вручную вместо исправления документа — связь с первичкой теряется, при перепроведении правки исчезают
04
Отключать контроль остатков ради скорости и не проверять минусы — взаиморасчёты и склад уходят в отрицательные значения
05
Проводить массовые изменения прошлых периодов без даты запрета — долгий пересчёт итогов и риск изменить закрытую отчётность

Как проверить корректность данных в регистрах

Базовая проверка — сопоставление трёх источников: табличной части документа, движений документа и отчёта по регистру. Если все три совпадают, учёт по этой цепочке корректен. Расхождение на любом шаге локализует проблему: либо документ не проведён, либо движения сформированы не по тому регистру, либо отчёт использует другой регистр или отбор.

Контрольные точки

Как проверить результат

Движения проведённого документа
Норма

Записи есть, суммы и количества совпадают с табличной частью

Тревожный признак

Движений нет или суммы отличаются

Остатки в отчёте по регистру
Норма

Нет отрицательных остатков без объяснения

Тревожный признак

Минусы по позициям, где отгрузка раньше поступления

Скорость формирования отчётов
Норма

Отчёт за типовой период формируется за разумное время

Тревожный признак

Резкая деградация после правок прошлых периодов

Закрытые периоды
Норма

Установлена дата запрета, старые документы не изменяются

Тревожный признак

Документы прошлых периодов свободно перепроводятся

Частые вопросы о регистрах 1С

Можно ли удалить записи регистра, не трогая документы?

Штатно — нет: записи регистров подчинены регистраторам и удаляются вместе с отменой проведения или удалением документа. Существуют способы прямой правки через код, но это нарушает целостность учёта и допустимо только в исключительных случаях после резервного копирования.

Почему документ есть, а в отчёте его нет?

Чаще всего документ не проведён или проведён, но не делает движений по регистру, на котором построен отчёт. Откройте движения документа и сверьте состав регистров с тем, что использует отчёт.

Чем регистр накопления «Остатки» отличается от «Обороты» на практике?

Регистр «Остатки» позволяет быстро получить значение на любую дату (сколько товара сейчас). Регистр «Обороты» хранит только суммы за период (сколько продано за месяц) и не может дать остаток без суммирования всех записей с начала учёта.

Что делает кнопка «Перепровести» с регистрами?

При перепроведении старые движения документа удаляются и создаются заново по текущим данным документа. Если в документе что-то изменили, регистры после перепроведения отразят новые значения, а отчёты пересчитаются.

Опасно ли проводить документы задним числом?

Само по себе — нет, но это вызывает пересчёт итогов с даты документа и может изменить остатки и отчёты последующих периодов. Перед такими операциями в рабочей базе стоит убедиться, что прошлые периоды закрыты датой запрета, а изменения согласованы с ответственными за учёт.

Нужно ли создавать отдельный регистр под каждый новый отчёт?

Нет. Сначала проверьте, нельзя ли получить данные из существующих регистров с помощью настройки отчёта или запроса. Новый регистр оправдан, только когда появляются данные, которые раньше нигде не накапливались.

Итог

Что важно запомнить

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