Постановка задачи

Подключить выбор дела на форму РКК


Инструмент: Палитра XML

Статус

Комментарий

Реализация

<?xml version='1.0' encoding='UTF-8'?>
<schemas xmlns="http://www.intertrust.ru/schema/palette/tn-schema">
  <schema name="InventoryDoc">
    <meta>
      <category name="Отношение к делу" />
    </meta>
    <string name="id">
      <storage-field name="inventory_ID" />
    </string>
    <string name="description"  computed="true">
      <storage-field name="inventory_description" />
      <calc-values>
        <script lang="SPEL" event="open"><![CDATA[fc_name]]></script>
      </calc-values>
    </string>
    <string  name="subject">
      <storage-field name="inventory_subject" />
    </string>
    <hyperlink computed="true"  name="Link">
      <storage-field name="inventory_link" />
      <calc-values>
        <script lang="SPEL" event="open"><![CDATA[id == null ? null : T(ru.intertrust.cmj.af.misc.HyperLink).createHyperLink(invPrefix + invNumber + ' ' + subject +'~#'+T(ru.intertrust.cmj.ws.base.servlet.ServletUrlHolder).getServerUrlStr() + '/ids/' + id +'~#newTab~#local')]]></script>
      </calc-values>
    </hyperlink>
    <string  name="invPrefix">
      <storage-field name="inventory_prefix" />
    </string>
    <string  name="invNumber">
      <storage-field name="inventory_number" />
    </string>
    <string  name="fc_name">
      <storage-field name="inventory_name" />
    </string>
  </schema>
</schemas>
<?xml version='1.0' encoding='UTF-8'?>
<ui xmlns="http://www.intertrust.ru/schema/palette/tn-ui">
  <form schema-ref="InventoryDoc" projection="default" id="InventoryDocForm">
    <properties>
      <hide condition-union="AND">
        <negative-condition-ref ref="digest"/>
      </hide>
    </properties>
    <component>
      <field attribute-ref="Link" alias="description">
        <appearance importance="normal" />
      </field>
    </component>
  </form>
</ui>
    <schema-ref ref="InventoryDoc" name="case"/>
 <field attribute-ref="case" name="${ui.form.RkkResourceInputForm.section.Attributes.section.Additional.field.delo.name:Дело:}">
                                                <properties>
                                                    <read-only>
                                                        <condition-ref ref="canNotEditDeloInput"/>
                                                    </read-only>
                                                </properties>
                                                <appearance importance="normal" multiline="true" open-form="newTab">
                                                    <label-style>
                                                        <style id="tunBorderedField"/>
                                                    </label-style>
                                                </appearance>
                                                <directories relation="inventory-all-case" limit-livesearch="sys-current">
                                                    <directory-category-custom-coll attribute-ref="regPlaceID" ref="inventory-all-case"/>
                                                </directories>
                                                <hint-pop-up>${ui.form.RkkResourceInputForm.section.Attributes.section.Additional.field.delo.hintPopUp:Дело}</hint-pop-up>
                                            </field>
<collection name="Inventory_(vw_cmj_all_case)" idField="id" replace="runtime">
    <prototype>
        <![CDATA[
SELECT id,
       numberWOTags,
       created_date,
       Module,
       self_1,
       self_2,
       self_3,
       invPrefix_tag,
       subject_tag,
       invNumber_tag,
       numberWOTags,
       subject,
       moduleName,
       fc_subject,
       fileCardNumber || invNumber || ' ' || subject as description,
       invNumber,
       fc_depId,
       fileCardNumber as invPrefix
FROM (
         SELECT
             CASE WHEN b.cmjunid IS NULL THEN substring(u.migrationid, 0, 33) ELSE substring(b.cmjunid, 0, 33) END AS fc_depId,
             fc.id AS id,
             fc.module as Module,
             complect,
             ss_module.title as moduleName,
             fc.created_date,
             fc.title as subject,
             fc.Code as numberWOTags,
             fc.Number as invNumber,
             '<id>'                                                 AS self_1,
             ':'                                                    AS self_2,
             '</>'                                                  AS self_3,
             '<invPrefix>'                                          AS invPrefix_tag,
             '<subject>'                                            AS subject_tag,
             '<invNumber>'                                          AS invNumber_tag,
             CASE
                 WHEN (parent.IsCodeNumIndex = 1)
                     THEN parent.Code || '-' || fc.Number || ' ' || fc.title
                 ELSE fc.Code || '-' || fc.Number || ' ' || fc.title
                 END AS fc_subject,
             CASE
                 WHEN (parent.IsCodeNumIndex = 1)
                     THEN parent.Code || '-' || fc.Number
                 ELSE fc.Code || '-'
                 END AS fileCardNumber
         FROM
             FD_FileCard fc
                 LEFT JOIN SO_Parent parent ON parent.id = fc.soobject
                 JOIN ss_module ON ss_module.id=fc.module
                 JOIN so_parent_su ON fc.soobject = so_parent_su.id
                 JOIN so_structureunit su on su.id = so_parent_su.owner
                 JOIN so_unit u on u.id = su.id
                 JOIN so_beard b on b.id = su.beard
         UNION
         SELECT
             substring(b.cmjunid, 0, 33) as fc_depId,
             fc.id AS id,
             fc.module as Module,
             complect,
             ss_module.title as moduleName,
             fc.created_date,
             fc.title as subject,
             fc.Code as numberWOTags,
             fc.Number as invNumber,
             '<id>'                                                 AS self_1,
             ':'                                                    AS self_2,
             '</>'                                                  AS self_3,
             '<invPrefix>'                                          AS invPrefix_tag,
             '<subject>'                                            AS subject_tag,
             '<invNumber>'                                          AS invNumber_tag,
             CASE
                 WHEN (parent.IsCodeNumIndex = 1)
                     THEN parent.Code || '-' || fc.Number || ' ' || fc.title
                 ELSE fc.Code || '-' || fc.Number || ' ' || fc.title
                 END AS fc_subject,
             CASE
                 WHEN (parent.IsCodeNumIndex = 1)
                     THEN parent.Code || '-' || fc.Number
                 ELSE fc.Code || '-'
                 END AS fileCardNumber
         FROM
             FD_FileCard fc
                 LEFT JOIN SO_Parent parent ON parent.id = fc.soobject
                 JOIN ss_module ON ss_module.id=fc.module
                 JOIN so_parent_ph ON fc.soobject = so_parent_ph.id
                 JOIN so_posthead ph on ph.id = so_parent_ph.owner
                 JOIN so_appointmenthead apph on apph.post = ph.id AND apph.accessredirect is NULL
                 JOIN so_appointment app on app.id = apph.id
                 JOIN so_beard b on b.id = app.beard
     ) s
WHERE 1=1
    ::where-clause
        ]]>
    </prototype>
    <counting-prototype>
        <![CDATA[
            SELECT
            COUNT(1)
            FROM (
         SELECT
             CASE WHEN b.cmjunid IS NULL THEN substring(u.migrationid, 0, 33) ELSE substring(b.cmjunid, 0, 33) END AS fc_depId,
             fc.id AS id,
             fc.module as Module,
             complect,
             ss_module.title as moduleName,
             fc.created_date,
             fc.title as subject,
             fc.Code as numberWOTags,
             fc.Number as invNumber,
             '<id>'                                                 AS self_1,
             ':'                                                    AS self_2,
             '</>'                                                  AS self_3,
             '<invPrefix>'                                          AS invPrefix_tag,
             '<subject>'                                            AS subject_tag,
             '<invNumber>'                                          AS invNumber_tag,
             CASE
                 WHEN (parent.IsCodeNumIndex = 1)
                     THEN parent.Code || '-' || fc.Number || ' ' || fc.title
                 ELSE fc.Code || '-' || fc.Number || ' ' || fc.title
                 END AS fc_subject,
             CASE
                 WHEN (parent.IsCodeNumIndex = 1)
                     THEN parent.Code || '-' || fc.Number
                 ELSE fc.Code || '-'
                 END AS fileCardNumber
         FROM
             FD_FileCard fc
                 LEFT JOIN SO_Parent parent ON parent.id = fc.soobject
                 JOIN ss_module ON ss_module.id=fc.module
                 JOIN so_parent_su ON fc.soobject = so_parent_su.id
                 JOIN so_structureunit su on su.id = so_parent_su.owner
                 JOIN so_unit u on u.id = su.id
                 JOIN so_beard b on b.id = su.beard
         UNION
         SELECT
             substring(b.cmjunid, 0, 33) as fc_depId,
             fc.id AS id,
             fc.module as Module,
             complect,
             ss_module.title as moduleName,
             fc.created_date,
             fc.title as subject,
             fc.Code as numberWOTags,
             fc.Number as invNumber,
             '<id>'                                                 AS self_1,
             ':'                                                    AS self_2,
             '</>'                                                  AS self_3,
             '<invPrefix>'                                          AS invPrefix_tag,
             '<subject>'                                            AS subject_tag,
             '<invNumber>'                                          AS invNumber_tag,
             CASE
                 WHEN (parent.IsCodeNumIndex = 1)
                     THEN parent.Code || '-' || fc.Number || ' ' || fc.title
                 ELSE fc.Code || '-' || fc.Number || ' ' || fc.title
                 END AS fc_subject,
             CASE
                 WHEN (parent.IsCodeNumIndex = 1)
                     THEN parent.Code || '-' || fc.Number
                 ELSE fc.Code || '-'
                 END AS fileCardNumber
         FROM
             FD_FileCard fc
                 LEFT JOIN SO_Parent parent ON parent.id = fc.soobject
                 JOIN ss_module ON ss_module.id=fc.module
                 JOIN so_parent_ph ON fc.soobject = so_parent_ph.id
                 JOIN so_posthead ph on ph.id = so_parent_ph.owner
                 JOIN so_appointmenthead apph on apph.post = ph.id AND apph.accessredirect is NULL
                 JOIN so_appointment app on app.id = apph.id
                 JOIN so_beard b on b.id = app.beard
     ) s
WHERE 1=1
                ::where-clause
        ]]>
    </counting-prototype>
    <filter name="MODULE">
        <criteria placeholder="where-clause">
            <![CDATA[
                Module = {0}
            ]]>
        </criteria>
    </filter>
    <filter name="self">
        <criteria placeholder="where-clause">
            <![CDATA[
                Module = {0} and id = {1}
            ]]>
        </criteria>
    </filter>
    <filter name="description">
        <criteria placeholder="where-clause">
            <![CDATA[
                description = {0}
            ]]>
        </criteria>
    </filter>
    <filter name="description_partial">
        <criteria placeholder="where-clause">
            <![CDATA[
                description iLIKE ('%'||{0}||'%')
            ]]>
        </criteria>
    </filter>
    <filter name="subject">
        <criteria placeholder="where-clause">
            <![CDATA[
                subject = {0}
            ]]>
        </criteria>
    </filter>
    <filter name="subject_partial">
        <criteria placeholder="where-clause">
            <![CDATA[
                subject iLIKE ('%'||{0}||'%')
            ]]>
        </criteria>
    </filter>
    <filter name="fc_subject">
        <criteria placeholder="where-clause">
            <![CDATA[
                    fc_subject ilike '%'||{0}||'%'
                ]]>
        </criteria>
    </filter>
    <filter name="fc_subject_partial">
        <criteria placeholder="where-clause">
            <![CDATA[
                    fc_subject ilike '%'||{0}||'%'
                ]]>
        </criteria>
    </filter>
    <filter name="fc_depId">
        <criteria placeholder="where-clause">
            <![CDATA[
                    fc_depId ilike '%'||{0}||'%'
                ]]>
        </criteria>
    </filter>
    <filter name="fc_depId_partial">
        <criteria placeholder="where-clause">
            <![CDATA[
                    fc_depId ilike '%'||{0}||'%'
                ]]>
        </criteria>
    </filter>
    <filter name="moduleName">
        <criteria placeholder="where-clause">
            <![CDATA[
                    moduleName LIKE {0}
                ]]>
        </criteria>
    </filter>
    <filter name="CQSEARCH">
        <criteria placeholder="where-clause">
            <![CDATA[(lower(fc_subject) like ('%' || lower({0}) || '%'))]]>
        </criteria>
    </filter>
</collection>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-3.2.xsd" default-lazy-init="true">
    <bean id="Inventory_(vw_cmj_all_case)Metadata" class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.CollectionMetadataNew" p:caseSensitiveFieldNames="true">
        <constructor-arg>
            <list value-type="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field">
                <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field" p:name="self">
                    <property name="virtualField">
                        <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.BuildVirtualField">
                            <property name="realFields">
                                <list>
                                    <value>self_1</value>
                                    <value>Module</value>
                                    <value>self_2</value>
                                    <value>ID</value>
                                    <value>created_date</value>
                                    <value>self_3</value>
                                </list>
                            </property>
                            <property name="pattern" value="<id>([0-9]{16}):([0-9A-F]{32})</>" />
                            <property name="separator" value="" />
                            <property name="emptySeparator" value="true" />
                        </bean>
                    </property>
                </bean>
                <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field" p:name="fc_subject" p:filter="fc_subject" p:sortOrder="ASCENDING">
                    <property name="virtualField">
                        <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.BuildVirtualField" p:name="fc_subject">
                            <property name="realFields">
                                <list>
                                    <value>fc_subject</value>
                                </list>
                            </property>
                        </bean>
                    </property>
                </bean>
                <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field"
                      p:name="MODULE" p:sortOrder="ASCENDING" p:filter="MODULE"/>
                <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field" p:name="inventory_obj">
                    <property name="virtualField">
                        <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.BuildVirtualField">
                            <property name="realFields">
                                <list>
                                    <value>self_1</value>
                                    <value>Module</value>
                                    <value>self_2</value>
                                    <value>ID</value>
                                    <value>created_date</value>
                                    <value>self_3</value>
                                    <value>invPrefix_tag</value>
                                    <value>invPrefix</value>
                                    <value>self_3</value>
                                    <value>subject_tag</value>
                                    <value>subject</value>
                                    <value>self_3</value>
                                    <value>invNumber_tag</value>
                                    <value>invNumber</value>
                                    <value>self_3</value>
                                </list>
                            </property>
                            <property name="separator" value="" />
                            <property name="emptySeparator" value="true" />
                        </bean>
                    </property>
                </bean>
                <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field" p:name="fc_depId" p:filter="fc_depId" p:sortOrder="ASCENDING" p:categorized="true" p:sortPriority="0" />
            </list>
        </constructor-arg>
    </bean>
</beans>
<?xml version='1.0' encoding='UTF-8'?>
<catalog xmlns="http://www.intertrust.ru/schema/palette/cat-ui">
<custom-descriptor ident="Inventory" view="(vw_cmj_all_case)" id="inventory-all-case" name="Список дел для диалога" style="default">
  <help id="99778660" />
  <builder name="ru.intertrust.cmj.af.collections.impl.BuilderDominoViewCQSearch" />
  <table>
    <columns>
      <column-ref ref="fc_subject" filter="true"/>
      <column-ref ref="inventory_obj" />
      <column-ref ref="self" />
      <column-ref ref="fc_depId" category="true" />
    </columns>
  </table>
</custom-descriptor>
</catalog>
<?xml version='1.0' encoding='UTF-8'?>
<catalog xmlns="http://www.intertrust.ru/schema/palette/cat-ui">
  <view parent-ref="ProgrammedNavigator" id="inventory-all-case" name="${catalog.view.inventory_all_case.name:Список номенклатурных дел}" position="10011">
    <descriptor-ref ref="inventory-all-case"/>
    <source>
      <module ident="Inventory"/>
    </source>
  </view>
</catalog>
  <custom-collection name="${ui.directories.custom-collection.inventory-dictionary.name: Номенклатура дел}" id="inventory-all-case">
      <view-ref ref="inventory-all-case"/>
    </custom-collection>
  <column name="invPrefix" subject="${catalog.column.invPrefix.subject:Префикс}" extends="string">
    <meta>
      <documentation>Префикс дела</documentation>
    </meta>
  </column>
  <column name="invNumber" subject="${catalog.column.invPrefix.subject:Номер}" extends="string">
    <meta>
      <documentation>Номер дела</documentation>
    </meta>
  </column>
  <complex-column extends="object" subject="${catalog.complex-column.inventory_obj.subject:Объект дела}" name="inventory_obj" schema-ref="InventoryDoc">
    <meta>
      <documentation>Объект документа</documentation>
    </meta>
    <column-ref ref="invPrefix" />
    <column-ref ref="subject" />
    <column-ref ref="id" />
    <column-ref ref="invNumber"/>
  </complex-column>