Как программно установить ручную корректировку проводок для РКО в 1С:ERP 2.0?

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

При переносе данных из внешних источников, например из Excel, разработчики часто сталкиваются с задачей автоматизации создания бухгалтерских движений. Одной из частых проблем в 1С:ERP 2.0 является вопрос: как программно включить режим «Ручная корректировка проводок» для документа Расходный кассовый ордер? Давайте разберем, почему стандартные методы из 1С:Бухгалтерии предприятия здесь не работают и как правильно решить эту задачу.

Понимаем архитектурные различия систем

Первое, что необходимо осознать — 1С:ERP 2.0 кардинально отличается от 1С:БП по принципам организации учета. В 1С:Бухгалтерии документ и его проводки — это часто единое целое. В 1С:ERP реализовано четкое разделение на оперативный контур и регламентированный учет. Документ Расходный кассовый ордер отвечает исключительно за движение денежных средств в оперативном учете.

Проводки по регламентированному учету формируются в ERP с помощью подсистемы «Отражение документов в регламентированном учете». Именно поэтому вы не найдете реквизит РучнаяКорректировка непосредственно в метаданных документа РКО. Его там физически не существует, так как логика формирования проводок вынесена за пределы самого документа.

Решение 1: Использование документа «Операция (регламентированный учет)»

Это самый идеологически верный способ в 1С:ERP. Если типовой механизм формирования проводок для РКО не подходит или требует специфической ручной правки, мы не пытаемся «сломать» сам документ, а создаем дополняющий документ Операция (регламентированный учет).

Алгоритм действий:

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

В документе Операция вы можете вручную задать любые счета учета, субконто и суммы, что полностью закрывает потребность в «ручной корректировке» без изменения типовой логики работы РКО.

Решение 2: Работа с регистром бухгалтерии

Если ваша задача требует прямого вмешательства в движения документа РКО, необходимо работать с РегистромБухгалтерии.Хозрасчетный. Однако будьте осторожны: если вы просто запишете данные, при следующем перепроведении документа фоновое задание или пользовательское действие может затереть ваши изменения.

Чтобы зафиксировать изменения, необходимо программно установить признак ручной корректировки в записях регистра. Для этого разберем пример работы с набором записей:


// Пример программного доступа к движениям документа
НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(СсылкаНаРКО);
НаборЗаписей.Прочитать();

// Установка признака ручной корректировки
Для каждого Запись Из НаборЗаписей Цикл
    Запись.РучнаяКорректировка = Истина;
КонецЦикла;

НаборЗаписей.ОбменДанными.Загрузка = Истина;
НаборЗаписей.Записать();

Важно помнить, что перед выполнением этого кода необходимо убедиться, что в настройках системы включена функциональная опция «Ручное изменение проводок документов» в разделе НСИ и администрирование -> Регламентированный учет. Без этой настройки система может игнорировать попытки ручной правки движений.

Как исследовать работу механизмов самостоятельно

Если вы хотите глубже понять, как именно система управляет статусом корректировки, рекомендуем использовать Замер производительности или Журнал регистрации в процессе работы пользователя:

  1. Включите запись действий в журнале регистрации или запустите замер.
  2. В пользовательском режиме откройте проводки документа РКО.
  3. Установите галочку «Ручная корректировка» и сохраните результат.
  4. Проанализируйте, какие именно объекты (регистры сведений или записи регистра бухгалтерии) изменились в процессе.

Чаще всего в ERP 2.0 статус ручной корректировки хранится не только в самом регистре бухгалтерии, но и в служебных регистрах сведений, определяющих параметры отражения документа в регламентированном учете. Поиск через Конфигуратор по метаданным позволит вам найти регистры, имеющие реквизит РучнаяКорректировка, и понять, какие именно сущности влияют на запрет автоматического перепроведения.

Применяя эти методы, вы сможете корректно автоматизировать создание документов, не нарушая целостность конфигурации 1С:ERP и обеспечивая корректность бухгалтерских данных.

← На главную