Содержание
DFEX (DocFlow EXchange) - модуль, предназначенный для обмена документами между канцеляриями, расположенными на одном или нескольких экземплярах ARTA Synergy.
Организация — это структурное подразделение, ведущее собственную канцелярию. В орг. структуре одного экземпляра ARTA Synergy может быть одна или несколько организаций. Предполагается, что если на одном сервере должно присутствовать несколько организаций, то для каждой из них настраиваются журналы входящих и исходящих документов и на эти журналы даются права сотрудникам канцелярии соответствующих организаций.
Группа организаций — это именованное объединение нескольких организаций, находящихся на одном и/или разных серверах ARTA Synergy.
Получателем документа может выступать как организация, так и группа организаций, отправителем — одна организация.
В используемых формах обязательно должно присутствовать поле
To
, ссылающееся на значение поля
Name
справочника
ExtDtiOrganization
. Кроме того, в формах
может использоваться поле Subject
, значение
которого будет записано в краткое содержание входящего
документа получателя.
Ограничений на другие поля, используемые в формах для обмена документами, нет.
Правила указания кода передаваемых типов документов зависят от расположения взаимодействующих организаций:
1. Организации расположены на одном экземпляре AS, каждая организация имеет только один журнал входящих и один журнал исходящих документов, участвующих в обмене.
Код типа документа должен быть указан равным значению поля
DocTypeCode
справочника
ExtDtiOrganization
.
2. Каждая организация находится на выделенном сервере, используется два и более журнала для входящих документов.
Строка, соответствующая коду документа, должна быть указана в данных формы таким образом:
<DocDataType>DocAnswer</DocDataType>
Значением DocDataType
является не сам код
типа документа, а его часть. В таблице ниже описано
соответствие DocDataType
и кода типа
документа.
DocDataType | Код типа документа |
---|---|
|
|
|
|
Модуль DF-EX использует формы старого образца, расположенные в Хранилище и опубликованные через Административное приложение.
Примечание 1. У администратора AS должны быть все права на папку, в которой расположены используемые формы.
Примечание 2. Публикация форм и разрешение на их создание в Хранилище производится в Административном приложении - Хранилище - Формы (илл. «Административное приложение - Формы»):
Пример используемой формы
Данные
<asf:document xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:asf="http://www.arta.kz/xml/ns/asform" asf:id="${fid()}" asf:code="${fc()}" asf:version="${fv()}" asf:name="${fn()}" asf:oid="${foid()}" > <Subject/> <tos> <To/> </tos> </asf:document>
Модель
<xf:bind nodeset="${p()}Subject" type="xs:string"/> <xf:bind nodeset="${p()}tos/To" type="xs:string"/> <xf:instance id="dicExtDtiOrganization" src="generic-dictionary-instance? code=ExtDtiOrganization&sort=Name"/>
Зависимости
<style type="text/css"> @namespace xf url("http://www.w3.org/2002/xforms"); /* The default field width for all inputs */ .xforms-value { width: 300px } </style>
Тело
<table> <tr> <td>${t("Тема")}</td> <td><xf:input ref="${p()}Subject"/></td> </tr> </table> <table style="height:50px"> <xf:repeat id="repeat" nodeset="tos" appearance="compact"> <tr style="height:100px"> <td>${t("Кому")}</td> <td> <xf:select1 ref="To" selection="closed" incremental="true"> <xf:itemset nodeset="instance('dicExtDtiOrganization')/items/item"> <xf:label ref="Name"/> <xf:value ref="Id"/> </xf:itemset> </xf:select1> <xf:trigger> <xf:label>X</xf:label> <xf:delete nodeset="." at="1" ev:event="DOMActivate" if="count(//tos) > 1"/> </xf:trigger> </td> </tr> </xf:repeat> </table> <table> <tr> <td></td> <td> <xf:trigger> <xf:label>Добавить адресат</xf:label> <xf:action ev:event="DOMActivate"> <xf:insert nodeset="tos" position="after" at="last()"/> <xf:setvalue ref="tos[last()]/To"></xf:setvalue> </xf:action> </xf:trigger> </td> </tr> </table>
Управление структурой и списком получателей производится на
странице хост:5000
.
Участники обмена документами (организации и группы организаций)
хранятся в Synergy в справочнике
ExtDtiOrganization
. Организации объединяются
в группы через дополнительный справочник с кодом
ExtDtiOrganizationGroup
.
Список организаций
Отображается по умолчанию при переходе к
хост:5000
, а также при выборе пункта меню
«Организации»
- «Список», и
содержит перечень организаций-получателей, с которыми
производится обмен документами, и групп организаций (илл.
«Список получателей»):
Для каждого элемента доступны кнопки «Редактировать» и «Удалить».
Ниже списка получателей находится кнопка Sync.
Добавление и редактирование организации
При выборе пункта меню «Организации» - «Добавить» открывается форма добавления нового получателя - организации или группе организаций. При нажатии на кнопку «Редактировать» открывается та же форма, но с заполненными полями (илл. «Сведения об организации-получателе»):
Сведения об организации/группе:
# - идентификатор организации/группы;
DocTypeCode - код типа
документа, используемый для передачи документов этой
организации/группы, недоступен для заполнения при активном
флаге IsGroup
;
Name English - наименование организации/группы на английском языке;
Name Russian - наименование организации/группы на русском языке;
Name Kazakh - наименование организации/группы на казахском языке;
IsGroup - признак того, является ли текущий элемент отдельной организацией или группой;
Organizations -
справочник, содержащий ранее добавленные организации, с
возможностью множественного выбора, отображается и
доступен для заполнения только при при активном флаге
IsGroup
;
Email - почтовый адрес
организации/группы, недоступен для заполнения при активном
флаге IsGroup
.
Примечание. В случае, если для организаций или их групп указаны повторяющиеся идентификаторы получателей, корректная доставка документов не гарантируется.
На основании сведений, указанных в этом разделе, автоматически
формируются элементы справочника
ExtDtiOrganization
, содержащего следующие
поля:
Код поля справочника | Название | Описание |
---|---|---|
Id |
Идентификатор участника |
Строка, должна быть уникальна |
DecCode |
Код |
Не имеет значения |
Name |
Название |
Должно иметь переводы и они должны быть заполнены |
DecMail |
|
Почтовый адрес участника. Для организаций, находящихся на одном экземпляре AS, почтовый адрес должен совпадать |
DocTypeCode |
Код типа документа |
Строка, соответствующая типу входящего документа организации-получателя. Значение может отсутствовать двух случаях:
|
IsGroup |
Группа |
Переключатель «является ли группой» - если данный
параметр имеет значение |
Сведения об объединении организаций в группы фиксируются в
дополнительном справочнике с кодом
ExtDtiOrganizationGroup
.
Данный справочник имеет поля:
Id - идентификатор записи в данном справочнике
OrgRecordId -
идентификатор получателя из справочника
ExtDtiOrganization
(не группы)
GroupId - идентификатор
получателя из справочника
ExtDtiOrganization
(группы).
Список справочников
При выборе пункта меню «Справочники» - «Список» открывается список справочников, добавленных пользователем (илл. «Список справочников»):
Для каждого элемента доступны кнопки «Редактировать» и «Удалить».
Примечание: стандартные справочники
ExtDtiOrganization
,ExtDtiOrganizationGroup
иExtDtiLocalOrganizationGroup
в этом списке не отображаются.
Добавление справочника
Структура справочников задается с помощью xml-файлов. При выборе пункта меню «Справочники» - «Добавить» открывается форма добавления нового справочника. При нажатии на кнопку «Редактировать» открывается та же форма, но с заполненным полем (илл. «Добавить xml файл»):
Пример структуры справочника организаций:
<Elements> <DictionaryElementXmlInfo> <Id>d0830f03f1754dc491dde885f1b72da3</Id> <DecCode /> <NameRU>Название элемента справочника на русском языке</NameRU> <NameKZ>Название элемента справочника на казахском языке</NameKZ> <NameEN>Название элемента справочника на английском языке</NameEN> </DictionaryElementXmlInfo> </Elements>
Ниже поля ввода структуры справочника находится кнопка «Сохранить».
Пользователь с ролью «Сотрудник канцелярии»
организации-отправителя создает новый документ в журнале
исходящих и выбирает тип документа, связанный с формой старого
образца. В карточке создаваемого документа автоматически
отображаются поля формы, в том числе поле с кодом
to
, ссылающееся на справочник
ExtDtiOrganization
(илл. «Выбор
получателей»). Кратность и имя этого поля зависит от
настроек формы. Если поле не заполнено, то после регистрации
документ не будет отправлен получателю.
Пользователь выбирает из справочника организации или группы организации, которым должен быть отправлен документ.
Примечание 1. Адресатом документа является пара «Экземпляр Arta Synergy» (точнее, почтовый ящик, указанный для этого экземпляра в настройках конфигурационного файла) + код типа документа (на этом экземпляре).
Примечание 2. Набор полей, подгружаемых при выборе типа файла, используемого для обмена документами, их названия и правила заполнения зависят от настройки формы типа документа.
Код выбранного типа документа однозначно определяет входящий журнал организации-получателя, в который попадет документ.
Ограничения, налагаемые на используемые формы документов, и правила указания кода типа документа описаны в разделе «Правила взаимодействия».
Обмен документами происходит через почту. После регистрации
документа в исходящем журнале организации-отправителя
DF-EX
формирует почтовое сообщение и
отправляет его на почтовые адреса организаций-получателей.
Почтовое сообщение содержит во вложениях XML файл с полями
карточки документа отправителя. В случае, если получателем
документа является организация ARTA Synergy, из этих полей будет
взято только поле Subject
, значение которого
будет записано в краткое содержание документа получателя.
Вложения документа ARTA Synergy добавляются в почтовое сообщение. Если размер файла вложения превышает размер, указанный в конфигурационном файле, то он разделяется на тома, и каждый том отправляется отдельным письмом.
При отправке зарегистрированного исходящего документа организации-отправителя в его ход выполнения добавляется строка следующего вида:
Название | Ответственный | Автор | Начало | Завершение | Завершил | Комментарий |
---|---|---|---|---|---|---|
Отправлено на регистрацию |
Сотрудник канцелярии организации-отправителя, зарегистрировавший исходящий документ |
Дата, время отправки |
Дата, время отправки |
Получатель: название
организации-
получателя: поле
|
Полученный документ отображается во входящем журнале организации-получателя. Статус полученного документа - «На регистрации».
В случае, если документ успешно зарегистрирован во входящем журнале организацией-получателем, в ход выполнения исходного документа добавляется строка следующего вида:
Название | Ответственный | Автор | Начало | Завершение | Завершил | Комментарий |
---|---|---|---|---|---|---|
Зарегистрировано |
Сотрудник канцелярии организации-получателя, зарегистрировавший документ |
Дата, время наступления события |
Дата, время наступления события |
Документ зарегистрирован за номером XXX |
В случае отказа в регистрации организацией-получателем, в ход выполнения исходного документа добавляется строка следующего вида:
Название | Ответственный | Автор | Начало | Завершение | Завершил | Комментарий |
---|---|---|---|---|---|---|
Зарегистрировано |
Сотрудник канцелярии организации-получателя, отказавший в регистрации документа |
Дата, время наступления события |
Дата, время наступления события |
Комментарий при отклонении регистрации |
В последних двух случаях, помимо добавления строки в «Ход выполнения», через систему уведомлений Arta Synergy отправляются уведомления сотруднику канцелярии, зарегистрировавшему исходящий документ, со следующим текстом:
«Документ
%номер-документа-в-журнале-организации-отправителя%
%«краткое-содержание»%
зарегистрирован в
%название-организации-получателя%
%дата, время регистрации%
за номером
%номер-документа-в-журнале-организации-получателя%
»
«В регистрации документа
%номер-документа-в-журнале-организации-отправителя%
%«краткое-содержание»%
в
%название-организации-получателя%
отказано с
комментарием
%комментарий-канцелярии-при-отклонении-регистрации%
»
Автоматическое заполнение полей карточки входящего документа из карточки исходящего
Для сопоставления произвольных полей используется справочник
dtint_internal_fields
следующего вида:
Код поля | Название | Назначение |
---|---|---|
document_type_id |
Код типа документа |
Код типа документа, содержащего форму с доп.карточкой документа Synergy |
incoming_field_id |
Код поля во входящем документе |
Код поля в карточке входящего документа, из которого должно браться значение для автозаполнения в форме Synergy |
synergy_field_id |
Код поля в форме Synergy |
Код поля в форме Synergy, которое должно быть автоматически заполнено значением из входящего документа |
Примечание: для того, чтобы обратиться к значению поля, обернутого в исходном xml-файле в несколько тегов, в справочнике необходимо их (теги) разделять между собой точками (т.н. «точечная нотация», см. пример ниже). Кроме того, все идентификаторы данного справочника регистрочувствительны.
Эти поля обрабатываются в журнале входящего документа Synergy:
поля карточки формы Synеrgy synergy_field_id
автоматически заполняются значениями из соответствующих полей
incoming_field_id
.
Если справочник dtint_internal_fields
отсутствует, то автоматически заполняются только поля с
одинаковыми кодами.
Кроме того, обработка поля Subject
происходит
независимо от справочника
dtint_internal_fields
следующим образом:
если форма Synergy является доп.карточкой исходящего
документа, то значением исходящего поля
Subject
становится значение темы (при
наличии) либо краткого содержания (при отсутствии темы);
если форма Synergy является доп.карточкой входящего
документа, то значение входящего поля
Subject
копируется и в поле темы, и в
поле краткого содержания.
Пример:
Пусть форма карточки входящего документа содержит следующий набор полей:
... <DocumentNumber>104-27-02-2015</DocumentNumber> <Tos><To>Бобров</To></Tos> <Date>2015-02-27T11:54:34</Date> <Language>Русский</Language> <DocumentView>Альбомный</DocumentView> ...
Форма карточки документа Synergy содержит следующий набор полей:
... <DocumentNumber>104-27-02-2015</DocumentNumber> <Tos><To>Бобров</To></Tos> <Date>2015-02-27T11:54:34</Date> ...
Примечание: поля должны быть одинаково объявлены в модели данных.
Чтобы данные поля заполнились автоматически, необходимо заполнить справочник следующим образом:
document_type_id | incoming_field_id | synergy_field_id |
---|---|---|
document_type_id |
DocumentNumber |
DocumentNumber |
document_type_id |
Tos.To |
Tos.To |
document_type_id |
Date |
Date |
где document_type_id
- код типа документа,
содержащего форму Synergy.
Настройка модуля DF-EX производится в конфигурационном xml-файле. Для каждой организации (определяемой идентификатором) возможно отдельно настроить:
параметры чтения почты
параметры для отправки почты
интервал проверки новых сообщений (в мс)
IMAP папка
максимальный размер данных, отправляемых без сжатия
размер тома (при архивировании)
Пример содержимого конфигурационного файла:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <configuration xmlns="http://www.arta.kz/xml/ns/as/ext/dti" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.arta.kz/xml/ns/as/ext/dti dti.xsd"> <organization-id>идентификатор_организации</organization-id> <mail> <!-- параметры чтения почты --> <inbox> <protocol>imap</protocol> <host>imap.arta.kz</host> <port>143</port> <use-ssl>false</use-ssl> <connection-timeout>300000</connection-timeout> <timeout>300000</timeout> <user>почта</user> <password>пароль</password> </inbox> <!-- параметры для отправки почты --> <outbox> <protocol>smtp</protocol> <host>smtp.arta.kz</host> <port>25</port> <use-ssl>false</use-ssl> <connection-timeout>300000</connection-timeout> <timeout>300000</timeout> <user>почта</user> <password>пароль</password> </outbox> <!-- интервал проверки новых сообщений --> <fetch-interval>300000</fetch-interval> <!-- оставлять сообщения на сервере --> <remove-from-server>false</remove-from-server> <!-- IMAP папка--> <imap-folder>INBOX</imap-folder> <!-- максимальный размер данных, отправляемых без сжатия--> <max-unpacked-size>10485760</max-unpacked-size> <!-- размер тома (при архивировании) --> <part-size>10485760</part-size> </mail> </configuration>
Сервис DF-EX добавляет новые настройки конфигуратора в раздел «Документооборот» - «Доп. настройки потоков работ» (илл. «Настройки интеграции с DF-EX»):
Доступные параметры настройки:
«Формат отображения получаемого хода выполнения» - справочник, доступны значения «Краткий» и «Подробный», значение по умолчанию: «Краткий»;
«Синхронизировать ход
выполнения по входящему документу» -
флаг, значение по умолчанию: false
.
Примечание. При изменении значения настройки «Формат отображения получаемого хода выполнения для интеграции с DF-EX»:
«Краткий» -> «Подробный»: система отображает браузерное диалоговое окно с кнопками «Отмена», «ОК» и сообщением:
«Во всех существующих документах с интеграцией с DF-EX будет отображаться подробный ход выполнения только после внесения в него хотя бы одного изменения. Продолжить?»
При подтверждении действия ход выполнения документа без единого изменения отображается еще кратко, после любого изменения хода выполнения - уже подробно.
«Подробный» -> «Краткий»: производится проверка на наличие документов, находящихся в двух и более организациях, и при наличии таковых отображать браузерное диалоговое окно с кнопками «Отмена», «ОК» и сообщением:
«Во всех существующих документах с интеграцией с DF-EX краткий ход выполнения будет использоваться только в измененных, либо новых пунктах. Продолжить?»
При подтверждении действия ход выполнения новых документов отображается кратко всегда, а во всех существующих документах - только в новых / измененных пунктах.
В обоих случаях если пользователь подтверждает действие, то значение параметра изменяется, если отклоняет - остается неизменным.
Параметр «Синхронизировать ход выполнения по входящему документу» доступен только в том случае, если параметр «Формат отображения получаемого хода выполнения» имеет значение «Подробный».
Краткий ход выполнения
//здесь будет добавлено описание и пример
Подробный ход выполнения
При значении параметра «Формат отображения получаемого хода выполнения» - «Подробный» в карточке документа, раздел «Ход выполнения», отображается ход выполнения исходящего документа в виде двух деревьев «пункты хода выполнения исходящего документа» + «пункты хода выполнения входящего документа». В отдельных деревьях отображаются действия с документом как на стороне отправителя, так и на стороне получателя.
Примечание 1: ход выполнения отображается подробно только в исходящем документе.
Примечание 2: в исходящем документе в пунктах хода выполнения из входящего документа значение поля
Автор
отображается в том же формате, что и во входящем документе, вне зависимости от настройки «Формат отображения поля автора в ходе выполнения» в Конфигураторе («Документооборот» -> «Настройки Потоков Работ» -> «Доп. настройки потоков работ»).
Примечание 3: в комментариях исходящего документа в качестве получателя отображается значение поля
Корреспондент (орг)
входящей организации.
//здесь будет добавлен скрин с примером
Синхронизация хода выполнения по входящему документу
//здесь будет добавлено описание работы без синхронизации
Для включенного параметра «Синхронизировать ход выполнения по входящему документу» ход выполнения входящего документа формируется на основе исходящего документа, от которого он был создан при передаче средствами DF-EX, следующим образом:
ход выполнения входящего документа содержит, помимо всех процессов непосредственно по данному документу, еще и полный ход выполнения связанного исходящего документа (1-к-1);
ход выполнения исходящего документа содержит в себе полные ходы выполнения всех его связанных входящих документов (1-ко-многим);
добавление нового процесса в ход выполнения исходящего документа автоматически отражается во всех связанных входящих документах;
добавление нового процесса в ход выполнения любого из входящих документов автоматически отражается, помимо хода выполнения данного документа, только в связанном исходящем документе;
изменение / удаление процесса из хода выполнения любого документа из всей связанной цепочки «исходящий - входящий(-ие)» изменяет / перечеркивает соответствующую запись во всех встречаемых ходах выполнения.