Если в Вашей компании ежедневно подписываются множество однотипных документов, то для массовых действий удобно использовать управляемые папки со специально настроенными кнопками. Это значительно упростит работу Вашим сотрудникам и, соответственно, ускорит бизнес-процессы.
В стандартной поставке DIRECTUM 5.6 управляемые папки с действиями настроены в модуле «Финансовый архив». Подробнее о них можно прочитать в предыдущей статье.
Если Вы используете собственные типовые маршруты для согласования документов, то для массовой обработки заданий можно настроить аналогичные управляемые папки с учетом особенностей бизнес-процессов компании. Настройка папок будет более простой для типовых маршрутов, в схеме которых встроен стандартный блок «Расширенное задание».
Допустим, у Вас есть типовой маршрут по согласованию документов. Подписание выполняется в блоке «Расширенное задание». Возможные варианты выполнения: Подписано и На доработку:
По этому типовому маршруту сотрудник вашей компании ежедневно подписывает множество документов с определенным типом карточек, например, Служебные записки, Документы произвольной формы. Чтобы упростить его задачу и ускорить подписание документов, можно создать управляемую папку с действиями.
Шаг 1. Создаем новую управляемую папку копированием стандартной управляемой папки финансового архива «Подписание полученных передаточных документов»:
Настраиваем доступ к папке, видимые колонки и критерии поиска. В критериях поиска следует указать, с каким типом карточек документы должны помещаться в папку.
Шаг 2. Настраиваем событие управляемой папки «До выбора» под свой типовой маршрут. Для этого в разделе события Параметры указываем код типового маршрута и номер блока:
Можно указать несколько типовых маршрутов.
Шаг 3. Таким же образом настраиваем все действия папки:
И включаем распространение управляемой папки.
Шаг 4. Чтобы из управляемой папки можно было подписывать документы определенного типа карточки, необходимо доработать текст сценария Массовое подписание в реестре (ManagedFolderSigned). По умолчанию сценарий подписывает документы только с типом карточек Передаточные документы и Счета-фактуры.
Добавляем информацию о типе карточек документов в DFACardTypeCodeList:
В результате во входящих у утверждающего отобразится новая управляемая папка с действиями, и в папке появятся нужные документы на подписание:
Если Ваша разработка значительно отличается от стандартной, разработать указанные управляемые папки можно самостоятельно. В этом случае можно также скопировать стандартную управляемую папку модуля «Финансовый архив», настроить ее под бизнес-процессы компании и модифицировать код события «До выбора». А для доработки действий управляемой папки полезно ознакомиться с шаблоном параметров и со стандартными сценариями.
Для удобства настройки в стандартных управляемых папках модуля «Финансовый архив» в коде действий выделен раздел Параметры. Например, в параметрах шаблона можно указать собственный сценарий для подписания документов.
Перечень параметров действий управляемой папки, которые можно изменять при разработке:
Для удобства работы с управляемым папками мы разработали два сценария:
В качестве одного из параметров сценарию передается имя и схема временной таблицы с подготовленными данными: ИД выбранных документов и ИД заданий, которые следует выполнить. Также обязательными параметрами является результат, с которым нужно выполнить задания, и папка, из которой задание выполняется.
Показ диалогов и запрос параметров для подготовки выполнения заданий нужно выполнить один раз до запуска сценария и передать в задания до выполнения сценария. Сценарий записывает комментарий, переданный в параметрах сценария, в текст выполняемого задания.
В качестве одного из параметра сценарию передается имя временной таблицы с подготовленными данными: ИД выбранных документов и ИД заданий, который следует выполнить. Также обязательными параметрами является результат с которым нужно выполнить задания и папка, из которой задание выполняется.
При доработке действий в управляемых папках также следует учитывать особенности работы в веб-клиенте. Об этом мы расскажем в следующей статье.
Помимо управляемых папок действия можно добавить в обычные папки, например, типа «Документы». Таким же образом в модуле «Финансовый архив» реализована папка для выгрузки документов.
В качестве примера рассмотрим стандартный диалог Создание папки для экспорта (DFACreateExportFolder), который вызывается с обложки модуля «Финансовый архив».
На событии диалога «Закрытие Возможность» создается папка с действиями:
// Добавить действия в папку
Actions = Folder.DetailDataSet(2)
Actions.Append
Actions.Requisites("Code").Field.Value = "Export"
Actions.Requisites("Title").Field.Value = LoadString('DIRFD5E9FB8_460B_49D3_A602_D7D3472367A5'; 'COMMON')
Actions.Requisites("TitleLocalizeID").Field.Value = 'COMMON.DIRFD5E9FB8_460B_49D3_A602_D7D3472367A5'
Actions.Requisites("IconName").Field.Value = 'ExportDocumentIcon'
Actions.Requisites("Visible").Value = 'Да'
Actions.Requisites("EnabledOnlyForSelected").Value = 'Да'
Actions.Requisites("VisibleInWebAccess").Value = 'Да'
// Button, LargeButton и AutoSize
Actions.Requisites("ButtonKind").Field.Value = 'LargeButton'
Actions.Requisites("EnabledWhenMultiSelect").Value = 'Да'
Actions.Requisites("MethodName").Field.Value = 'OnExecute_Export'
Actions.Requisites("SortOrder").Field.Value = 0
// Добавить методы в папку
Method = Folder.DetailDataSet(7)
Method.Append
Method.Requisites("Name").Field.Value = 'OnExecute_Print'
Method.Requisites("Visibility").Field.Value = 'Yes'
Method.Requisites("Calculation").Field.Value = ' /*---------------------------------------------------------------------------------------------------------------------*/
/*---------------------------------------------- Параметры ------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------------------------*/
// Выполнить сценарий
ComponentName = "DFAPrintFinDocuments"
ComponentType = "Script"
// Количество документов, для которых выполнять сценарий в том же процессе
SelectedContentsMaxCount = 1
/*---------------------------------------------------------------------------------------------------------------------*/
/*--------------------------------------------- Вычисления ------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------------------------*/
EDocIDs = CreateStringList()
EDocIDs.Delimiter = ","
foreach SelectedContent in SelectedContents
EDocIDs.Add(SelectedContent.ID)
endforeach
if not IsWebRuntimeContext()
if EDocIDs.Count <= SelectedContentsMaxCount
Script = Scripts.GetObjectByName(ComponentName)
Script.Params.Add("DocID"; EDocIDs.DelimitedText)
Script.Execute
else
SystemCode = СистемаКод()
ExecuteProcess(Format('& "'" &'SBRte.exe -SYS="%s" -CT="Script" -F="%s" -U="DFA" -R="DocID=%s"'& "'" &'; ArrayOf(SystemCode; ComponentName; EDocIDs.DelimitedText)))
endif
else
ParamsForWeb = CreateList()
ParamsForWeb.SetVar("JsActionName"; "DFA.exportDocumentForFolder")
Args = Format('& "'" &'{"scriptName": "%0:s", "docids": "%1:s"}'& "'" &'; ArrayOf(ComponentName; EDocIDs.DelimitedText))
ParamsForWeb.SetVar("JsActionArgs"; Args)
AddWebParam(Object; "EXECUTE_JS_ACTION"; TRUE; ParamsForWeb)
endif
'
// Добавить параметры в методы
Param = Folder.DetailDataSet(8)
Param.Append
Param.Requisites("MethodName").Field.Value = "OnExecute_Export"
Param.Requisites("Name").Field.Value = "SelectedContents"
Param.Requisites("ValueType").Field.Value = 'V'
В результате в папке «Избранное» текущего пользователя появляется папка с кнопками:
вставлять код скриншотами дурной тон.
По вашим пожеланиям скриншоты с кодом заменены на текст.
Авторизуйтесь, чтобы написать комментарий