При настройке стандартной синхронизации между конфигурациями 1С:Бухгалтерия предприятия 3.0 (БП) и 1С:Управление торговлей 11.4 (УТ) пользователи часто сталкиваются с ситуацией, когда справочники переносятся без проблем, а конкретные документы, такие как Счет на оплату покупателю, наотрез отказываются выгружаться. При этом система позволяет регистрировать их к обмену вручную, но в отчете о составе отправляемых данных в колонке "Будет отправлено" стоит прочерк. Разберем подробно, почему так происходит и как решить эту задачу.
Первое, что нам необходимо понять: типовая синхронизация между БП и УТ построена на определенных методологических принципах фирмы «1С». Основная идея заключается в том, что Управление торговлей является оперативной базой, где зарождаются заказы, счета и торговые операции. Бухгалтерия предприятия же выступает в роли приемника для отражения этих операций в регламентированном учете.
В стандартном комплекте правил обмена для документа Счет на оплату покупателю жестко задано направление: только из УТ в БП. Проанализируем ситуацию: если мы создаем счет в БП, система обмена «видит» его наличие и позволяет зарегистрировать объект в таблице изменений (так как механизм регистрации универсален для всех метаданных), но на этапе непосредственной выгрузки срабатывают Правила Конвертации Объектов (ПКО). Если в этих правилах отсутствует алгоритм выгрузки для данного направления, программа просто игнорирует объект, оставляя прочерк в колонке отправки.
Рассмотрим механизм регистрации изменений подробнее. Когда мы заходим в форму Регистрация изменений для обмена, мы работаем с планом обмена. План обмена «знает», какие типы данных в принципе могут участвовать в обмене. Однако окончательное решение о том, попадет ли объект в файл выгрузки, принимают Правила конвертации (встроенные в конфигурацию или загруженные извне).
Выясним, почему в отчете отображается «выбрано 192», а «будет отправлено 0»:
ДокументСсылка.СчетНаОплатуПокупателю.Отказ = Истина в обработчике ПередВыгрузкой.Даже если бы мы решили доработать правила, нам нужно убедиться, что целевая база готова принять эти данные. Проанализируем настройки в 1С:Управление торговлей. Часто счета в УТ не являются самостоятельными объектами в том же смысле, что и в БП. В УТ за продажи отвечают Заказы клиентов, а Счет на оплату может быть лишь печатной формой или подчиненным документом.
Посмотрим на функциональные опции. Перейдем в раздел НСИ и администрирование — Настройка НСИ и разделов — Продажи. Проверим, установлена ли галочка Счета на оплату. Если эта опция выключена, база-приемник просто не сможет корректно обработать входящие данные, даже если они будут переданы.
Если нам всё же крайне необходимо перенести счета из БП в УТ, существует несколько путей решения задачи.
Если задача разовая, не стоит ломать типовую синхронизацию. Рациональнее использовать обработку Универсальный обмен данными в формате XML. Для этого нам потребуется:
Документ.СчетНаОплатуПокупателю (БП) и Документ.СчетНаОплатуКлиенту (УТ).Если счета должны мигрировать постоянно, придется вносить изменения в правила обмена. Рассмотрим последовательность действий:
Соглашение или Склад, которых нет в БП).Параметры синхронизации данных.Посмотрим на современные возможности обмена. В новых версиях 1С используется формат EnterpriseData. Попробуем выполнить синхронизацию через выгрузку в файл:
МенеджерОбменаЧерезУниверсальныйФормат.Подводя итог, можно сказать: отсутствие выгрузки счетов из БП в УТ — это не ошибка программы, а реализация заложенной методологии. 1С предполагает, что первичка идет из торговли в бухгалтерию, а не наоборот.
Если вы столкнулись с прочерком в графе «Будет отправлено», это главный индикатор того, что правила конвертации блокируют выгрузку. Для разового переноса рекомендуем использовать внешние обработки, а для постоянного — услуги программиста по модификации правил обмена, так как потребуется сопоставление специфических полей УТ (таких как статусы, графики оплаты и склады), которых в простой структуре БП просто не существует.