Отображение структур Назад В начало Вперед

Пока не предусматривается возможность отображения структур как единого целого. Можно отображать отдельные поля структур как обычные скалярные переменные. Т.е. поля структур могут быть полями элементов 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<имя_переменной_структурного_типа>.<имя_поля> для получения номера поля.