Ошибка при добавлении SelectedValues в LookupEdit

Добрый день!
Пытаюсь добавить SelectedValues в LookupEdit с помощью метода .AddValues(), но получаю ошибку:

Exception Message: Unsupported type: System.Guid. Use the JsonSerializer class to get the object's JSON representation.
Exception Type: System.ArgumentException
Exception Source: Newtonsoft.Json

Exception Stack Trace:
at Newtonsoft.Json.JsonWriter.WriteValue(Object value)
at Terrasoft.UI.WebControls.Utilities.Json.Converters.LookupSelectedValuesJsonConverter.WriteJson(JsonWriter writer, Object value, JsonSerializer serializer)
at Terrasoft.UI.WebControls.ClientConfig.ToExtConfig(PropertyInfo property, ClientConfigAttribute attr, Object objValue, Object defValue)
at Terrasoft.UI.WebControls.ClientConfig.Process(Object obj)

Кусок кода, вызывающий ошибку:
Dictionary LoadedSelectedValues = new Dictionary();
LoadedSelectedValues.Add(accountColumnName, text);
LoadedSelectedValues.Add("schemaUId", schemaUId);
Page.LookupEditSprRiskPremium.AddSelectedValue(riskRationaleId.ToString(), LoadedSelectedValues);

Terrasoft BPM 5.2.660

Нравится

2 комментария

Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать по данному вопросу.

Что записывается в accountColumnName?

У меня работает такое:

         var entitySchema = userConnection.EntitySchemaManager.GetInstanceByUId(schemaUId);
            string primaryDisplayColumnName = entitySchema.GetPrimaryDisplayColumnName();
            foreach (Entity entity in entityCollection)
            {
                Guid entityId = entity.GetTypedColumnValue<Guid>(entityIdColumnName);
                string entityName = entity.GetTypedColumnValue<string>(entityNameColumnName);
                Dictionary<string, object> values = new Dictionary<string, object>();
                values.Add(primaryDisplayColumnName, entityName);
                values.Add("schemaUId", schemaUId);
                multiLookupEdit.SelectedValues.Add(entityId.ToString(), values);
            }

Обратите внимание на тип переменной values, дело может быть в ней.

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