Доброго дня!
Из процесса "Процесс 1" запускаю "Процесс 2".
В процессе 1 есть переменная "выпадающий список" с элементами справочника "изделия", в процессе 2 есть переменная типа "изделия" (не выпадающий список, а элементы этого справочника).
Не могу понять как запустить процесс 2, чтобы в переменной "изделия" сразу выбрать нужный элемент.
Пробовал так:
((dynamic)instance.Context).Izdelie.SelectedValue(context.Izdelie.Value);
где:
((dynamic)instance.Context).Izdelie - переменная в процессе 2
context.Izdelie - переменная в процессе 1
Получаю ошибку:
[Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: Cannot perform runtime binding on a null reference]
at CallSite.Target(Closure , CallSite , Object , Int32 ) at System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite site, T0 arg0, T1 arg1) at EleWise.ELMA.Model.Scripts.P_PR1_Scripts.Start_PR2(P_PR1 context) in c:\Users\TEMP.TT.004\AppData\Local\Temp\2\ProcessScripts_529f2d884fde484eaee81a758500983f.cs:line 242
И так:
Идея изначально глупая, т.к. св-во Value вернет string.
((dynamic)instance.Context).Izdelie = context.Izdelie.Value;
[System.ArgumentException: Expression of type 'System.String' cannot be used for assignment to type 'EleWise.ELMA.ConfigurationModel.Izdeliya']
at System.Linq.Expressions.Expression.Assign(Expression left, Expression right) at EleWise.ELMA.Model.Entities.Entity`1.ReflectionDynamicMetaObject.BindSetMember(SetMemberBinder binder, DynamicMetaObject value) at System.Dynamic.DynamicMetaObjectBinder.Bind(Object[] args, ReadOnlyCollection`1 parameters, LabelTarget returnLabel) at System.Runtime.CompilerServices.CallSiteBinder.BindCore[T](CallSite`1 site, Object[] args) at System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite site, T0 arg0, T1 arg1) at EleWise.ELMA.Model.Scripts.P_PR1 .Start_PR2(P_PR1 context) in c:\Users\TEMP.TT.004\AppData\Local\Temp\2\ProcessScripts_7f5953d2c1a84e7e878085169538ca46.cs:line 242
Другие переменные стандартных типов (строка, число, выпадающий список и т.п.) передаются без проблем.
Как правильно выбрать элемент в создаваемом процессе?
Не вижу для переменной в процессе 2 ни методов ни свойств по типу "SelectedItem" и т.п.
Есть только неправильная идея - создать временную переменную, куда передать имя объекта, и в скрипте в процессе 2 выбрать объект.
Последнее редактирование: 30 янв 2020