|
|
|
|
EnterpriseData расширение формата обмена d4rkmesa, TAVGAM, Шурик71, Timon1405, denk32, Чужой, okmail, obs191, Климов Сергей, U4Me2, 2mugik, Мультук, segn, Metman, DimR_71, Prog_man, lEvGl, Гипервизор, DemonShinji2, Amfiaray, Борис вилка, svmix, ads55, Chameleon1980, crasler, bolder, Сергиус, ivanov-i-i
| ☑ | ||
|---|---|---|---|---|
|
0
TAVGAM
19.11.25
✎
22:41
|
Всем привет!
Не прошу помощи, а уже молю о ней... Пытаюсь завести дружбу с расширением формата EnterpriseData, версия 1.19. Задача: синхронизация между 2-мя базами ERP(база1 в база2). В обеих базах в справочник "Структура предприятия" добавлен реквизит "мой_КодСоответствия" по которому должен происходить поиск в база2. Но до ПКО_Справочник_Подразделения_Получение дело не доходит. Не получается из база1 в "ключевоесвойство" выгрузить реквизит "мой_КодСоответствия". Руковдствуюсь статьей https://its.1c.ru/db/metod8dev/content/6013/hdoc , но данные не выгружаются... 1. Добавлены в расширения пакеты ExchangeMessage (Тип объектов Object), EnterpriseData_1_19_1 (директивы имопрта http://www.1c.ru/SSL/Exchange/Message , пространство имен "http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.19" и тип объектов КлючевыеСвойстваПодразделение). 2. В расширении создан "мой" пакет URL пространство имен "http://v8.1c.ru/edi/edi_stnd/EnterpriseData_qw/1.19". Сюда добавлена директива имопорта "http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.19" , тип объектов "КлючевыеСвойстваПодразделение" - с определнием типа "мой_КодСоответствия" (строка). 3. Общий модуль "Обмен данными предопределяемый" в расширении: &После("ПриПолученииДоступныхРасширенийФормата") Процедура apkПриПолученииДоступныхРасширенийФормата(РасширенияФормата) РасширенияФормата.Вставить("http://v8.1c.ru/edi/edi_stnd/EnterpriseData_qw/1.19" ,"1.19"); КонецПроцедуры 4. в расширении Менеджер обменаЧерезУниверсальныйФормат: &После("ПриПолученииДоступныхРасширенийФормата") Процедура apkПриПолученииДоступныхРасширенийФормата(РасширенияФормата) РасширенияФормата.Вставить("http://v8.1c.ru/edi/edi_stnd/EnterpriseData_qw/1.19" ,"1.19"); КонецПроцедуры Вроде все как на ИТС прописано... но не выгружается "мой_КодСоответствия". Может кто-то сталкивался? Повторюсь, уже молю о помощи(( |
|||
|
1
breezee
19.11.25
✎
22:43
|
Много букв, не читал. Используйте additionalinfo
|
|||
|
2
TAVGAM
19.11.25
✎
22:46
|
пункт4. &ИзменениеИКонтроль("ДобавитьПКО_Справочник_Подразделения_Отправка")
Процедура apkДобавитьПКО_Справочник_Подразделения_Отправка(ПравилаКонвертации) ПравилоКонвертации = ОбменДаннымиXDTOСервер.ИнициализироватьПравилоКонвертацииОбъекта(ПравилаКонвертации); ПравилоКонвертации.ИмяПКО = "Справочник_Подразделения_Отправка"; ПравилоКонвертации.ОбъектДанных = Метаданные.Справочники.СтруктураПредприятия; ПравилоКонвертации.ОбъектФормата = "Справочник.Подразделения"; //@NON-NLS-1 ПравилоКонвертации.ПриОтправкеДанных = "ПКО_Справочник_Подразделения_Отправка_ПриОтправкеДанных"; СвойстваШапки = ПравилоКонвертации.Свойства; ДобавитьПКС(СвойстваШапки, "Наименование", "Наименование"); ДобавитьПКС(СвойстваШапки, "Родитель", "ВышестоящееПодразделение", , "Справочник_Подразделения_Отправка"); #Вставка ПространствоИмен = "http://v8.1c.ru/edi/edi_stnd/EnterpriseData_qw/1.19"; ОбменДаннымиXDTOСервер.ИнициализироватьРасширениеПравилаКонвертацииОбъекта(ПравилоКонвертации, ПространствоИмен); ДобавитьПКС(СвойстваШапки,"мой_КодСоответствия","мой_КодСоответствия",1,,ПространствоИмен); #КонецВставки СвойстваТЧ = ДобавитьПКТЧ(ПравилоКонвертации, "", "ДополнительныеРеквизиты"); ДобавитьПКС(СвойстваТЧ, "", "ЗначениеСвойства", 1); ДобавитьПКС(СвойстваТЧ, "", "Свойство", 1, "Справочник_ДополнительныеРеквизиты"); КонецПроцедуры &ИзменениеИКонтроль("ПКО_Справочник_Подразделения_Отправка_ПриОтправкеДанных") Процедура apkПКО_Справочник_Подразделения_Отправка_ПриОтправкеДанных(ДанныеИБ, ДанныеXDTO, КомпонентыОбмена, СтекВыгрузки) Если СтекВыгрузки.Количество() > 1 Тогда Возврат; КонецЕсли; Если ЕстьРеквизитДанныхИБ(ДанныеИБ, "ДополнительныеРеквизиты") Тогда ВыгрузитьДополнительныеРеквизитыИСведения(КомпонентыОбмена, ДанныеИБ, ДанныеXDTO, Истина); КонецЕсли; #Вставка Если НЕ ПустаяСтрока(ДанныеИБ.мой_КодСоответствия) Тогда ДанныеXDTO.КлючевыеСвойства.Вставить("мой_КодСоответствия",ДанныеИБ.мой_КодСоответствия); КонецЕсли; #КонецВставки КонецПроцедуры |
|||
|
3
TAVGAM
19.11.25
✎
22:47
|
(1) подскажите, пжс, как через additionalinfo при получении заменить поиск в базе2?
|
|||
|
4
d4rkmesa
19.11.25
✎
22:50
|
(0) >>Задача: синхронизация между 2-мя базами ERP
Ну-ну, удачи. Самое лучшее - купить доработанные правила от MaxS (не рекламы ради, просто т.н. "универсальный" типовой обмен - полный шлак для этих целей), если ваш работодатель - конечный потребитель. И даже с доработанными будут нюансы и необходимы правки. Документы то грузятся у вас, проблема точно только с полями поиска элементов НСИ? Просто любопытно. |
|||
|
5
TAVGAM
20.11.25
✎
09:30
|
(4) банк - отлично, до других документов дело не дошло, из-за структуры предприятия, тут и присели)) Ранее подобное было реализовано на КД2, но "ручного" труда было много. Приняли решение попробовать через enteprisedata. Не факт, что ручного участия будет меньше))
|
|||
|
6
TAVGAM
19.11.25
✎
22:57
|
(4) На ИТС пишут-то красиво)
|
|||
|
7
TAVGAM
20.11.25
✎
09:30
|
(4) Конечно рассмотрим, но позже
|
|||
|
8
2mugik
20.11.25
✎
05:49
|
(0)таскал через пакет расширения свои реквизиты. Отладчиком и инетом малехо пользовался, да. т.е. механизм вроде рабочий)
|
|||
|
9
d4rkmesa
20.11.25
✎
08:34
|
(5) Ну пробуйте, конечно, свои плюсы есть - относительно легкая отладка, все обработчики "в коде", небольшой объем сравнительно, но вот сам принцип отложенного проведения порождает проблемы, т.к. в ERP многие механизмы работают "на сейчас". Насчет "ручного труда", я недавно "встрял" с ED обменом между двумя ERP, устал уже докидывать что-то через обработки выгрузку-загрузки (хоть и тестовый режим).
|
|||
|
10
2mugik
20.11.25
✎
08:56
|
(4)Кстати, да. MaxS в ветках про обмены нормально так заяснял. В свое время.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |