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