Добый день!
Нашел на форуме как запустить БП из другой карточки
Но к сожалению может плохо искал незнаю как мне передать несколько параметров в БП
То есть существует раздел запросы я содаю новый запрос и после сохранения нового запроса в базу должен запускаться БП (Задача) и автоматом проставляться некоторые поля которые указаны в карточке запроса откуда я вызываю БП. Как их можно передать ?
var WorkflowUSI = 'Workflow\\Diagrams\\wd_AgreementDemand';
var Now = new Date(System.Now()).getVarDate();
var ID = WorkflowEngine.StartWorkflow(WorkflowUSI, Now);
Нравится
Посмотрите скрипт scr_WorkflowUtils на предмет реализованных функций.
Также можно для запуска использовать scr_WorkflowUtils.WFStartByID(ID процесса, Массив названий параметров, Массив значений параметров)
[javascript]
var ParamNames = ['DemandID'];
var ParamValues = [DemandID];
var Params = WFArrayToParams(ParamNames, ParamValues);
var ID = WorkflowEngine.StartWorkflow(WorkflowUSI, Now,Params);
[/javascript]
их потом вызывать надо или
ParamNames - должны соответсвовать названиям в dataset моего БП?
Вопрос решен
получение параметров идет через методы элементов БП
[javascript]
function NewDemandOnBeforeExecute(ActionItem) {
var ParentDiagram = ActionItem.ParentItems.ParentDiagram;
var DemandID = WFGetParamValue(ParentDiagram, 'DemandID');
var OwnerID = WFGetParamValue(ParentDiagram, 'OwnerID');
var AccountID = WFGetParamValue(ParentDiagram, 'AccountID');
var ContactID = WFGetParamValue(ParentDiagram, 'ContactID');
if (!IsEmptyValue(DemandID)){
WFSetParamValue(ActionItem, 'DemandID', DemandID, 0);
WFSetParamValue(ActionItem, 'AccountID', AccountID, 0);
WFSetParamValue(ActionItem, 'OwnerID', OwnerID, 0);
WFSetParamValue(ActionItem, 'ContactID', ContactID, 0);
AccountID
}
}
[/javascript]
в продолжение темы как можно обратиться к визуальному элементу зная его Dataset
PS нужно сделать поле IsEnabled =true
из самого датасета, если вы перед этим не добавили ему в атрибуты ссылки и без всяких извращений - не получится
имея ссылку на конкретный экземпляр dlData - запросто (dlData.ParentWindow)