Конвертация одного документа в 2
Доброго времени суток!
Обмениваю документ "ЗаявкаНаРасходованиеСредств" из ЕРП в УПП. В ТЧ РасшифровкаПлатежа в ЕРП есть реквизит "заказ" он конвертируется в "ДокументРасчетов" в УПП. Типами "Заказа" в ЕРП могут быть "Приобретение товаров и услуг" и "Приобретение услуг и прочих активов". В УПП "Поступление товаров и услуг". Сами документы в УПП не обмениваются, следовательно в "ДокументРасчетов" приходят только битые ссылки.
Затем в УПП происходит согласование документа "ЗаявкаНаРасходованиеСредств" и прочие операции.. в итоге создается документ "ПлатежноеПоручениеИсходящее".
После обмениваю документ "ПлатежноеПоручениеИсходящее" из УПП в ЕРП. Вот тут проблема с "ДокументомРасчетов" из ТЧ "РасшифровкаПлатежа". Как, зная только битые ссылки документов, распознать чем он является в ЕРП "Приобретение товаров и услуг" и "Приобретение услуг и прочих активов"? Анализировать УИДы и пытаться восстанавить ссылки в ЕРП? только не пойму как это сделать, когда они в ТЧ?
п.с. забыл написать, может быть частичная оплата, т.е. часть "ДокументыРасчетов" могут попасть в одно "ПлатежноеПоручениеИсходящее" , а часть в другую.
п.с.с. все делаю через Конвертацию данных 2
Обмениваю документ "ЗаявкаНаРасходованиеСредств" из ЕРП в УПП. В ТЧ РасшифровкаПлатежа в ЕРП есть реквизит "заказ" он конвертируется в "ДокументРасчетов" в УПП. Типами "Заказа" в ЕРП могут быть "Приобретение товаров и услуг" и "Приобретение услуг и прочих активов". В УПП "Поступление товаров и услуг". Сами документы в УПП не обмениваются, следовательно в "ДокументРасчетов" приходят только битые ссылки.
Затем в УПП происходит согласование документа "ЗаявкаНаРасходованиеСредств" и прочие операции.. в итоге создается документ "ПлатежноеПоручениеИсходящее".
После обмениваю документ "ПлатежноеПоручениеИсходящее" из УПП в ЕРП. Вот тут проблема с "ДокументомРасчетов" из ТЧ "РасшифровкаПлатежа". Как, зная только битые ссылки документов, распознать чем он является в ЕРП "Приобретение товаров и услуг" и "Приобретение услуг и прочих активов"? Анализировать УИДы и пытаться восстанавить ссылки в ЕРП? только не пойму как это сделать, когда они в ТЧ?
п.с. забыл написать, может быть частичная оплата, т.е. часть "ДокументыРасчетов" могут попасть в одно "ПлатежноеПоручениеИсходящее" , а часть в другую.
п.с.с. все делаю через Конвертацию данных 2
По теме из базы знаний
- Загрузка документов из УТ 10 в БП 3
- Сравнение ЛЮБЫХ данных ЛЮБЫХ баз (и РИБ, по правилам конвертаций) по контрольным суммам выбранных реквизитов, работающих на платформе 8.3
- Механизмы и транспорт обмена данными. Пример создания в КД 2.1 правил обмена данными ЗУП 2.5 -> БП 3.0. Выгрузка ведомостей и банковских счетов. Передача параметров обмена из Источника в Приемник. ВыгрузитьПоПравилу(). ПередатьОдинПараметрВПриемник().
- Переход с УПП на ERP с сохранением документов. Фантастика или реальность?
- Перенос документов "Отражение зарплаты в бухучете" из ЗУП 3.1 в БП 3.0 сводно для физических лиц и подразделений БП
Найденные решения
(1) Получилось так в ПКС создал параметр УИДДокРасчетов и перед выгрузкой написал так:
и в ПКО после загрузки:
Вроде заработало... Может есть варианты попроще?
Если ТипЗНЧ(ОбъектКоллекции.ДокументРасчетовСКонтрагентом) = Тип("ДокументСсылка.ПоступлениеТоваровУслуг")Тогда
Значение = (ОбъектКоллекции.ДокументРасчетовСКонтрагентом.УникальныйИдентификатор());
Иначе
Отказ = Истина;
КонецЕсли
и в ПКО после загрузки:
СписокДокРасчетов = Новый СписокЗначений;
СписокДокРасчетов.Добавить("ПриобретениеУслугПрочихАктивов");
СписокДокРасчетов.Добавить("ПриобретениеТоваровУслуг");
ТЗРасшифровка = ПараметрыОбъекта.Получить("РасшифровкаПлатежаТабличнаяЧасть");
Если НЕ ТЗРасшифровка = Неопределено тогда
Для Каждого Текстр из ТЗРасшифровка цикл
НайденнаяСтрока = Объект.РасшифровкаПлатежа[Текстр.НомерСтроки];
ДокРасчетов = Неопределено;
Для Каждого ТекТип из СписокДокРасчетов цикл
Выполнить("ДокРасчетов = Документы."+ТекТип+".ПолучитьСсылку(Текстр.УИДДокРасчетов)");
Если НЕ ДокРасчетов.ПолучитьОбъект() = Неопределено тогда
Прервать;
КонецЕсли;
КонецЦикла;
НайденнаяСТрока.Заказ = ДокРасчетов;
КонецЦикла;
КонецЕсли;
ПоказатьВроде заработало... Может есть варианты попроще?
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Получилось так в ПКС создал параметр УИДДокРасчетов и перед выгрузкой написал так:
и в ПКО после загрузки:
Вроде заработало... Может есть варианты попроще?
Если ТипЗНЧ(ОбъектКоллекции.ДокументРасчетовСКонтрагентом) = Тип("ДокументСсылка.ПоступлениеТоваровУслуг")Тогда
Значение = (ОбъектКоллекции.ДокументРасчетовСКонтрагентом.УникальныйИдентификатор());
Иначе
Отказ = Истина;
КонецЕсли
и в ПКО после загрузки:
СписокДокРасчетов = Новый СписокЗначений;
СписокДокРасчетов.Добавить("ПриобретениеУслугПрочихАктивов");
СписокДокРасчетов.Добавить("ПриобретениеТоваровУслуг");
ТЗРасшифровка = ПараметрыОбъекта.Получить("РасшифровкаПлатежаТабличнаяЧасть");
Если НЕ ТЗРасшифровка = Неопределено тогда
Для Каждого Текстр из ТЗРасшифровка цикл
НайденнаяСтрока = Объект.РасшифровкаПлатежа[Текстр.НомерСтроки];
ДокРасчетов = Неопределено;
Для Каждого ТекТип из СписокДокРасчетов цикл
Выполнить("ДокРасчетов = Документы."+ТекТип+".ПолучитьСсылку(Текстр.УИДДокРасчетов)");
Если НЕ ДокРасчетов.ПолучитьОбъект() = Неопределено тогда
Прервать;
КонецЕсли;
КонецЦикла;
НайденнаяСТрока.Заказ = ДокРасчетов;
КонецЦикла;
КонецЕсли;
ПоказатьВроде заработало... Может есть варианты попроще?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот