Так как технологией не предусматривается сценарий, когда какой-либо отдельный столбец AGE доступен только для чтения, то стандартного способа нет.

Однако, есть обходной путь:

  1. Добавить в детейл вычислимое поле.
  2. Задать функцию вычисления поля так, чтобы она дублировала столбец, который необходимо сделать только для чтения.
  3. В E-представление детейла созданное вычислимое поле, снять видимость с оригинального поля.

После перегенерации объектов все будет работать.

Пример

Пусть дан следующий детейл:

Необходимо сделать поле Field2 доступным только для чтения.

Для начала необходимо добавить вычислимое поле в класс:

Затем, настроить представление:

  1. Добавить вычислимое поле
  2. Снять видимость со “старого” поля
  3. Настроить заголовок вычислимого поля

Перегенерировать объекты. После перегенерации надо модифицировать getter вычислимого поля так, чтобы он возвращал значение поля, которое должно отображаться только для чтения:

[ICSSoft.STORMNET.NotStored()]
[StrLen(255)]
[DataServiceExpression(typeof(ICSSoft.STORMNET.Business.SQLDataService), "Field2")]
public virtual string Field2ReadOnly
{
    get
    {
        // *** Start programmer edit section *** (Side.Field2ReadOnly Get)
        return Field2; // Здесь указываем поле.
        // *** End programmer edit section *** (Side.Field2ReadOnly Get)
    }
    set
    {
        // *** Start programmer edit section *** (Side.Field2ReadOnly Set)

        // *** End programmer edit section *** (Side.Field2ReadOnly Set)
    }
}

После этого AGE будет выглядеть следующим образом: