03.09.2019, 20:46 | #1 |
Участник
|
D365FO v10 webrequest + try/catch + ttslevel>0
Есть код, который вызывается во время стандарных бизнесс процессов - picking list, packing slip, post invoice, соответсвенно выполняется он внутри внешнего TTS блока.
Код посылает запрос (System.Net.WebRequest) внешнему сервису, который, к сожалению, иногда отвечает различного вида исключения (exception), обычно на webRequest.GetResponse(). Естественно, проиходит откат (rollback) и разбор иключения идет на try/catch самого внешнего TTS уровня, что не всегда есть желаемый результат. Есть ли возможность в D365FO v10 обработать исключение в своем -не внешнем - try/catch блоке или каким-то другим образом обработать событие webRequest.GetResponse()? Бывают случаи, когда вне зависимоти от результата getresponse() надо продолжить процесс. |
|
03.09.2019, 22:12 | #2 |
Участник
|
Заверните все в c# dll там делайте свой try\catch, а в АХ кидайте только те исключения которые хотите.
|
|
|
За это сообщение автора поблагодарили: alicedr (1). |
04.09.2019, 02:57 | #3 |
Участник
|
Цитата:
Как к примеру будет обрабатываться ситуация когда запрос к внешнему серверу прошел успешно, а основная транзакция откатилась |
|
|
За это сообщение автора поблагодарили: Logger (1). |
04.09.2019, 22:02 | #4 |
Участник
|
Функционал связан с оплатами и, например, накладная не должна разноситься, если оплата не смогла пройти. До разноски оплату нельзя проводить, так как бывают дополнительные платежи (charges) которые добавляются во время разноски накладной. Например, налоги AVATAX добавляются вообще в самом конце.
Так что тут вопрос курицы и яйца и правильного ответа что должно быть раньше нет. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|