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