|
На этой странице: |
Через конфигурацию связей можно настроить:
Конфигурация связей в системе происходит в корневом элементе 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 - отвечает за список модулей, на которые проставляется связь.
В данном параметре указывается список модулей, через тег module или module-id.
Если в модуле содержится несколько объектов и для каждого объекта нужно настроить свой набор связей, то это делается через атрибут doc-type
Указывается название формы объекта, с которым будет осуществляться связь. К примеру, для Документа по договору будет указан идентификатор DocDogovor, а для Доп. соглашения - AddAgr
Для связи основных объектов в модуле данный атрибут остается пустым. Такими являются: РКК, Договор, Заседание и т.д.
Для указания модуля используются атрибуты:
Указывается реплика модуля, через атрибут id
Указывается способ получения документа. Атрибут way определяет варианты:
В данном параметре указывается список типов связей, через тег link-type-ref
Для указания типов связей используются следующие атрибуты:
Вычисляется название заголовка, который располагается в колонке [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> |