YellowВ РАБОТЕАвторВасильев Антон
На этой странице:Реализация
Постановка задачи
Подключить выбор дела на форму РКК
Инструмент
Палитра 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> |
Создать форму
Создать структуру объекта Дела для отображения UI-интерфейсе
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
<?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> |
Подключить объект к схеме документа
Подключить объект Дела к схеме документа
Блок кода | ||||
---|---|---|---|---|
| ||||
<?xml version='1.0' encoding='UTF-8'?> <schemas xmlns="http://www.intertrust.ru/schema/palette/tn-schema"> <schema> <schema-ref ref="InventoryDoc" name="case"/> </schema> </schemas> |
Добавить поле на форму
Подключить поле "Дело" в UI-интерфейс
Блок кода | ||||
---|---|---|---|---|
| ||||
<field attribute-ref="case" name="$<?xml version='1.0' encoding='UTF-8'?> <ui xmlns="http://www.intertrust.ru/schema/palette/tn-ui"> <form> <section> <component> <field attribute-ref="case" name="${ui.form.RkkResourceInputForm.section.Attributes.section.Additional.field.delocase.name:Дело:}"> <!-- Визуализация --> <appearance importance="normal" multiline="true" open-form="newTab"> <label-style> <properties> <style id="tunBorderedField"/> <read-only> </label-style> </appearance> </field> </component> </section> </form> </ui> |
Подключить справочник
Создать кастомную коллекцию
Написать SQL запрос для вывода списка Дел
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
<collection name="Inventory_(vw_cmj_all_case)" idField="id" replace="runtime"> <prototype> <![CDATA[ SELECT id, <condition-ref ref="canNotEditDeloInput"/> numberWOTags, created_date, Module, self_1, self_2, self_3, invPrefix_tag, </read-only> subject_tag, invNumber_tag, numberWOTags, subject, moduleName, fc_subject, fileCardNumber || invNumber || ' </properties> ' || subject as description, invNumber, fc_depId, fileCardNumber as invPrefix FROM ( SELECT <appearance importance="normal" multiline="true" open-form="newTab"> 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, <label-style>complect, ss_module.title as moduleName, fc.created_date, fc.title as subject, fc.Code <style id="tunBorderedField"/> as numberWOTags, fc.Number as invNumber, '<id>' </label-style> AS self_1, ':' </appearance> AS self_2, <directories relation="inventory-all-case" limit-livesearch="sys-current"> '</>' <directory-category-custom-coll attribute-ref="regPlaceID" ref="inventory-all-case"/> AS self_3, '<invPrefix>' </directories> AS invPrefix_tag, '<subject>' <hint-pop-up>${ui.form.RkkResourceInputForm.section.Attributes.section.Additional.field.delo.hintPopUp:Дело}</hint-pop-up> AS subject_tag, '<invNumber>' </field> | ||||||
Блок кода | ||||||
| ||||||
<collection name="Inventory_(vw_cmj_all_case)" idField="id" replace="runtime"> <prototype> <![CDATA[ SELECT id, numberWOTags, AS createdinvNumber_datetag, Module, CASE self_1, self_2, self_3, WHEN (parent.IsCodeNumIndex = 1) invPrefix_tag, subject_tag, invNumber_tag, THEN parent.Code numberWOTags, subject,|| '-' || fc.Number || ' ' || fc.title moduleName, fc_subject, ELSE fc.Code fileCardNumber|| '-' || invNumberfc.Number || ' ' || subject as description, fc.title invNumber, END AS fc_depIdsubject, fileCardNumber as invPrefix FROM (CASE SELECT WHEN (parent.IsCodeNumIndex = 1) CASE WHEN b.cmjunid IS NULL THEN substring(u.migrationid, 0, 33) ELSE substring(b.cmjunid, 0, 33) END AS fc_depId, THEN parent.Code || '-' || fc.Number fc.id AS id, ELSE fc.moduleCode as Module,|| '-' complect, END AS fileCardNumber ss_module.title as moduleName,FROM FD_FileCard fc.created_date, fc.title as subject, LEFT JOIN SO_Parent parent ON parent.id = fc.soobject fc.Code as numberWOTags, fc.Number as invNumber,JOIN ss_module ON ss_module.id=fc.module '<id>' JOIN so_parent_su ON fc.soobject = so_parent_su.id JOIN so_structureunit su on su.id = so_parent_su.owner ASJOIN selfso_1, unit u on u.id = su.id ':' JOIN so_beard b on b.id = su.beard UNION SELECT substring(b.cmjunid, 0, 33) AS self_2as fc_depId, '</>' fc.id AS id, fc.module as Module, complect, ss_module.title as moduleName, AS self_3, fc.created_date, '<invPrefix>' fc.title as subject, fc.Code as numberWOTags, fc.Number as invNumber, AS invPrefix_tag, '<id>' '<subject>' AS subjectself_tag1, '<invNumber>:' AS invNumber_tag, CASEAS self_2, '</>' WHEN (parent.IsCodeNumIndex = 1) THEN parent.Code || '-' || fc.Number || ' ' || fc.title AS self_3, ELSE fc.Code || '-' || fc.Number || ' ' || fc.title <invPrefix>' END AS fcinvPrefix_subjecttag, CASE '<subject>' WHEN (parent.IsCodeNumIndex = 1) THEN parent.Code || '-' || fc.Number AS subject_tag, '<invNumber>' ELSE fc.Code || '-' END AS fileCardNumber FROM AS invNumber_tag, FD_FileCard fc CASE LEFT JOIN SO_Parent parent ONWHEN (parent.idIsCodeNumIndex = fc.soobject 1) JOIN ss_module ONTHEN ss_module.id=fc.module parent.Code || '-' || fc.Number || ' ' || fc.title JOIN so_parent_su ON ELSE fc.soobject = so_parent_su.id Code || '-' || fc.Number || ' ' || fc.title JOIN so_structureunit su on su.idEND =AS so_parent_su.ownerfc_subject, JOIN so_unit u on u.id = su.idCASE JOIN so_beard b on b.idWHEN (parent.IsCodeNumIndex = su.beard1) UNION SELECT THEN parent.Code || '-' substring(b.cmjunid, 0, 33) as fc_depId, || fc.Number ELSE fc.idCode AS id,|| '-' fc.module as Module, END AS fileCardNumber complect,FROM ssFD_module.title as moduleName,FileCard fc fc.created_date, LEFT JOIN SO_Parent parent ON parent.id = fc.title as subject,soobject fc.Code as numberWOTags, JOIN ss_module ON ss_module.id=fc.module fc.Number as invNumber, JOIN so_parent_ph ON fc.soobject '<id>'= 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 AS self_1,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 AS self_2,]]> </prototype> <counting-prototype> '</>' <![CDATA[ SELECT COUNT(1) FROM ( SELECT AS self_3, CASE '<invPrefix>' 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 ASas invPrefix_tagModule, '<subject>'complect, ss_module.title as moduleName, fc.created_date, ASfc.title as subject_tag, '<invNumber>'fc.Code as numberWOTags, fc.Number as invNumber, '<id>' AS invNumber_tag, CASE WHEN (parent.IsCodeNumIndex =AS self_1), ':' THEN parent.Code || '-' || fc.Number || ' ' || fc.title ELSE fc.Code || '-' || fc.Number || ' ' || fc.title AS self_2, '</>' END AS fc_subject, CASE WHEN (parent.IsCodeNumIndex = 1) AS self_3, THEN parent.Code || '-<invPrefix>' || fc.Number ELSE fc.Code || '-' END AS fileCardNumberinvPrefix_tag, FROM '<subject>' FD_FileCard fc LEFT JOIN SO_Parent parent ON parent.id = fc.soobject AS subject_tag, JOIN ss_module ON ss_module.id=fc.module '<invNumber>' JOIN so_parent_ph ON fc.soobject = so_parent_ph.id JOIN so_posthead ph on ph.id =AS so_parent_ph.owner invNumber_tag, CASE JOIN so_appointmenthead apph on apph.post = ph.id ANDWHEN apph(parent.accessredirectIsCodeNumIndex is= NULL1) JOIN so_appointment app on app.id = apph.id THEN parent.Code || '-' || fc.Number || ' ' || fc.title JOIN so_beard b on b.id =ELSE appfc.beard Code || '-' || ) s WHERE 1=1fc.Number || ' ' || fc.title ::where-clause ]]> </prototype> END <counting-prototype>AS fc_subject, <![CDATA[ CASE SELECT WHEN COUNT(parent.IsCodeNumIndex = 1) FROM ( THEN SELECT parent.Code || '-' || fc.Number CASE WHEN b.cmjunid IS NULL THEN substring(u.migrationid, 0, 33) ELSE substring(b.cmjunid, 0, 33) END AS fc_depId, fc.Code || '-' fc.idEND AS id,fileCardNumber FROM fc.module as Module, FD_FileCard fc complect, LEFT JOIN ssSO_module.titleParent asparent moduleName, ON parent.id = fc.soobject fc.created_date, JOIN ss_module fc.title as subject,ON ss_module.id=fc.module fc.Code as numberWOTags, JOIN so_parent_su ON fc.soobject = so_parent_su.id fc.Number as invNumber, JOIN so_structureunit su '<id>' on su.id = so_parent_su.owner JOIN so_unit u on u.id = su.id JOIN so_beard b on b.id = AS self_1, su.beard UNION SELECT ':' substring(b.cmjunid, 0, 33) as fc_depId, fc.id AS id, fc.module as Module, AS self_2, complect, '</>' ss_module.title as moduleName, fc.created_date, fc.title as subject, fc.Code ASas self_3numberWOTags, '<invPrefix>' fc.Number as invNumber, '<id>' AS invPrefix_tag AS self_1, '<subject>':' AS subjectself_tag2, '<invNumber>'</>' AS invNumberself_tag3, CASE '<invPrefix>' WHEN (parent.IsCodeNumIndex = 1) THEN parent.Code || '-' || fc.Number || ' ' || fc.title AS invPrefix_tag, '<subject>' ELSE fc.Code || '-' || fc.Number || ' ' || fc.title AS subject_tag, '<invNumber>' END AS fcinvNumber_subjecttag, CASE WHEN (parent.IsCodeNumIndex = 1) THEN parent.Code || '-' || fc.Number || ' ' || fc.title ELSE fc.Code || '-' || fc.Number || ' ' || fc.title END AS fileCardNumber fc_subject, FROM CASE WHEN FD_FileCard fc(parent.IsCodeNumIndex = 1) LEFT JOIN SO_Parent parent ONTHEN parent.id =Code || '-' || fc.soobjectNumber JOIN ss_module ON ss_module.id=fc.module ELSE fc.Code || '-' JOIN so_parent_su ONEND fc.soobject = so_parent_su.idAS fileCardNumber FROM JOIN so_structureunit su on su.id = so_parent_su.owner FD_FileCard fc LEFT JOIN soSO_unitParent uparent onON uparent.id = sufc.idsoobject JOIN soss_beardmodule b on bON ss_module.id = sufc.beardmodule UNION SELECT JOIN so_parent_ph ON fc.soobject = so_parent_ph.id substring(b.cmjunid, 0, 33) as fc_depId, JOIN so_posthead ph fcon ph.id AS id,= so_parent_ph.owner fc.module as Module, JOIN so_appointmenthead apph on apph.post = ph.id AND apph.accessredirect is complect,NULL ss_module.title as moduleName, JOIN so_appointment app on app.id = apph.id fc.created_date, JOIN so_beard b on fcb.titleid as subject,= app.beard ) s WHERE 1=1 fc.Code as numberWOTags, ::where-clause fc.Number as invNumber, ]]> </counting-prototype> <filter name="MODULE"> '<id>' <criteria placeholder="where-clause"> <![CDATA[ Module = {0} AS self_1,]]> </criteria> ':'</filter> <filter name="self"> <criteria placeholder="where-clause"> <![CDATA[ Module = {0} and id = {1} AS self_2, ]]> ' </>'criteria> </filter> <filter name="description"> <criteria placeholder="where-clause"> <![CDATA[ description AS self_3,= {0} '<invPrefix>']]> </criteria> </filter> <filter name="description_partial"> <criteria placeholder="where-clause"> <![CDATA[ AS invPrefix_tag, description iLIKE ('<subject>' %'||{0}||'%') ]]> </criteria> </filter> <filter name="subject"> <criteria placeholder="where-clause"> AS subject_tag, <![CDATA[ '<invNumber>' subject = {0} ]]> </criteria> </filter> AS invNumber_tag,<filter name="subject_partial"> <criteria placeholder="where-clause"> CASE <![CDATA[ WHEN (parent.IsCodeNumIndex = 1) subject iLIKE ('%'||{0}||'%') ]]> THEN parent.Code || '-' || fc.Number || ' ' || fc.title </criteria> </filter> <filter name="fc_subject"> <criteria placeholder="where-clause"> ELSE fc.Code || '-' || fc.Number || ' ' || fc.title <![CDATA[ END AS fc_subject, ilike '%'||{0}||'%' CASE ]]> </criteria> WHEN (parent.IsCodeNumIndex = 1) </filter> <filter name="fc_subject_partial"> <criteria placeholder="where-clause"> THEN parent.Code || '-' || fc.Number <![CDATA[ ELSE fc.Code _subject ilike '%'||{0}|| '-%' END AS fileCardNumber]]> FROM</criteria> </filter> FD_FileCard fc<filter name="fc_depId"> <criteria placeholder="where-clause"> LEFT JOIN SO_Parent parent ON parent.id = fc.soobject <![CDATA[ JOIN ssfc_moduledepId ON ss_module.id=fc.moduleilike '%'||{0}||'%' ]]> JOIN so_parent_ph ON fc.soobject = so_parent_ph.id </criteria> </filter> <filter name="fc_depId_partial"> JOIN so_posthead ph on ph.id<criteria = so_parent_ph.ownerplaceholder="where-clause"> <![CDATA[ JOIN so_appointmenthead apph on apph.post = ph.id AND apph.accessredirect is NULL fc_depId ilike '%'||{0}||'%' JOIN so_appointment app on app.id = apph.id ]]> </criteria> </filter> JOIN so_beard b on b.id = app.beard ) s WHERE 1=1 ::where-clause ]]> </counting-prototype> <filter name="MODULE<filter name="moduleName"> <criteria placeholder="where-clause"> <![CDATA[ ModulemoduleName =LIKE {0} ]]> </criteria> </filter> <filter name="selfCQSEARCH"> <criteria placeholder="where-clause"> <![CDATA[ Module = {0} and id = {1} (lower(fc_subject) like ('%' || lower({0}) || '%'))]]> </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}||'%' ]]></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 </criteria> </filter> <filter name="fc_subject_partialhttp://www.springframework.org/schema/beans/spring-beans-3.2.xsd" default-lazy-init="true"> <bean id="Inventory_(vw_cmj_all_case)Metadata" <criteria placeholder="where-clauseclass="ru.intertrust.cm_sochi.srv.connector.sochi.collections.CollectionMetadataNew" p:caseSensitiveFieldNames="true"> <![CDATA[<constructor-arg> fc_subject ilike '%'||{0}||'%'<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"> </criteria> </filter> <filter name="fc_depId"> <criteria placeholder="where-clause<property name="virtualField"> <![CDATA[ fc_depId ilike '%'||{0}||'%' <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.BuildVirtualField"> ]]> </criteria> </filter> <filter<property name="fc_depId_partialrealFields"> <criteria placeholder="where-clause"> <![CDATA[ <list> fc_depId ilike '%'||{0}||'%' ]]> </criteria> <<value>self_1</filter>value> <filter name="moduleName"> <criteria placeholder="where-clause"> <![CDATA[ <value>Module</value> moduleName LIKE {0} ]]> <<value>self_2</criteria>value> </filter> <filter name="CQSEARCH"> <criteria placeholder="where-clause"> <![CDATA[(lower(fc_subject) like ('%' || lower({0}) || '%'))]]> <value>ID</value> </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"> <value>created_date</value> <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"> <value>self_3</value> <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field" p:name="self"> <property name="virtualField"> </list> <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.BuildVirtualField"> </property> <property name="realFields"name="pattern" value="<id>([0-9]{16}):([0-9A-F]{32})</>" /> <property name="separator" <list>value="" /> <property <value>self_1</value>name="emptySeparator" value="true" /> </bean> <value>Module</value> </property> </bean> <value>self_2</value> <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field" p:name="fc_subject" p:filter="fc_subject" p:sortOrder="ASCENDING"> <value>ID</value><property name="virtualField"> <bean <value>created_date</value>class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.BuildVirtualField" p:name="fc_subject"> <value>self_3</value><property name="realFields"> </list> <list> </property> <property name="pattern" value="<id>([0-9]{16}):([0-9A-F]{32})</>" /> <value>fc_subject</value> <property name="separator" value="" </>list> <property name="emptySeparator" value="true" /></property> </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 p:name="MODULE" p:sortOrder="ASCENDING" p:filter="virtualFieldMODULE"/> <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.BuildVirtualFieldField" p:name="fcinventory_subjectobj"> <property name="realFieldsvirtualField"> <list><bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.BuildVirtualField"> <value>fc_subject</value> <property name="realFields"> </list> <list> </property> </bean><value>self_1</value> </property> <<value>Module</bean>value> <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field" p:name="MODULE" p:sortOrder="ASCENDING" p:filter="MODULE"/><value>self_2</value> <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field" p:name="inventory_obj"> <property name="virtualField"> <value>ID</value> <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.BuildVirtualField"> <value>created_date</value> <property name="realFields"> <value>self_3</value> <list> <value>invPrefix_tag</value> <value>self_1<<value>invPrefix</value> <value>Module<<value>self_3</value> <value>self<value>subject_2<tag</value> <value>ID<<value>subject</value> <value>created<value>self_date<3</value> <value>self<value>invNumber_3<tag</value> <value>invPrefix_tag<<value>invNumber</value> <value>invPrefix<<value>self_3</value> </list> <value>self_3</value> </property> <value>subject_tag</value> <property name="separator" value="" /> <value>subject</value> <property name="emptySeparator" value="true" /> <value>self_3<</value>bean> </property> <value>invNumber_tag<</value>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" /> <value>invNumber</value></list> </constructor-arg> </bean> </beans> |
Создать описатели колонок
Блок кода | ||||
---|---|---|---|---|
| ||||
<?xml version='1.0' encoding='UTF-8'?> <catalog xmlns="http://www.intertrust.ru/schema/palette/cat-ui"> <column name="invPrefix" subject="${catalog.column.invPrefix.subject:Префикс}" extends="string"> <meta> <value>self_3</value> <documentation>Префикс дела</documentation> </list> </meta> </column> <column name="invNumber" subject="${catalog.column.invPrefix.subject:Номер}" extends="string"> <meta> <documentation>Номер дела</documentation> </meta> </property>column> <complex-column extends="object" subject="${catalog.complex-column.inventory_obj.subject:Объект дела}" name="inventory_obj" schema-ref="InventoryDoc"> <meta> <documentation>Объект документа</documentation> </meta> <property name <column-ref ref="separatorinvPrefix" value="" /> <column-ref ref="subject" /> <column-ref ref="id" /> <column-ref ref="invNumber"/> </complex-column> </catalog> |
Создать дескриптор
Создать описатель коллекции для UI-интерфейса
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
<?xml version='1.0' <property name="emptySeparator" value="true" /> </bean> </property> 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 </bean>ref="fc_subject" filter="true"/> <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 <column-ref ref="inventory_obj" /> <column-ref ref="self" /> <column-ref ref="fc_depId" category="true" /> </list>columns> </constructor-arg> </bean> </beans>table> </custom-descriptor> </catalog> |
Создать программную коллекцию
Создать программную коллекцию и подключить к ней дескриптор
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
<?xml version='1.0' encoding='UTF-8'?> <catalog xmlns="http://www.intertrust.ru/schema/palette/cat-ui"> <custom-descriptor ident <view parent-ref="InventoryProgrammedNavigator" viewid="(vw_cmj_all_case)inventory-all-case" idname="inventory-all-case" name="Список дел для диалога" style="default"> <help id="99778660" ${catalog.view.inventory_all_case.name:Список номенклатурных дел}" position="10011"> <descriptor-ref ref="inventory-all-case"/> <builder name="ru.intertrust.cmj.af.collections.impl.BuilderDominoViewCQSearch" /> <source> <table> <columns> <module ident="Inventory"/> <column-ref ref="fc_subject" filter="true"/> <column-ref ref="inventory_obj" /> <column-ref ref="self" / </source> </view> </catalog> |
Создать справочник
Создать справочник и подключить программную коллекцию
Блок кода | ||||
---|---|---|---|---|
| ||||
<?xml version='1.0' encoding='UTF-8'?> <ui xmlns="http://www.intertrust.ru/schema/palette/tn-ui"> <directories> <custom-collection name="${ui.directories.custom-collection.inventory-dictionary.name: Номенклатура дел}" id="inventory-all-case"> <column <view-ref ref="fc_depId" category="true" inventory-all-case"/> </columns>custom-collection> </table>directories> </custom-descriptor> </catalog>ui> |
Подключить справочник к полю
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
<?xml version='1.0' encoding='UTF-8'?> <catalog<ui xmlns="http://www.intertrust.ru/schema/palette/cattn-ui"> <view parent <!--form--> <section> <component> <field attribute-ref="ProgrammedNavigator" id="inventory-all-case" name="${catalog.view.inventory_all_case.name:Список номенклатурных дел}" position="10011"> <descriptor-ref ref="inventory-all-case"/ui.form.RkkResourceInputForm.field.case.name:Дело:}"> <!-- Визуализация --> <appearance importance="normal" multiline="true" open-form="newTab"> <source> <module ident="Inventory"/> </source> </view> </catalog> | ||||||
Блок кода | ||||||
<custom-collection name="${ui.directories.custom-collection.inventory-dictionary.name: Номенклатура дел}" id="inventory-all-case"> <label-style> <view-ref ref="inventory-all-case"/> </custom-collection> | ||||||
Блок кода | ||||||
| ||||||
<column name="invPrefix" subject="${catalog.column.invPrefix.subject:Префикс}" extends="string" <style id="tunBorderedField"/> <meta> <documentation>Префикс дела</documentation> </meta> </column> <column name="invNumber" subject="${catalog.column.invPrefix.subject:Номер}" extends="string"> </label-style> <meta> <documentation>Номер дела</documentation> </meta> </column> <complex-column extends="object" subject="${catalog.complex-column.inventory_obj.subject:Объект дела}" name="inventory_obj" schema-ref="InventoryDoc"> <meta> appearance> <!--Подключение справочника--> <directories relation="inventory-all-case" limit-livesearch="sys-current"> <directory-category-custom-coll attribute-ref="regPlaceID" ref="inventory-all-case"/> </directories> <documentation>Объект документа</documentation> </meta>field> </component> <column-ref ref="invPrefix" /> <column-ref ref="subject" /> <column-ref ref="id" /> <column-ref ref="invNumber"/> </complex-column> </section> <!--form--> </ui> |