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