|
|
|
Конвертация данных | ☑ | ||
|---|---|---|---|---|
|
0
mpbakunov
11.03.10
✎
19:31
|
Доброго дня!
в ПКД (обработчик ПередОбработкой) формирую произвольную выборку и используя ВыгрузитьПоПравилу передаю Источник и доп. параметры в 1 и 3 параметре соответственно. в ПКО указанном в ВыгрузитьПоПравилу мне нужно в обработчике ПослеЗагрузки использовать доп. данные переданные ранее (см. выше) Как это реализовать? |
|||
|
1
Господин ПЖ
11.03.10
✎
19:57
|
выгружать в параметры
|
|||
|
2
Naumov
11.03.10
✎
20:08
|
либо в подчиненный узел
|
|||
|
3
mpbakunov
11.03.10
✎
20:16
|
(1) Пожалуйста пример если можно!
|
|||
|
4
Господин ПЖ
11.03.10
✎
20:20
|
все примеры в самой КД. в ПКС переключатель видишь? выгружать в свойство/в параметр
|
|||
|
5
mpbakunov
11.03.10
✎
20:26
|
(4) Я понимаю что в самой КД примеры, но когда только начал юзать КД то как то не все понятно. Вы написал "в свойство/в параметр", Если бы написали в свойство то понятно а что значит связка "свойство/в параметр"?
|
|||
|
6
mpbakunov
12.03.10
✎
09:38
|
всебы хорошо, только "Передавать данные в параметр" в ПКС не активно. Подозреваю из за того что конвертирую из 7.7. Так ли это?
|
|||
|
7
mpbakunov
12.03.10
✎
09:41
|
(6) посмотрел по коду, действительно не активно из-за того что источник 7.7 поэтому первоначальный вопрос остается в силе!
|
|||
|
8
Господин ПЖ
12.03.10
✎
10:29
|
ну тогда выгружай в подчиненный узел. Примеры в книжке Бояркина
|
|||
|
9
mpbakunov
12.03.10
✎
10:57
|
(8) что такое подчиненый узел? я просматривал книгу, но чтото о подчиненных узлах ничего не видел.
|
|||
|
10
Defender aka LINN
12.03.10
✎
11:14
|
(9) Дописать после выгрузки объекта в XML нужные данные и после загрузки прочитать
|
|||
|
11
mpbakunov
12.03.10
✎
11:22
|
(10)так мой и вопрос в принципе об этом. я пока не понял как и куда записать доп. данный и как потом их прочитать!?
|
|||
|
12
Naumov
12.03.10
✎
11:33
|
Пример есть в конвертации ПриВыгрузкеОбъекта:
Пример: ИнформацияОПользователе = СоздатьУзел("ИнформацияОПользователе"); УстановитьАтрибут(ИнформацияОПользователе, "АутентификацияОС", Источник.АутентификацияОС); УстановитьАтрибут(ИнформацияОПользователе, "АутентификацияСтандартная", Источник.АутентификацияСтандартная); УстановитьАтрибут(ИнформацияОПользователе, "ПоказыватьВСпискеВыбора", Источник.ПоказыватьВСпискеВыбора); УстановитьАтрибут(ИнформацияОПользователе, "ПользовательОС", Источник.ПользовательОС); УстановитьАтрибут(ИнформацияОПользователе, "ПолноеИмя", Источник.ПолноеИмя); ЧислоРолей = 1; Для Каждого Роль Из Источник.Роли Цикл УстановитьАтрибут(ИнформацияОПользователе, "Роль"+ЧислоРолей, Роль.Имя); Сообщить(Роль.Имя); ЧислоРолей = ЧислоРолей + 1; КонецЦикла; ДобавитьПодчиненный(Приемник, ИнформацияОПользователе); Ну и смотри извлечение в примере при загрузке. |
|||
|
13
mpbakunov
12.03.10
✎
11:49
|
(12) Это в конфигурации которая на ИТС или которая шла с книгой?
|
|||
|
14
Naumov
12.03.10
✎
11:51
|
На ИТС типовая КонвертацияДанных 2.0
|
|||
|
15
mpbakunov
12.03.10
✎
11:55
|
(14)Уже бы указал полный путь: Название конвертации и название ПКО :) Заранее спасибо!
|
|||
|
16
Naumov
12.03.10
✎
12:00
|
Это из хелпа. описание обработчиков
|
|||
|
17
Naumov
12.03.10
✎
12:01
|
описание к обработчику выгрузки объекта событие "при выгрузке"
|
|||
|
18
mpbakunov
12.03.10
✎
15:53
|
(17) эксперементирую следующее:
В обработчике ПриВыгрузке ПКО: УзелДополнительного=СоздатьУзел("УзелДополнительного"); УстановитьАтрибут(УзелДополнительного,"Имя","Дополнительный"); ДобавитьПодчиненный(Приемник,УзелДополнительного); обработчик ПослеЗанрузки еще пуст! При закрузки в конфигурацию Приемник получаю ошибки: Ошибка формата файла обмена Ошибка формата файла обмена ИмяУзла = УзелДополнительного Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Значение Ошибка формата файла обмена ИмяУзла = Ошибка формата файла обмена ИмяУзла = Значение Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Ссылка Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Значение Ошибка формата файла обмена ИмяУзла = Ошибка формата файла обмена ИмяУзла = Значение Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Ссылка Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Значение Ошибка формата файла обмена ИмяУзла = Ошибка формата файла обмена ИмяУзла = Значение Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Ссылка Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Значение Ошибка формата файла обмена ИмяУзла = Ошибка формата файла обмена ИмяУзла = Значение Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Ссылка Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Пусто Ошибка формата файла обмена ИмяУзла = Пусто Ошибка формата файла обмена ИмяУзла = Свойство Ошибка при загрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML(6895)}: Тип не определен Окончание загрузки: 12.03.2010 14:50:24 Загружено объектов: 13 Что не так? |
|||
|
19
Naumov
12.03.10
✎
16:02
|
а ты свой подчиненный узел читать не забываешь?
|
|||
|
20
mpbakunov
12.03.10
✎
16:08
|
(19)Забиваю .. вот полный код обработчика:
УзелДополнительного=СоздатьУзел("УзелДополнительного"); УстановитьАтрибут(УзелДополнительного,"Имя","Дополнительный"); УзелЗначения=СоздатьУзел("УзелЗначения"); УстановитьАтрибут(УзелЗначения,"Значение",ВходящиеДанные.ПолучитьЗначение(2)); ДобавитьПодчиненный(УзелДополнительного,УзелЗначения); ДобавитьПодчиненный(Приемник,УзелДополнительного); Я думаю, что и с незаполненным вариантом тоже должно было не выдавать ошибки при загрузке! |
|||
|
21
Naumov
12.03.10
✎
16:13
|
(20)Читай вопрос внимательно: ты должен при загрузке прочитать свой узел и обработать его, иначе обработчик не знает что с ним делать, а следовательно ругается.
|
|||
|
22
Naumov
12.03.10
✎
16:24
|
вот пример более конкретный (из каких-то старых версий правил обмен УТ и БП)
При выгрузке ДокументСсылка.ОтчетОРозничныхПродажах: УзелКомиссияПоСтрокамТабличнойЧасти = СоздатьУзел("КомиссияПоСтрокамТабличнойЧасти"); Для каждого Строка из КоллекцияОбъектов Цикл НомерСтроки = НомерСтроки + 1; УзелСтрока = СоздатьУзел("Строка"); УстановитьАтрибут(УзелСтрока, "НомерСтроки", НомерСтроки); УзелСтрока.ЗаписатьТекст(XMLСтрока(Строка.Комиссия)); ДобавитьПодчиненный(УзелКомиссияПоСтрокамТабличнойЧасти, УзелСтрока); КонецЦикла; УзелКомиссияПоСтрокамТабличнойЧасти.ЗаписатьКонецЭлемента(); УзелКомиссияПоСтрокамТабличнойЧасти = УзелКомиссияПоСтрокамТабличнойЧасти.Закрыть(); ДобавитьПодчиненный(Приемник, УзелКомиссияПоСтрокамТабличнойЧасти); //------------------------ При загрузке КомиссияПоСтрокамТабличнойЧасти = Новый Соответствие; Пока ФайлОбмена.Прочитать() Цикл ИмяУзла = ФайлОбмена.ЛокальноеИмя; ТипУзла = ФайлОбмена.ТипУзла; Если ИмяУзла = "Строка" Тогда КомиссияПоСтрокамТабличнойЧасти.Вставить(одАтрибут(ФайлОбмена, одТипЧисло, "НомерСтроки"), одЗначениеЭлемента(ФайлОбмена, Тип("Булево"))); ИначеЕсли (ИмяУзла = "КомиссияПоСтрокамТабличнойЧасти") И (ТипУзла = одТипУзлаXML_КонецЭлемента) Тогда Параметры.КомиссияПоСтрокамТабличнойЧасти.Вставить(Ссылка, КомиссияПоСтрокамТабличнойЧасти); Прервать; КонецЕсли; КонецЦикла; т.е. ты должен САМ прочитать все добавленное. |
|||
|
23
mpbakunov
12.03.10
✎
16:27
|
(20)я уже и так пробовал. вот обработчик события ПриЗагрузке:
Объект.Организация=Параметры.БазОрганизация; ПодчиненныеУзлы=Узел.ВыбратьУзлы("УзелДополнительного"); ПодчиненныйУзел=ПодчиненныеУзлы.ПолучитьУзел(0); УзелЗначения=ПодчиненныеУзел.ПолучитьУзел(0); если УзелЗначения.ПолучитьАтрибут("Значение")=1 тогда Объект.ВидЗанятости=Перечисления.ПеречислениеСсылка.ВидыЗанятостиВОрганизации.Совместительство; иначе Объект.ВидЗанятости=Перечисления.ПеречислениеСсылка.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы; КонецЕсли получил!!! Начало загрузки: 12.03.2010 15:28:08 Ошибка в обработчике события ПриЗагрузкеОбъекта ИмяПКО = Сотрудники ТипОбъекта = Справочник ссылка: Сотрудники организаций Объект = Алита И. И. Обработчик = ПриЗагрузкеОбъекта ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML(7215) КодСообщения = 20 Ошибка формата файла обмена Ошибка формата файла обмена ИмяУзла = УзелЗначения Ошибка формата файла обмена ИмяУзла = УзелЗначения Ошибка формата файла обмена ИмяУзла = УзелДополнительного Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Значение Ошибка формата файла обмена ИмяУзла = Ошибка формата файла обмена ИмяУзла = Значение Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Ссылка Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Значение Ошибка формата файла обмена ИмяУзла = Ошибка формата файла обмена ИмяУзла = Значение Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Ссылка Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Значение Ошибка формата файла обмена ИмяУзла = Ошибка формата файла обмена ИмяУзла = Значение Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Ссылка Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Значение Ошибка формата файла обмена ИмяУзла = Ошибка формата файла обмена ИмяУзла = Значение Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Ссылка Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Свойство Ошибка формата файла обмена ИмяУзла = Пусто Ошибка формата файла обмена ИмяУзла = Пусто Ошибка формата файла обмена ИмяУзла = Свойство Ошибка при загрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML(6895)}: Тип не определен Окончание загрузки: 12.03.2010 15:28:09 Загружено объектов: 13 |
|||
|
24
Naumov
12.03.10
✎
16:32
|
(22) Кхм, а нафига ты так свойство пренеосишь?
не могу я разбираться с тем, что ты не так в обработчике пишешь. |
|||
|
25
mpbakunov
12.03.10
✎
16:36
|
(24) а как? :)
|
|||
|
26
Naumov
12.03.10
✎
21:00
|
Свойство объекта добавляешь в списке. источник не указываешь.
в обрабочике события перед выгрузкой свойства пишешь если "такое-то условие" тогда Значение = "Совместительство"; иначе Значение = "ОсновноеМестоРаботы"; КонецЕсли и оно само родит. |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |