Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Конвертация данных, ВыгрузитьПоПравилу, РС СоответствиеОбъектовИнформационныхБаз

Конвертация данных, ВыгрузитьПоПравилу, РС СоответствиеОбъектовИнформационныхБаз
Я
   lg2marvel
 
02.03.21 - 11:49
Всем привет. Старая тема немного потеряла актуальность, вопрос пока не решен, прошу помощи повтороно.

Конвертация данных. Задача из документа источника (поступление товаров услуг) передавать в документ приемник (некий документ операция упр), документы по своей структуре различаются.

Способ решения: в ПВД ПослуплениеТоваровУслуг в обработчике ПередВыгрузкой собираются данные из документа источника в структуру ВходящиеДанные и в конце

// выгружаем в ПКО ОперацияУПР
ВыгрузитьПоПравилу(Объект.Ссылка,,ВходящиеДанные,,"ОперацияУПР");
// прерываем дальнейшую обработку
Отказ = Истина;

ПКО ОперацияУПР все свойства получаем из входящих данных.

В итоге - документ обменом передается, документы снимаются с регистрации при повторном запуске, т.е. механизм работает. В базе приемнике в регистре СоответствиеОбъектовИнформационныхБаз создается запись, где указаны ссылки, но не заполняется тип приемника.
И при обмене в базе источнике ошибка в журнале регистрации:

Значение не является значением объектного типа (Менеджер)
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(8978)}:    УникальныйИдентификаторИсточника = СтруктураСвойств.Менеджер.ПолучитьСсылку(УникальныйИдентификаторИсточника);

источник ошибки из отладчика:

Обработка.КонвертацияОбъектовИнформационныхБаз
Функция ПрочитатьИнформациюОРегистрацииОбъекта()
    // Присваиваем ПЕРЕКРЕСТНЫЕ значения переменным; РС симметричен.
    УникальныйИдентификаторПриемника = одАтрибут(ФайлОбмена, ТипСтрока, "УникальныйИдентификаторИсточника");
    УникальныйИдентификаторИсточника = одАтрибут(ФайлОбмена, ТипСтрока, "УникальныйИдентификаторПриемника");
    ТипПриемника                     = одАтрибут(ФайлОбмена, ТипСтрока, "ТипИсточника");
    ТипИсточника                     = одАтрибут(ФайлОбмена, ТипСтрока, "ТипПриемника");
    ПустойНабор                      = одАтрибут(ФайлОбмена, ТипБулево, "ПустойНабор");
Идентификаторы есть, ТипПриемника есть, ТипИсточника - нет
   Ёпрст
 
1 - 02.03.21 - 11:53
(0) а обмен через чего хоть ? через универсальнуюзагрузкувыгрузку или обменчерез планы обмена ?
   lg2marvel
 
2 - 02.03.21 - 11:57
(1) через планы обмена, конвертация 2.1
   Ёпрст
 
3 - 02.03.21 - 12:00
(2) если через планы обмена, то ПВД там вообще не учитываются.. только для какой-то версии бсп пвд работают.
   Ёпрст
 
4 - 02.03.21 - 12:01
И.. проще ЭТО сделать через ПКО .
   lg2marvel
 
5 - 02.03.21 - 12:03
(3) (4) Сделаю тест через ПКО, но не уверен что-то изменится
   lg2marvel
 
6 - 02.03.21 - 12:07
(4) почитал описание обработчика, да, возможно, попробую. Спасибо
   Pro-tone
 
7 - 02.03.21 - 12:13
(3) все зависит от того что стоит в ПВД в "Способ выборки". Если "произвольный алгоритм" то учитывается. Выборка по планам обмена идет если в ПВД стоит "Стандартная выборка".
   lg2marvel
 
8 - 02.03.21 - 12:15
(7) да, произвольный алгоритм
   Ёпрст
 
9 - 02.03.21 - 13:43
(7) ээ..так что учитывается, а что не учитывается то в итоге ?
   Ёпрст
 
10 - 02.03.21 - 13:43
)
   lg2marvel
 
11 - 02.03.21 - 14:52
(9) если старндартная выборка  - не учитывается
Если произвольный алгоритм - учитывается, можно задать свой запрос для выборки данных
Переделал через ПКО, пока в процессе отладки заполнения свойств
   lg2marvel
 
12 - 02.03.21 - 15:40
все ок, переделал через ПКО
   lg2marvel
 
13 - 02.03.21 - 15:40
спасибо

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.