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

Справочники и Данные · 10 мин

Как заполнить регистр сведений в 1С

Как заполнить регистр сведений в 1С: ручной ввод, заполнение документом, загрузка из Excel и программное заполнение. Проверка результата и типичные ошибки.

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

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

Ниже разобраны все рабочие сценарии заполнения с точными действиями, проверкой результата и типичными ошибками, которые приводят к дублям и потере данных.

Как определить, каким способом заполняется ваш регистр

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

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

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

Ручное заполнение независимого регистра

Откройте регистр в режиме 1С:Предприятие через «Все функции» (команда доступна при включённом режиме технического специалиста) или через штатный пункт меню, если регистр выведен в интерфейс. Нажмите «Создать», заполните измерения и ресурсы, затем нажмите «Записать и закрыть».

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

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

Ручное создание записи
  1. 1
    Откройте регистр: Все функции → Регистры сведений → нужный регистр
  2. 2
    Нажмите «Создать»
  3. 3
    Заполните измерения (ключевые поля) и ресурсы (значения)
  4. 4
    Для периодического регистра укажите дату в поле «Период»
  5. 5
    Нажмите «Записать и закрыть» и проверьте появление записи в списке

Заполнение регистра документом-регистратором

Если регистр подчинён регистратору, записи появляются при проведении документа, в движениях которого этот регистр указан. Типичный пример — регистр «Цены номенклатуры», который заполняется документом «Установка цен номенклатуры» в типовых конфигурациях.

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

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

Загрузка данных из Excel или табличного документа

Для массового заполнения независимых регистров удобна типовая обработка «Загрузка данных из табличного документа» (есть во многих конфигурациях на БСП, а также доступна на диске ИТС). Она позволяет сопоставить колонки файла с измерениями и ресурсами регистра и загрузить сотни записей за один раз.

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

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

Программное заполнение через встроенный язык

Для разовых массовых операций и интеграций записи создаются кодом. Для независимого регистра используется менеджер записи или набор записей. Типовой фрагмент для добавления одной записи:

bsl
МенеджерЗаписи = РегистрыСведений.ЦеныНоменклатуры.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Период = ТекущаяДатаСеанса();
МенеджерЗаписи.Номенклатура = НоменклатураСсылка;
МенеджерЗаписи.ВидЦены = ВидЦеныСсылка;
МенеджерЗаписи.Цена = 1500;
МенеджерЗаписи.Записать();

Для массовой записи эффективнее набор записей с отбором: заполняете таблицу набора и записываете одним вызовом, что существенно быстрее построчной записи. При этом метод Записать() набора с установленным отбором по умолчанию замещает существующие записи в этом отборе — учитывайте это, чтобы не стереть чужие данные.

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

bsl
НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Период.Установить(ДатаКурса);
НаборЗаписей.Отбор.Валюта.Установить(ВалютаСсылка);
НоваяЗапись = НаборЗаписей.Добавить();
НоваяЗапись.Период = ДатаКурса;
НоваяЗапись.Валюта = ВалютаСсылка;
НоваяЗапись.Курс = 90.5;
НаборЗаписей.Записать();

Проверка результата после заполнения

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

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

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

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

Количество записей в списке регистра
Норма

Совпадает с количеством загруженных строк

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

Записей меньше — часть строк не загрузилась из-за ошибок поиска ссылок

Ссылочные измерения
Норма

Поля заполнены, по клику открывается элемент

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

Пустые значения или «Объект не найден»

Чтение на дату (периодический регистр)
Норма

Срез последних возвращает ожидаемое значение

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

Возвращается старое значение — неверный период у загруженных записей

Типичные ошибки и ограничения

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

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

Типичные ошибки
01
Запись набора с отбором без понимания замещения — существующие записи в отборе стираются
02
Загрузка в периодический регистр без колонки периода — значения попадают не на ту дату
03
Поиск ссылок по наименованию — дубли справочников и пустые ссылки из-за расхождений в написании
04
Прямая правка записей подчинённого регистра — рассинхронизация с документом-регистратором
05
Отсутствие резервной копии перед массовой загрузкой — откатить ошибку нечем

FAQ

Почему в регистре сведений нет кнопки «Создать»?

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

Как изменить существующую запись регистра?

В независимом регистре откройте запись из списка двойным щелчком, измените ресурсы и запишите. Изменить значения измерений у существующей записи нельзя — измерения образуют ключ, поэтому старую запись удаляют и создают новую.

Чем отличается периодический регистр от непериодического при заполнении?

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

Можно ли заполнить регистр сведений из внешней обработки?

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

Что делать, если после загрузки появились дубли значений?

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

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

Создайте набор записей без отбора и вызовите Записать() — пустой набор очистит регистр. Для подчинённого регистратора так делать нельзя: удаляйте или распроводите документы-регистраторы. Перед очисткой обязательно сделайте резервную копию.

Итог

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

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