Добрый день!
TS 3.4.0.180
Пытаюсь передать параметры диаграммы подпроцесса в основной процесс. Но данные не передаются. Как решить эту проблему? Сервисы прилагаю.
Нравится
5 комментариев
25 июня 2014 14:53
Здравствуйте, Андрей!
Необходимо в основной диаграмме настроить связь параметра диаграммы с параметром в подпроцессе:
http://i64.fastpic.ru/big/2014/0625/dd/abab82b4af16e17773f739dbf3a6d2dd.png
А затем получать значение параметра в скрипте диаграммы процесса можно, например, так:
function Item3OnAfterComplete(SubProcessItem, ItemDataset) { var mypr = SubProcessItem.ParentItems.ParentDiagram.Parameters.ItemsbyName('mypr').Value; }
25 июня 2014 19:17
Можно ли связать параметр диаграммы и параметр подпроцесса программно, не обращаясь к дизайнеру?
26 июня 2014 12:03
Здравствуйте, Андрей.
Можно, через ParameterMap.
Пример есть в функции:
function SaveDatasetFields(DiagramItem, Prefix, Dataset) { ClearParametersMapByLikeName(DiagramItem, Prefix); var Records = Dataset.Attributes('Records'); for (var i = 0; i < Records.length; i++) { var Record = Records[i]; ParameterMap = DiagramItem.ParametersMap.CreateItem(); ParameterMap.ItemParameterName = Prefix + '_' + Record.FieldName; ParameterMap.Data = Record.FieldName; ParameterMap.ItemType = Record.MapType; if (Record.ParameterName) { ParameterMap.DiagramParameterName = Record.ParameterName; } else { switch (Record.ParamType) { case wptString: case wptLookup: case wptEnum: ParameterMap.Value = Record.StringValue; break; case wptInteger: ParameterMap.Value = Record.IntegerValue; break; case wptFloat: ParameterMap.Value = Record.FloatValue; break; case wptBool: ParameterMap.Value = Record.BoolValue; break; case wptDateTime: ParameterMap.Value = Record.DateTimeValue; break; default: ParameterMap.Value = Record.Value; } } ParameterMap.IsAdditional = true; DiagramItem.ParametersMap.AddItem(ParameterMap); } }
26 июня 2014 15:08
Можно ли для связи параметров использовать эту функцию из scr_workflowutils?
function WFConnectParams
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать