Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Можно ли как-то унифицировать? / 8 сообщений из 8, страница 1 из 1
12.09.2007, 12:43
    #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
12.09.2007, 12:46
    #34794016
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли как-то унифицировать?
Это макет того что получается в итоге...
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
12.09.2007, 13:09
    #34794137
LenRover
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли как-то унифицировать?
krvsa
Уш очень не хочется все это копировать в другие страницы...


можно создать отдельно файл с javascript, например, JS.csp
и затем в каждой страничке делать
<!--#include file="JS.CSP"-->
...
Рейтинг: 0 / 0
12.09.2007, 13:23
    #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
12.09.2007, 13:30
    #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
12.09.2007, 13:34
    #34794257
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли как-то унифицировать?
И там работает! Благодарю!
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
12.09.2007, 13:43
    #34794285
Ptn
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
12.09.2007, 13:53
    #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
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Можно ли как-то унифицировать? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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