Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

кд2: из 7-ки в 8-ку: при выгрузке сформировать параметр и передать его в 8-ку...

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


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

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.