Дерево страниц
Skip to end of metadata
Go to start of metadata

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 13 Следующий »

Статус

В РАБОТЕ

Автор
Комментарий

На этой странице:

Описание

Через конфигурацию связей можно настроить:

  1. Связь с объектом в модуле (Входящий документ, Договор, Исходящий документ и т.д.)
    Выбор связейСоздание связанного документа
  2. Выбор вариантов типов связей и их направление
    Выбор типов связей
  3. Отображаемую информацию о связанных документахТаблица связей

Конфигурация связей в системе происходит в корневом элементе link в файле link.pal.xml

Параметры

Конфигурация
<link>	             
	<source doc-type="<Название формы объекта>">
		<modue-id id="<ReplicaID>"/>
    	<module ident="<Module 1>"/>
		<module ident="<Module N>"/>
    </source>
          
	<target>
		<modue-id id="<ReplicaID>"/>
      	<module ident="<Module 2>"/>
		<module ident="<Module N>"/>
     </target>

    <get-doc way="byDocID" />

 	<link-types>
		<link-type-ref ref="<Тип связи 1>" direction="from" back-ref="<Тип связи 2>" link-on="now" select="true"/>
 		<link-type-ref ref="<Тип связи 1>" direction="from" back-ref="<Тип связи 2>" link-on="now" select="true"/>
    </link-types>

	<calc-name lang="JavaScript">
		<![CDATA[]]>
    </calc-name> 

	<!-- Колонка 3. Вычисляется Док инфо документа -->	
    <calc-doc-info lang="JavaScript">
    	<![CDATA[]]>
    </calc-doc-info>
</link>

source/target

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

В данном параметре указывается список модулей, через тег module или module-id.

Если в модуле содержится несколько объектов и для каждого объекта нужно настроить свой набор связей, то это делается через атрибут doc-type

doc-type

Указывается название формы объекта, с которым будет осуществляться связь. К примеру, для Документа по договору будет указан идентификатор DocDogovor,  а для Доп. соглашения - AddAgr

Для связи основных объектов в модуле данный атрибут остается пустым. Такими являются: РКК, Договор, Заседание и т.д.

module

Для указания модуля используются атрибуты:

  • ident - тип программы (например: InputDocs, OutputDocs и т.д.) или * (все модули)
  • complect - комплект, в котором находится модуль. Не обязательный атрибут. Используется в случае комплектной конфигурации.

module-id

Указывается реплика модуля, через атрибут id

get-doc

Указывается способ получения документа. Атрибут way определяет варианты:

  • byDocID  - по полю DocID в объекте
  • byId - по идентификатору документа

В данном параметре указывается список типов связей, через тег link-type-ref

Для указания типов связей используются следующие атрибуты:

  • ref - тип связи (вставить ссылку на тип связи) 
  • direction - направление связи. Варианты:
    • from - от документа
    • to - на документ
    • without - без направления
  • back-ref - обратный тип связи (вставить ссылку на тип связи)
  • link-on - событие, по которому проставляется связь. Варианты:
    • now - сразу
    • registration - по факту регистрации
  • select - выбор типа связи вручную. По умолчанию выключен.
  • default - установка типа связи по умолчанию в колонке [1] таблицы связей

calc-name

Вычисляется название заголовка, который располагается в колонке [2] таблицы связей

Пример
<calc-name lang="JavaScript">
<![CDATA[var result;

            var Form = ctx.get('Form');
            Form = Form.size() > 0 ? Form.get(0) : '';

            var context = ctx;

            if ("resolution".equals(Form)) {
                var rkkDocId = ctx.get('RkkDocId');
                rkkDocId = rkkDocId.size() > 0 ? rkkDocId.get(0) : '';
                if (rkkDocId !== '') {
                    context = session.findByStrId(rkkDocId);
                }
            }

            var vers = context.get('Cm6$Subject');
            vers = vers.size() > 0 ? vers.get(0) : '';
            if (vers != '') {
                var subj = context.get('title');
                subj = subj.size() > 0 ? subj.get(0) : '';
                result = subj;
            } else {
                result = context.get('Subject');
                result = result.size() > 0 ? result.get(0) : '';
            }
            ctx.setResult(result);]]>
</calc-name>


calc-doc-info

Вычисляется докинфо, который располагается в колонке [3] таблицы связей

Пример
<calc-doc-info lang="JavaScript">
            <![CDATA[var result;var Reqtype = ctx.get('Reqtype');var rprist = ctx.get('rprist');var RNumber = ctx.get('RNumber');var rfin = ctx.get('rfin');var Outdate = ctx.get('Outdate');Reqtype = Reqtype.size() > 0 ? 		Reqtype.get(0) : '';rprist = rprist.size() > 0 ? rprist.get(0) : '';RNumber = RNumber.size() > 0 ? RNumber.get(0) : '';rfin = rfin.size() > 0 ? rfin.get(0) : '';Outdate = Outdate.size() > 0 ? Outdate.get(0).toString() : '';var result = Reqtype + " " + rprist + RNumber + rfin + " от " + Outdate;ctx.setResult(result);]]>
</calc-doc-info>


calc-version-fix

Текущая версия документа в связях


Создания связанного документа

от ВхД к Директивам
 <link>
        <calc-doc-info lang="JavaScript">
            <![CDATA[var result;var Reqtype = ctx.get('Reqtype');var rprist = ctx.get('rprist');var RNumber = ctx.get('RNumber');var rfin = ctx.get('rfin');var Outdate = ctx.get('Outdate');Reqtype = Reqtype.size() > 0 ? Reqtype.get(0) : '';rprist = rprist.size() > 0 ? rprist.get(0) : '';RNumber = RNumber.size() > 0 ? RNumber.get(0) : '';rfin = rfin.size() > 0 ? rfin.get(0) : '';Outdate = Outdate.size() > 0 ? Outdate.get(0).toString() : '';var result = Reqtype + " " + rprist + RNumber + rfin + " от " + Outdate;ctx.setResult(result);]]>
        </calc-doc-info>
        <source doc-type="">
            <module ident="InputDocs"/>
            <module ident="InputDocsPrev"/>
        </source>
        <target doc-type="">
            <module ident="Directives"/>
        </target>
        <link-types>
            <link-type-ref ref="BECAUSE_2" direction="to" back-ref="LINK_WITH_3" select="true" link-on="now"/>
            <link-type-ref ref="LINK_WITH_3" direction="to" back-ref="LINK_WITH_3" select="true" link-on="now" default="true"/>
        </link-types>
        <calc-name lang="JavaScript">
            <![CDATA[var result;

            var Form = ctx.get('Form');
            Form = Form.size() > 0 ? Form.get(0) : '';

            var context = ctx;

            if ("resolution".equals(Form)) {
                var rkkDocId = ctx.get('RkkDocId');
                rkkDocId = rkkDocId.size() > 0 ? rkkDocId.get(0) : '';
                if (rkkDocId !== '') {
                    context = session.findByStrId(rkkDocId);
                }
            }

            var vers = context.get('Cm6$Subject');
            vers = vers.size() > 0 ? vers.get(0) : '';
            if (vers != '') {
                var subj = context.get('title');
                subj = subj.size() > 0 ? subj.get(0) : '';
                result = subj;
            } else {
                result = context.get('Subject');
                result = result.size() > 0 ? result.get(0) : '';
            }
            ctx.setResult(result);]]>
        </calc-name>
        <get-doc way="byDocID"/>
    </link>




От ВхД к Директиве
  <link>
        <calc-doc-info lang="JavaScript">
            <![CDATA[var result;var Reqtype = ctx.get('Reqtype');var rprist = ctx.get('rprist');var RNumber = ctx.get('RNumber');var rfin = ctx.get('rfin');var Outdate = ctx.get('Outdate');Reqtype = Reqtype.size() > 0 ? Reqtype.get(0) : '';rprist = rprist.size() > 0 ? rprist.get(0) : '';RNumber = RNumber.size() > 0 ? RNumber.get(0) : '';rfin = rfin.size() > 0 ? rfin.get(0) : '';Outdate = Outdate.size() > 0 ? Outdate.get(0).toString() : '';var result = Reqtype + " " + rprist + RNumber + rfin + " от " + Outdate;ctx.setResult(result);]]>
        </calc-doc-info>
        <source doc-type="">
            <module ident="InputDocs"/>
            <module ident="InputDocsPrev"/>
        </source>
        <target doc-type="">
            <module ident="Directives"/>
        </target>
        <link-types>
            <link-type-ref ref="BECAUSE_2" direction="to" back-ref="LINK_WITH_3" select="true" link-on="now"/>
            <link-type-ref ref="LINK_WITH_3" direction="to" back-ref="LINK_WITH_3" select="true" link-on="now" default="true"/>
    </link-types>
        <calc-name lang="JavaScript">
            <![CDATA[var result;

            var Form = ctx.get('Form');
            Form = Form.size() > 0 ? Form.get(0) : '';

            var context = ctx;

            if ("resolution".equals(Form)) {
                var rkkDocId = ctx.get('RkkDocId');
                rkkDocId = rkkDocId.size() > 0 ? rkkDocId.get(0) : '';
                if (rkkDocId !== '') {
                    context = session.findByStrId(rkkDocId);
                }
            }

            var vers = context.get('Cm6$Subject');
            vers = vers.size() > 0 ? vers.get(0) : '';
            if (vers != '') {
                var subj = context.get('title');
                subj = subj.size() > 0 ? subj.get(0) : '';
                result = subj;
            } else {
                result = context.get('Subject');
                result = result.size() > 0 ? result.get(0) : '';
            }
            ctx.setResult(result);]]>
        </calc-name>
        <get-doc way="byDocID" />
    </link>
  • Нет меток