powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ZEN
25 сообщений из 80, страница 1 из 4
ZEN
    #35928241
mr.Partizan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Скажите, пожалуйста, можно ли сделать такое,
если такое можно, подскажите как:
отобразить на ZEN-странице содержимое глобала в таблицеа
...
Рейтинг: 0 / 0
ZEN
    #35928427
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какого глобала (т.е. его структура) и как это отобразить?
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
ZEN
    #35928786
mr.Partizan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ситуация примерно такая:
Есть данные которые записываются в глобал, первым индексом в глобале будет порядковый номер записи, вторым индексом информация о том корректны ли данные(0 или 1).
Нужно на ZEN странице создать таблицу с тремя полями:порядковый номер записи;корректные или нет данные;данные.
...
Рейтинг: 0 / 0
ZEN
    #35928855
VadimF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZEN-таблица умеет работать с запросом.
Вы можете сделать SQL Storage и получить возможность работать с Вашими данными через SQL.

Второй вариант - сделать не-SQL запрос, который будет работать непосредственно с Вашими данными.

Далее автоматически получаете ZEN-таблицу.

Вадим
...
Рейтинг: 0 / 0
ZEN
    #35929458
mr.Partizan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А можно по подробнее про не-SQL запрос, желательно на примерчике?
...
Рейтинг: 0 / 0
ZEN
    #35929523
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr.Partizan , там идея в следующем... Вы описываете свое хранение (благо оно у вас не сложное) как класс. А далее все действия как с классом.
...
Рейтинг: 0 / 0
ZEN
    #35929581
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr.PartizanА можно по подробнее про не-SQL запрос, желательно на примерчике?
Пожалуйста .
...
Рейтинг: 0 / 0
ZEN
    #35931813
mr.Partizan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, за помощь.

Возник еще один вопрос, думаю что очень простой, но как видно не для меня.....((
Нужно чтобы ZEN-страница с данной таблицей загружалась всегда от определенного пользователя. Подскажите, пожалуйста, как это реализовать?
...
Рейтинг: 0 / 0
ZEN
    #35932094
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr.Partizanзагружалась всегда от определенного пользователя
Что вы понимаете под "пользователем"?
...
Рейтинг: 0 / 0
ZEN
    #35932107
mr.Partizan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
После привязывания класса к таблице, ZEN-страница открывается с ошибкой:

ERROR #5580: SQL Privilege Violation: 'User UnknownUser is not privileged for the operation'
SOURCE ELEMENT: %ZEN.Component.tablePane ()

потому что у пользователя UnknownUser нет ни каких прав,
нужно задать вместо UnknownUser пользователя у которого есть права.
...
Рейтинг: 0 / 0
ZEN
    #35932124
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может стоит дать временно нужные права текущему пользователю через $ROLES ?
Или для удобства использовать макрос $$$AddAllRoleTemporary .
...
Рейтинг: 0 / 0
ZEN
    #35932514
mr.Partizan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пользователя UnknownUser задействовать вообще не нужно, есть пользователь у которого есть все права(например:_SYSTEM )

Пытаюсь сделать так:

ClassMethod OnPreHTTP() As %Boolean [ ServerOnly = 1 ]
{
Quit $SYSTEM.Security.Login("_SYSTEM","SYS")

}
...
Рейтинг: 0 / 0
ZEN
    #35932521
mr.Partizan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
но положительного результата пока нет.
...
Рейтинг: 0 / 0
ZEN
    #35933251
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr.Partizanпользователя UnknownUser задействовать вообще не нужно, есть пользователь у
Пытаюсь сделать так:

ClassMethod OnPreHTTP() As %Boolean [ ServerOnly = 1 ]
{
Quit $SYSTEM.Security.Login("_SYSTEM","SYS")

}

Жуть какая-то, в коде зашивать пароли. А если админ базы догадается, что пароль на системного пользователя общеизвестен и его нужно сменить? Выковыривать все это из кода?
...
Рейтинг: 0 / 0
ZEN
    #35933433
mr.Partizan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Написано же - 'например:_SYSTEM ',
есть просто пользователь у которого есть права на select, нужно чтобы пользователи смогли открыть ZEN-страницу с таблицей не проходя авторизацию под этим пользователем
...
Рейтинг: 0 / 0
ZEN
    #35941343
mr.Partizan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если кому интересно, проблему решил так:

ClassMethod %OnPreHTTP() As %Boolean [ ServerOnly = 1 ]
{
$SYSTEM.Security.Login("cache","cache")
}

Но возникла другая проблема,
если в таблице применить фильтр, то вылетает та же ошибка ((
...
Рейтинг: 0 / 0
ZEN
    #35942034
mr.Partizan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто-нибудь может помочь с решением такой задачи:
Есть таблица на ZEN-странице, нужно получить значение одного из полей (например по двойному щелчку мыши) из этой таблицы, передать на другую ZEN-страницу в качестве значения для фильтра к одному из полей в другой таблице.
...
Рейтинг: 0 / 0
ZEN
    #35942328
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr.PartizanЕсть таблица на ZEN-странице, нужно получить значение одного из полей (например по двойному щелчку мыши) из этой таблицы

Как вариант...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<tablePane 
	id="tpTbl" 
	tableName="ver.Adhoc" 
	ondblclick='zenPage.Select(zenThis.getValue("ID"));' 
	valueColumn="ID"
>
	<column 
		header="Id" 
		colName="ID" 
		hidden="true"
	/>
...
</tablePane>

mr.Partizanпередать на другую ZEN-страницу в качестве значения для фильтра к одному из полей в другой таблице.

Как вариант...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
/// Выбрать строку для редактирования
Method Select(Id As %String) [ Language = javascript ]
{
	var url='ver.zen.AdhocEdit.cls?id='+Id
	zenPage.Go(url)
}
...
/// Переход на другую страницу
Method Go(Url As %String) [ Language = javascript ]
{
	top.location=Url
}
...
Рейтинг: 0 / 0
ZEN
    #35942806
mr.Partizan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вроде все ясно, кроме одного момента, как задать переданное значение в качестве фильтра?
...
Рейтинг: 0 / 0
ZEN
    #35943300
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr.Partizanкак задать переданное значение в качестве фильтра?
А зачем его в фильтр?
Думается мне это значение должно быть однозначно в самом sql-запросе! А фильтры делать уже на другие поля таблички...
...
Рейтинг: 0 / 0
ZEN
    #35943333
mr.Partizan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Буду весьма признателен, если напишите пример,
как подставить переданное значение в sql-запрос.
...
Рейтинг: 0 / 0
ZEN
    #35943359
Фотография 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.
/// Id элемента adhoc
Property idItem As %ZEN.Datatype.id(ZENURL = "id");
...
<tablePane 
	id="tpTbl" 
	tableName="ver.Adhoc" 
	valueColumn="ID"
	useSnapshot="true" 
	OnCreateResultSet="CrtSQL"
>
...
Method CrtSQL(Output tSC As %Status, pInfo As %ZEN.Auxiliary.QueryInfo) As %ResultSet
{
    Set tRS = ""

    Set tSC = $$$OK
    Set tSELECT = "*"
    Set tFROM = "ver.Adhoc"
    Set tORDER = "Name"
    // Вот тут-то и нужно вставлять это значение
    Set tWHERE = " ID="_%page.idItem
    // строим критерии отбора по фильтрам
    If $g(pInfo.filters("Name"))'="" {
        Set tWHERE = tWHERE_"Name Like '"_pInfo.filters("Name")_"' "
    }
    If $g(pInfo.filters("Title"))'="" {
        Set tWHERE = tWHERE _ $s(tWHERE="":"", 1 :" AND ")_"Title = '"_ pInfo.filters("Title")_"'"
    }
    Set sql = "SELECT " _ tSELECT _ " FROM " _ tFROM
    Set:tWHERE'="" sql = sql _ " WHERE " _tWHERE
    Set:tORDER'="" sql = sql _ " ORDER BY " _tORDER
    Set tRS = ##class(%ResultSet).%New()
    Set tSC = tRS.Prepare(sql)
    Set pInfo.queryText = sql
    Quit tRS
}

Все это я надергал "оттуда-отсюда"... Но идея, я думаю, понятна...
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
ZEN
    #35943671
mr.Partizan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, все отлично работает!
...
Рейтинг: 0 / 0
ZEN
    #35943683
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у компонента указывается свойство sql с нужным запросом в в where вместо значений "?"
и указать теги parameter в который передать значения для условий
...
Рейтинг: 0 / 0
ZEN
    #35943758
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor , ты примерчик покажи... С "?" конечно лучше.
...
Рейтинг: 0 / 0
25 сообщений из 80, страница 1 из 4
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ZEN
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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