Всем привет!
Необходимо реализовать обмен в Б24 (свои ORM сущности) со сторонним сервисом. Сторонний сервис при запросе к нему – отдает XML-файл, который «разбирается» по сущностям ORM в Б24.
Процесс обмена Б24 с сервисом – [B]должен быть полностью автоматическим[/B], с минимальным участием пользователя, т.е. пользователь вмешивается в общий процесс – только в случаях, когда пришедшие от сервиса данные в виде XML-файла, после «разбора» по ORM сущностям – нуждаются в ручной корректировке. После внесения пользователем корректировок – процесс продолжается (дальнейший разбор по сущностям ORM).
[I]Если по простому – нужно повесить «слушатель» (как в JS на клиенте), который будет «слушать» - а не пришел ли нужный файлик, и, если файлик пришел – предпринимать дальнейшие действия. [/I]
Предполагаю реализовать обмен с сервисом с помощью Бизнес процессов по своей сущности, используя Бизнес процессы со статусами:
Статус №1 – запрос к сервису, если xml-файл получен, переход в Статус №2, если не получен переход в Статус №3, либо Статус №6.
Статус №2 – разбор xml-файла по своим сущностям, если нужна корректировка пользователя, переход в Статус №4, если нет Статус №5, либо Статус №6
Статус №3 – ответа нет, режим ожидания (например, 2 часа, 1 день - устанавливается), переход в Статус №1, либо Статус №6
Статус №4 – корректировка пользователя, после переход в Статус №5, либо Статус №6
Статус №5 – обмен завершен. БП завершается. Информация из xml-файла успешно разобрана по своим сущностям, либо Статус №6
Статус №6 – ошибка при выполнении обмена. БП завершается.
Но есть проблема, которая может возникнуть – [I]Статус №3 – режим ожидания[/I]. Как его реализовать с помощью БП и можно ли вообще в моем случае? Есть специальное активити «Пауза в выполнении», которое работает на хитах – хиты на портале есть. Можно ли его использовать в данном процессе?
Либо есть какие-то еще варианты [B]автоматического обмена с Б24[/B], при условии, что обмен разделен по времени.
Спасибо!