Имя: Пароль:
1C
1С v8
кд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. Обработчик(конвертации) "после загрузки данных" - вытаскивание содержимого параметра, его анализ и выполнение чего угодно.
ЗначениеПараметра = СокрЛП(Параметры.ТекстИнструкций); // хобана! а ну-ка, что там нам в параметре приехало...

как-то так.
всем - спасибо.