Отображение структур |
Пока не предусматривается возможность отображения структур как единого целого. Можно отображать отдельные поля структур как обычные скалярные переменные. Т.е. поля структур могут быть полями элементов screen и browse. Например, structVariable.structField. Такая идентификация возможна только для полей структурных типов, объявленных в контексте логической таблицы и не являющихся вычисляемыми выражениями. Последнее ограничение означает, что идентификация невозможна для массивов, независимо от того является ли массив полем структуры или же массив содержит элементы структурных типов. Например, конструкция structVariable.structArray[2] : недопустима.
create view type MyRecordType =record a : integer; b : record b1 : double; end; var myRecordVar : MyRecordType; as select * from mytable; browse brMyTable; Fields myRecordVar; // ошибка myRecordVar.a; // правильно myRecordvar.b; // это, то же ошибка myRecordvar.b.b1; // а это правильно end;
Начиная с версии 5.0.05 возможно использование конструкции #<имя_переменной_структурного_типа>.<имя_поля> или fn<имя_переменной_структурного_типа>.<имя_поля> для получения номера поля.