|
Может у кого то есть пример обработки обмена | ☑ | ||
---|---|---|---|---|
0
Tarlich
29.09.20
✎
11:48
|
Хочу сделать обмен (Из УТ 10,3), на КД 2 что бы пользователь в начале сам мог выбрать условия , заполнилось ТЗ , выбрал что надо ,
(как я понимаю) из макета подтянуться правила .... Прошу какой нибудь примерчик |
|||
1
Avalone2010
29.09.20
✎
11:54
|
(0)Лови!
//1. Так как для инормационной базы может быть указано несколько правил конвертации мы все сконвертированные файлы будем помещать в массив МассивФайлов = Новый Массив; //2. Процедемся по правилам выгрузки для нашей обрабатываемой базу Для Каждого СтрокаПравилВыгрузки Из ИнформационнаяБаза.ПравилаВыгрузкиДанных Цикл Если СтрокаПравилВыгрузки.Состояние = Перечисления.ОБМ_СостоянияИспользования.НеИспользуется Тогда Продолжить; КонецЕсли; //3. Получим правила конвертации ПравилоВыгрузки = СтрокаПравилВыгрузки.Правило; ПравилоКонвертацииДД= ПравилоВыгрузки.ПравилаКонвертации.Получить();// двоичные данные //4. Сохранаяем правила конвертации ПутьКПравиламКД = ПолучитьИмяВременногоФайла("xml"); ПравилоКонвертацииДД.Записать(ПутьКПравиламКД); // Записываем правила на диск //5. Создаем файл выгрузки данных, в него будут записаны выгружаемые данные ПутьКФайлуДанных = ПолучитьИмяВременногоФайла("xml"); ТекстовыйДокумент= Новый ТекстовыйДокумент; ТекстовыйДокумент.Записать(ПутьКФайлуДанных); //6. Инициализируем обработку обмена ОбработкаОбмена = Обработки.УниверсальныйОбменДаннымиXML.Создать(); //6.1 Загружаем макет правил конвертации ОбработкаОбмена.ЗагрузитьПравилаОбмена(ПутьКПравиламКД, "XMLФайл"); //6.2 Устанавливаем файл выгрузки данных ОбработкаОбмена.ИмяФайлаПравилОбмена = ПутьКПравиламКД; ОбработкаОбмена.ИмяФайлаОбмена = ПутьКФайлуДанных; //6.3 Заполнение параметров Для Каждого СтрокаПараметра Из ОбработкаОбмена.Параметры Цикл ИмяПараметра = СтрокаПараметра.Ключ; СтруктураПоиска = Новый Структура("ИмяПараметра", ИмяПараметра); МассивСтрок = СтрокаПравилВыгрузки.Правило.ПараметрыКонвертации.НайтиСтроки(СтруктураПоиска); Если МассивСтрок.Количество() > 0 Тогда ОпределяемыйПараметр = МассивСтрок[0]; Если ЗначениеЗаполнено(ОпределяемыйПараметр.Значение) Тогда ОбработкаОбмена.Параметры[ИмяПараметра] = ОпределяемыйПараметр.Значение; Иначе Рез = Неопределено; Выполнить(ОпределяемыйПараметр.Алгоритм); ОбработкаОбмена.Параметры[ИмяПараметра] = Рез; КонецЕсли; КонецЕсли; КонецЦикла; //7.4 Инициализация параметров и выгрузка данных ОбработкаОбмена.ИнициализироватьПервоначальныеЗначенияПараметров(); ОбработкаОбмена.ВыполнитьВыгрузку(); //8. Запись данных обмена в массив файлов значения //8.1 Получим имя файла Рез = ""; Выполнить(СтрокаПравилВыгрузки.ШаблонИмениФайла); ИмяФайла = ?(ЗначениеЗаполнено(Рез), Рез, "Файл данных") + ".xml"; ДвоичныеДанные = Новый ДвоичныеДанные(ПутьКФайлуДанных); МассивФайлов.Добавить(Новый Структура("ИмяФайла, ДвоичныеДанные", ИмяФайла, ДвоичныеДанные)); КонецЦикла; //Данные получены, выполним их отправку транспортом сообщения ВыполнитьОтправкуДанныхОбмена(ИнформационнаяБаза, МассивФайлов); |
|||
2
Ёпрст
29.09.20
✎
11:54
|
УниверсальныйОбменДаннымиXML
|
|||
3
Avalone2010
29.09.20
✎
11:54
|
к(1) смотри с п.3
|
|||
4
Tarlich
29.09.20
✎
12:05
|
(1) Спасибо ! направление понятно
|
|||
5
Tarlich
29.09.20
✎
12:05
|
С Этим я все понял
ПутьКПравиламКД = ПолучитьИмяВременногоФайла("xml"); ПравилоКонвертацииДД.Записать(ПутьКПравиламКД);// Записываем правила на диск //5. Создаем файл выгрузки данных, в него будут записаны выгружаемые данные ПутьКФайлуДанных = ПолучитьИмяВременногоФайла("xml"); ТекстовыйДокумент= Новый ТекстовыйДокумент; ТекстовыйДокумент.Записать(ПутьКФайлуДанных); //6. Инициализируем обработку обмена ОбработкаОбмена = Обработки.УниверсальныйОбменДаннымиXML.Создать(); //6.1 Загружаем макет правил конвертации ОбработкаОбмена.ЗагрузитьПравилаОбмена(ПутьКПравиламКД, "XMLФайл"); //6.2 Устанавливаем файл выгрузки данных ОбработкаОбмена.ИмяФайлаПравилОбмена = ПутьКПравиламКД; ОбработкаОбмена.ИмяФайлаОбмена = ПутьКФайлуДанных; |
|||
6
Tarlich
29.09.20
✎
12:09
|
Я думаю что в Обработке будет табличнаячасть со списком документов (они могут быть разные по виду) - вот я и думаю как ее передать в обработку - параметром ?
|
|||
7
Avalone2010
29.09.20
✎
13:45
|
(6) загрузи вот этим макаром правила твои и смотри свойства объекта "ОбработкаОбмена". Там по свойствам поковыряешься и сообразишь что и куда передавать.
|
|||
8
ДНН
29.09.20
✎
13:57
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |