Имя: Пароль:
1C
1С v8
КД + XML
,
0 Голубушка
 
08.06.12
09:07
Господа вопрос примерно в следующем , есть две базы 77 и 8.2 , необходимо после загрузки объекта в 8.2 заполнить регистр сведений типа
(Объект82, ИДД77). Хотела воспользоваться фишкой КД "Выгрузить в параметр" , что дало бы мне совершенно левый узел в файле , со значением ИДД77 , после обработать это значение после загрузки объекта, но данная фича работает только между 8 и 8 :(. После чего решила вырастить узел в ручную , т.е. ПКО "После выгрузки" , пишем код

Параметр=СоздатьУзел("Параметр")
УстановитьАтрибут(Параметр, "имя", "ИДД")
УстановитьАтрибут(Параметр, "Тип", "Строка")
ДобавитьПодчиненный(Параметр, УзелСсылки)

где УзелСсылки параметр обработчика, ("УзелСсылки-узел ссылки выгруженого объекта".. из документации)

и ничего :( узел не создается .. уже и не знаю куда копать
1 Голубушка
 
08.06.12
09:38
вверх
2 andrewks
 
08.06.12
09:41
а ПВД с произвольным алгоритмом ты не хочешь заюзать?
3 Defender aka LINN
 
08.06.12
09:50
(0) ПКО + выгрузка по произвольному алгоритму, и не тилипи моск
4 Голубушка
 
08.06.12
09:56
в ПДВ УзелСсылки обработчик "После выгрузки" , вообще не заходит отладчиком
5 Голубушка
 
08.06.12
09:57
(3) да так и есть, вопрос в том что нужно дописать в уже сформированный узел еще один параметр
6 Defender aka LINN
 
08.06.12
10:10
(5) Нафига?
7 Голубушка
 
08.06.12
10:13
Для того чтоб после загрузки объекта в 82 , получить ссылку на него записать в регистр и прописать ему ИДД77, кажется задача прозрачная .. необходимо передать значение ИДД77 в файле передачи
8 Defender aka LINN
 
08.06.12
10:16
(7) Еще раз: создаешь отдельное ПКО для этого своего регистра и или делаешь отдельное ПВД, или после выгрузки объекта выгружаешь по этому правилу.
9 Голубушка
 
08.06.12
10:29
(8) вы не понимаете о чем говорите , ПДВ для регистра можно создать , но ! .. мне необходимо записать в него объект созданный на стороне 82, к тому ж мне необходимо ИДД77 получить для всех загружаемых объектов , а это не один и не два справочника причем для каждого справочника ПДВ существует не в одном экземпляре .

Мне необходимо обойти ограничение для 77 в котором я не могу передать данные в параметр! .. то что 82 съест мой левый узел я уверена , но на стороне 77 .. работает Msxml2.DOMDocument.4.0

и когда я смотрю свой УзелСсылки .. который согласно документации это узел выгруженного объекта .. в атрибутах УзелСсылки я вижу вовсе не объект.
10 Defender aka LINN
 
08.06.12
10:41
(9) Я, в отличие от вас, прекрасно понимаю, о чем говорю.
11 Голубушка
 
08.06.12
10:57
такое решение я отработала вчера , не помогло .. т.к. структура регистра (Объект82, ИДД77) ..Объект82 это ссылка на уже загруженный объект , Объект82 имеет составной тип из всех объектов конфигурации , т.е. ПДВ регистра или же в ПДВ объекта77 при использовании ВыгрузитьПоПравилу() .. я должна либо явно определить ПКО для объекта , либо конвертация его подберет , но подбор из разных ПКО объектов (я упоминала , что ПКО для одних и тех же объектов существует не в одном экземпляре) подбор проходит некорректно .. можно еже использовать в ПКО "Не выгружать свойства по ссылкам" .. все равно не получается .

Решение добавить узел в каждый объект на стороне 77 , позволяет после загрузки объекта в 82 легко заполнить регистр .. если бы это было 82 добавился бы за милую душу , а на 77 придется сделать вручную
12 Голубушка
 
08.06.12
11:02
Огромное спасибо за обсуждение :) , решение достаточно легкое .. я использую не тот узел :)

ПКО_ПослеВыгрузки(Источник, ВходящиеДанные, ИсходящиеДанные, ИмяПКО, Приемник, УзелСсылки)

Параметр=СоздатьУзел("Параметр");
УстановитьАтрибут(Параметр, "имя", "ИДД");
УстановитьАтрибут(Параметр, "Тип", "Строка");
ДобавитьПодчиненный(Приемник,Параметр);

Нужно использовать "Приемник" :) , а УзелСсылки- это инициализированный узел
13 Голубушка
 
08.06.12
11:40
Единственное уточнение. Надо узел назвать

Параметр=СоздатьУзел("ЗначениеПараметра");

после чего при после загрузки можем писать обработчик по заполнению регистра