|
кд2: из 7-ки в 8-ку: при выгрузке сформировать параметр и передать его в 8-ку... | ☑ | ||
---|---|---|---|---|
0
серый КТУЛХУ
18.11.21
✎
02:57
|
обмен 77-83.
завел параметр конвертации типа "строка", "использовать параметр при загрузке" = да(вкл). нужно в него при выгрузке объектов в обработчике пко собирать значения (одного нужного) реквизита конвертируемых объектов (документов). после этого надо выгрузить в файл обмена так, чтобы он потом в приемнике загрузился и распарсился как надо (код парсинга пишу в обработчике "После загрузки"). как бы сие провернуть? |
|||
1
серый КТУЛХУ
18.11.21
✎
02:58
|
* (код парсинга пишу в обработчике "После загрузки" этого параметра)
|
|||
2
hhhh
18.11.21
✎
03:30
|
(0) если строка, то просто через реквизит Комментарий передавайте.
|
|||
3
youalex
18.11.21
✎
03:35
|
(0) добавить произвольное ПКС , с "Передавать данные в параметр"
В ПКО, После загрузки ловить его в ПараметрыОбъекта[ИмяПараметра] |
|||
4
серый КТУЛХУ
18.11.21
✎
03:36
|
(2): какой "реквизит"? реквизит чего???
еще раз. мне надо по результату выгрузки объектов по правилам - собрать в один параметр (строку определенной структуры) конвертации (всей!) некий текст. для того чтобы я в приемнике мог этот параметр принять, и текст из него определенным образом обработать (разорать и в определенные данные распихать - код парсинга пишу в обработчике "После загрузки" этого параметра). (3): какого свойства, свойства чего? он не к объекту относится ни к какому - он накопительный для всех объектов определенных типов. |
|||
5
youalex
18.11.21
✎
03:45
|
(4) Тогда Параметры конвертации - галка Передавать при выгрузке (сам не пользовал, но по идее похоже)
|
|||
6
youalex
18.11.21
✎
04:10
|
(5) похоже это не оно, эта галка завязана на отображение в диалоге (т.е. выгружается параметр, который указан в диалоге обработки выгрузки)
вот здесь решение: v8: Конвертация 2.0, Простая задача: передать параметр в загрузку |
|||
7
welwel
18.11.21
✎
04:36
|
(0) в кд2 в справке к обработчикам событий емнип в ПослеВыгрузкиВФайл был пример выгрузки произвольных данных - может, это подойдёт
|
|||
8
серый КТУЛХУ
18.11.21
✎
04:53
|
из 77 не получается.
|
|||
9
big
18.11.21
✎
06:11
|
При выгрузке создать узел "МойНужныйУзел", в него поместить всё что надо и при загрузке его распарсить. Делал такое, но только в обратную сторону - из 8-ки в 7-ку. Принцип один и тот же, работать будет однозначно )
|
|||
10
big
18.11.21
✎
06:12
|
(9) Книга Бояркина, страница 138 - в аккурат такой случай описывается
|
|||
11
d4rkmesa
18.11.21
✎
08:07
|
(0) Сейчас нет доступа к старой конвертации, когда-то делал что-то такое. В выгрузке 7.7 т.к. это не последовательная запись, а через DOM, довольно широко крутить можно, добавляя в XML нужные узлы.
|
|||
12
серый КТУЛХУ
19.11.21
✎
15:01
|
в общем - всем спасибо, вопрос настройки правил конвертации для формирования в 7-ке параметра-строки с чем угодно (формирование методом прочитал + записал в обработчиках выгрузки) - передачи(!) ее в параметре в 8-ку, и там в обработчике "после загрузки данных" анализ этого параметра и выполнение нужных действий в базе данных - решён.
1. Завести параметр (допустим "ТекстИнструкций") типа "строка" со всеми галками (это важно! иначе будет не передать и даже не сохранить) "устанавливать в диалоге при выгрузке данных", "использовать параметр при загрузке", "передавать параметр из информационной базы источника в приемник". 2. В нужных обработчиках выгрузки: // 2.1. Получение ссылки на параметр: ИмяПараметра = "ТекстИнструкций"; НомерСтроки = 0; ТаблицаНастройкиПараметров.НайтиЗначение(ИмяПараметра, НомерСтроки, "Имя"); Если НомерСтроки = 0 Тогда ТаблицаНастройкиПараметров.НоваяСтрока(); НомерСтроки = ТаблицаНастройкиПараметров.КоличествоСтрок(); ТаблицаНастройкиПараметров.ПолучитьСтрокуПоНомеру(НомерСтроки); ТаблицаНастройкиПараметров.Значение = ""; Иначе ТаблицаНастройкиПараметров.ПолучитьСтрокуПоНомеру(НомерСтроки); КонецЕсли; // 2.2. усьо, теперь можно напихивать и накапливать в ТаблицаНастройкиПараметров.Значение все что надо. 3. (главное! потому что иначе параметр в 8-ку не передать) Обработчик (конвертации) "после выгрузки данных": ИмяПараметра = "ТекстИнструкций"; НомерСтроки = 0; ТаблицаНастройкиПараметров.НайтиЗначение(ИмяПараметра, НомерСтроки, "Имя"); Если НомерСтроки = 0 Тогда // все равно надо передать - пустую строку: ТаблицаНастройкиПараметров.НоваяСтрока(); НомерСтроки = ТаблицаНастройкиПараметров.КоличествоСтрок(); ТаблицаНастройкиПараметров.ПолучитьСтрокуПоНомеру(НомерСтроки); ТаблицаНастройкиПараметров.Значение = ""; Иначе ТаблицаНастройкиПараметров.ПолучитьСтрокуПоНомеру(НомерСтроки) КонецЕсли; УзелПарам = СоздатьУзел("ЗначениеПараметра"); УстановитьАтрибут(УзелПарам, "Имя", ИмяПараметра); УстановитьАтрибут(УзелПарам, "Тип", "Строка"); ЗаписатьЭлемент(УзелПарам, "Значение", ТаблицаНастройкиПараметров.Значение); ДобавитьПодчиненный(rootNode, УзелПарам); // все, параметр выгружен и поедет в приемник (можно в xml слазить поискать его) 4. Обработчик(конвертации) "после загрузки данных" - вытаскивание содержимого параметра, его анализ и выполнение чего угодно. ЗначениеПараметра = СокрЛП(Параметры.ТекстИнструкций); // хобана! а ну-ка, что там нам в параметре приехало... как-то так. всем - спасибо. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |