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