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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.08.2006, 12:15   #1  
6apcyk is offline
6apcyk
Участник
 
57 / 11 (1) +
Регистрация: 17.08.2005
Передача временной таблицы
Здравствуйте Уважаемые Аксаптоведы!

Как можно передать временную таблицу, созданную на клиенте, на сервер? Только ли через контейнер? Есть ли какой-нибудь метод или класс, который табличный курсор помещает в контейнер?
Старый 09.08.2006, 12:22   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Курсор поместить в контейнер - для этого класса не надо. Просто пишите
return [TableCursor]; - и все - ваша таблица уже в контейнере.
За это сообщение автора поблагодарили: 6apcyk (1).
Старый 09.08.2006, 12:35   #3  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от 6apcyk
Как можно передать временную таблицу, созданную на клиенте, на сервер? Только ли через контейнер?
Не только - еще, к примеру, можно запаковать ее в map: Как передать временную таблицу
За это сообщение автора поблагодарили: 6apcyk (1).
Старый 09.08.2006, 12:37   #4  
6apcyk is offline
6apcyk
Участник
 
57 / 11 (1) +
Регистрация: 17.08.2005
Цитата:
Сообщение от kashperuk
Курсор поместить в контейнер - для этого класса не надо. Просто пишите
return [TableCursor]; - и все - ваша таблица уже в контейнере.
1) Имеется ввиду что табличный курсор, в контейнере?
2) Можно ли всталять данные в табличный курсор так:
container = [TableCursor];
TableCursor = container;
3) Это единственный способ передачи временной таблицы?
Старый 09.08.2006, 12:40   #5  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от 6apcyk
2) Можно ли всталять данные в табличный курсор так:
container = [TableCursor];
TableCursor = container;
В последнем случае, наверно, все-таки
[TableCursor] = container;
Старый 09.08.2006, 12:46   #6  
6apcyk is offline
6apcyk
Участник
 
57 / 11 (1) +
Регистрация: 17.08.2005
gl00mie Спасибо за наводку!

я полагаю этого достаточно! Всем Спасибо!
Старый 09.08.2006, 12:49   #7  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
А простой вариант, разве не работает?

PHP код:
myClass.parmTable(myTmpTable);

void parmTable(MyTmpTable _myTmpTable)
{
    
myTmpTableLocal.setTmpData(_myTmpTable);

Старый 09.08.2006, 13:16   #8  
6apcyk is offline
6apcyk
Участник
 
57 / 11 (1) +
Регистрация: 17.08.2005
Цитата:
Сообщение от Wamr
А простой вариант, разве не работает?

PHP код:
myClass.parmTable(myTmpTable);

void parmTable(MyTmpTable _myTmpTable)
{
    
myTmpTableLocal.setTmpData(_myTmpTable);

Судя по Dev_Gid есть опасение, что временная таблица передается через указатель на сервер с клиента, т.е. сервер будет запросами тянуть данные с клиента!
Старый 09.08.2006, 14:00   #9  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
По поводу контейнера - так можно передать только текущую запись, но не весь результсет.

2 Wamr
X++:
myTmpTableLocal.setTmpData(_myTmpTable);
Этот вызов расположит myTmpTableLocal там же, где и _myTmpTable - т.е. либо обе будет на сервере, либо на клиенте.
__________________
Axapta v.3.0 sp5 kr2
Старый 09.08.2006, 16:32   #10  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Цитата:
сервер будет запросами тянуть данные с клиента
Цитата:
либо обе будет на сервере, либо на клиенте
есть мысли как проверить эти утверждения?
Старый 09.08.2006, 16:41   #11  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Что касается моего - то я перед тем как написал проверил.

Проверка простая - создаю в джобе экземпляр временной таблицы, закачиваю в нее данные и передаю в статический серверный метод класса. В нем создаю экземляр временной таблицы на сервере и с помощью setTmpData() устанавливаю в ней данные из переданной. Серверная таблица становится клиентской.
Так-же наоборот - в статическом серверном методе создаю экземпляр таблицы, закачиваю данные и возвращаю ее из метода. В джобе присваиваю клиентской таблице данные с помощью setTmpData(). Она становится серверной
В обоих случаях смотрел под отладчиком
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: belugin (5).
Старый 09.08.2006, 17:32   #12  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Что касается первого утверждения - сейчас проверил, докладываю результаты.

При выборке из серверной временной таблице на клиента - данные передаются на клиента с сервера, причем передаются порциями по несколько записей, примерно как при фетче запросе c sql сервера
При выборке на сервере с клиентской таблицы - то-же самое, но в обратном направлении: от клиента - серверу.
__________________
Axapta v.3.0 sp5 kr2
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Передача временной таблицы в batch DTD DAX: Программирование 10 30.04.2008 13:55
Динамическое связывание временной таблицы Paul_ST DAX: Программирование 8 25.09.2007 16:17
Проблема с очисткой временной таблицы v.fedorov DAX: Программирование 13 26.10.2006 23:02
Формирование отчета на основе временной таблицы neys DAX: Программирование 8 26.05.2006 15:23
данные из временной таблицы - в Grid Vadik DAX: Программирование 31 12.08.2005 07:43
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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