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