Проблема с обменом между УТ11 и БП3 (Версия формата?)

1. LosevI 31.03.21 17:09 Сейчас в теме
Здравствуйте. Имеются две программы:
Отраслевая на основе УТ11. Один из последних релизов. Отраслевой функционал - крайне маловероятно причина проблемы.
Бухгалтерия 3.0 в сервисе 1С fresh.

Между ними настроен типовой обмен в одну сторону из УТ в БП. И даже работал, когда то, потом сломался. Когда сломался - точно сказать не могут, пользуются раз в год.
Информация к регистрации попадает. Или можно зарегистрировать вручную. Но выгрузка всегда пустая. Еще на стороне УТ пишет - выгружено объектов 0. В журнале регистрации ошибки или предупреждения отсутствуют. В этом и заключается проблема.
Так как от отраслевой поддержки невозможно дождаться помощи, стал смотреть код сам. Раскрутил модуля обмена через универсальный формат. И даже информация то в массив обработанной попадает внутри. Счетчик в какой то момент не нулевой. Но XML файл выгрузки (смотрел содержимое временного) действительно пустой. Истинную причину проблемы не установил, но меня, как вариант, заинтересовали версии формата.

Внутри "пустого" временного XML я нашел такие вот блоки, например:
<msg:ObjectType>
<msg:Name>Документ.ЗаказПоставщику</msg:Name>
<msg:Sending>1.3,1.4,1.5,1.6,1.7</msg:Sending>
<msg:Receiving>1.3,1.4,1.5,1.6,1.7</msg:Receiving>
</msg:ObjectType>

Из которых у меня возникло предположение, что версия формата самого обмена должна быть 1.7 или ниже, возможно, в этом причина пустоты выгрузки? Окей, поставили и в БП и в УТ в настройках обмена версии формата 1.7. Но это не помогло, и вот почему - версия сама после обмена переустанавливается на 1.8. Разобрался почему со стороны УТ - сначала данные получаются из БП, смотрится в принятом файле версия XMLСхемы, которая почему-то уже приходит 1.8, из нее берется версия формата, перезаписывается узел обмена в УТ, и дальше пошло поехало все уже опять с 1.8. БП, так как она находится в сервисе, со стороны кода не посмотреть.

Вопросы: кто-то сталкивался с чем то подобным при типовом обмене? Причина в версии формата или не обязательно? Что означают вот эти наборы форматов внутри XML файлов, и почему нигде там нет 1.8+, а XMLСхема встает именно такая? Причем, на наши настройки программе (БП) все равно...
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
5. LosevI 02.04.21 07:43 Сейчас в теме
Сначала в другой типовой УТ убедился, что в регистр "Настройки обмена данными XDTO" пишутся настройки и для 1.8, а у нас нет.

И то, что выгрузка пустая из-за формата тоже убедились - выгрузили БП в локальную базу и смогли в момент первого обмена поставить 1.7 в обоих базах, выгрузка была не пустая.

После дальнейшей отладки и тестирования истинную причину найти удалось. В одном из подключенных расширенией "витрина mag1c" существовал обработчик, удаляющий из таблицы значений объектов строчки формата 1.8 и 1.9, в момент, можно сказать, создания настройки обмена.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. MaxS 2947 31.03.21 19:33 Сейчас в теме +0.35 $m
(1) То, что Вы смотрите хранится в "Настройки обмена данными XDTO (Регистры сведений)".
После обмена в обе стороны эта служебная информация должна обновиться автоматически.
Можно ещё попробовать удалить запись регистра и попробовать зарегистрировать к обмену документ.
В какой-то отраслевой я видел код, который зачем-то отменяет регистрацию для формата 1.8. Закомментировал, заработало. Поищите по всей конфигурации "1.8". В какой-то подписке на событие это было.
4. LosevI 01.04.21 04:12 Сейчас в теме
(2),
(3)

Спасибо за ответы, буду сегодня продолжать копать в сторону версии формата. Сравнили регистр "Настройки обмена данными XDTO (Регистры сведений)" с таким же в другой типовой торговле - действительно, в той другой версия 1.8 доступна для всех документов, а в проблемной такой настройки для 1.8 почему то нет. Вот и обнаруживаются уже отличия от типовой торговли, продолжаюдумать что проблема в этом. Буду искать, почему настройка 1.8 туда не проставляется.

Обмен пересоздадим, и еще локально базу с fresh выгрузим чтобы проще было проверять.
2. bmk74 240 31.03.21 18:22 Сейчас в теме +0.15 $m
Ну вообще формат обмена в данном файле заполняется обработкой выгрузки, и тут должно проставляться все версии которые есть в "наличии" в конфигурации и как правило прописываются вручную
В менеджере плана обмена есть Процедура
ДоступныеВерсииФорматаОбмена(ВерсииФормата)

Через нее как раз и получают первичные данные при обмене(когда настраивается обмен), а уже после настройки они в регистре сведений сохраняются
кстати посмотрите есть ли у вас XDTO пакет EnterpriseData_1_8_20_там что то еще может быть. Если такой пакет есть то дело явно не в версии формата обмена.
Я бы на самом деле посоветовал удалить этот узел обмена и заново настроить...там не так долго это, если обмен стандартный
5. LosevI 02.04.21 07:43 Сейчас в теме
Сначала в другой типовой УТ убедился, что в регистр "Настройки обмена данными XDTO" пишутся настройки и для 1.8, а у нас нет.

И то, что выгрузка пустая из-за формата тоже убедились - выгрузили БП в локальную базу и смогли в момент первого обмена поставить 1.7 в обоих базах, выгрузка была не пустая.

После дальнейшей отладки и тестирования истинную причину найти удалось. В одном из подключенных расширенией "витрина mag1c" существовал обработчик, удаляющий из таблицы значений объектов строчки формата 1.8 и 1.9, в момент, можно сказать, создания настройки обмена.
6. MaxS 2947 02.04.21 11:59 Сейчас в теме
(5)
В одном из подключенных расширений "витрина mag1c"
Да, он, то мне и попадался. Формата 1.9 от 1С пока не существует, они взяли формат 1.8 и сделали полную копию в виде 1.9 и исправили один реквизит. Поставили костыль, чтобы формат 1.8 не использовался. А т.к. в другой базе нет 1.9, то всё откатывается на 1.7. Но не учли, что при обмене в заголовке передаётся информация, что в отраслевой базе есть формат 1.8, в итоге конечная база устанавливает параметры, что выгружать и загружать в 1.8. А в исходной получается конфликт - формат обмена 1.8, документы можно выгружать в 1.7, в итоге ничего не выгружается.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот