10.11.2012, 14:35 | #17 |
Участник
|
Цитата:
Сообщение от S.Kuskov
С таблицами дело обстоит чуть по другому. Содание таблицы в AOT порождает появление нового типа данных в X++. Этот новый табличный тип представляет собой наследника системного класса xRecord. Дальше вы правы, выполнение команды "select" приводит к изменению состояния табличной переменной. Каждое выбранное из БД значение поместится в соответствующее поле табличной переменной.
Вот, есть представления традиционной ориентации. Есть таблица в БД, есть рекордсет. Берем таблицу и с помощью оператора select набираем записи из таблицы в рекордсет. Теперь Аксапта. Есть таблица в БД. Дальше Аксапта знает про эту таблицу в БД и структуру этой таблицы держит у себя в качестве типа объекта в виде элемента АОТ. Так? Дальше мы объявляем переменную с типом данной таблицы. Что при этом происходит? Мы создаем в памяти только пустую структуру этой таблицы или уже структуру, заселенную данными? Дальше самое интересное. Применяем оператор select. Результатом его работы должен быть рекордсет. Так этот самый рекордсет куда складывается? В нашу пустую объявленную переменную или еще куда-то? Создается впечатление, что складывается как раз в нашу же переменную. Но, это же какой-то бардак получается. То есть, объявлением переменной с типом таблицы, мы создаем копию таблицы или пустой рекордсет? Если, допустим, пустой рекордсет "r" , то странным выглядит синтаксическая конструкция "select r;", потому как, вроде бы, "r" должен быть не операндом операции select, а ее результатом. Вот, когда мы, например, в АОТе открываем форму таблицы, где показывается содержание таблицы, что происходит? И еще. Вот мы создали в АОТе таблицу. А потом используем ее, например, в качестве датасорса для датасета, используемого дальше в портале. Допустим, я хочу к тому моменту, когда таблица будет использоваться в качестве дата сорса, произвести некоторые вычисления и положить результат их в одно из полей таблицы. Какое событие нужно использовать и какой метод таблицы лучше перекрывать для размещения кода вычислений? |
|
Теги |
query, архитектура, как правильно |
|
|