Здравствуйте! Прошу помочь разобраться с получением имени справочника, который является полем в схеме модуля?
Например:
esqActivity.AddAllSchemaColumns();
var activity= esqActivity.GetEntity(UserConnection, new Guid("D5966520-3689-4024-867E-53ADE61BD936"));
var statusId = activity.GetTypedColumnValueGuid>("StatusId");
var statusName = activity.GetTypedColumnValuestring>("Status.Name");
Я могу получить StatusId, а вот на строке с получением statusName вываливает с ошибкой, что нет такого поля. Хотя в Sql тексте запроса, поле Status.Name есть.
Решено)
Все оказалось просто, но совсем не очевидно. Если в тексте sql запроса мы видим StatusId и Status.Name, то при получении значений данных полей в схеме нужно писать StatusId и StatusName.
Нравится
Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать по данному вопросу.
Здравствуйте, Эмин.
Да, все верно
Вот еще пример:
EntitySchemaQuery esq = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "Assignment");
string idColumnName = esq.AddColumn("Id").Name;
string reasonColumnName = esq.AddColumn("Reason.Name").Name;
//...
var entities = esq.GetEntityCollection(UserConnection);
foreach (var entity in entities)
{
string reason = entity.GetTypedColumnValue(reasonColumnName);
Guid id = entity.GetTypedColumnValue(idColumnName);
}