Отфильтровать перечень БП по пути их размещения (в окне выбора процесса), можно внеся следующие изменения в конфигурацию:
1. Открыть сервис scr_WorkflowGridArea. В теле функции function StartWorkflow() найти строку SelectServiceByCode('WorkflowDiagram', false, Self, 'StartWorkflow', WindowCaption); и заменить ее на следующую строку кода:

SelectServiceByPath('WorkflowDiagram','Workflow\\Workflow Diagrams\\', false, Self, 'StartWorkflow', WindowCaption);

Вместо 'Workflow\\Workflow Diagrams\\' необходимо указать требуемый путь (лучшим вариантом будет создать константу в сервисе scr_Const и обращаться к ней). Поскольку символ «\» является служебным символом, его необходимо экранировать, прописав вместо «\» двойной слеш «\\».

2. В этом же сервисе реализовать функцию SelectServiceByPath:

function SelectServiceByPath(ServiceCode, ServicePath, ShowCodeField, NotifyObject, Tag, WindowCaption) {

                var Dataset = Services.GetNewItemByUSI(ServiceDatasetUSI);
                ApplyDatasetFilter(Dataset, 'ServiceTypeCode', ServiceCode, true);
                ApplyDatasetFilter(Dataset, 'Path', ServicePath, true);
                if (ShowCodeField) {
                               var SearchFieldNames = 'Code;Caption';
                               var DisplayFieldNames = 'Code;Caption';
                } else {
                               var SearchFieldNames = 'Caption';
                               var DisplayFieldNames = 'Caption';
                }
                if (!IsEmptyValue(WindowCaption)){
                               Dataset.Attributes('SelectDataCaption')              = WindowCaption;
                }
                SelectWindow = ShowSelectDataWindow(Dataset, SearchFieldNames,
                               DisplayFieldNames, 'ID', GUID_NULL, 'Caption', '', NotifyObject);
                if (!IsEmptyValue(Tag)) {
                               SelectWindow.Tag = Tag;
                }
}

Нравится

Поделиться

0 комментариев
Показать все комментарии