Способ поиска счетчика
Действия по добавлению нового Модуля в карточку Способ поиска счетчика:
- Скопировать схему ModuleType в override/tuning/so/schema/ModuleType.pal.xml
Добавить дополнительный модуль в схему
ModuleType.pal.xml<?xml version='1.0' encoding='UTF-8'?> <schemas xmlns="http://www.intertrust.ru/schema/palette/tn-schema"> <enum name="ModuleType"> <meta> <category name="РМ Администратора"/> </meta> <string value="InternalDocs" name="InternalDocs"/> <string value="InputDocs" name="InputDocs"/> <string value="OutputDocs" name="OutputDocs"/> <string value="Missions" name="Missions"/> <string value="ContractsLite" name="ContractsLite"/> <string value="Requests" name="Requests"/> <string value="{Module}" name="{Module}"/> </enum> </schemas>
- Скопировать справочник classifier-type-module в override/tuning/so/directory/directory.pal.xml
Добавить дополнительный модуль в схему
directory.pal.xml<value-list name="${ui.directories.value-list.classifier-type-module.name:Тип модуля}" id="classifier-type-module"> <value name="Внутренние документы"/> <value name="Входящие документы"/> <value name="Исходящие документы"/> <value name="ОРД"/> <value name="Договоры"/> <value name="Обращения граждан"/> <value name="{Модуль}"/> </value-list>
В итоге должен быть доступен выбор типа модуля в поле Модуль
Подразделение/РВЗ
Действия по добавлению нового Модуля в карточку Подразделения:
- Скопировать схему SystemGroup в override/tuning/so/schema/SystemGroup.pal.xml
Добавить в схему дополнительные св-ва:
SystemGroup.pal.xml<boolean name="{module}AnotherUnit" system="true" createlog="true"> <storage-string value="1" /> </boolean>
Создать условия применения по скрытию полей, при флаге "Другое подразделение" в override/tuning/so/condition/condition.pal.xml
condition.pal.xml<condition name="SystemGroup_is{module}AnotherUnit"> <schema-ref ref="SystemGroup" condition-union="AND"> <boolean-ref value="true" ref="{module}AnotherUnit"/> </schema-ref> </condition>
- Скопировать форму SystemGroupForm в override/tuning/so/form/SystemGroupForm.pal.xml
Добавить новую секцию c новым модулем
В итоге ожидается, что на вкладке системные группы появится раздел "Новый модуль" на вкладку "Системные группы"
Сотрудник/РВЗ
Действия по добавлению нового Модуля в карточку Сотрудник и РВЗ:
- Скопировать схему SystemGroupModuleTypesEnum в override/tuning/so/schema/SystemGroupModuleTypesEnum.pal.xml
Добавить новый модуль
<?xml version='1.0' encoding='UTF-8'?> <schemas xmlns="http://www.intertrust.ru/schema/palette/tn-schema"> <enum name="SystemGroupModuleTypesEnum"> <meta> <category name="РМ Администратора"/> </meta> <string value="InternalDocs" name="InternalDocs"/> <string value="InputDocs" name="InputDocs"/> <string value="OutputDocs" name="OutputDocs"/> <string value="Missions" name="Missions"/> <string value="ContractsLite" name="ContractsLite"/> <string value="Requests" name="Requests"/> <string value="{Module}" name="{Module}"/> </enum> </schemas>
- Скопировать схему SOEmployee в override/tuning/so/schema/SOEmployee.pal.xml
Добавить дополнительные свойства:
SOEmployee.pal.xml<string name="recalcCounterFormula_{Module}" createlog="true" temporal="true"> <recalc-processing-class>ru.intertrust.cmj.rest.admin.so.employee.counter.RecalcSetDefaultCounterFormulaAnyDP</recalc-processing-class> </string> <schema-ref name="{module}DepRvz" ref="AdminSOUnit" array="true" createlog="true" temporal="true"/> <boolean name="{module}IsNotEmpty" createlog="true" temporal="true"> <calc-values> <script event="open" lang="SPEL"><![CDATA[({module}DepRvz != null && {module}DepRvz.size() != 0) || ( #this.tuning().getValues().get("asForTheUser")!=null && #this.tuning().getValues().get("asForTheUser").getValues().get("intDefMpUnit")!=null && #this.tuning().getValues().get("asForTheUser").getValues().get("intDefMpUnit").getValues().get("id")!=null )]]></script> </calc-values> </boolean>
- Скопировать схему SystemGroupForUser в override/tuning/so/schema/SystemGroupForUser.pal.xml
Добавить дополнительные свойства:
SystemGroupForUser.pal.xml<boolean name="{module}CanChange" createlog="true"> <storage-field name="Change{Module}Place"/> <storage-string value="1"/> </boolean> <string name="{module}CounterJS" createlog="true"> <storage-field name="JS_Num_{Module}"/> </string> <enum-ref name="{module}DefMp" ref="DefMP" createlog="true" temporal="true"> <storage-field name="{module}DefMp"/> </enum-ref> <schema-ref name="{module}DefMpUnit" ref="AdminSOUnit" null-empty="true" createlog="true" temporal="true"/> <string name="{module}" temporal="true" createlog="true"> <calc-values> <script lang="SPEL" event="open"><![CDATA["{Модуль}"]]></script> </calc-values> </string> <schema-ref name="{module}DepRvz" ref="AdminSOUnit" array="true" temporal="true" createlog="true"/>
Создать условие применения для выбора МР из СО в override/tuning/so/condition/condition.pal.xml
condition.pal.xml<condition name="SOEmployee_RegPlaceSelectType_FromSO_{module}"> <schema-ref ref="SOEmployee" condition-union="AND"> <string-ref value="Choose_from_ CO" ref="asForTheUser.{module}DefMp"/> </schema-ref> </condition>
Добавить справочник Места регистрации в override/tuning/so/directory/directory.pal.xml
directory.pal.xml<directories> <custom-collection name="${ui.directories.custom-collection.arm-admin-so-regplaces-{module}.name:Места регистрации}" id="arm-admin-so-regplaces-{module}"> <relation>regplacesunits.collection.{module}</relation> <relation-create>regplacesunits.collection.{module}</relation-create> </custom-collection> </directories>
Добавить справочник Копируемых параметров в другие модули override/tuning/so/directory/directory.pal.xml
directory.pal.xml<list name="${ui.directories.list.modulesForSystemGroupCopy_from{module}.name:АРМАдмин. СО. Модули для копирования сист. групп из {Модуль}}" id="modulesForSystemGroupCopy_from{Module}"> <value alias="InternalDocs" name="Внутренние документы"/> <value alias="InputDocs" name="Входящие документы"/> <value alias="OutputDocs" name="Исходящие документы"/> <value alias="Missions" name="ОРД"/> <value alias="ContractsLite" name="Договоры"/> </list> <list name="${ui.directories.list.modulesForSystemGroupCopy_fromMissions.name:АРМАдмин. СО. Модули для копирования сист. групп из ОРД}" id="modulesForSystemGroupCopy_fromMissions"> <value alias="InternalDocs" name="Внутренние документы"/> <value alias="InputDocs" name="Входящие документы"/> <value alias="OutputDocs" name="Исходящие документы"/> <value alias="ContractsLite" name="Договоры"/> <value alias="{Module}" name="{Модуль}"/> </list> <list name="${ui.directories.list.modulesForSystemGroupCopy_fromInput.name:АРМАдмин. СО. Модули для копирования сист. групп из ВхД}" id="modulesForSystemGroupCopy_fromInput"> <!-- Список модулей, кроме текущего --> <value alias="{Module}" name="{Модуль}"/> </list> <list name="${ui.directories.list.modulesForSystemGroupCopy_fromInternal.name:АРМАдмин. СО. Модули для копирования сист. групп из ВнД}" id="modulesForSystemGroupCopy_fromInternal"> <!-- Список модулей, кроме текущего --> <value alias="{Module}" name="{Модуль}"/> </list> <list name="${ui.directories.list.modulesForSystemGroupCopy_fromOutput.name:АРМАдмин. СО. Модули для копирования сист. групп из ИсхД}" id="modulesForSystemGroupCopy_fromOutput"> <!-- Список модулей, кроме текущего --> <value alias="{Module}" name="{Модуль}"/> </list> <list name="${ui.directories.list.modulesForSystemGroupCopy_fromContract.name:АРМАдмин. СО. Модули для копирования сист. групп из Договоры}" id="modulesForSystemGroupCopy_fromContract"> <!-- Список модулей, кроме текущего --> <value alias="{Module}" name="{Модуль}"/> </list>
Добавить условие отображение модулей при копировании в override/tuning/so/condition/condition.pal.xml
condition.pal.xml<condition name="DialogQuestionSetPostMain_SystemGroupsCopy_from{Module}Form"> <schema-ref ref="DialogQuestionSetPostMain" condition-union="AND"> <string-ref value="SystemGroupsCopyFrom_{Module}" ref="dialogId"/> </schema-ref> </condition>
Доработать диалог DialogQuestionSetPostMainForm при копировании в override/tuning/so/form/DialogQuestionSetPostMainForm.pal.xml и схему DialogQuestionSetPostMain при копировании в override/tuning/so/form/DialogQuestionSetPostMain.pal.xml
- Скопировать форму SOEmployeeForm в секцию SytemGroups в override/tuning/so/form/SOEmployeeForm.pal.xml
- Скопировать форму SOEmployeeRVZForm в секцию SystemGroups\AsForTheUser\hardTable в override/tuning/so/form/SOEmployeeRVZForm.pal.xml
Добавить новую секцию c новым модулем
Массовые операции
Учесть подключение модуля в массовых операциях