3.2.4.1. Схема работы модуля регламентных действий
 
Модуль регламентных действий взаимодействует с модулем обработки транспортных контейнеров и  криптопровайдером (CSP). Для доступа к CSP используется библиотека CryptoAX, которая может быть использована при разработке (см. Приложение 1. CryptoAX).
Две основные задачи модуля регламентных действий:
Периодическое обращение к серверу системы Такском-Доклайнз за входящими служебными сообщениями исходящих и входящих документов. (Интеграционное решение должно управлять обработкой всех отправляемых и получаемых электронных документов и подтверждать факт доставки этих документов.)
Получение входящих электронных документов и служебных сообщений и отправка исходящих электронных документов и служебных сообщений в соответствии со списком транзакций, предусмотренных по регламенту ЭДО. (Интеграционное решение должно управлять выполнением всех транзакций для каждого исходящего и входящего электронного документа, так как методы Такском-Доклайнз обеспечивают только входящие служебные сообщения.)
 
Следующая диаграмма иллюстрирует общий алгоритм работы модуля регламентных действий:
Операции со списком электронных документов описаны в п. 3.2.4.2. Метод GetMessageList, а ниже речь идёт о реализации регламента ЭДО. As Invoice EDE convention is the most common and complex, it is used as an example for this module implementation.
Сценарий отправки электронного счёта-фактуры
При отправке счёта-фактуры необходимо выполнить следующие действия:
1.
Создать счёт-фактуру в установленном XML формате, используя соответствующую XSD схему (см. п. 2.1.1. XML форматы документов, служебные сообщения и команды).
2.
Сформировать для счёта-фактуры электронную подпись в виде файла *.P7S (см. п. 2.1.2. Электронная подпись и криптопровайдер).
3.
Создать транспортный контейнер со счётом фактурой и подписью (см. п. 2.1.4. Транспортный контейнер Такском).
4.
Отправить этот транспортный контейнер с помощью метода SendMessage.
5.
Периодически вызывать метод GetMessageList и выполнять транзакции, необходимые по регламенту ЭДО счетов-фактур. Это подразумевает создание и отправку контейнеров со служебными сообщениями (метод SendMessage), а также получение (методами GetMessageList и GetMessage) входящих сообщений от Оператора и получателя счёта-фактуры (Покупателя). Алгоритм этого процесса приведен ниже на схеме.
6.
Архивировать счёт-фактуру и все служебные сообщения этого ЭДО.
 
Пункты 1.1-1.6 схемы алгоритма соответствуют таблице транзакций регламента ЭДО счёта-фактуры (2.1.3.1. Транзакции ЭДО счетов-фактур).
 
Сценарий обработки входящего счёта-фактуры
Получение электронного счёта-фактуры требует выполнения следующей последовательности действий:
1.
При обнаружении нового счёта-фактуры в результате применения метода GetMessageList, - загрузить счёт-фактуру и подтверждение Оператора ЭДО.
2.
Отправить подтверждение Оператору ЭДО и уведомить отправителя о  получении счёта-фактуры, - создать соответствующие транспортные контейнеры и отправить их с помощью метода SendMessage (2.1.1. XML форматы документов, служебные сообщения и команды, 2.1.2. Электронная подпись и криптопровайдер, and 2.1.4. Транспортный контейнер Такском).
3.
Периодически вызывать метод GetMessageList и выполнять транзакции, необходимые по регламенту ЭДО счетов-фактур.  Алгоритм этого процесса приведен ниже на схеме.
4.
Проверить счёт-фактуру. При обнаружении ошибок отправить Отправителю (Продавцу) уведомление об уточнении и получить от него соответствующее извещение о получении.
5.
Архивировать счёт-фактуру и все служебные сообщения этого ЭДО.
 
Пункты 2.1-2.8 схемы алгоритма соответствуют таблице транзакций регламента ЭДО счёта-фактуры (2.1.3.1. Транзакции ЭДО счетов-фактур).