Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Свойства страницы
Статус

Статус
colourYellow
titleВ РАБОТЕ

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

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

Оглавление

Описание

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

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

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

  • Указывается какие связи можно выбирать для данного модуля, объекта, версии
  • Направление связей
  • Отображение данных на вкладке Связи

    Связь с объектом в модуле

    Блок кода
    languagexml
    titleКонфигурация
    collapsetrue
    <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>

    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 - по идентификатору документа



    Отображение информации


    Блок кода
    languagexml
    titleСтруктура
     <link>
    	 	<!-- Колонка 1 -->
    		<!-- Метод получения документы -->  
            <get-doc way="byDocID" />
    		
    		<!--Список модулей, от которых проставляется связь  -->             
    		<source>
                <module ident="<Module 1>"/>
            </source>
    
      		<!--Список модулей, на которые проставляется связь  -->          
    		<target>
                <module ident="<Module 2>"/>
            </target>
    
    	   	<!-- Список возможных типов связей с модулями --> 
            <link-types>
                <link-type-ref ref="<Тип связи 1>" direction="from" back-ref="<Тип связи 2>" link-on="now" select="true"/>
            </link-types>
    
    	 	<!-- Колонка 2. Вычисляется  заголовок документа -->
    		<calc-name lang="JavaScript">
    			<![CDATA[]]>
            </calc-name> 
    
    	 	<!-- Колонка 3. Вычисляется Док инфо документа -->	
            <calc-doc-info lang="JavaScript">
                <![CDATA[]]>
            </calc-doc-info>
    	
        </link>


    meta

    get-doc

    source

    target

    link-types

    calc-name

    calc-doc-info

    calc-version-fix


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

    Блок кода
    languagexml
    titleот ВхД к Директивам
    collapsetrue
     <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>




    Блок кода
    languagexml
    titleОт ВхД к Директиве
    collapsetrue
      <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>