Как отключить выгрузку Заказов клиента из УТ 11 в БП 3.0, чтобы они не создавали лишние Счета на оплату

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

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

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

Способ 1: Использование типовой настройки в последних релизах УТ 11

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

Рассмотрим пошагово, где найти эту опцию:

  1. Перейдем в раздел НСИ и администрирование — Настройка синхронизации данных.
  2. Откроем список Настройки синхронизации данных и выберем нужный обмен с БП.
  3. Нажмем кнопку Настроить и перейдем на вкладку Параметры выгрузки данных.
  4. Найдем раздел дополнительных параметров. В современных версиях там присутствует флаг Выгружать заказы клиентов как счета на оплату. Если мы снимем этот флаг, система перестанет трансформировать заказы в счета при обмене.

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

Способ 2: Настройка фильтров в «Составе отправляемых данных»

Если нам нужно не просто отключить все заказы, а сделать это избирательно или если первый способ недоступен, мы можем воспользоваться механизмом фильтрации регистрации объектов. Это позволит нам запретить документам Заказ клиента попадать в очередь на выгрузку.

Выполним следующие действия:

  1. В окне Синхронизация данных нажмем на кнопку Состав отправляемых данных (иконка с синим монитором).
  2. В открывшемся списке найдем объект Заказ клиента.
  3. Нажмем кнопку Установить отбор.
  4. Здесь мы можем добавить условие, которое никогда не будет выполнено (например, Дата меньше 01.01.1900), или просто указать конкретный статус заказа (например, выгружать только в статусе «Закрыт»).

Этот метод хорош тем, что он не требует изменения программного кода и позволяет оперативно управлять потоком данных. Однако стоит помнить, что уже зарегистрированные к обмену заказы нужно будет удалить из очереди вручную один раз после настройки отбора. Для удобного управления процессом на уровне отдельных документов подойдёт расширение для выборочного переноса данных.

Способ 3: Программное ограничение через модуль «МенеджерРегистрации»

Для разработчиков, которым требуется гарантированное решение на уровне логики системы, рассмотрим вариант внесения изменений в программный код. В конфигурациях на базе Enterprise Data за регистрацию объектов отвечает общий модуль МенеджерРегистрации.

Проанализируем процедуру, отвечающую за обработку регистрации заказа. Нам необходимо найти место, где система принимает решение о включении документа в пакет обмена. Рассмотрим пример кода, который можно внедрить в процедуру ПРО_Документ_ЗаказКлиента_ПередОбработкой:


Процедура ПРО_Документ_ЗаказКлиента_ПередОбработкой(ПРО, Отказ, Объект, ОбъектМетаданных, Выгрузка) Экспорт
    // Если мы хотим полностью запретить выгрузку заказов клиента
    Отказ = Истина;
КонецПроцедуры

Важный нюанс: крайне не рекомендуется вносить изменения напрямую в типовой общий модуль, так как это усложнит дальнейшие обновления программы. Вместо этого следует использовать Расширение конфигурации. Создадим расширение, добавим в него процедуру с аннотацией &Вместо или &Перед и пропишем отказ от регистрации. Для этой задачи можно использовать готовое расширение для ограничения выгрузки документов.

Анализ последствий: битые ссылки и связанные документы

Выясним причину опасений многих администраторов: не «развалится» ли обмен, если мы перестанем выгружать заказы, на основании которых созданы Реализация товаров и услуг или Приходный кассовый ордер?

Рассмотрим, как работает механизм Enterprise Data в 1С:

Дополнительные рекомендации по настройке БП 3.0

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

  1. Зайдем в меню Главное — Настройки — Функциональность.
  2. На закладке Продажи найдем флаг Счета покупателям.
  3. Если его снять, документ Счет покупателю станет недоступен в интерфейсе, и система обмена может игнорировать входящие данные по этому типу объектов (зависит от версии правил).

Резюмируем: наиболее правильным и современным способом является обновление 1С:Управление торговлей до актуального релиза и использование штатной галочки в параметрах обмена. Если обновление невозможно — используйте механизм расширений для установки Отказ = Истина в модуле регистрации.

← На главную