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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.10.2008, 13:32   #1  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Передать данные с сервера на клиент при формировании Excel отчета
Суть задачи в следующем. Пробег по данным осуществляется на сервере и там же формируется текстовая строка для XML. Каждый раз, когда количество строк превышает некоторое значение, оформленный текстовый буфер нужно передать на клиент.
Вопрос в том, как передать этот буфер на клиент, и как оповестить клиентский класс о том, что ему передается очередная порция данных?
Старый 21.10.2008, 14:07   #2  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
может создать класс с CalledFrom=Client и в него параметром передавать? и уже в нем делать всё что нужно на клиенте.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 21.10.2008, 14:18   #3  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
так я об этом и говорю. Создать два класса, один запускается на клиенте, и запускает второй класс на сервере. При этом клиентский класс запускает excel, и запускает процедуру серверного класса (пробег по данным). Каждый раз, когда в серверной процедуре готова очередная порция данных, нужно клиенту каким-то образом ее забрать (это еще можно решить) и вывести в невидимый еще excel, а вот как серверный класс в своей процедуре может оповестить клиент, о том, что подготовил данные, и клиент может их забрать?
Старый 21.10.2008, 14:28   #4  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Если вы хотите чтобы полка один класс считает второй мог выводить, то это вам нужно про thread почитать.
__________________
С уважением,
glibs®
Старый 21.10.2008, 14:42   #5  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
понятно, а можно спросить какого размера данные можно засунуть в str?
Старый 21.10.2008, 14:45   #6  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
А кто мешает серверному классу дергать методы в вызвавшем его классе?
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: Eldar9x (1).
Старый 21.10.2008, 15:22   #7  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
X++:
          ?
В смысле, при создании серверного класса передаем ему ссылку на объект клиентского класса, о потом просто вызываем метод клиента с параметром текстового буфера, а это сработает? Хотя, если смотреть со стороны клиента, то как раз это и происходит... Это я ваш джоб хочу в таком виде оформить Исследование скорости экспорта данных из Axapta в Excel (коллективный эксперимент)
Старый 21.10.2008, 15:24   #8  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Есть еще TextBuffer, если что.

Я сталкивался с очень серьезным падением производительности функции выделения подстроки, если строка очень длинная. Что вы с ней делать собираетесь? Возможно, контейнер из строк окажется эффективнее.

И вы эту строку собираетесь гонять между клиентом и сервером? Думаю, даже если какой-то предел существует, вы в него не упретесь .
__________________
С уважением,
glibs®
Старый 21.10.2008, 15:34   #9  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от Eldar9x Посмотреть сообщение
В смысле, при создании серверного класса передаем ему ссылку на объект клиентского класса, о потом просто вызываем метод клиента с параметром текстового буфера, а это сработает?
Посмотрите на RunBase, он так и работает, когда настроено выполнение на сервере
__________________
Axapta v.3.0 sp5 kr2
Старый 21.10.2008, 15:36   #10  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Цитата:
Я сталкивался с очень серьезным падением производительности функции выделения подстроки, если строка очень длинная.
думаю, это не предвидется.
X++:
     ?
выводить в excel
Старый 21.10.2008, 15:39   #11  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Цитата:
Посмотрите на RunBase, он так и работает, когда настроено выполнение на сервере
Понятно, большое спасибо!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблемы с выгрузкой отчета их HTML в Excel. Ax3.0 Бриллиантик DAX: Функционал 20 31.03.2008 12:05
Экспорт отчета в Excel Andronov DAX: Программирование 17 13.02.2006 16:13
Не идет выгрузка отчета в Excel. Слабая машина. asabin DAX: Администрирование 27 29.06.2005 10:48
Печать отчета в Excel. Axapta 3.0 Fedr Kuzmich DAX: Функционал 2 19.05.2004 18:26
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

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

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

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