четверг, 19 июля 2007 г.

Система: таблица, табличная переменная

[id:013]

Таблица в Аксапте — это класс-надстройка над физической таблицей в базе данных. Ты работаешь с этим классом как с таблицей базы данных, только программно. Плюс к этому на таблице в Аксапте можно создавать свои методы.
Объяснение для .NET-программистов: таблица в Аксапте похожа на Strongly-typed DataSet, который создается в DataSet Designer в VisualStudio (начиная с версии 2003).

Табличная переменная — это как экземпляр класса-таблицы. Но он ведет себя как курсор, то есть указывает на текущую запись в наборе данных.
Работа с данными (создание, изменение, удаление) в большинстве случае выполняются с помощью табличных переменных.

Вот смотрите: EmplTable emplTable; так я объявил табличную переменную "emplTable" для таблицы "EmplTable" (там хранится список сотрудников компании). Пока мы не стоим ни на какой записи и моя табличная переменная "emplTable" указывает в никуда. Но стоит сделать так: select from emplTable where emplTable.EmplId == 'AFE'; и вот мы уже наша "emplTable" ссылается на запись о сотруднике с кодом "AFE". И, написав после этого код: print emplTable.Name; я увидел имя сотрудника - "Грачев Николай".

Пока не загружайтесь тем форматом SQL-запросов, что принят в Аксапте и прочими мелочами. Главное, чтобы стали понятны термины «таблица» и «табличная переменная».

И еще. Раз уж таблица в Аксапте — это класс —, то логично предположить, что все они (таблицы) имеют общего родителя. Этот общий родитель — класс Common. Соответственно, любую табличную переменную можно присвоить переменной класса Common.

Итог:
  • таблица в Аксапте является гибридом таблицы базы данных и класса;
  • работать с таблицами нужно через табличные переменные;
  • класс Common является прадедушкой всех таблиц.

Комментариев нет: