![]() |
|
КД: создать свой узел | ☑ | ||
---|---|---|---|---|
0
vyaz
03.11.11
✎
16:34
|
Хочу создать свой узел, сразу после выгруженных параметров, но не выходит каменный цветок:
Обработчик конвертации Перед выгрузкой данных, пытаюсь создать узел: ИнформацияОПользователе = СоздатьУзел("ИнформацияОПользователе"); УстановитьАтрибут(ИнформацияОПользователе, "АутентификацияОС", Источник.АутентификацияОС); ДобавитьПодчиненный( < что тут должно быть ???> , ИнформацияОПользователе); Пробовал rootNode и Приемник, все не то. Можно ли вообще так? На подкорке понимаю, что узел нужно закрыть, но вот как не пойму. |
|||
1
vyaz
03.11.11
✎
17:22
|
все так печально иль полу-пятница?
|
|||
2
Поручик
03.11.11
✎
17:22
|
Продам встроенную справку по обработчикам событий. Если не поможет, за отдельный ценник вывалю готовый код.
|
|||
3
vyaz
03.11.11
✎
17:31
|
(2) самый умный? если да, то куплю у тебя встроенную справку.
Обработчики "Конвертация" Перед выгрузкой данных Условия возникновения события Событие выполняется самым первым перед началом выгрузки данных и только один раз, после открытия файла для записи. Таким образом в файл могут быть записаны произвольные данные. Кроме того могут быть инициализинованы переменные, которые впоследствии предполагается использовать. Для работы с такими переменными имеется отдельная структура "Параметры". Параметры: Отказ - Булево. Если установить значение Истина, то выгрузка данных не производится Параметры - Структура, в которой хранятся переменные доступные во всех обработчиках Пример: Если ЗначениеНеЗаполнено(Параметры.Организация) Тогда Сообщить("Не указан параметр Организация. Выгрузка невозможна."); Отказ = Истина; КонецЕсли; Параметры.Вставить("НомерВерсии", Константы.НомерВерсииКонфигурации.Получить()); Есть тут ответ на вотпрос??? |
|||
4
Поручик
03.11.11
✎
17:35
|
(3) Как хочешь, схожу за попкорном.
|
|||
5
vyaz
03.11.11
✎
17:39
|
(4) колу не забудь, вишь как живо в теме
|
|||
6
vyaz
04.11.11
✎
09:29
|
все еще актуально...
|
|||
7
Рэйв
04.11.11
✎
09:33
|
(0)Пример
В обработчике ПКО ПриВыгрузке УзелПараметра = DOMDocument.createNode(1, "ЗначениеПараметра", ""); УзелПараметра.setAttribute("ИмяПараметрПКО", "Курс"); УзелПараметра.setAttribute("ЗначениеПараметрПКО", Строка(Источник.Курс.Получить(ТекущаяДата()))); Приемник.appendChild(УзелПараметра); |
|||
8
Рэйв
04.11.11
✎
09:34
|
+(7)Правда это для переноса 77-8.х
8->8 может быть и подругому |
|||
9
vyaz
04.11.11
✎
09:53
|
(7) неа... не получичилось
Ошибка в обработчике события ПередВыгрузкойДанных (конвертация) Обработчик = ПередВыгрузкойДанных (конвертация) ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(3,17)}: Переменная не определена (DOMDocument) ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(12762) КодСообщения = 62 --- В ПКО при выгрузке у меня получается создать узел, но там четко известно что: Приемник - инициализированный xml-узел объекта приемника Не могу найти какой узел инициализирован в глобальном обработчике Перед выгрузкой данных Узел должен быть самый корневой... |
|||
10
Рэйв
04.11.11
✎
09:55
|
(9)Свой узел создашь только ПриВыгрузке в ПКО. в глобальной Перед выгрузкой еще нет root ноды
|
|||
11
Рэйв
04.11.11
✎
09:59
|
+(9)Видимо у теб все таки перенос 8->8 , поэтому и DOMDocument неопределен
|
|||
12
vyaz
04.11.11
✎
10:02
|
(11) да 8-8
(10) т.е. в рутнод никак? меня смущает описание обработчика "Событие выполняется самым первым перед началом выгрузки данных и только один раз, после открытия файла для записи. Таким образом в файл могут быть записаны произвольные данные." вроде как можно, но вот как... |
|||
13
vyaz
04.11.11
✎
10:41
|
вобщем доковырялся, если кому надо будет:
МойУзел = СоздатьУзел("НазваниеМоегоУзла"); УстановитьАтрибут(МойУзел, "Имя", "ИмяУзла"); УстановитьАтрибут(МойУзел, "Тип", "СтроковыйТипУзла"); одЗаписатьЭлемент(МойУзел, "Значение", "МоеЗаписываемоеЗначение"); МойУзел.ЗаписатьКонецЭлемента(); ЗаписатьВФайл(МойУзел); внути XML (узел находится сразу за узлом ПравилаОбмена, т.е. до выгруженных объектов) это будет выглядеть вот так: -<НазваниеМоегоУзла Имя="ИмяУзла" Тип="СтроковыйТипУзла"> <Значение>МоеЗаписываемоеЗначение</Значение> </НазваниеМоегоУзла> |
|||
14
Рэйв
04.11.11
✎
10:48
|
(13)В каком месте это писать?
|
|||
15
vyaz
04.11.11
✎
10:54
|
(14) глобальный обработчик
Обработчики "Конвертация" Перед выгрузкой данных |
|||
16
Рэйв
04.11.11
✎
10:54
|
(15)Уху.Пригодится
|
|||
17
vyaz
04.11.11
✎
10:55
|
(16) и тебе спасибо :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |