Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   вопрос по конвертации данных (http://forums.kuban.ru/f1040/vopros_po_konvertacii_dannyh-8168442.html)

mavayka 23.01.2017 11:32

вопрос по конвертации данных
 
Помогите, пожалуйста, разобраться.
Нужно сделать синхронизацию справочника ОС между бгу 1.0 и самописной конфигурацией.
Есть правила обмена данными . Если я запускаю вручную обработку с этими правилами, то все выгружается и загружается без ошибок. А при программном запуске ничего не грузится.
Соединение устанавливается, сообщений об ошибках не выходдит, но и ничего не загружается. В чем может быть дело?
Вот код обработки:

УниверсальныйОбменДанными = Соединение.Обработки.УниверсальныйОбменДаннымиXML.Создать();
УниверсальныйОбменДанными.КомментарийПриВыгрузкеДанных = Истина;
УниверсальныйОбменДанными.ВерсияПлатформыИнформационнойБазыДляПодключения = ПараметрыТекущейБазы.ВерсияПлатформыИнформационнойБазыДляПодключения;
Если ПараметрыТекущейБазы.ТипСоединения = 0 Тогда
УниверсальныйОбменДанными.ТипИнформационнойБазыДляПодключения = Истина;
УниверсальныйОбменДанными.КаталогИнформационнойБазыДляПодключения = ПараметрыТекущейБазы.КаталогБазы;
Иначе
УниверсальныйОбменДанными.ТипИнформационнойБазыДляПодключения = Ложь;
УниверсальныйОбменДанными.ИмяСервераИнформационнойБазыДляПодключения = ПараметрыТекущейБазы.Сервер;
УниверсальныйОбменДанными.ИмяИнформационнойБазыНаСервереДляПодключения = ПараметрыТекущейБазы.ИмяБазы;
КонецЕсли;
УниверсальныйОбменДанными.ПользовательИнформационнойБазыДляПодключения = ПараметрыТекущейБазы.Пользователь;
УниверсальныйОбменДанными.ПарольИнформационнойБазыДляПодключения = ПараметрыТекущейБазы.Пароль;
УниверсальныйОбменДанными.АутентификацияWindowsИнформационнойБазыДляПодключения = Ложь;
УниверсальныйОбменДанными.НепосредственноеЧтениеВИБПриемнике = Истина;
ТекстПравилОбмена = ПолучитьОбщийМакет("ПравилаОбмена");
ИмяФайлаПравилОбмена = Соединение.КаталогВременныхФайлов() + "ПравилаОбмена.xml";
ТекстПравилОбмена.Записать(ИмяФайлаПравилОбмена);
УниверсальныйОбменДанными.ИмяФайлаПравилОбмена = ИмяФайлаПравилОбмена;
УниверсальныйОбменДанными.ЗагрузитьПравилаОбмена();
УниверсальныйОбменДанными.ВыполнитьВыгрузку();
УдалитьФайлы(ИмяФайлаПравилОбмена);

mavayka 23.01.2017 11:58

Пробую вместо строки
УниверсальныйОбменДанными.НепосредственноеЧтениеВИБПриемнике = Истина;
ставить
УниверсальныйОбменДанными.РежимОбмена = "Выгрузка";
УниверсальныйОбменДанными.ИмяФайлаОбмена = "D:\3\111.xml";
Выгрузка тоже проходит, файл выгрузки формируется с измененными ОС.
А вот при установленном НепосредственноеЧтениеВИБПриемнике почему то не хочет(((

mavayka 23.01.2017 12:46

Получается, что если последовательно делать выгрузку в файл, а потом загрузку:
ОбработкаОбмена = Обработки.УниверсальныйОбменДаннымиXML.Создать();
ОбработкаОбмена.ИмяФайлаОбмена = "D:\3\111.xml";
ОбработкаОбмена.РежимОбмена = "Загрузка";
ОбработкаОбмена.ОткрытьФайлЗагрузки(Истина);
ОбработкаОбмена.АрхивироватьФайл = Ложь;;
ОбработкаОбмена.ВыполнитьЗагрузку();
ОбработкаОбмена = Неопределено;
то все работает,
НепосредственноеЧтениеВИБПриемнике как раз для того, чтобы обойтись без выгрузки в файл,
почему не работает, помогите разобраться, пожалуйста.

VZ 23.01.2017 19:39

"[em]запускаю вручную обработку[/em]" -> "запускаю обработку [b]интерактивно[/b]"
"[em]при программном запуске[/em]" -> "при запуске [b]в фоне[/b]"
Это имеется ввиду?

mavayka 24.01.2017 11:30

(3) вручную - да, интерактивно.Обработка Универсальный обмен данными в формате xml c установленным Подключение и выгрузка данных в ИБ Приемник.
программный запуск - запускаю обработку,код которой привела выше.


Текущее время: 17:42. Часовой пояс GMT +3.