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

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

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

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

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

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

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

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

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

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

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

}

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

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

Но возникла другая проблема,
если в таблице применить фильтр, то вылетает та же ошибка ((
...
Рейтинг: 0 / 0
20.04.2009, 14:13
    #35942034
mr.Partizan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN
Кто-нибудь может помочь с решением такой задачи:
Есть таблица на ZEN-странице, нужно получить значение одного из полей (например по двойному щелчку мыши) из этой таблицы, передать на другую ZEN-страницу в качестве значения для фильтра к одному из полей в другой таблице.
...
Рейтинг: 0 / 0
20.04.2009, 15:52
    #35942328
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN
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
20.04.2009, 19:16
    #35942806
mr.Partizan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN
Вроде все ясно, кроме одного момента, как задать переданное значение в качестве фильтра?
...
Рейтинг: 0 / 0
21.04.2009, 08:11
    #35943300
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN
mr.Partizanкак задать переданное значение в качестве фильтра?
А зачем его в фильтр?
Думается мне это значение должно быть однозначно в самом sql-запросе! А фильтры делать уже на другие поля таблички...
...
Рейтинг: 0 / 0
21.04.2009, 08:54
    #35943333
mr.Partizan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN
Буду весьма признателен, если напишите пример,
как подставить переданное значение в sql-запрос.
...
Рейтинг: 0 / 0
21.04.2009, 09:14
    #35943359
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN
Как вариант...

Код: 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
21.04.2009, 11:16
    #35943671
mr.Partizan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN
Спасибо, все отлично работает!
...
Рейтинг: 0 / 0
21.04.2009, 11:21
    #35943683
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN
у компонента указывается свойство sql с нужным запросом в в where вместо значений "?"
и указать теги parameter в который передать значения для условий
...
Рейтинг: 0 / 0
21.04.2009, 11:47
    #35943758
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN
DAiMor , ты примерчик покажи... С "?" конечно лучше.
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ZEN / 25 сообщений из 80, страница 1 из 4
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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