Глава 14. Приложения

Ревизия VCS: 8198

Дата сборки документа: 2017.07.27 14:46:16

Содержание

DFEX
Описание
Определения
Правила взаимодействия
Ограничения
Управление справочниками и получателями
Организации
Справочники
Обмен документами
Возможности настройки DF-EX
Конфигурационный XML-файл
Дополнительные настройки конфигуратора

DFEX

DFEX (DocFlow EXchange) - модуль, предназначенный для обмена документами между канцеляриями, расположенными на одном или нескольких экземплярах ARTA Synergy.

Описание

Определения

Организация — это структурное подразделение, ведущее собственную канцелярию. В орг. структуре одного экземпляра ARTA Synergy может быть одна или несколько организаций. Предполагается, что если на одном сервере должно присутствовать несколько организаций, то для каждой из них настраиваются журналы входящих и исходящих документов и на эти журналы даются права сотрудникам канцелярии соответствующих организаций.

Группа организаций — это именованное объединение нескольких организаций, находящихся на одном и/или разных серверах ARTA Synergy.

Получателем документа может выступать как организация, так и группа организаций, отправителем — одна организация.

Правила взаимодействия

В используемых формах обязательно должно присутствовать поле To, ссылающееся на значение поля Name справочника ExtDtiOrganization. Кроме того, в формах может использоваться поле Subject, значение которого будет записано в краткое содержание входящего документа получателя.

Ограничений на другие поля, используемые в формах для обмена документами, нет.

Правила указания кода передаваемых типов документов зависят от расположения взаимодействующих организаций:

1. Организации расположены на одном экземпляре AS, каждая организация имеет только один журнал входящих и один журнал исходящих документов, участвующих в обмене.

Код типа документа должен быть указан равным значению поля DocTypeCode справочника ExtDtiOrganization.

2. Каждая организация находится на выделенном сервере, используется два и более журнала для входящих документов.

Строка, соответствующая коду документа, должна быть указана в данных формы таким образом:

<DocDataType>DocAnswer</DocDataType>

Значением DocDataType является не сам код типа документа, а его часть. В таблице ниже описано соответствие DocDataType и кода типа документа.

DocDataType Код типа документа

DocAnswer

ExtDtiInDocAnswer

DocInc

ExtDtiInDocInc

Ограничения

Модуль DF-EX использует формы старого образца, расположенные в Хранилище и опубликованные через Административное приложение.

Примечание 1. У администратора AS должны быть все права на папку, в которой расположены используемые формы.

Примечание 2. Публикация форм и разрешение на их создание в Хранилище производится в Административном приложении - Хранилище - Формы (илл. «Административное приложение - Формы»):

Рисунок 14.1. Административное приложение - Формы

Административное приложение - Формы

Пример используемой формы

Данные

<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&amp;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, а также при выборе пункта меню «Организации» - «Список», и содержит перечень организаций-получателей, с которыми производится обмен документами, и групп организаций (илл. «Список получателей»):

Рисунок 14.2. Список получателей

Список получателей

Для каждого элемента доступны кнопки «Редактировать» и «Удалить».

Ниже списка получателей находится кнопка Sync.

Добавление и редактирование организации

При выборе пункта меню «Организации» - «Добавить» открывается форма добавления нового получателя - организации или группе организаций. При нажатии на кнопку «Редактировать» открывается та же форма, но с заполненными полями (илл. «Сведения об организации-получателе»):

Рисунок 14.3. Сведения об организации-получателе

Сведения об организации-получателе

Рисунок 14.4. Сведения о группе получателей

Сведения о группе получателей

Сведения об организации/группе:

  • # - идентификатор организации/группы;

  • DocTypeCode - код типа документа, используемый для передачи документов этой организации/группы, недоступен для заполнения при активном флаге IsGroup;

  • Name English - наименование организации/группы на английском языке;

  • Name Russian - наименование организации/группы на русском языке;

  • Name Kazakh - наименование организации/группы на казахском языке;

  • IsGroup - признак того, является ли текущий элемент отдельной организацией или группой;

  • Organizations - справочник, содержащий ранее добавленные организации, с возможностью множественного выбора, отображается и доступен для заполнения только при при активном флаге IsGroup;

  • Email - почтовый адрес организации/группы, недоступен для заполнения при активном флаге IsGroup.

Примечание. В случае, если для организаций или их групп указаны повторяющиеся идентификаторы получателей, корректная доставка документов не гарантируется.

На основании сведений, указанных в этом разделе, автоматически формируются элементы справочника ExtDtiOrganization, содержащего следующие поля:

Код поля справочника Название Описание

Id

Идентификатор участника

Строка, должна быть уникальна

DecCode

Код

Не имеет значения

Name

Название

Должно иметь переводы и они должны быть заполнены

DecMail

email

Почтовый адрес участника. Для организаций, находящихся на одном экземпляре AS, почтовый адрес должен совпадать

DocTypeCode

Код типа документа

Строка, соответствующая типу входящего документа организации-получателя. Значение может отсутствовать двух случаях:

  • если данный получатель является группой;

  • если для данного получателя тип документа зашит в форму (см. ниже подраздел «Код типа документа»)

IsGroup

Группа

Переключатель «является ли группой» - если данный параметр имеет значение true, значит данный элемент является группой

Сведения об объединении организаций в группы фиксируются в дополнительном справочнике с кодом ExtDtiOrganizationGroup.

Данный справочник имеет поля:

  • Id - идентификатор записи в данном справочнике

  • OrgRecordId - идентификатор получателя из справочника ExtDtiOrganization (не группы)

  • GroupId - идентификатор получателя из справочника ExtDtiOrganization (группы).

Справочники

Список справочников

При выборе пункта меню «Справочники» - «Список» открывается список справочников, добавленных пользователем (илл. «Список справочников»):

Рисунок 14.5. Список справочников

Список справочников

Для каждого элемента доступны кнопки «Редактировать» и «Удалить».

Примечание: стандартные справочники ExtDtiOrganization, ExtDtiOrganizationGroup и ExtDtiLocalOrganizationGroup в этом списке не отображаются.

Добавление справочника

Структура справочников задается с помощью xml-файлов. При выборе пункта меню «Справочники» - «Добавить» открывается форма добавления нового справочника. При нажатии на кнопку «Редактировать» открывается та же форма, но с заполненным полем (илл. «Добавить xml файл»):

Рисунок 14.6. Добавить xml файл

Добавить xml файл

Пример структуры справочника организаций:

    <Elements> 
        <DictionaryElementXmlInfo> 
            <Id>d0830f03f1754dc491dde885f1b72da3</Id> 
            <DecCode /> 
            <NameRU>Название элемента справочника на русском языке</NameRU> 
            <NameKZ>Название элемента справочника на казахском языке</NameKZ> 
            <NameEN>Название элемента справочника на английском языке</NameEN> 
        </DictionaryElementXmlInfo> 
    </Elements> 

Ниже поля ввода структуры справочника находится кнопка «Сохранить».

Обмен документами

Пользователь с ролью «Сотрудник канцелярии» организации-отправителя создает новый документ в журнале исходящих и выбирает тип документа, связанный с формой старого образца. В карточке создаваемого документа автоматически отображаются поля формы, в том числе поле с кодом to, ссылающееся на справочник ExtDtiOrganization (илл. «Выбор получателей»). Кратность и имя этого поля зависит от настроек формы. Если поле не заполнено, то после регистрации документ не будет отправлен получателю.

Рисунок 14.7. Выбор получателей

Выбор получателей

Пользователь выбирает из справочника организации или группы организации, которым должен быть отправлен документ.

Примечание 1. Адресатом документа является пара «Экземпляр Arta Synergy» (точнее, почтовый ящик, указанный для этого экземпляра в настройках конфигурационного файла) + код типа документа (на этом экземпляре).

Примечание 2. Набор полей, подгружаемых при выборе типа файла, используемого для обмена документами, их названия и правила заполнения зависят от настройки формы типа документа.

Код выбранного типа документа однозначно определяет входящий журнал организации-получателя, в который попадет документ.

Ограничения, налагаемые на используемые формы документов, и правила указания кода типа документа описаны в разделе «Правила взаимодействия».

Обмен документами происходит через почту. После регистрации документа в исходящем журнале организации-отправителя DF-EX формирует почтовое сообщение и отправляет его на почтовые адреса организаций-получателей.

Рисунок 14.8. Отправка документа

Отправка документа

Почтовое сообщение содержит во вложениях XML файл с полями карточки документа отправителя. В случае, если получателем документа является организация ARTA Synergy, из этих полей будет взято только поле Subject, значение которого будет записано в краткое содержание документа получателя.

Вложения документа ARTA Synergy добавляются в почтовое сообщение. Если размер файла вложения превышает размер, указанный в конфигурационном файле, то он разделяется на тома, и каждый том отправляется отдельным письмом.

При отправке зарегистрированного исходящего документа организации-отправителя в его ход выполнения добавляется строка следующего вида:

Название Ответственный Автор Начало Завершение Завершил Комментарий

Отправлено на регистрацию

Сотрудник канцелярии организации-отправителя, зарегистрировавший исходящий документ

Дата, время отправки

Дата, время отправки

Получатель: название организации- получателя: поле Name справочника ExtDtiIntegration

Полученный документ отображается во входящем журнале организации-получателя. Статус полученного документа - «На регистрации».

В случае, если документ успешно зарегистрирован во входящем журнале организацией-получателем, в ход выполнения исходного документа добавляется строка следующего вида:

Название Ответственный Автор Начало Завершение Завершил Комментарий

Зарегистрировано

Сотрудник канцелярии организации-получателя, зарегистрировавший документ

Дата, время наступления события

Дата, время наступления события

Документ зарегистрирован за номером 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-файл

Настройка модуля 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»):

Рисунок 14.9. Настройки интеграции с DF-EX

Настройки интеграции с DF-EX

Доступные параметры настройки:

  • «Формат отображения получаемого хода выполнения» - справочник, доступны значения «Краткий» и «Подробный», значение по умолчанию: «Краткий»;

  • «Синхронизировать ход выполнения по входящему документу» - флаг, значение по умолчанию: false.

Примечание. При изменении значения настройки «Формат отображения получаемого хода выполнения для интеграции с DF-EX»:

  • «Краткий» -> «Подробный»: система отображает браузерное диалоговое окно с кнопками «Отмена», «ОК» и сообщением:

«Во всех существующих документах с интеграцией с DF-EX будет отображаться подробный ход выполнения только после внесения в него хотя бы одного изменения. Продолжить?»

При подтверждении действия ход выполнения документа без единого изменения отображается еще кратко, после любого изменения хода выполнения - уже подробно.

  • «Подробный» -> «Краткий»: производится проверка на наличие документов, находящихся в двух и более организациях, и при наличии таковых отображать браузерное диалоговое окно с кнопками «Отмена», «ОК» и сообщением:

«Во всех существующих документах с интеграцией с DF-EX краткий ход выполнения будет использоваться только в измененных, либо новых пунктах. Продолжить?»

При подтверждении действия ход выполнения новых документов отображается кратко всегда, а во всех существующих документах - только в новых / измененных пунктах.

В обоих случаях если пользователь подтверждает действие, то значение параметра изменяется, если отклоняет - остается неизменным.

Параметр «Синхронизировать ход выполнения по входящему документу» доступен только в том случае, если параметр «Формат отображения получаемого хода выполнения» имеет значение «Подробный».

Краткий ход выполнения

//здесь будет добавлено описание и пример

Подробный ход выполнения

При значении параметра «Формат отображения получаемого хода выполнения» - «Подробный» в карточке документа, раздел «Ход выполнения», отображается ход выполнения исходящего документа в виде двух деревьев «пункты хода выполнения исходящего документа» + «пункты хода выполнения входящего документа». В отдельных деревьях отображаются действия с документом как на стороне отправителя, так и на стороне получателя.

Примечание 1: ход выполнения отображается подробно только в исходящем документе.

Примечание 2: в исходящем документе в пунктах хода выполнения из входящего документа значение поля Автор отображается в том же формате, что и во входящем документе, вне зависимости от настройки «Формат отображения поля автора в ходе выполнения» в Конфигураторе («Документооборот» -> «Настройки Потоков Работ» -> «Доп. настройки потоков работ»).

Примечание 3: в комментариях исходящего документа в качестве получателя отображается значение поля Корреспондент (орг) входящей организации.

//здесь будет добавлен скрин с примером

Синхронизация хода выполнения по входящему документу

//здесь будет добавлено описание работы без синхронизации

Для включенного параметра «Синхронизировать ход выполнения по входящему документу» ход выполнения входящего документа формируется на основе исходящего документа, от которого он был создан при передаче средствами DF-EX, следующим образом:

  • ход выполнения входящего документа содержит, помимо всех процессов непосредственно по данному документу, еще и полный ход выполнения связанного исходящего документа (1-к-1);

  • ход выполнения исходящего документа содержит в себе полные ходы выполнения всех его связанных входящих документов (1-ко-многим);

  • добавление нового процесса в ход выполнения исходящего документа автоматически отражается во всех связанных входящих документах;

  • добавление нового процесса в ход выполнения любого из входящих документов автоматически отражается, помимо хода выполнения данного документа, только в связанном исходящем документе;

  • изменение / удаление процесса из хода выполнения любого документа из всей связанной цепочки «исходящий - входящий(-ие)» изменяет / перечеркивает соответствующую запись во всех встречаемых ходах выполнения.