Универсальный обмен данными XML через подписку
Товарищи!
Скажите мне, непутевому, можно ли как-либо настроить обмен по подписке на событие при проведении документа?
Дано:
- самописные правила обмена на КД 2. Работоспособность проверил типовой обработкой XML
- КА 1.1 (Источник)
- БП 3.0 (Приемник)
- Платформа 8.3.12.1440 (Серверный вариант)
- Обмен через COM стандартной обработкой УниверсальныйОбменДаннымиXML, которая запускается по подписке на событие и стартуется через .
Написал простую обработку с таким кодом для отладки.
Проверил - все работает.
Но, если я делаю вот так в общем модуле "МодульРегламентныхЗаданий" (Модуль не глобальный.)
То даже не метод не стартует
Скажите мне, непутевому, можно ли как-либо настроить обмен по подписке на событие при проведении документа?
Дано:
- самописные правила обмена на КД 2. Работоспособность проверил типовой обработкой XML
- КА 1.1 (Источник)
- БП 3.0 (Приемник)
- Платформа 8.3.12.1440 (Серверный вариант)
- Обмен через COM стандартной обработкой УниверсальныйОбменДаннымиXML, которая запускается по подписке на событие и стартуется через
ФоновоеЗадание.Выполнить("ИмяПроцедуды")
Написал простую обработку с таким кодом для отладки.
Проверил - все работает.
Процедура КнопкаВыполнитьНажатие(Кнопка)
ВыгрузкаВБП();
КонецПроцедуры
Процедура ВыгрузкаВБП()
ОбработкаОбмена = Обработки.УниверсальныйОбменДаннымиXML_v3.Создать();
ОбработкаОбмена.РежимОбмена = "Выгрузка";
врФайл = ПолучитьИмяВременногоФайла("xml");
МакетПравил = ПланыОбмена.ОбменСБухгалтерияПредприятия3.ПолучитьМакет("ПравилаВыгрузкиКА_БП");
МакетПравил.Записать(врФайл);
ОбработкаОбмена.ИмяФайлаПравилОбмена = врФайл;
ОбработкаОбмена.ЗагружатьДанныеВРежимеОбмена = Истина;
ОбработкаОбмена.ЗаписыватьРегистрыНаборамиЗаписей = Истина;
ОбработкаОбмена.ЗапоминатьЗагруженныеОбъекты = Истина;
ОбработкаОбмена.ТипУдаленияРегистрацииИзмененийДляУзловОбменаПослеВыгрузки = 2;
ОбработкаОбмена.ТипИнформационнойБазыДляПодключения = Ложь;
ОбработкаОбмена.ВерсияПлатформыИнформационнойБазыДляПодключения = "V83";
ОбработкаОбмена.ИмяИнформационнойБазыНаСервереДляПодключения = "******";
ОбработкаОбмена.ИмяСервераИнформационнойБазыДляПодключения = "******";
ОбработкаОбмена.ПользовательИнформационнойБазыДляПодключения = "********";
ОбработкаОбмена.ПарольИнформационнойБазыДляПодключения = "********";
ОбработкаОбмена.НепосредственноеЧтениеВИБПриемнике = Истина;
ОбработкаОбмена.ЗагрузитьПравилаОбмена();
УстановитьУзелОбменаУСтрокДерева(ОбработкаОбмена.ТаблицаПравилВыгрузки.Строки, ПланыОбмена.ОбменСБухгалтерияПредприятия3.НайтиПоКоду("БП"));
ОбработкаОбмена.ВыполнитьВыгрузку();
КонецПроцедуры
// Установка узла выгрузки для объектов
//
Процедура УстановитьУзелОбменаУСтрокДерева(Дерево, УзелОбмена)
Для Каждого Строка Из Дерево Цикл
Если Строка.ЭтоГруппа Тогда
УстановитьУзелОбменаУСтрокДерева(Строка.Строки, УзелОбмена);
Иначе
Строка.СсылкаНаУзелОбмена = УзелОбмена;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
ПоказатьНо, если я делаю вот так в общем модуле "МодульРегламентныхЗаданий" (Модуль не глобальный.)
То даже не метод
ОбменятьсяДаннымиСБП()
//////////////////////////////////////////////////////////// //////////////////////
// ОБМЕН С БУХГАЛТЕРИЕЙ 3.0
Процедура ОбменятьсяДаннымиСБП() Экспорт
ОбработкаОбмена = Обработки.УниверсальныйОбменДаннымиXML_v3.Создать();
ОбработкаОбмена.РежимОбмена = "Выгрузка";
врФайл = ПолучитьИмяВременногоФайла("xml");
МакетПравил = ПланыОбмена.ОбменСБухгалтерияПредприятия3.ПолучитьМакет("ПравилаВыгрузкиКА_БП");
МакетПравил.Записать(врФайл);
ОбработкаОбмена.ДатаНачала = Константы.ДатаЗапретаИзмененийДокументов.Получить();
ОбработкаОбмена.ДатаОкончания = ТекущаяДата();
ОбработкаОбмена.ИмяФайлаПравилОбмена = врФайл;
ОбработкаОбмена.ЗагружатьДанныеВРежимеОбмена = Истина;
ОбработкаОбмена.ЗаписыватьРегистрыНаборамиЗаписей = Истина;
ОбработкаОбмена.ЗапоминатьЗагруженныеОбъекты = Истина;
ОбработкаОбмена.ТипУдаленияРегистрацииИзмененийДляУзловОбменаПослеВыгрузки = 2;
ОбработкаОбмена.ТипИнформационнойБазыДляПодключения = Ложь;
ОбработкаОбмена.ВерсияПлатформыИнформационнойБазыДляПодключения = "V83";
ОбработкаОбмена.ИмяИнформационнойБазыНаСервереДляПодключения = "db_buh_v3";
ОбработкаОбмена.ИмяСервераИнформационнойБазыДляПодключения = "s1c2k16";
ОбработкаОбмена.ПользовательИнформационнойБазыДляПодключения = "АдушкинВ";
ОбработкаОбмена.ПарольИнформационнойБазыДляПодключения = "135246";
ОбработкаОбмена.НепосредственноеЧтениеВИБПриемнике = Истина;
ОбработкаОбмена.ЗагрузитьПравилаОбмена();
УстановитьУзелОбменаУСтрокДерева(ОбработкаОбмена.ТаблицаПравилВыгрузки.Строки, ПланыОбмена.ОбменСБухгалтерияПредприятия3.НайтиПоКоду("БП"));
ОбработкаОбмена.ВыполнитьВыгрузку();
КонецПроцедуры
// Процедура УстановитьУзелОбменаУСтрокДерева
// Описание: Установка узла выгрузки для объектов
//
Процедура УстановитьУзелОбменаУСтрокДерева(Дерево, УзелОбмена)
Для Каждого Строка Из Дерево Цикл
Если Строка.ЭтоГруппа Тогда
УстановитьУзелОбменаУСтрокДерева(Строка.Строки, УзелОбмена);
Иначе
Строка.СсылкаНаУзелОбмена = УзелОбмена;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура ПодпискаНаСобытие1ОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт
ФоновыеЗадания.Выполнить("МодульРегламентныхЗаданий.ОбменятьсяДаннымиСБП");
КонецПроцедуры
ПоказатьПо теме из базы знаний
- Обмен данными онлайн через Веб-сервис с использованием обработки "Универсальный обмен данными XML"
- Организация обмена с базой филиала (розничного магазина) в торговой сети через XML (универсальный обмен)
- Новый подход к обмену данными EnterpriseData
- Перенос данных из 1С:Альфа-Авто ред. 5.1 в 1С:Альфа-Авто ред. 6.1. Переносятся справочники, остатки и документы.
- Защита объектов от изменения обменом
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот