1. | Определяется тип сообщения. |
2. | Определяется попадание значения реквизита Дата отправки для исходящих сообщений или Дата приема для входящих сообщений в период, где: |
• | начало периода определяется как текущая дата за вычетом количества календарных дней, указанных в константе DISINotificationApplyingPeriod; |
• | окончанием периода является текущая дата. |
Если значение реквизита Дата отправки или Дата приема не указано, то генерируется исключение.
3. | Если сообщение исходящее, то проверяется, включена ли установка Отправлять уведомления о загруженных исходящих документах. Подробнее см. описание группы установок Интеграция с системами обмена в разделе «Обложка для настройки системы». |
4. | Определяется выполнение условий: |
• | сообщение является ответным; |
• | реквизит Основное сообщение заполнен; |
• | для основного сообщения указана дата загрузки. |
Подробнее см. раздел «Закладка «Параметры сообщения».
Если все условия выполняются, то происходит проверка:
• | Дата загрузки основного сообщения меньше Даты приема ответного входящего сообщения; |
• | Дата загрузки основного сообщения больше Даты отправки ответного исходящего сообщения. |
5. | Если сообщение входящее и установка Синхронизировать карточки документов включена, то выполняется функция DISIProcessingIncomingMessage. Подробнее см. описание группы установок Интеграция с системами обмена в разделе «Обложка для настройки системы». |
6. | Если сообщение исходящее и выполняются условия из пунктов 2 и 3, то происходит проверка выполнения условий: |
• | сообщение является ответным, при этом для него нет основного сообщения; |
• | выполняются условия из пункта 4; |
Если хотя бы одно из условий выполняется, то формируется уведомление с темой «Загружены исходящие документы».
7. | Если сообщение входящее и выполняются условия из пункта 2, то происходит проверка выполнения условий: |
• | сообщение является ответным, при этом для него нет основного сообщения; |
• | выполняются условия из пункта 4 или сообщение не ответное. При этом все вложенные в сообщение документы были подписаны или по всем документам было отказано. |
Если хотя бы одно из условий выполняется, то формируется уведомление с темой «Загружены входящие документы».
Если не все вложенные в сообщение документы были подписаны или по всем документам было отказано, то формируется задача для отправки по типовому маршруту, указанному в установке Обработка входящих документов. Подробнее см. описание группы установок Интеграция с системами обмена в разделе «Обложка для настройки системы».
8. | В уведомление или задачу вкладывается карточка справочника Сообщения систем обмена документами и все документы, вложенные в сообщение. |
В текст задачи добавляется ссылка на документы с информацией по каждому:
• | является ли документ формализованным; |
• | комментарий контрагента; |
• | данные о юридической значимости. |
Если документ подписан или в подписании отказано, то выполняется сценарий смены жизненного цикла документа ChangeDocumentLifecycleStageOnInterchanging и отправляется уведомление. В уведомление будет вложена ссылка на документ.
9. | Если сообщение ответное и реквизит Основное сообщение заполнен, то вкладывается карточка основного сообщения. |
10. | Если сообщение исходящее, ответное, при этом есть незавершенные и непрекращенные задачи по вложенным документам, то в уведомление вкладывается карточка сообщения. В текст уведомления добавляются ссылки на задачи. |
12. | Уведомления отправляются ответственному за обмен. |
Задача отправляется по типовому маршруту, указанному в установке Обработка входящих документов. Подробнее см. раздел «Определение основных настроек».