Несколько слов о контексте выполнения правил обмена на примере обмена УТ 10.3 - БП 2.0

22.09.15

Интеграция - Перенос данных 1C

Использование контекста выполнения правил обмена на примере решения одной задачи фонового обмена

В клиент-серверном варианте настроен односторонний обмен данными УТ 10.3 - БП 2.0 при помощи обычного файлового обмена, выполняющегося вручную.

Выполнили выгрузку из УТ, выполнили загрузку в БП, выгрузили обратно xml с сообщением об успешной загрузке, сделали таким образом несколько раз, чтобы вывести количество выгружаемых объектов в 0, выполнили отложенные движения в БП и сохранили полученный результат обмена в виде документа mxl.

Перевести такой обмен в фоновые задания несложно, вопрос лишь в том, как выполнить последний этап, отложенные движения с фиксацией результата, да еще и чтобы вывести количество объектов в 0.

Обратим внимание на сами правила обмена, а именно на обработчик "После загрузки данных". То, что обмен "добрался" до исполнения кода этого обработчика, как раз говорит о том, что все данные загружены успешно.

Сюда и вставим обработку выполнения отложенных движений с фиксацией результата:

1. Запомним, что было в регистре сведений "Отложенные движения документов".

// получение документов перед проведением
Запрос = Новый Запрос("ВЫБРАТЬ
			|	ОтложенныеДвиженияДокументов.Документ
	                |ИЗ
			|	РегистрСведений.ОтложенныеДвиженияДокументов КАК ОтложенныеДвиженияДокументов
			|ГДЕ
			|	ОтложенныеДвиженияДокументов.УзелОбмена = &УзелОбмена");
Запрос.УстановитьПараметр("УзелОбмена", УзелОбмена);
ТЗКПроведению = Запрос.Выполнить().Выгрузить();
ТЗКПроведению.Индексы.Добавить("Документ");

2. Выполним отложенные движения:

СтрокаСообщенияОбОшибкеОтложенногоДвиженияДокументов = ПроцедурыОбменаДаннымиПолныеПрава.ВыполнитьОтложенныеДвиженияПоПараметрамПодПолнымиПравамиНаСервере(УзелОбмена,
        ПрекратитьПроведениеДокументовВСлучаеОшибки, КоличествоОшибокОбменаДляПрекращенияПроведения);

3. Проанализируем состояние регистра "Отложенные движения документов" после проведения:

// получение документов после проведения
Запрос = Новый Запрос("ВЫБРАТЬ
                        |    ОтложенныеДвиженияДокументов.Документ
                        |ИЗ
                        |    РегистрСведений.ОтложенныеДвиженияДокументов КАК ОтложенныеДвиженияДокументов
                        |ГДЕ
                        |    ОтложенныеДвиженияДокументов.УзелОбмена = &УзелОбмена");
Запрос.УстановитьПараметр("УзелОбмена", УзелОбмена);
ТЗПослеПроведения = Запрос.Выполнить().Выгрузить();        
ТЗПослеПроведения.Индексы.Добавить("Документ");

4. Выполним простое сравнение таблиц документов до и после проведения и выведем результат в файл:

ТЗОбщая = ТЗКПроведению.СкопироватьКолонки();
ТЗОбщая.Колонки.Добавить("Проведен", Новый ОписаниеТипов("Булево"));

Для Каждого СтрокаТЗ Из ТЗКПроведению Цикл
	СтрокаТЗО = ТЗОбщая.Добавить();
	СтрокаТЗО.Документ = СтрокаТЗ.Документ;		
	Если ТЗПослеПроведения.Найти(СтрокаТЗ.Документ, "Документ") = Неопределено Тогда
		//Пока ВыборкаУзлов.Следующий() Цикл
		//	ПланыОбмена.УдалитьРегистрациюИзменений(ВыборкаУзлов.Ссылка, СтрокаТЗ.Документ);
		//КонецЦикла;
		СтрокаТЗО.Проведен = Истина;
	Иначе 
		СтрокаТЗО.Проведен = Ложь;
	КонецЕсли;
КонецЦикла;

ТабДок = Новый ТабличныйДокумент;
КолСтр = 0;

Для Каждого СтрокаТЗ Из ТЗОбщая Цикл
	КолСтр = КолСтр + 1;
	ТабДок.Область(КолСтр, 1).Текст = Строка(СтрокаТЗ.Документ);
	ТабДок.Область(КолСтр, 2).Текст = Строка(СтрокаТЗ.Проведен);
КонецЦикла;

ТабДок.Записать(ИмяФайлаЛога);

И напоследок самое интересное. А как же условие выполнить это при выведенном количестве объектов в 0?

Дело в том, что правила обмена выполняются в контексте встроенной в конфигурацию БП 2.0 обработки ОбменДаннымиXML.

То есть, нам доступны все экспортные переменные этой обработки.

Для решения этой задачи понадобится всего одна: мСчетчикЗагруженныхОбъектов.

Обрамляем код в условие, и задача решена:

Если мСчетчикЗагруженныхОбъектов = 0 Тогда

...

КонецЕсли;

Вот, пожалуй, и всё, спасибо за внимание. Возможно, кому-то пригодится, а себе - для памяти.

P.S. Еще одна публикация об обмене данными:

Быстрое создание обмена между нетиповой УТ 10.3 и типовой БП 2.0 последней версии

Вступайте в нашу телеграмм-группу Инфостарт

обмен данными торговля бухгалтерия выгрузка данных торговля бухгалтерия УТ 10.3 БП 2.0 фоновый обмен отложенные движения документов контекст выполнения правил обмена

См. также

SALE! 10%

Перенос данных 1C Программист 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

61356 55220 руб.

04.08.2015    179939    410    293    

424

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27660 руб.

12.06.2017    153791    905    304    

466

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

61356 55220 руб.

15.04.2019    79483    214    163    

153

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

52967 47670 руб.

25.02.2015    178560    329    277    

396

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

58422 52580 руб.

03.12.2020    42358    121    75    

115

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.255.x) и БП 3.0 (3.0.183.x). Правила подходят для версии ПРОФ и КОРП.

38000 руб.

15.12.2021    30158    216    58    

161

SALE! 10%

Перенос данных 1C Системный администратор Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Правила переноса данных из БП 3.0 в УТ 11 | из БП 3.0 в КА 2 | из БП 3.0 в ERP | Сэкономьте свое время - используйте готовое решение для перехода! | Постоянно работаем над развитием переноса данных | Обновляем на новые релизы 1С | Есть фильтр выгрузки по организациям | Переносятся начальные остатки на выбранную дату, документы за период времени и вся возможная справочная информация | Перенос сделан на технологии КД 2 (правила конвертации данных) Воспользовались более 122 предприятий! |

61356 55220 руб.

31.10.2014    243312    113    351    

318

Перенос данных 1C Программист Бухгалтер 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ ФОМС, ЕФС Платные (руб)

Обработки для быстрого перехода с конфигураций «КАМИН:Расчет заработной платы 3.0», «КАМИН:Зарплата для бизнеса 4.0» и «КАМИН:Зарплата 5.0» на конфигурацию «Зарплата и управление персоналом» версии 3.1.

12000 руб.

25.09.2016    87063    378    257    

315
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Гость 23.09.15 10:50
А как же условие выполнить это при выведенном количестве объектов в 0?

Йода, блин! :)
0rb; cargobird; +2 Ответить
Для отправки сообщения требуется регистрация/авторизация