Всем добрый день. Версия 7.12.
Подскажите, а есть ли какой-нибудь аналог такой конструкции:
esq.addMacrosColumn(Terrasoft.QueryMacrosType.PRIMARY_DISPLAY_COLUMN, "PrimaryDisplayColumnValue");
на бекенде, для указания в коде задания-сценария бизнес-процесса?
Т.е. получение значения строковой колонки, имеющей отметку как "Отображаемая" при условии, что мы не знаем кода этой колонки?
Нравится
Добрый день!
У Entity есть поле PrimaryDisplayColumnValue
Использую вот такую конструкцию:
var esqLookup = new EntitySchemaQuery(UserConnection.EntitySchemaManager, objectId); var idLookup = esqLookup.AddColumn("Id"); //Id //var idLookupName = esqLookup.GetPrimaryDisplayColumn(); var lookup= esqLookup.GetEntity(UserConnection, new Guid(guidCode.ToString())); var lookupId = lookup.GetTypedColumnValue<Guid>(idLookup.Name); var lookupName = lookup.PrimaryDisplayColumnValue;
И получаю в lookupName пустоту. При этом значение id вытаскивается верное.
Можно при помощи GetPrimaryDisplayColumnName:
entitySchemaQuery = new EntitySchemaQuery(typeSchema); var typePrimaryColumnName = entitySchemaQuery.AddColumn(typeSchema.GetPrimaryColumnName()).Name; var typeDisplayColumnName = entitySchemaQuery.AddColumn(typeSchema.GetPrimaryDisplayColumnName()).Name;
Смородинов Денис,
А Entity Вы получаете?
Попробуйте таким образом:
EntitySchema entitySchema = userConnection.EntitySchemaManager.GetInstanceByName(entityName); Entity entity = entitySchema.GetEntity(userConnection, idValue); var primaryColumnValue = entity.PrimaryColumnValue; var primaryDisplayColumnValue = entity.PrimaryDisplayColumnValue;
Зверев Александр пишет:
typeSchema
А можно уточнить вопрос? typeSchema - это то, что у меня в скобках ?
var esqLookup = new EntitySchemaQuery(UserConnection.EntitySchemaManager, objectId);
У ESQ есть несколько разных конструкторов. В моём примере typeSchema — переменная типа EntitySchema. Получить схему по названию можно так:
var manager = UserConnection.EntitySchemaManager; var schema = manager.GetInstanceByName("Dashboard");
Смородинов Денис,
А у вашего объекта установлена колонка для отображения?