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