powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Можно ли как-то унифицировать?
8 сообщений из 8, страница 1 из 1
Можно ли как-то унифицировать?
    #34794002
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотелось бы написать csp вариант для "универсальной" работы с классами... Вот есть страничка
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
<HTML>
<HEAD>
<TITLE></TITLE>

<script language='JavaScript'>

// Выполнить поиск
function Find() {
   var val=#server(..cBreak())#
   val=TypFind()
   val=IndName()
   obj.submit()
}

// Имя индекса
function IndName() {
   var val=obj.AllInd.selectedIndex 
   val=obj.AllInd.options[val].value
   obj.Index.value=val
   return val
}

// Перечитать страницу
function LoadPg() {
   obj.submit()
}

// Перечитать страницу
function Stop() {
   var val=#server(..cStop())#
   obj.submit()
}

// Смена индекса
function NewInd() {
   var val=#server(..cBreak())#
   obj.reset()
   obj.submit()
}

// Тип поиска
function TypFind() {
   var i= 0 
   if (obj.TypFind[ 1 ].checked) {
      i= 1 
   } else if (obj.TypFind[ 2 ].checked) {
      i= 2 
   } 
   obj.TypFindSet.value=i
   return i
}

// Добавить запись
function Add() {
   alert("Тут будет добавление...")
}

// Редактировать запись
function Edit() {
   alert("Тут будет редактирование...")
}

// Удалить запись
function Del() {
   alert("Тут будет удаление...")
}

</script>

</HEAD>

<csp:method name="cBreak" arguments="" returntype="%String">  
   // Прервать выполняемый поиск
   s nam=$$Temp^sysNAME()
   k @nam
   q  1 
</csp:method>

<csp:method name="cStop" arguments="" returntype="%String">  
   // Остановить выполняемый поиск
   s nam=$$Temp^sysNAME()
   s @nam@("Break")= 1 
   q  1 
</csp:method>

<BODY>
<form name='taskall' method='post' action='taskall.csp' onsubmit='return Find()'>

<script language='Cache' runat='Server'>
   s set=$$Set^sysNAME
   s @set@("Csp")="taskall"
   s @set@("Class")="sys.Task"
   d LIST^sysLIST()
</script>

</form>

<script language='JavaScript'>
	var obj=document.forms[ 0 ]
</script>

</BODY>
</HTML>
Где процедурка
Код: plaintext
   d LIST^sysLIST()
Делает все что мне нужно. Но куда деть "верхний"
Код: plaintext
1.
2.
<script language='JavaScript'>
...
</script>
и
Код: plaintext
1.
2.
<csp:method name="cStop" arguments="" returntype="%String">  
...
</csp:method>
Уш очень не хочется все это копировать в другие страницы...
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Можно ли как-то унифицировать?
    #34794016
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это макет того что получается в итоге...
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Можно ли как-то унифицировать?
    #34794137
LenRover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa
Уш очень не хочется все это копировать в другие страницы...


можно создать отдельно файл с javascript, например, JS.csp
и затем в каждой страничке делать
<!--#include file="JS.CSP"-->
...
Рейтинг: 0 / 0
Можно ли как-то унифицировать?
    #34794198
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я пока пробовал JS функции подключать
Код: plaintext
<script language='JavaScript' src='url'><script>
Но что-то не работает... Видно это дело в
Код: plaintext
var val=#server(..cBreak())#
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Можно ли как-то унифицировать?
    #34794232
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дела пошли!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
<HTML>
<HEAD>
<TITLE></TITLE>

<!--#include file="JsCsp/sys.csp"-->

</HEAD>

<csp:method name="cBreak" arguments="" returntype="%String">  
   // Прервать выполняемый поиск
   s nam=$$Temp^sysNAME()
   k @nam
   q  1 
</csp:method>

<csp:method name="cStop" arguments="" returntype="%String">  
   // Остановить выполняемый поиск
   s nam=$$Temp^sysNAME()
   s @nam@("Break")= 1 
   q  1 
</csp:method>

<BODY>
<form name='taskall' method='post' action='taskall.csp' onsubmit='return Find()'>

<script language='Cache' runat='Server'>
   s set=$$Set^sysNAME
   s @set@("Csp")="taskall"
   s @set@("Class")="sys.Task"
   d LIST^sysLIST()
</script>

</form>

<script language='JavaScript'>
	var obj=document.forms[ 0 ]
</script>

</BODY>
</HTML>
От JS избавился! А с методами таким же макаром пойдет?
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Можно ли как-то унифицировать?
    #34794257
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И там работает! Благодарю!
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Можно ли как-то унифицировать?
    #34794285
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Методы запихиваются в регистред класс после чего делается
Код: plaintext
1.
<CSP:CLASS SUPER="%CSP.Page,Find.MyClass">

JS - перемещается в .JS файл ... проблему с бряком можно решить через CSR.

Он вставить метод Find - а остальные подключить как .JS файл.

В каждой странице останется написать вызов тега.

Код: plaintext
1.
<MYTAG:FIND/>

Либо таки вписать его в первый регистред класс где вызов писать примерно так

Код: plaintext
1.
2.
3.
4.
// call
 Write $c( 9 )_" var val=cspCallServerMethod('"_(..Encrypt($listbuild("СТРОКА"))_$select(%session.UseSessionCookie'=2:"&CSPCHD="_%session.CSPSessionCookie,1:"")_"&WCHARSET="_%response.CharSet)_"');",!
// server
 Write $c(9)_" var val=cspRunServerMethod('"_(..Encrypt($listbuild("СТРОКА"))_$select(%session.UseSessionCookie'=2:"&CSPCHD="_%session.CSPSessionCookie,1:"")_"&WCHARSET="_%response.CharSet)_"');",!

Строку которую нужно указать - смотриш в классе от CSP страницы, может отличатся от версии к версии. На 5.0.5 там имя_класс_ксп_".""_имя_метода_":"_там имя_класс_ксп

Например csp.index.Login:csp.index".

А если из данного метода сделать генератор - то все решится одним CSP:CLASS SUPER...
...
Рейтинг: 0 / 0
Можно ли как-то унифицировать?
    #34794329
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока вроде хватает и
Код: plaintext
<!--#include file="*.csp"-->
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Можно ли как-то унифицировать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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