Всем привет! Насколько мне известно XDTO пакеты ED для обмена через универсальный формат можно заимствовать в расширения. Так вот возникло у меня желание дополнить такой пакет одним реквизитом в ТЧ РасшифровкаДопРасходов документа ПТиУ, и при добавлении реквизита, 1с ругается при запуске, значение контролируемого свойства, не совпадает со значением в расширяемой конфигурации. Как можно обойти данную ошибку и возможно ли изменять типовые XDTO пакеты добавляя свои реквизиты либо объекты?
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(10) пробовали по всякому.
Нашли такое решение: в расширении создали новый пакет, скопировав существующий (весь пакет).
В него добавили нужные реквизиты, переименовали схему, добавили версию и допилили обработчики в менеджере обмена. Работает уже 3-ю неделю.
Делалось для обмена КА-БП... для склада в ТЧ документов
Нашли такое решение: в расширении создали новый пакет, скопировав существующий (весь пакет).
В него добавили нужные реквизиты, переименовали схему, добавили версию и допилили обработчики в менеджере обмена. Работает уже 3-ю неделю.
Делалось для обмена КА-БП... для склада в ТЧ документов
(23) отладку делаем через автоподключение к фоновым заданиям
А по складам в ТЧ - это была целая история. Не в формате форума...
Скажу только что для разных объектов были разные решения. Где то хватило простого дополнения обработчика ПередЗаписью, а где то пришлось серьезно влезать
Это ж БП... там проводки...
А по складам в ТЧ - это была целая история. Не в формате форума...
Скажу только что для разных объектов были разные решения. Где то хватило простого дополнения обработчика ПередЗаписью, а где то пришлось серьезно влезать
Это ж БП... там проводки...
(11)
Подскажите где ошибка. Экспортом/Импортом создал пакет в расширении. Внес нужные правки. Изменил пространство имен в конце с 1.8 на 1.81. В модуле менеджераобменачерезуниверсальныйобмен правки внес. Но все равно задействуется старый XTDO пакет. "переименовали схему" это изменили пространство имен или я не так понял?
Если написать в модуле "ДобавитьПКС(СвойстваШапки, "Пломба", "Комментарий");
то "пломба" уйдет в обмен в поле "комментарий", что в общем то естественно.
не пойму как обмен заставить работать именно с пакетом из расширения.
Подскажите где ошибка. Экспортом/Импортом создал пакет в расширении. Внес нужные правки. Изменил пространство имен в конце с 1.8 на 1.81. В модуле менеджераобменачерезуниверсальныйобмен правки внес. Но все равно задействуется старый XTDO пакет. "переименовали схему" это изменили пространство имен или я не так понял?
Если написать в модуле "ДобавитьПКС(СвойстваШапки, "Пломба", "Комментарий");
то "пломба" уйдет в обмен в поле "комментарий", что в общем то естественно.
не пойму как обмен заставить работать именно с пакетом из расширения.
Прикрепленные файлы:
(15) чтобы заставить работать с другим пакетом, в КА мы переопределяем версию в ОбменДаннымиXDTOСервер.ПоддерживаемыеОбъектыФорматаКорреспондента()
и в ОбменДаннымиУТ.ДоступныеВерсииУниверсальногоФормата()
ПоддерживаемыеОбъектыФорматаКорреспондента |
---|
&Вместо("ПоддерживаемыеОбъектыФорматаКорреспондента")
Функция ОБМ_ПоддерживаемыеОбъектыФорматаКорреспондента(УзелОбмена, Режим)
ТаблицаОбъекты = ПродолжитьВызов(УзелОбмена, Режим);
Для Каждого Строка Из ТаблицаОбъекты Цикл
Если Строка.Версия = "1.8" Тогда
Строка.Версия = "1.81";
КонецЕсли;
КонецЦикла;
Возврат ТаблицаОбъекты;
КонецФункции
Показать |
и в ОбменДаннымиУТ.ДоступныеВерсииУниверсальногоФормата()
ДоступныеВерсииУниверсальногоФормата |
---|
&После("ДоступныеВерсииУниверсальногоФормата")
Процедура ОБМ_ДоступныеВерсииУниверсальногоФормата(ВерсииФормата)
ВерсииФормата.Вставить("1.81", МенеджерОбменаЧерезУниверсальныйФормат);
КонецПроцедуры
|
ставлю 1.81 руками. после выгрузки сваливается на 1.8 . Выгрузку пока делаю в файл, без загрузки в базу корреспондент. Кстати при
&Вместо("ПоддерживаемыеОбъектыФорматаКорреспондента")
Функция РасшРМК_ПоддерживаемыеОбъектыФорматаКорреспондента(УзелОбмена, Режим)
// Вставить содержимое метода.
ТаблицаОбъекты = ПродолжитьВызов(УзелОбмена, Режим);
Для Каждого Строка Из ТаблицаОбъекты Цикл
Если Строка.Версия = "1.8" Тогда
Строка.Версия = "1.81";
КонецЕсли;
КонецЦикла;
Возврат ТаблицаОбъекты;
КонецФункции
вообще документ не выгружает. только заголовочная часть файла. Если это закомментарить выгрузит документ, но естественно по формату 1.8 из пакета из конфигурации.
&Вместо("ПоддерживаемыеОбъектыФорматаКорреспондента")
Функция РасшРМК_ПоддерживаемыеОбъектыФорматаКорреспондента(УзелОбмена, Режим)
// Вставить содержимое метода.
ТаблицаОбъекты = ПродолжитьВызов(УзелОбмена, Режим);
Для Каждого Строка Из ТаблицаОбъекты Цикл
Если Строка.Версия = "1.8" Тогда
Строка.Версия = "1.81";
КонецЕсли;
КонецЦикла;
Возврат ТаблицаОбъекты;
КонецФункции
вообще документ не выгружает. только заголовочная часть файла. Если это закомментарить выгрузит документ, но естественно по формату 1.8 из пакета из конфигурации.
чтобы документ выгружался поменял строку
ОтборПоВерсии = Новый Структура("Версия", "1.81");//КомпонентыОбмена.ВерсияФорматаОбмена);
в ОбменДаннымиXDTOСервер.ЗаполнитьПоддерживаемыеОбъектыXDTO(КомпонентыОбмена)
но файл выгружается все равно в формате 1.8
или в строке "Format" не должно вывести 1.81?
ОтборПоВерсии = Новый Структура("Версия", "1.81");//КомпонентыОбмена.ВерсияФорматаОбмена);
в ОбменДаннымиXDTOСервер.ЗаполнитьПоддерживаемыеОбъектыXDTO(КомпонентыОбмена)
но файл выгружается все равно в формате 1.8
или в строке "Format" не должно вывести 1.81?
Прикрепленные файлы:
Надо все таки править регистр сведений "НастройкиОбменаДаннымиXDTO".
при создании новой синхронизации внесенных изменений в указанных двух местах достаточно, а вот чтобы существующая синхронизация заработала на 1.81 нужно править данные регистра. Ну или насильно в трех местах в коде менять "Версияформата" на "1.81".
при создании новой синхронизации внесенных изменений в указанных двух местах достаточно, а вот чтобы существующая синхронизация заработала на 1.81 нужно править данные регистра. Ну или насильно в трех местах в коде менять "Версияформата" на "1.81".
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот