почему при добавлении фильтра нельзя использовать значение поля NrbCity.Name?
esqResult.AddAllSchemaColumns();
esqResult.AddColumn("NrbCity.Name");
var entity = esqResult.GetEntity(UserConnection, purchaseId);
этот код выполняется без ошибок.
а вот дальше:
esqMatching.CreateFilterWithParameters(FilterComparisonType.Equal, "UsrCity", entity.GetColumnValue("NrbCity.Name").ToString());
ругается что
Terrasoft.Common.ItemNotFoundException: 'Значение с именем "NrbCity.Name" не найдено'
что не так-то? как использовать значение этого поля дальше в другом фильтре?
Нравится
Добрый вечер.
Для работы с такой колонкой можно сохранить её название в переменную и потом обращаться по нему:
string cityColumnName = esqResult.AddColumn("NrbCity.Name").Name; ... entity.GetColumnValue(cityColumnName).ToString();
Система формирует названия таких колонок по-другому, по-моему, через подчеркивание. Вот таким образом: 'NrbCity_Name'.
Попробуйте отладиться и посмотреть, какое название будет у этой колонки.
Добрый вечер.
Для работы с такой колонкой можно сохранить её название в переменную и потом обращаться по нему:
string cityColumnName = esqResult.AddColumn("NrbCity.Name").Name; ... entity.GetColumnValue(cityColumnName).ToString();
Система формирует названия таких колонок по-другому, по-моему, через подчеркивание. Вот таким образом: 'NrbCity_Name'.
Попробуйте отладиться и посмотреть, какое название будет у этой колонки.
entity.GetColumnValue<string>("NrbCity.Name").Name
Dima Avdoshin,
это ничем не отличается от моего варианта
entity.GetColumnValue<string>("NrbCity.Name") - не будет найден
Алла Савельева,
да, спасибо! именно так все и оказалось.
Gladushkin Peter,
("NrbCity.Name").Name у вас приведение к стрингу, а у меня взято свойство Name , как Аллы показано при добавлении колонки