Как удобно изменять реквизиты документов и справочников в 1С без написания кода

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Каждый разработчик и администратор 1С регулярно сталкивается с необходимостью массового или точечного изменения реквизитов в справочниках или документах. Писать для каждой такой задачи одноразовый код в консоли запросов через ПолучитьОбъект() и Записать() быстро надоедает. Более того, ручное написание кода повышает риск совершить ошибку, забыть заблокировать объект или случайно запустить тяжелые обработчики проведения, что может нарушить согласованность данных в рабочей базе.

В этой статье мы подробно разберем, какие встроенные и сторонние инструменты существуют в экосистеме 1С для решения этой задачи. Мы проанализируем как простые пользовательские методы, так и мощные инструменты для профессиональных разработчиков.

Решение 1. Встроенная функция «Изменить выделенные» (БСП)

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

Рассмотрим, как воспользоваться этим функционалом по шагам:

  1. Откроем список нужных документов или справочников (например, «Реализация товаров и услуг»).
  2. Выделим строки, которые необходимо скорректировать. Для этого зажмем клавишу Ctrl (для выбора конкретных элементов) или Shift (для выделения диапазона строк).
  3. Нажмем правую кнопку мыши или зайдем в меню «Еще» и выберем команду «Изменить выделенные...».
  4. В открывшемся окне перед нами появится список всех доступных для изменения реквизитов. Нам достаточно установить флаг напротив нужного поля, указать новое значение и нажать кнопку «Изменить».

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

Решение 2. Стандартная обработка «Групповое изменение реквизитов»

Если объектов слишком много или их нужно предварительно отобрать по сложным критериям, стандартный список не подойдет. В этом случае мы используем типовую обработку БСП «Групповое изменение реквизитов».

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

Проанализируем дополнительные параметры этой обработки, которые активируются по ссылке «Дополнительные параметры» внизу формы:

Пример того, как платформа обрабатывает свойство ОбменДанными.Загрузка в модуле объекта:


Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    
    // Если включен режим загрузки, пропускаем проверки и бизнес-логику
    Если ОбменДанными.Загрузка Тогда
        Возврат;
    КонецЕсли;
    
    // Здесь располагаются тяжелые проверки и проведение по регистрам
    ПроверитьЗаполнениеОбязательныхРеквизитов();
    
КонецПроцедуры

Решение 3. Специализированные внешние обработки («Комбайны» с Инфостарта)

Когда возможностей стандартной БСП-обработки не хватает (например, нужно наглядно видеть таблицу изменяемых объектов и текущие значения их реквизитов перед записью), разработчики прибегают к внешним решениям. Одним из самых популярных «комбайнов» является универсальная обработка редактирования реквизитов объектов, доступная на профильных порталах (включая Инфостарт).

Преимущества таких обработок:

Решение 4. Портативные «Инструменты разработчика» (tormozit)

Для профессиональных внедренцев и ведущих разработчиков стандартом де-факто является пакет «Инструменты разработчика» (ИР). Это мощнейший комплекс, содержащий в себе десятки утилит для низкоуровневого анализа и модификации данных 1С.

В контексте изменения реквизитов инструмент предоставляет уникальные возможности:

Решение 5. Универсальные подбор и обработка объектов

Это классический инструмент, поставляемый фирмой 1С на дисках ИТС. Несмотря на то, что изначально обработка создавалась под обычные формы, сейчас существуют ее адаптации для управляемого приложения.

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

Разберем пример такого алгоритма:


// Этот код выполняется в контексте каждого обрабатываемого объекта
Если НЕ ЗначениеЗаполнено(Объект.ДоговорКонтрагента) Тогда
    // Ищем подходящий договор
    НайденныйДоговор = Справочники.ДоговорыКонтрагентов.НайтиПоРеквизиту("ВидДоговора", Перечисления.ВидыДоговоровКонтрагентов.СПокупателем, , Объект.Контрагент);
    Если ЗначениеЗаполнено(НайденныйДоговор) Тогда
        Объект.ДоговорКонтрагента = НайденныйДоговор;
        // Записываем объект без проведения
        Объект.Записать(РежимЗаписиДокумента.Запись);
    КонецЕсли;
КонецЕсли;

Решение 6. Современный «Редактор объектов» и ИИ-ассистенты

Развитие open-source решений для 1С привело к появлению современных легковесных редакторов объектов. Они позволяют разработчику быстро находить таблицы по их физическим именам в СУБД или синонимам метаданных и редактировать скрытые свойства, недоступные в стандартных интерфейсах.

Также набирает популярность тренд на интеграцию искусственного интеллекта. Новейшие разработки позволяют формулировать задачу на естественном языке. Например, вы можете написать текстовый запрос: «Замени склад на "Центральный" во всех документах поступления за прошлую неделю, где поставщиком является ООО "Вектор"». Система самостоятельно распознает сущности метаданных, наложит отборы и подготовит транзакцию для изменения реквизитов.

Выбор конкретного инструмента зависит от сложности вашей задачи: для простых пользовательских правок используйте встроенную команду Изменить выделенные, для административных задач средней сложности — стандартную обработку БСП с включенным режимом разработчика, а для комплексной отладки и восстановления учета — «Инструменты разработчика» или обработку «Универсальные подбор и обработка объектов».

← На главную