powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Какже это сделать?
14 сообщений из 14, страница 1 из 1
Какже это сделать?
    #35118215
RustamK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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.
Нижеследующий код это подпрограмма для проверки данных каждого уровня. Она использует функцию $DATA для проверки существования текущего элемента. Если $DATA= 0  на  1 , 2 , и  3  уровнях, это означает, что текущий элемент не существует. Функция $DATA= 10  если на  1  и  2  уровнях есть потомки, но нет данных. Команда WRITE на уров-нях  2  и  3  использует функцию $List для извлечения информации о текущем элементе мас-сива.
Start Read !,"Введите количество записей: ",n 
Read !,"Начать с записи номер: ",s 
For i=s :  1  : s + n { // первый уровень 
If $Data(^client(i)) { 
If $Data(^client(i))= 10  { 
Write !," Имя : Данных нет"}Else {Write !," Имя : " ,^client(i)}

If $Data(^client(i, 1 )) {
//второй уровень
If $Data(^client(i, 1 ))= 10  {Write !,"Адрес: Нет данных" }
Else { // вывод адреса
Write !,"Адрес: ",$List(^client(i, 1 ), 1 )
Write " , ",$List(^client(i, 1 ), 2 )
Write " , ",$List(^client(i, 1 ), 3 )
}
For j= 1 : 1 : 4 
{// третий уровень
If $Data(^client(i, 1 ,j)) { Write !,"Тип счета: ",$List(^client(i, 1 ,j), 1 )
Write ? 30 ," Номер #: ",$List(^client(i, 1 ,j), 2 )
Write ? 50 ," Остаток: ",$List(^client(i, 1 ,j), 3 )
}
}
}
Write !,"Конец" Quit

Люди как мне вывести примерно такие данные в csp т.е. в web страничке чтобы показать иерархическую подчиненность.
больше всего интересует как обращаться к глобали из csp-странички?
Всем кто ответит заранее благодарен.

Пример кода был взят со след ссылки:
http://lusindane.at.tut.by/files/globals.html
http://lusindane.at.tut.by/download/Globals.pdf
...
Рейтинг: 0 / 0
Какже это сделать?
    #35123225
RustamK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Люди скажите хотябы, можно ли обращаться к глобалям, из csp страничек?
...
Рейтинг: 0 / 0
Какже это сделать?
    #35123228
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RustamK , ты так неудобно создал сообщение... Читать не возможно.
Приведи пример глобала... И нарисуй как ты хочеш его показать в CSP...

Акуратнее используй БиБиКоды...
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Какже это сделать?
    #35123230
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RustamKЛюди скажите хотябы, можно ли обращаться к глобалям, из csp страничек?
Можно, можно. Все можно дарагой.
...
Рейтинг: 0 / 0
Какже это сделать?
    #35123243
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
обращение к глобалам в каше:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<html>
<body>

<br>Вот первый глобал: <b>#(^MyGlobal1)#</b>

<server language=Cache>
 w "<br>Вот второй глобал: <b>",^MyGlobal2,"</b>"
</server>

<script language=Cache runat=server>
 w "<br>Вот третий глобал: <b>",^MyGlobal3,"</b>"
</script>


</body>
</html>

Или вы хотели что-то другое?
...
Рейтинг: 0 / 0
Какже это сделать?
    #35123383
RustamK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо за ответ.
мне нужно вытащить из глобалов значения и выстроить в явескрипте иерархическое дерево.
я сделал через sql запросы, но на обработку уходит много времени, я хотел оптимизировать через глобали.
...
Рейтинг: 0 / 0
Какже это сделать?
    #35123388
RustamK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробую использовать ваши советы.
...
Рейтинг: 0 / 0
Какже это сделать?
    #35123531
Александр Коблов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RustamKна обработку уходит много времени
Если обработка --- это время от начала загрузки до страницы до появления дерева, то главный тормоз здесь, скорее всего, --- яваскрипт, а не SQL, особенно если много узлов.
...
Рейтинг: 0 / 0
Какже это сделать?
    #35124001
RustamK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Александр Коблов
Если обработка --- это время от начала загрузки до страницы до появления дерева, то главный тормоз здесь, скорее всего, --- яваскрипт, а не SQL, особенно если много узлов.

ты прав но надо попробовать.
...
Рейтинг: 0 / 0
Какже это сделать?
    #35125656
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите время отдачи страницы в логе веб-сервера.
Можно временные метки поставить в глобал в начале и конце работы программы.

А совсем уж по-хорошему - используйте ^%SYS.MONLBL, там вам до строчки все распишет, где на чем тормозит.

SQL доступ достаточно быстрый, сравним с прямым. Только нужно проверить планы запросов.
...
Рейтинг: 0 / 0
Какже это сделать?
    #35181117
RustamK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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.
<html>
<body>

<br>Вот первый глобал: <b>#(^Таксоном.ЦарствоD( 61 ,"Надотряд"))#</b>
<server language=Cache>
 w "<br>Вот второй глобал: <b>",$LIST(^Таксоном.ЦарствоD( 61 ), 1 ),"</b>"
</server>

<script language=Cache runat=server>
 w "<br>Вот третий глобал: <b>",$Query(^Таксоном.ЦарствоD( 61 ,"Тип")),"</b>"

</script>
<br>Пример <b>
<script language=Cache runat=server>
set x="^Таксоном.ЦарствоD(61)"
for { set x=$Query(@x) 
Quit:x="" 
Write !,"<br>" 

for multiple= 1 : 1 :$LISTLENGTH(@x)
{
	  if $LISTDATA(@x,multiple)= 1  {
	  w $LIST(@x,multiple)," "
	  }
}
}
</script>
</body>
</html>

Вот что выводит в результат

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Вот первый глобал: Ганоидные
Вот второй глобал: ~Таксономия.Подцарство~Таксономия.Тип~Таксономия.Подтип~Таксономия.Раздел~Таксономия.Надкласс~Таксономия.Класс~Таксономия.Подкласс~Таксономия.Инфракласс~Таксономия.Легион~Таксономия.Кагорта~Таксономия.Надотряд~Таксономия.Отряд~Таксономия.Семейство~Таксономия.Род~Таксономия.Вид~
Вот третий глобал:
Пример
Осетр �^Таксоном.ВидS%GlobalBinaryStream
Костные рыбы
Рыбы
Ганоидные
Осетрообразные
Лучиперые
Позвоночные
Многоклеточные mnogkl
Челюстноротые
Осетры
Осетровые
Хордовые hord

Почему глобал выглядит так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
^Таксоном.ЦарствоD( 61 )=<<$LB("~Таксономия.Подцарство~Таксономия.Тип~Таксономия.Подтип~Таксономия.Раздел~Таксономия.Надкласс~Таксономия.Класс~Таксономия.Подкласс~Таксономия.Инфракласс~Таксономия.Легион~Таксономия.Кагорта~Таксономия.Надотряд~Таксономия.Отряд~Таксономия.Семейство~Таксономия.Род~Таксономия.Вид~","","","","Животные","","Jivotnot")>>
^Таксоном.ЦарствоD( 61 ,"Вид")=<<$LB("","Осетр","","","",$LB("<<$C(0,20,1,16,1)_""^Таксоном.ВидS""_$C(2,1,2,1)>>","%GlobalBinaryStream"))>>
^Таксоном.ЦарствоD( 61 ,"Класс")=<<$LB("","Костные рыбы","")>>
^Таксоном.ЦарствоD( 61 ,"Надкласс")=<<$LB("","Рыбы","")>>
^Таксоном.ЦарствоD( 61 ,"Надотряд")=<<$LB("","Ганоидные","")>>
^Таксоном.ЦарствоD( 61 ,"Отряд")=<<$LB("Осетрообразные","","")>>
^Таксоном.ЦарствоD( 61 ,"Подкласс")=<<$LB("Лучиперые","","")>>
^Таксоном.ЦарствоD( 61 ,"Подтип")=<<$LB("Позвоночные","","")>>
^Таксоном.ЦарствоD( 61 ,"Подцарство")=<<$LB("Многоклеточные","","mnogkl")>>
^Таксоном.ЦарствоD( 61 ,"Раздел")=<<$LB("Челюстноротые","","")>>
^Таксоном.ЦарствоD( 61 ,"Род")=<<$LB("Осетры","","")>>
^Таксоном.ЦарствоD( 61 ,"Семейство")=<<$LB("Осетровые","","")>>
^Таксоном.ЦарствоD( 61 ,"Тип")=<<$LB("Хордовые","","","hord")>>


Как лучше провести обход глобалей и получить вот такое дерево
...
Рейтинг: 0 / 0
Какже это сделать?
    #35181518
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Советую вам не стоить дерево сразу, а только верхний уровень.
А если надо - подгружать данные при необходимотсти
...
Рейтинг: 0 / 0
Какже это сделать?
    #35181519
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А также нужно переработать структуру таблиц (именно таблиц), индексы и работать именно через SQL.
...
Рейтинг: 0 / 0
Какже это сделать?
    #35181743
VadimF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ZEN, кстати, есть компонент для работы с деревом.
Так что советую использовать ZEN (Cache' 2007.1 и дальше).

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


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