![]() |
#1 |
MCTS
|
Передать данные с сервера на клиент при формировании Excel отчета
Суть задачи в следующем. Пробег по данным осуществляется на сервере и там же формируется текстовая строка для XML. Каждый раз, когда количество строк превышает некоторое значение, оформленный текстовый буфер нужно передать на клиент.
Вопрос в том, как передать этот буфер на клиент, и как оповестить клиентский класс о том, что ему передается очередная порция данных? |
|
![]() |
#2 |
Ищущий знания...
|
может создать класс с CalledFrom=Client и в него параметром передавать? и уже в нем делать всё что нужно на клиенте.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
![]() |
#3 |
MCTS
|
так я об этом и говорю. Создать два класса, один запускается на клиенте, и запускает второй класс на сервере. При этом клиентский класс запускает excel, и запускает процедуру серверного класса (пробег по данным). Каждый раз, когда в серверной процедуре готова очередная порция данных, нужно клиенту каким-то образом ее забрать (это еще можно решить) и вывести в невидимый еще excel, а вот как серверный класс в своей процедуре может оповестить клиент, о том, что подготовил данные, и клиент может их забрать?
|
|
![]() |
#4 |
Member
|
Если вы хотите чтобы полка один класс считает второй мог выводить, то это вам нужно про thread почитать.
__________________
С уважением, glibs® |
|
![]() |
#5 |
MCTS
|
понятно, а можно спросить какого размера данные можно засунуть в str?
|
|
![]() |
#6 |
Участник
|
А кто мешает серверному классу дергать методы в вызвавшем его классе?
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: Eldar9x (1). |
![]() |
#7 |
MCTS
|
X++: ? |
|
![]() |
#8 |
Member
|
Есть еще TextBuffer, если что.
Я сталкивался с очень серьезным падением производительности функции выделения подстроки, если строка очень длинная. Что вы с ней делать собираетесь? Возможно, контейнер из строк окажется эффективнее. И вы эту строку собираетесь гонять между клиентом и сервером? Думаю, даже если какой-то предел существует, вы в него не упретесь ![]()
__________________
С уважением, glibs® |
|
![]() |
#9 |
Участник
|
Посмотрите на RunBase, он так и работает, когда настроено выполнение на сервере
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#10 |
MCTS
|
Цитата:
Я сталкивался с очень серьезным падением производительности функции выделения подстроки, если строка очень длинная.
X++: ? |
|
![]() |
#11 |
MCTS
|
Цитата:
Посмотрите на RunBase, он так и работает, когда настроено выполнение на сервере
|
|