powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Гиперсобытия: баг или кривизна моих рук?
10 сообщений из 10, страница 1 из 1
Гиперсобытия: баг или кривизна моих рук?
    #34372568
Peter Zarubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Затачиваю под свою задачу стандартный поисковый движок Cache <CSP:SEARCH>
В рамках задачи перопределил метод ShowResults класса %CSP.PageLookup
Данный метод предназначен для отоборажение результатов поиска на CSP-страницу.

В код данного метода, я вставил кнопку PACKSPUBUTTON и привязал вызов своего класс метода:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
// Отрывок кода

While (result.Next() && (row < maxrows)) {
		//first row--set up table
		If ((row= 0 ) && (showcount= 1 )) {
			If (countstar= 1 ) { 
				Set rcount = result.GetData(firstcol- 1 )
			}
			Write "<p><font size=""-1"">",%response.GetText("","%CSPSearch","FoundMsg",..#FOUNDMSG1_"<b>%1</b>"_..#FOUNDMSG2,rcount),!
			
			s lr=%session.Get("loadingraion")C
			
			&html<<br><p><input type="button" name="PACKSBUTTON" value="Создать пачки" onclick="#server(..CreatePacks(.result,lr))#">>
			If (rcount>maxrows) {
				Write " ",%response.GetText("","%CSPSearch","ShownMsg",..#SHOWNMSG1_"%1"_..#SHOWNMSG2,maxrows),!
								
			}
			Write "<br></font></p> ",!
		}


Метод CreatePacks не отрабатывает, хотя и ошибки на странице не возникает.
Если написать:
Код: plaintext
1.
2.
&html<<br><p><input type="button" name="PACKSBUTTON" value="Создать пачки" onclick="#(..CreatePacks(.result,lr))#">>

то метод CreatePacks будет вызываться и отрабатывать всегда, когда форма submit'ится, а мне это не нужно (нужно только по нажатию кнопки)

Может быть кто реализовывал ситуацию, когда на сервере при формировании csp-страницы нужно по нажатию кнопки вызвать метод, в который передается по ссылке объект типа %ResultSet , содержащий данные?
...
Рейтинг: 0 / 0
Гиперсобытия: баг или кривизна моих рук?
    #34372869
Фотография u78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пришлите страницу artemu78 rambler.ru
Слишком мало кода и описания, лично я не могу пока понять проблему.
...
Рейтинг: 0 / 0
Гиперсобытия: баг или кривизна моих рук?
    #34372886
Peter Zarubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
u78пришлите страницу artemu78 rambler.ru
Слишком мало кода и описания, лично я не могу пока понять проблему.

Проблема заключается в том, чтобы на странце HTML вызвать метод на сервере и передать ему в качестве параметра объект %ResultSet по ссылке.
...
Рейтинг: 0 / 0
Гиперсобытия: баг или кривизна моих рук?
    #34373421
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Peter Zarubin u78пришлите страницу artemu78 rambler.ru
Слишком мало кода и описания, лично я не могу пока понять проблему.

Проблема заключается в том, чтобы на странце HTML вызвать метод на сервере и передать ему в качестве параметра объект %ResultSet по ссылке.

Создание объекта %ResultSet где происходить ?

ЗЫ: Через серверные методы передаются парамаметры ДЛЯ объектов, а не объекты.
...
Рейтинг: 0 / 0
Гиперсобытия: баг или кривизна моих рук?
    #34373512
Peter Zarubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ptn Peter Zarubin u78пришлите страницу artemu78 rambler.ru
Слишком мало кода и описания, лично я не могу пока понять проблему.

Проблема заключается в том, чтобы на странце HTML вызвать метод на сервере и передать ему в качестве параметра объект %ResultSet по ссылке.

Создание объекта %ResultSet где происходить ?

ЗЫ: Через серверные методы передаются парамаметры ДЛЯ объектов, а не объекты.

%ResultSet создается в этом же методе, выше.
Я понял как решить проблему: загнать все содержимое в %session и использовать данные в любом методе
...
Рейтинг: 0 / 0
Гиперсобытия: баг или кривизна моих рук?
    #34374589
Peter Zarubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Peter Zarubin Ptn Peter Zarubin u78пришлите страницу artemu78 rambler.ru
Слишком мало кода и описания, лично я не могу пока понять проблему.

Проблема заключается в том, чтобы на странце HTML вызвать метод на сервере и передать ему в качестве параметра объект %ResultSet по ссылке.

Создание объекта %ResultSet где происходить ?

ЗЫ: Через серверные методы передаются парамаметры ДЛЯ объектов, а не объекты.

%ResultSet создается в этом же методе, выше.
Я понял как решить проблему: загнать все содержимое в %session и использовать данные в любом методе

Все! проблема решена. Просто по-другому сделал: из %ResultSet закинул все данные в сессию, а потом на клиенте вызвал метод, в котором, считал эти данные. Но из здесь не обошлось без WRC. Оказывается, что в %CSP.Lookup нельзя из js вызвать метод на сервере посредством
Код: plaintext
#server(..myMethod())#

Необходимо было еще добавить ссылки:

Код: plaintext
1.
2.
3.
4.
5.
   &html< 
     <script language="JavaScript" type="text/javascript" src="/csp/broker/cspxmlhttp.js"></script>
     <script language="JavaScript" type="text/javascript" 
     src="/csp/broker/cspbroker.js"></script>
    >

Только после этого, на клиенте можно вызвать серверные методы. Странно, почему это не было сделано в билде?
...
Рейтинг: 0 / 0
Гиперсобытия: баг или кривизна моих рук?
    #34375072
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему не использовали %ScrollableResultSet ?
...
Рейтинг: 0 / 0
Гиперсобытия: баг или кривизна моих рук?
    #34375710
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Peter ZarubinНеобходимо было еще добавить ссылки:

Код: plaintext
1.
2.
3.
4.
5.
   &html< 
     <script language="JavaScript" type="text/javascript" src="/csp/broker/cspxmlhttp.js"></script>
     <script language="JavaScript" type="text/javascript" 
     src="/csp/broker/cspbroker.js"></script>
    >

Только после этого, на клиенте можно вызвать серверные методы. Странно, почему это не было сделано в билде?

Не делается "сразу" потому что ссылки на брокер добавляются при компиляции страницы CSP, а не отдельной её части IMXO.

Вместо вставки указаного текста, для большей совместимости, IMXO лучше использовать вызов
Код: plaintext
1.
d ##class(%CSP.Page).HyperEventBody()
...
Рейтинг: 0 / 0
Гиперсобытия: баг или кривизна моих рук?
    #34375899
Peter Zarubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ptn Peter ZarubinНеобходимо было еще добавить ссылки:

Код: plaintext
1.
2.
3.
4.
5.
   &html< 
     <script language="JavaScript" type="text/javascript" src="/csp/broker/cspxmlhttp.js"></script>
     <script language="JavaScript" type="text/javascript" 
     src="/csp/broker/cspbroker.js"></script>
    >

Только после этого, на клиенте можно вызвать серверные методы. Странно, почему это не было сделано в билде?

Не делается "сразу" потому что ссылки на брокер добавляются при компиляции страницы CSP, а не отдельной её части IMXO.

Вместо вставки указаного текста, для большей совместимости, IMXO лучше использовать вызов
Код: plaintext
1.
d ##class(%CSP.Page).HyperEventBody()


Спасибо, не знал про этот метод. Вышеуказанный код мне подсказал WRC.
...
Рейтинг: 0 / 0
Гиперсобытия: баг или кривизна моих рук?
    #34375902
Peter Zarubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну яА почему не использовали %ScrollableResultSet ?

Вы имейте в виду вместо механизма CSP:SEARCH? Если да - то CSP:SEARCH показался мне очень удобным в том плане, что довольно гибкая система формирования запросов, установки параметров поиска и.т.п. Хотя на вкус и цвет, как говорят, товарища нет.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Гиперсобытия: баг или кривизна моих рук?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]