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