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