При настройке типовой синхронизации между конфигурациями 1С:Управление торговлей 11 (УТ) и 1С:Бухгалтерия предприятия 3.0 (БП) пользователи часто сталкиваются с ситуацией, когда каждый созданный в УТ Заказ клиента автоматически попадает в БП в виде документа Счет покупателю. Если в компании менеджеры в УТ создают и заказы, и счета отдельно, бухгалтерия в БП оказывается перегружена лишними документами, которые по факту являются лишь управленческими заказами.
В этой статье мы подробно разберем, как исключить Заказ клиента из обмена, проанализируем влияние этого действия на связанные документы и рассмотрим несколько способов реализации задачи: от простых настроек интерфейса до программной корректировки правил регистрации.
Прежде всего проанализируем версию вашей конфигурации. В актуальных релизах (начиная с ветки 11.4.13 и выше) разработчики фирмы «1С» добавили возможность гибкого управления выгрузкой заказов непосредственно в мастере настройки синхронизации.
Рассмотрим пошагово, где найти эту опцию:
Если после обновления конфигурации вы все еще не видите этой настройки, возможно, необходимо обновить сами правила обмена (если они используются в виде внешнего файла) или проверить, не перекрыты ли типовые настройки расширениями.
Если нам нужно не просто отключить все заказы, а сделать это избирательно или если первый способ недоступен, мы можем воспользоваться механизмом фильтрации регистрации объектов. Это позволит нам запретить документам Заказ клиента попадать в очередь на выгрузку.
Выполним следующие действия:
Заказ клиента.Дата меньше 01.01.1900), или просто указать конкретный статус заказа (например, выгружать только в статусе «Закрыт»).Этот метод хорош тем, что он не требует изменения программного кода и позволяет оперативно управлять потоком данных. Однако стоит помнить, что уже зарегистрированные к обмену заказы нужно будет удалить из очереди вручную один раз после настройки отбора. Для удобного управления процессом на уровне отдельных документов подойдёт расширение для выборочного переноса данных.
Для разработчиков, которым требуется гарантированное решение на уровне логики системы, рассмотрим вариант внесения изменений в программный код. В конфигурациях на базе Enterprise Data за регистрацию объектов отвечает общий модуль МенеджерРегистрации.
Проанализируем процедуру, отвечающую за обработку регистрации заказа. Нам необходимо найти место, где система принимает решение о включении документа в пакет обмена. Рассмотрим пример кода, который можно внедрить в процедуру ПРО_Документ_ЗаказКлиента_ПередОбработкой:
Процедура ПРО_Документ_ЗаказКлиента_ПередОбработкой(ПРО, Отказ, Объект, ОбъектМетаданных, Выгрузка) Экспорт
// Если мы хотим полностью запретить выгрузку заказов клиента
Отказ = Истина;
КонецПроцедуры
Важный нюанс: крайне не рекомендуется вносить изменения напрямую в типовой общий модуль, так как это усложнит дальнейшие обновления программы. Вместо этого следует использовать Расширение конфигурации. Создадим расширение, добавим в него процедуру с аннотацией &Вместо или &Перед и пропишем отказ от регистрации. Для этой задачи можно использовать готовое расширение для ограничения выгрузки документов.
Выясним причину опасений многих администраторов: не «развалится» ли обмен, если мы перестанем выгружать заказы, на основании которых созданы Реализация товаров и услуг или Приходный кассовый ордер?
Рассмотрим, как работает механизм Enterprise Data в 1С:
Реализация, в которой заполнен реквизит Заказ, система передает уникальный идентификатор (GUID) этого заказа.Счет покупателю создан не будет. Это позволяет сохранять аналитику, не захламляя журналы бухгалтерии.Иногда проблему можно решить и на стороне приемника (Бухгалтерии). Если счета на оплату в 1С:Бухгалтерии вообще не планируется использовать, проанализируем функциональность программы:
Счет покупателю станет недоступен в интерфейсе, и система обмена может игнорировать входящие данные по этому типу объектов (зависит от версии правил).Резюмируем: наиболее правильным и современным способом является обновление 1С:Управление торговлей до актуального релиза и использование штатной галочки в параметрах обмена. Если обновление невозможно — используйте механизм расширений для установки Отказ = Истина в модуле регистрации.