Как передать в элемент диаграммы параметр с типом значения Dictionary?

Мне необходимо в действие БП передать параметр, который бы содержал в себе объект dictionary, чтобы я потом внутри элемента мог использовать этот параметр.
Как это сделать? Я создал параметр у действия БП (WorkflowAction) с типом "Массив", но у меня выскакивает ошибка при присвоению этому параметру значения типа Dictionary.

Пример моего кода:

var FieldMatches = GetNewDictionary();
FieldMatches.Add('OfferingID', 'OfferingID');
FieldMatches.Add('NeededQuantity', 'NeededQuantity');
WFSetParamValue(ActionItem, 'FieldMatches', FieldMatches, wptArray);

Текст ошибки при выполнении кода:

Ошибка выполнения метода 'Action3OnBeforeExecute'. В свойство следует поместить объект типа массив, а не простого типа «Call Stack»

Еще можно указать тип параметра "Двоичный", но не думаю, что это подойдет для хранения типа значения "Dictionary".

Нравится

6 комментариев

Я вот тут пытался выяснить насчет массива, но разработчики ничего не ответили:
http://community.terrasoft.ua/forum/topic/3164

По теме - можно попытаться заменить

var FieldMatches = GetNewDictionary();

на

var FieldMatches = new Array();
FieldMatches.push('OfferingID');

Лабитек
Центр разработки приложений

Спасибо за совет.

Но массив не так удобен в моем случае, я уже решил другим путем пойти :)

На самом деле, под типом "массив" в параметрах бизнес-процесса имеется в виду не массив конфигурации, созданный как new Array(), а тип, который используется в ядре.

Олег Лабьяк,
разработчик,
3-я линия Службы поддержки Terrasoft.

Я уже пробовал и тип "Бинарный объект" - тоже ошибку выдает. Как же тогда передать в элеменет БП объект Dictionary?

Андрей, попробуйте так, как описано в теме, ссылку на которую дал Валерий. Либо используйте строковый параметр + создайте несколько функций, которые будут формировать из строки объект Dictionary и наоборот. Бинарный объект для Dictionary тоже не подходит.

Олег Лабьяк,
разработчик,
3-я линия Службы поддержки Terrasoft.

Спасибо, Олег. На будущее думаю пригодится :)

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