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