![]() |
![]() |
![]() |
|
Конвертация данных - ПКО - ПослеЗагрузки - переменная ПараметрыОбъекта | ☑ | ||
---|---|---|---|---|
0
sakila
26.12.08
✎
10:18
|
В описании обработчика после загрузки ПКО описана переменная ПараметрыОбъекта
ПараметрыОбъекта - либо Неопределено либо Соответствие, в котором хранятся дополнительные параметры переденные для данного объекта из источника в приемник. Если параметров передано не было, то ПараметрыОбъекта = Неопределено. Мне нужно использовать эту переменную, но вот когда и где инициализировать её значение, кто нибудь, подскажите пожулйста ... |
|||
1
Barmaglot
26.12.08
✎
10:30
|
(0) Можно подробнее?
|
|||
2
Господин ПЖ
26.12.08
✎
10:32
|
хелп украли?
Условия возникновения события Только для платформы V8. Событие выполняется после прочтения и установки атрабутов объекта из файла, но до его записи в информационную базу. Возможна модификация загруженного объекта. Параметры: Объект - Произвольный - загруженный объект. ПараметрыОбъекта - либо Неопределено либо Соответствие, в котором хранятся дополнительные параметры переденные для данного объекта из источника в приемник. Если параметров передано не было, то ПараметрыОбъекта = Неопределено. Пример: Объект.БазоваяЕдиницаИзмерения = Параметры.ЕдИзмеренияШтуки; Объект.СтавкаНДС = Перечисления.СтавкиНДС.НДС18; Если Объект.Услуга Тогда Объект.ВидНоменклатуры = Параметры.ВидНомУслуга; Иначе Объект.ВидНоменклатуры = Параметры.ВидНомТовар; КонецЕсли; |
|||
3
sakila
26.12.08
✎
10:34
|
Да, конешно. Хочу перебросить из бух 77 (Укр) документ счет в 81 бух.
В 77 в счете договора не указаны, тоесть в месте приёма (81) нужно создать договора по умолчанию. Проблема в том что в 77 в счете есть поле тип торговли, в котором может быть значение бартер, а это значит что договор в 81 в этом случае нужно создавать Бартерный. Так как договор я создаю в ПКО Счет после загрузки, у меня уже нет доступа к источнику, и я не имею доступа до значения ТипТорговли. В описании обработчика ПослеЗагрузки ПКО есть описание переменной ПараметрыОбъекта, думаю это может помочь, но где и когда её инициализировать - ума неприложу .... |
|||
4
Лирик
26.12.08
✎
10:35
|
(2) Прочитай о чем спросили.
(0)ТОЛЬКО ДЛЯ ОБМЕНА V8 - V8 И ОБРАБОТКИ ВЫГРУЗКИ И ЗАГРУЗКИ НЕ НИЖЕ 2.0.18.1 Данный функционал позволяет передавать дополнительные параметры в информационную базу приемник из источника. Передавать данные в приемник - флаг определяет куда будут помещены данные при загрузке. Непосредственно в найденный для изменения объект. Передавать данные в параметр - флаг определяет куда будут помещены данные при загрузке. В отдельное соответствие для данного объекта, но не в сам объект. Этот подход удобен когда нужно передать какое либо значение в приемник, но нет реквизита куда нужно его поместить. Впоследствии анализируя дополнительные параметры можно изменить логику заполнения объекта приемника. В правилах необходимо указать имя параметра куда нужно поместить данные. Для табличных частей и наборов движений для каждой строки формируется отдельная структура в которой хранится информация. Доступ к этим данным возможен в событии после загрузки. Например так: Если ПараметрыОбъекта <> Неопределено тогда ИмяКонтрагента = ПараметрыОбъекта["ИмяКонтрагента"]; КонецЕсли; // если нужен доступ к параметрам табличной части Если ПараметрыОбъекта <> Неопределено тогда ТаблицаПараметровТовары = ПараметрыОбъекта["ТоварыТабличнаяЧасть"]; Для Каждого СтрокаПараметров Из ТаблицаПараметровТовары Цикл ИмяНоменклатуры = СтрокаПараметров.ИмяНоменклатуры; КонецЦикла; КонецЕсли; |
|||
5
sakila
26.12.08
✎
10:37
|
Кстати, думаю подобную операцию можно сделать добавив приемнику произвольный ХМЛ узел в ПКО ПриВыгрузке через переменную Приемник - узел приемник.
Делаю как в описании в ПКО ПриВыгрузке: //запишем ВидТорговли ИнформацияОТипеТорговли = СоздатьУзел("ИнформацияОТипеторговли"); УстановитьАтрибут(ИнформацияОТипеТорговли, "ТипТорговли", Источник.ВидТорговли); ДобавитьПодчиненный(Приемник, ИнформацияОТипеТорговли); Данные выгружаются из 77, а в 81 одни ошибки - Ошибка формата файла обмена в общем тоже не хорошо ... |
|||
6
sakila
26.12.08
✎
10:45
|
Извените за возможно глупый вопрос, но эти параметры:
Передавать данные в приемник Передавать данные в параметр где их можно настроить, интерактивно, или опять же - где то в коже инициализировать ... |
|||
7
Лирик
26.12.08
✎
10:46
|
(6) В ПКС есть переключатель.
|
|||
8
Defender aka LINN
26.12.08
✎
10:47
|
(5), (6), я не пойму, в (5) что, шрифт недостаточно крупный?
|
|||
9
Defender aka LINN
26.12.08
✎
10:48
|
т.е. в (4)
|
|||
10
sakila
26.12.08
✎
10:55
|
Окей, спасибо за помощь, а тоя не оттуда начал искать, и само - собой - ничего не нашол ... спасибо огромное всем откликнувшимся ...
|
|||
11
sakila
26.12.08
✎
10:57
|
Ещё вопрос - у меня свойство ПКС Передавать данные в параметр недоступно, думаю потому что я выгружаю данные из 77. Как тогда быть, нужно использовать механизм (6) ???
|
|||
12
sakila
26.12.08
✎
10:57
|
Извените, не (6), а
Кстати, думаю подобную операцию можно сделать добавив приемнику произвольный ХМЛ узел в ПКО ПриВыгрузке через переменную Приемник - узел приемник. Делаю как в описании в ПКО ПриВыгрузке: //запишем ВидТорговли ИнформацияОТипеТорговли = СоздатьУзел("ИнформацияОТипеторговли"); УстановитьАтрибут(ИнформацияОТипеТорговли, "ТипТорговли", Источник.ВидТорговли); ДобавитьПодчиненный(Приемник, ИнформацияОТипеТорговли); Данные выгружаются из 77, а в 81 одни ошибки - Ошибка формата файла обмена |
|||
13
Defender aka LINN
26.12.08
✎
10:58
|
(11) Если ты про (5), то можно и его. А вообще, можно описать задачу, бо сдается мне, ты фигней маешься.
|
|||
14
sakila
26.12.08
✎
10:58
|
Или как по другому в приемник передать само значение ТипТорговли, чтобы там проанализировать???
|
|||
15
sakila
26.12.08
✎
11:02
|
Описание вопроса в (3) - если договор в док. источнике не указан, после загрузке создаю договор по умолчанию, но у меня нет в приемнике поля источника ТипТорговли. Тоесть если в источнике ТипТорговли - Бартер, вид догоовора в приёмнике должет быть "Бартерный", а потому мне значение источника ТипТорговли нужно как то передать в процедуру ПриЗагрузке, или ПослеЗагрузки приемника, чтобы там её проанализировать ...
|
|||
16
sakila
26.12.08
✎
11:04
|
Что касается (5) - так я уже написал, что данные из 77 выгружаются без проблем, а при загрузке в 81 (я в обработчиках ПриЗагрузке и т.д, и т.п. вообще ничего не писал) получаю сплошные ошибки
Ошибка формата файла обмена Тоесть, я так понимаю Конвертации вообще не нравится даже тот факт что я "врезался" в ХМЛ узел своим узлом ... |
|||
17
Defender aka LINN
26.12.08
✎
11:20
|
(15) Все это делается и без таких извращений.
|
|||
18
Лирик
26.12.08
✎
11:45
|
(15) Я бы при конвертации договора из документа проверял бы его на пустой и если пустой формировал бы исходящие данные.
|
|||
19
sakila
26.12.08
✎
15:02
|
(18) и чего бы потом с ними (исходящими данными) делать ...
Новый договор мы то формируем на стороне приёмника (Тоесть, после загрузки) ... Каким образом ИсходящиеДанные попадут в этот обработчик - по моему они туда так просто не передаются - тогда подходит либо (5), но там ошибка - я уже описал какого плана, либо ПараметрыОбъета (работает только для 80 - 80) ... |
|||
20
Defender aka LINN
26.12.08
✎
15:04
|
(19) "Новый договор мы то формируем на стороне приёмника" - То вы. Мы формируем на стороне источника и не паримся.
|
|||
21
sakila
26.12.08
✎
15:11
|
Извените,я с компоновкой буквально 2 день дружу - как это можно сделать, в каких обработчиках каких ПВД, ПКО, ПКС - ???
И почему получаем ошибку (5) - ведь механизм (5) - очень сильное средство, а не работает ... или может есть ньюансы какие то .... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |