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

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

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

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

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

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

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

Определите тип регистра перед изменением

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

Второй параметр — периодичность. В периодическом регистре каждая запись привязана к дате, и одна и та же комбинация измерений может существовать на разные даты. Изменяя «текущее» значение, убедитесь, что правите запись с нужным периодом, а не создаёте новую.

Маршрут решения

Как выбрать способ изменения

Регистр независимый и нужно поправить одну-две записиОткройте форму списка регистра и отредактируйте вручную
Регистр подчинён регистраторуИсправляйте данные через документ-регистратор, а не напрямую
Нужно массово изменить сотни записейИспользуйте групповую обработку или программный код с транзакцией
Нет прав на прямое редактированиеЗапросите права у администратора или используйте предусмотренную конфигурацией форму ввода

Изменение записи через форму списка

Самый простой путь — найти регистр через стандартный интерфейс. В типовых конфигурациях регистры сведений доступны из разделов «НСИ и администрирование», «Настройки» или через полнотекстовый поиск по названию. Если регистр не виден в меню, откройте его через «Все функции» (в файловом режиме) или «Функции для технического специалиста» → «Регистры сведений».

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

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

Массовое изменение записей

Когда записей много, ручная правка не подходит. В типовых конфигурациях на управляемых формах есть обработка «Групповое изменение реквизитов», но она работает с объектами со ссылкой и напрямую к регистрам сведений обычно не применима. Для регистров используют либо специализированные обработки конфигурации (например, загрузку цен из Excel), либо универсальные инструменты разработчика, либо собственный код.

Безопасный подход для массовой правки: сначала выгрузить текущие записи (через «Вывести список» в табличный документ или запрос), подготовить новые значения, выполнить изменение в тестовой копии базы и только потом повторить в рабочей. Это особенно важно для регистров, влияющих на проведение документов и расчёт себестоимости.

Программное изменение записи

Для независимого регистра сведений запись меняется через объект «МенеджерЗаписи» (одна запись) или «НаборЗаписей» с отбором (несколько записей). Менеджер записи удобен, когда известен точный ключ: задаёте значения измерений и периода, читаете запись, меняете ресурсы, записываете.

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

Менеджер.Номенклатура = НоменклатураСсылка;

Менеджер.ТипЦен = ТипЦенСсылка;

Менеджер.Период = ДатаИзменения;

Менеджер.Прочитать();

Если Менеджер.Выбран() Тогда

Менеджер.Цена = НоваяЦена;

Менеджер.Записать();

КонецЕсли;

Для массовых операций используйте набор записей с отбором по измерениям: установите отбор, прочитайте набор, измените строки в цикле и вызовите метод «Записать». При больших объёмах оборачивайте операцию в транзакцию (НачатьТранзакцию / ЗафиксироватьТранзакцию), чтобы при ошибке не осталось частично изменённых данных.

Особенности периодических и подчинённых регистров

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

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

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

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

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

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

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

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

Целевая запись в списке регистра
Норма

Ресурсы содержат новые значения, запись одна

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

Значения старые или появилась вторая строка с теми же измерениями

Срез последних (для периодического регистра)
Норма

На актуальную дату возвращается новое значение

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

Срез показывает старое значение — запись создана не с тем периодом

Связанные документы и отчёты
Норма

Новые документы подхватывают изменённые данные

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

Формы показывают прежние значения — возможно, данные кэшируются или читаются из другого регистра

Частые вопросы

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

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

Почему после моего изменения данные снова стали старыми?

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

Можно ли изменить записи регистра сведений через «Групповое изменение реквизитов»?

Стандартная обработка группового изменения работает со ссылочными объектами (справочники, документы) и не применяется к регистрам сведений. Используйте специализированные обработки конфигурации или программный код.

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

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

Как отменить ошибочное изменение записи?

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

Влияет ли изменение регистра сведений на обмен данными?

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

Итог

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

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