Автоматизация обмена данными с использованием обработки "Универсальный обмен данными в формате XML". Пример реализации

Администрирование - Системное

универсальный обмен обмен расписание обработка

71
Есть правила обмена, которые отлажены и хорошо работают в обработке "Универсальный обмен данными в формате XML". И тут появляется желание, чтобы обмен этот работал сам, запускаясь автоматически, по расписанию. Изучив этот вопрос по различным источникам, получился следующий пример реализации.

В нашей организации сосуществуют четыре конфигурации: Бухгалтерия 2.0, УТ, ЗУП, Аренда. Некоторые из них с доработками, поэтому воспользоваться стандартными средствами обмена между типовыми конфигурациями оказалось невозможно. Правила были созданы в «Конвертации данных». И хотя обработкой «Универсальный обмен данными в формате XML» пользоваться просто и удобно, но с таким количеством конфигураций становится обременительным ежедневно выполнять монотонные действия.

Итак, правила есть, обработка, которая их запускает – тоже. Осталось найти способ запустить «Универсальный обмен …» из командной строки, по расписанию. Вот что получилось:

Это сама команда, которую записываем в cmd-файл и ставим в планировщик заданий ОС «Пуск\Все программы\Стандартные\Служебные\Планировцик заданий»:

 

  

После ключа EXECUTE указываем внешнюю обработку, в которой подробно описано с какими настройками запустить на выполнение, в данном случае, «Универсальный обмен данными в формате XML», а можно и любую другую (например, групповое перепроведение).

 Пример обработки:

 Обработка «ИсточникТорговля.epf» без формы, код в модуле объекта.

 

 

Аналогичным образом выгружаю документы из Аренды в БП.

 

После всех обменов, запускаю типовую обработку «Групповое перепроведение документов». Перепровожу документы текущего, не закрытого для изменений, месяца, чтобы восстановить последовательность, нарушение которой может произойти как в результате проведения документов при обмене, так и в результате ошибок в работе пользователей. Таким образом, все описанные действия, т.е. два обмена и перепроведение, помещаем в cmd-файл, называем его, например, «Ночь» и ставим в планировщик заданий.

 

Командный файл Ночь:

 

Где Перепроведение.epf – внешняя обработка без формы, с кодом в модуле объекта:   

 

 

 

Остается только, приходя на работу, заглянуть в протокол, в командной строке он указан после параметра «\OUT».

В управляемом приложении все еще проще.

Во вложении находится обработка, которая, в качестве примера, выполняет обмен между БП3 и ЗУП3.

Откройте обработку в конфигураторе, измените на реальные такие данные как: расположение своих баз, пользователь и пароль, пути к файлам с правилами обмена и протокола. Задайте свое наименование и описание в функции "СведенияОВнешнейОбработке".

Обработка без формы, весь код в модуле объекта.

В пользовательском режиме добавьте обработку как дополнительную:

При желании можно задать расписание или запускать обмен в ручном режиме по мере необходимости.

 

Использованные материалы:          

http://kb.mista.ru/article.php?id=340

http://kb.mista.ru/article.php?id=338

//catalog.1c-e.ru/public/86109/

 

 

 

71

Скачать файлы

Наименование Файл Версия Размер
Примеры команды и обработок для обычного приложения
.7z 4,24Kb
25.09.18
118
.7z 4,24Kb 118 Скачать
Пример обработки для управляемого приложения с возможностью запуска по расписанию
.epf 5,81Kb
25.09.18
3
.epf 5,81Kb 3 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. crazyber 4 29.06.11 14:41 Сейчас в теме
Интересно, но гораздо проще план обмена использовать, меньше кодить :D
4. bomba 05.07.11 13:43 Сейчас в теме
(1) Полноценно и с условием "меньше кодить" можно реализовать в 8.2, точнее в конфигурациях на базе стандартных подсистем, туда можно уже правила обмена свои полноценно подгружать. В конфигурациях 8.1 и портированных с 8.1 кодить однозначно больше.

ЗЫ: Автор - молодец. Голова варит - успех в карьере обеспечен )
mbfg@tut.by; +1 Ответить
2. Anna_A 29.06.11 22:53 Сейчас в теме
Опыта нет. Разбиралась параллельно и с тем и с этим. Данный вариант получился быстрее, но попытки настроить план обмена не оставлены.
3. spa07 05.07.11 11:34 Сейчас в теме
План обмена вряд чем то может помочь....Разве что через план обмена можно отследить измененные данные и выгружать только их...
А автоматизировать обмен, чтобы не заморачиваться с планировщиком, через можно через Регламентные Задания...
5. crazyber 4 05.07.11 14:41 Сейчас в теме
в 8.1 в типовых конфигурациях все уже сделано для этого, нужно только написать правила обмена, и создать два плана обмена с одинаковым именем в разных конфигурациях, ну и поставить регистрацию для объектов которые надо грузить. Механизм проверенный работает больше года в автоматическом режиме выгрузка из БП в Комплекную автоматизацию.
savostin.alex; ivs2000; gavrikprog; +3 Ответить
6. spa07 07.07.11 09:21 Сейчас в теме
Разобрался с механизмом обмена который есть в типовых конфигурациях с использованием своих загруженных правил обмена...В принципе довольно не сложно, функций много, вплоть до обмена через ftp... Пока обнаружены следующие (в моем случае серьезные) недостатки по сравнению с использованием обработки "Универсальный обмен данными в формате XML":
- нет возможности использования параметров даты начала выгрузки и даты конца, а также других параметров, которые есть в обработке на закладке "параметры выгрузки". Из за этого, в моем случае, прийдется серьезно переписывать существующие правила обмена, которые до этого долгое время успешно работали с помощью ручного использования этой обработки...
- нет возможности обмениваться всеми данными (т.е. отключить план обмена), обмениваются только зарегистрированные данные

Т.е. в моем случае автоматизация изложенная здесь более приемлимый вариант ...
mbfg@tut.by; +1 Ответить
8. soba 26.09.12 03:04 Сейчас в теме
Давно искал такое. Думал уже так же5 лезть ковырять обмен. Молодца!
mbfg@tut.by; +1 Ответить
9. FaKer1980 10 01.11.12 13:59 Сейчас в теме
Настроил 3 Отмена с УТ и БСО , и один с УТ с Бух 7.7. Спасибо очень помогла ваша обработка.
10. OrsoBear 21.04.14 08:53 Сейчас в теме
Отличное решение! Спасибо, то, что надо!
11. Denis_Viktorovich 145 21.10.14 07:36 Сейчас в теме
Обработка авто вызовы "Универсальный обмен данными в формате XML" для бухгалтерии 3.0 управляемая форма.
Прикрепленные файлы:
AutoLoadOfUTD.epf
12. trancelover 15.06.15 10:39 Сейчас в теме
Спасибо за идею, начну отлаживать обмен по данной схеме БП2.0 - ЕРП 2.0, посмотрим что получится.
13. mbfg@tut.by 6 17.08.18 12:18 Сейчас в теме
Механизм обмена который есть в типовых конфигурациях с использованием своих загруженных правил обмена имеет ограничения. Например правила обмена не должно быть правилом со способом выборки "произвольный запрос", а бывает что надо! Так что описанный выше вариант вполне толковый!!!
19. bmk74 82 14.09.18 21:56 Сейчас в теме
(13)
Например правила обмена не должно быть правилом со способом выборки "произвольный запрос", а бывает что надо!

С какого перепугу не должно быть ?
С БСП обменивайся не хочу...так как там уже в конфигурации есть обработка по типу универсального обмена, с доработками
14. mbfg@tut.by 6 28.08.18 09:41 Сейчас в теме
Анна, приходилось использовать такой подход как Вы предлагаете. А вот тоже очень достойный https://infostart.ru/public/151693/. Только я вызываю в правиле сразу "УниверсальныйОбменДаннымиXML", т.е. без вызова промежуточной внешней обработки.
15. Anna_A 141 28.08.18 18:26 Сейчас в теме
Это был самый первый опыт общения с 1с, еще на платформе 8.1
Сейчас уже можно сделать все иначе.
Планировщиков ОС не нужно, дополнительные обработки сами запускаются по расписанию.
Уже давно для обменов пишу доп. обработки без формы, с кодом в модуле объекта, и подключаю к конфигурации в пользовательском режиме с настройкой расписания.
С момента публикации прошло уже семь лет. Как время бежит!
16. razmochaev 14.09.18 13:15 Сейчас в теме
(15) Добрый день, Анна.
При попытке открыть эту обработку из БП (3.0.64.54), открывается пустая форма и ничего не происходит. В чем может быть причина?
18. Anna_A 141 14.09.18 21:22 Сейчас в теме
(16) В том, что это не управляемая форма.
Обработку надо оформить как дополнительную, и запускать ее по расписанию внутри конфигурации. Планировщик операционной системы уже не нужен. С 2011 года, когда была написана эта статья, многое изменилось.
Попробуете?
Если нужна помощь, спрашивайте.
17. Anna_A 141 14.09.18 21:18 Сейчас в теме
Оставьте свое сообщение