Как изменить реквизит «Бухгалтерская операция» в БГУ 2.0 через групповое изменение реквизитов?

Бухгалтер 1С v8.3 (Управляемые формы) Бухгалтерский учет Сфера услуг, туризм и социальный сектор
← На главную

В процессе работы с программой «1С:Бухгалтерия государственного учреждения 2.0» (БГУ) часто возникает необходимость массово изменить данные в документах, например, в «Заявках на кассовый расход». Одной из самых сложных задач является изменение реквизита Бухгалтерская операция. Сложность заключается в том, что этот реквизит часто скрыт в стандартном списке доступных полей групповой обработки, а его простое изменение может потребовать дополнительной логики заполнения параметров. Разберем пошагово, как решить эту задачу, даже если база находится в облаке и доступ к Конфигуратору ограничен.

Настройка интерфейса обработки для доступа к скрытым полям

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

  1. В окне обработки нажмем кнопку Дополнительные параметры (в некоторых версиях это иконка шестеренки).
  2. В открывшемся меню установим флаг Показывать служебные реквизиты. Это позволит нам увидеть технические поля документов.
  3. Установим флаг Режим разработчика. Именно эта настройка открывает в интерфейсе вкладку «Произвольный алгоритм», где можно будет написать код на языке 1С.

После включения этих опций в списке доступных реквизитов для изменения появится поле ТиповаяОперация. В метаданных БГУ 2.0 реквизит, который в интерфейсе называется «Бухгалтерская операция», технически именуется именно так.

Определение технического имени и поиск значения

Проанализируем ситуацию: бухгалтерская операция — это ссылочный тип данных. Мы не можем просто вписать туда текст. Программе нужно передать конкретную ссылку на элемент справочника ТиповыеОперации. Рассмотрим пример, когда нам нужно установить операцию с названием «Оплата поставщикам и другие платежи (206.00, 302.00)».

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

Применение произвольного алгоритма

Перейдем на вкладку Произвольный алгоритм. Здесь мы можем написать код, который будет выполнен для каждого выбранного объекта. В контексте этой обработки текущий документ доступен через переменную Объект.

Выясним, как правильно составить алгоритм. Нам нужно найти ссылку на операцию и присвоить её реквизиту документа. Рассмотрим пример кода:


// Находим нужную операцию в справочнике по её точному наименованию
НужнаяОперация = Справочники.ТиповыеОперации.НайтиПоНаименованию("Оплата поставщикам и другие платежи (206.00, 302.00)");

// Проверяем, найдена ли операция, чтобы не записать пустое значение
Если Не НужнаяОперация.Пустая() Тогда
    Объект.ТиповаяОперация = НужнаяОперация;
КонецЕсли;

Обратите внимание: метод Объект.Записать() в тексте алгоритма вызывать не обязательно, если на основной вкладке обработки установлен флаг «Записывать объекты». Обработка сама выполнит запись после выполнения вашего кода.

Особенности работы с дополнительными реквизитами операции

Проанализируем важный технический нюанс БГУ 2.0. Бухгалтерская операция в этой конфигурации — это не просто ссылка. К ней часто привязаны дополнительные параметры (КБК, счета, виды налогов), которые хранятся в отдельной табличной части документа. Если мы просто заменим ссылку на операцию через Объект.ТиповаяОперация = ..., параметры старой операции могут остаться в документе, или новые параметры не заполнятся автоматически.

В идеале после смены операции требуется вызов экспортных процедур из модуля объекта для перезаполнения параметров, но в режиме группового изменения в облаке это может быть затруднительно. Поэтому после выполнения алгоритма обязательно выполните следующие действия:

  1. Выделите измененные документы в списке и попробуйте их провести массово.
  2. Если документы не проводятся, откройте один из них и проверьте вкладку «Бухгалтерская операция». Скорее всего, потребуется нажать кнопку выбора операции заново или дозаполнить аналитику, которая специфична для новой операции.

Ограничения облачных версий

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

Если же доступ есть, будьте предельно осторожны. Перед запуском алгоритма на большом массиве документов обязательно проверьте его работу на одной тестовой записи, указав её в отборе.

← На главную