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