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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.07.2007, 13:02   #1  
vallys is offline
vallys
Developer
 
146 / 108 (0) +++++
Регистрация: 18.01.2005
Ошибка при передаче курсора для обновления с клиента на сервер
Ув. форумчане.

Подскажите, пожалуйста, можно ли передать курсор для обновления (например такой - select firstonly forupdate Table) с клиента на сервер?
Мои эксперименты ни к чему хорошему не привели. Аксапта падает с сообщением "Сессия работы на сервере Navision Axapta не может быть продолжена из-за возникновения критической ошибки. Непоправимая ошибка возникла в процессе обработки сервером приложения последнего запроса. Попытайтесь подключиться к системе снова и повторить операцию. Если ошибка повторяется, обратитесь к вашему администратору" на строке "return Table" в функции, которая исполняется на клиенте и вызывается на стороне сервера (аоса).

Может я упустил/забыл что-то из документации?
Вопрос задаю ради интереса , на практике операции по выборке и обновлению таблиц организованы на стороне сервера.

В приложении - класс, запуск которого приводит к "падению" аксапты при "return Table" в функции clientFunc().

Ax 3 SP2, MS SQL Server 2000
Вложения
Тип файла: xpo TestClass_TMP.xpo (1.9 Кб, 490 просмотров)
Старый 03.07.2007, 13:13   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Если указать условие выборки по первичному ключу, то все будет ок. Иначе же, действительно падает.

DAX 3.0 SP5 KR2

Отрабатывает в первом случае, если используется кэш (а он работает по первичному ключу). то есть если дописать перед выборкой disableCache(true), то тоже будет падать.

А вообще конечно извратно на клиенте выбирать запись (при этом бегая на сервер за этой самой записью), чтобы потом ее передать на сервер
За это сообщение автора поблагодарили: vallys (1).
Старый 03.07.2007, 13:17   #3  
vallys is offline
vallys
Developer
 
146 / 108 (0) +++++
Регистрация: 18.01.2005
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Если указать условие выборки по первичному ключу, то все будет ок. Иначе же, действительно падает.

DAX 3.0 SP5 KR2

Отрабатывает в первом случае, если используется кэш (а он работает по первичному ключу). то есть если дописать перед выборкой disableCache(true), то тоже будет падать.
Ок, спасибо, все понятно.
Вопрос снят.

Цитата:
Сообщение от kashperuk Посмотреть сообщение
А вообще конечно извратно на клиенте выбирать запись (при этом бегая на сервер за этой самой записью), чтобы потом ее передать на сервер

Последний раз редактировалось vallys; 03.07.2007 в 13:21.
Старый 03.07.2007, 13:24   #4  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Можно сделать так - объявить табличную переменную на серверной стороне и передать ее в метод на клиенте. На клиенте делать выборку по этой переменной и из метода вернуть ее.

Сильное подозрение, что при возврате из метода на клиенте табличная переменная и связанные с ней данные удаляются. Но ссылка на сервер приходит. И при попытке обращения к ней все рушится.
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: vallys (1).
Старый 03.07.2007, 13:32   #5  
vallys is offline
vallys
Developer
 
146 / 108 (0) +++++
Регистрация: 18.01.2005
Цитата:
Сообщение от AndyD Посмотреть сообщение
Можно сделать так - объявить табличную переменную на серверной стороне и передать ее в метод на клиенте. На клиенте делать выборку по этой переменной и из метода вернуть ее.

Сильное подозрение, что при возврате из метода на клиенте табличная переменная и связанные с ней данные удаляются. Но ссылка на сервер приходит. И при попытке обращения к ней все рушится.
Да, все так и есть. Можно "таскать" табличную переменную из метода в метод.

В приложении измененный клас первого поста. При таком подходе все работает.

Спасибо.
Вложения
Тип файла: xpo TestClass2_TMP.xpo (2.0 Кб, 681 просмотров)

Последний раз редактировалось vallys; 03.07.2007 в 15:21.
Теги
ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка при установке клиента Ax 4.0 kalex_a DAX: Администрирование 2 02.03.2009 06:49
Ошибка при работе клиента при выборе MenuItemButton из MenuButton на любой форме Карис DAX: Администрирование 3 04.04.2008 08:56
Как получить screen клиента и передать его на сервер приложений velk DAX: Программирование 5 18.10.2006 17:54
Ошибка при разнесении платежа от клиента leshy DAX: Функционал 3 14.07.2004 11:29
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

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

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

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