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