Почему заказы клиента из УТ 11 не переносятся в Счет на оплату покупателю в БП 3.0

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

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

Понимание механизма регистрации объектов

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

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

Проверка настроек в интерфейсе программы

Прежде чем приступать к изменению программного кода или XML-правил, проанализируем настройки самой синхронизации в интерфейсе 1С:Управление торговлей 11. Выполним следующие действия:

  1. Перейдем в раздел НСИ и администрирование — Синхронизация данных.
  2. Откроем Настройки синхронизации данных и выберем нужный узел обмена с Бухгалтерией.
  3. Нажмем кнопку Состав отправляемых данных. Если в этом списке вы пытаетесь добавить документ вручную, и программа выдает ошибку или объект сразу исчезает из списка, значит, срабатывают жесткие фильтры ПРО.
  4. Проверим кнопку Параметры обмена (или Настроить правила отправки). В типовых конфигурациях УТ 11 есть важная опция: "Вариант переноса заказов клиентов".

Если в настройках выбрано значение Не переносить, то любые попытки зарегистрировать Заказ клиента будут блокироваться механизмом обмена автоматически. Убедимся, что выбрано значение Переносить как счета на оплату или Переносить как заказы и счета.

Анализ фильтров по статусам и хозяйственным операциям

Выясним причину блокировки внутри самих правил регистрации. В типовых решениях 1С часто заложена логика, исключающая "черновики" из обмена. Разберем, какие условия чаще всего прописываются в обработчиках ПРО для документа Заказ клиента:

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

Техническая правка правил регистрации (ПРО)

Если настройки интерфейса верны, но регистрация все равно не происходит, необходимо проверить код в конфигурации Конвертация данных 2.0 или непосредственно в XML-файле правил регистрации. Посмотрим на пример типичного кода в обработчике ПередОбработкой для объекта ЗаказКлиента:


// Пример кода в правилах регистрации
Если Объект.Статус = Перечисления.СтатусыЗаказовКлиентов.НеСогласован Тогда
    Отказ = Истина;
КонецЕсли;

Если Не Объект.Проведен Тогда
    Отказ = Истина;
КонецЕсли;

Чтобы разрешить выгрузку всех заказов, включая черновики, необходимо найти это правило в КД 2.0, отредактировать обработчик и обновить правила в узле обмена 1С. Рассмотрим шаги по изменению правил:

  1. Выгружаем текущие правила регистрации из узла обмена (кнопка Параметры обмена — Загрузить/Сохранить правила).
  2. Загружаем их в конфигурацию Конвертация данных 2.0.
  3. Находим объект ЗаказКлиента в списке правил регистрации.
  4. Проверяем вкладку Обработчики событий, особенно событие Перед обработкой.
  5. Комментируем или удаляем условия, ограничивающие регистрацию по статусу или организации.
  6. Сохраняем правила, выгружаем их в XML и загружаем обратно в 1С.

Использование сторонних инструментов для диагностики

Если типовая обработка регистрации изменений не дает результата, проанализируем ситуацию с помощью внешней обработки "Регистрация объектов для обмена" (она входит в состав инструментов разработчика). В отличие от штатного функционала, она позволяет:

Если после принудительной регистрации документ успешно уходит в Бухгалтерию и превращается в Счет на оплату, это на 100% подтверждает, что проблема была именно в фильтрах ПРО.

Особенности версий УТ 11.1 и БП 3.0

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

Резюмируем: если заказы из УТ 11 не попадают в БП 3.0, сначала проверяем Вариант переноса в настройках узла обмена, затем убеждаемся, что заказы переведены в статус К выполнению, и только после этого приступаем к редактированию правил регистрации (ПРО) через Конвертацию данных.

← На главную