AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.11.2012, 14:35   #17  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
С таблицами дело обстоит чуть по другому. Содание таблицы в AOT порождает появление нового типа данных в X++. Этот новый табличный тип представляет собой наследника системного класса xRecord. Дальше вы правы, выполнение команды "select" приводит к изменению состояния табличной переменной. Каждое выбранное из БД значение поместится в соответствующее поле табличной переменной.
... и все-таки, ничо не понимаю.

Вот, есть представления традиционной ориентации.
Есть таблица в БД, есть рекордсет.
Берем таблицу и с помощью оператора select набираем записи из таблицы в рекордсет.

Теперь Аксапта.
Есть таблица в БД.
Дальше Аксапта знает про эту таблицу в БД и структуру этой таблицы держит у себя в качестве типа объекта в виде элемента АОТ. Так?

Дальше мы объявляем переменную с типом данной таблицы.
Что при этом происходит?
Мы создаем в памяти только пустую структуру этой таблицы или уже структуру, заселенную данными?

Дальше самое интересное.
Применяем оператор select.
Результатом его работы должен быть рекордсет.
Так этот самый рекордсет куда складывается?
В нашу пустую объявленную переменную или еще куда-то?

Создается впечатление, что складывается как раз в нашу же переменную.
Но, это же какой-то бардак получается.

То есть, объявлением переменной с типом таблицы, мы создаем копию таблицы или пустой рекордсет?
Если, допустим, пустой рекордсет "r" , то странным выглядит синтаксическая конструкция "select r;", потому как, вроде бы, "r" должен быть не операндом операции select, а ее результатом.

Вот, когда мы, например, в АОТе открываем форму таблицы, где показывается содержание таблицы, что происходит?

И еще.
Вот мы создали в АОТе таблицу.
А потом используем ее, например, в качестве датасорса для датасета, используемого дальше в портале.
Допустим, я хочу к тому моменту, когда таблица будет использоваться в качестве дата сорса, произвести некоторые вычисления и положить результат их в одно из полей таблицы.
Какое событие нужно использовать и какой метод таблицы лучше перекрывать для размещения кода вычислений?
Теги
query, архитектура, как правильно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Обновление поля с определённым типом во всех таблицах. Corel DAX: Программирование 1 20.12.2008 13:37
Достаточно ли изменить дату в таблицах inventTrans, inventTransPosting, VendPackingSlipJour? DmitryS DAX: Программирование 3 18.09.2008 14:37
Проверки заполненных значений в связанных таблицах. miklenew DAX: База знаний и проекты 11 25.12.2007 14:40
Как не использовать relations на таблицах demetra DAX: Программирование 13 14.07.2006 11:00
Осторожнее с CTRL+S на таблицах mit DAX: Администрирование 7 25.07.2005 19:09

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:41.