Имя: Пароль:
1C
 
Расширение xdto-пакета и смена версии обмена
0 salvator
 
15.06.26
21:55
Приветствую!
Возник такой вопрос. Есть расширение xdto-пакета для обмена через универсальный формат. Типовая конфигурация обновилась и номер версии актуального xdto изменился. Нужно ли делать расширение xdto-пакета для новой версии? В настройках плана обмена автоматом версия самая новая устанавливается при обмене.
1 Garykom
 
гуру
15.06.26
22:23
Когда вмешиваются на таком уровне обычно делают копию нужного типового xdto-пакета со своим префиксом
И перекрыв расширением нужные общие модуля фиксируют обмен на этом своем пакете
Чтобы типовые обновления конфы не ломали
2 salvator
 
15.06.26
22:46
(1) Не совсем понял. Общий модуль "МенеджерОбменаЧерезУниверсальныйФормат" один для всех версий.
3 Garykom
 
гуру
15.06.26
23:29
(2) Если БП то ОбменДаннымиПереопределяемый.ПриПолученииДоступныхВерсийФормата
перекрываешь в расширении
И оставляешь только свою копию xdto-пакета

Если ЕРП/КА/УТ11 то ОбменДаннымиЛокализация.ПриПолученииДоступныхВерсийФормата

Как свой пакет указать там разберешься, там на основе синонима к номеру версии можно свой постфикс приписать
И указать свой префикс_МенеджерОбменаЧерезУниверсальныйФормат

По сути "шаг 10" тут
https://infostart.ru/1c/articles/2055297/
4 salvator
 
15.06.26
23:41
(4) Это понятно все, так уже сделано. Вопрос-то в другом. На примере статьи этой. Расширение первоначально сделано для XDTO "EnterpriseData_1_8_6". Через какое-то время типовым обновлением в конфу добавляется XDTO "EnterpriseData_1_9_0", условно. Версия формата выгрузки меняется на 1.9 (там максимально возможная всегда устанавливается). Так вот делать еще одно расширение для пакета 1.9.0 по аналогии с ранее созданным 1.8.6 или нет?
5 Garykom
 
гуру
15.06.26
23:53
(4) Уже написал
Когда был "EnterpriseData_1_8_6" ты же его скопировал в конфе со своим префиксом же да?

Сделал "sal_EnterpriseData_1_8_6" и номер версии в синониме сделал же "1.8.6.sal" да?
Который и указал
&Вместо("ПриПолученииДоступныхВерсийФормата")
Процедура sal_ПриПолученииДоступныхВерсийФормата(ВерсииФормата)
	 ВерсииФормата.Вставить("1.8.6.sal", sal_МенеджерОбменаЧерезУниверсальныйФормат); 
КонецПроцедуры
6 Garykom
 
гуру
15.06.26
23:54
(5)+ И теперя тебе же глубоко пофиг что "типовым обновлением в конфу добавляется XDTO "EnterpriseData_1_9_0", условно"

Можно конечно взять новый "1.9.0" и аналогично его с перфиксом, добавить внутря свое снова и указать его использование
Но зачем?

Ты же тупо можешь сравнить новый "1.9.0" со своим "1.8.6.sal"
Экспорт пакета сделай в файлы, и сравни внешним
Добавь/измени что надо и обратно в свой "1.8.6.sal"

В итоге у тебя старый твой пакет но есть все от нового
7 salvator
 
16.06.26
00:03
(5) Не совсем так. Основной пакет заимствован в расширение, модуль менеджера обмена типовой, от него заимствованы нужные обработчики и прописаны правила для новых полей. По аналогии со статьей https://its.1c.ru/db/metod8dev/content/6013/hdoc
8 Garykom
 
гуру
16.06.26
00:07
(7) Лучше целиком пакет копировать - нет привязки к изменениям/обновлениям типового
Один хрен ты МенеджерОбменаЧерезУниверсальныйФормат сильно начнешь лопатить, так что с типовым пакетом оно не будет работать

Ну или не трогать xdto-пакеты и все делать через AdditionalInfo
Жаль такое не всегда можно, бывает надо новые сущности добавлять
Но когда через AdditionalInfo то тебе пофиг на версии пакетов, лишь бы сама сущность была
9 Trucker
 
16.06.26
09:27
(8) Ну или не трогать xdto-пакеты и все делать через AdditionalInfo
Жаль такое не всегда можно, бывает надо новые сущности добавлять

Так для этого и придумали расширения XDTO-пакета. Основной пакет остается типовой, а через расширение добавляются сущности. Гемор конечно, но как есть.
(0) Да, для нового формата ED надо делать новое расширение XDTO-пакета. Так как в расширении XDTO-пакета указывается расширяемый пакет.
10 salvator
 
16.06.26
16:54
(9) Спасибо. А нельзя от этого никак уйти? Каждый раз добавлять расширение пакета такое себе занятие.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший