powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Использование методов класса, %session
41 сообщений из 41, показаны все 2 страниц
Использование методов класса, %session
    #36609596
блюх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
В классе определен метод, по которому создается и заполняется dynaGrid. Можно ли использовать данный метод на другой ZEN странице для отображения этого грида? Если да, то как?
Ячейки грида заполняются пользователем непосредственно на странице. Можно ли по кнопке сохранить значения ячеек грида в массив, чтобы воспользоваться данным массивом на другой ZEN странице?(как я понимаю, это должно производится с использованием %session, да?)
Заранее спасибо!
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36609666
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блюх , данные не обязательно держать в сессион. Тем паче хранить их там вообще не получится.

Как вариант записать табличку в глобал. А на странички передавать некий "идентификатор" этой таблички... Хоть в УРЛе... Хоть в сессион...
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36609808
Блюх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можете привести пример как это сделать?то есть есть грид,в гриде заполняются ячейки значениями,по кнопке формируется глобал,так?кусок текста можете написать как это происходит?и как этот глобал потом вызвать на другой странице?
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36609846
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блюх , алгоритм описан тобой правильно. Но с гридом я не работал... Т.ч. как брать данные из ячеек грида я даже не в курсе...
Так же нужно придумать как идентифицировать некой строкой всю табличку, которую потом нужно будет вычитывать на другой странице.
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36609891
Блюх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пусть есть грид.Его id="Grid".Значения из грида выцепляются следующим образом- %getvalue(n,m)? где n,m-строка и столбец. есть кнопка.и событие по нажатию этой кнопки .Пусть метод по событию будет называться Save. Что в нем написать?Хотя бы на пальцах объясните, а я уж втыкнуть попробую
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36609936
Блюх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так,ну вроде с глобалом все получилось.Сейчас буду пробовать работать с ним в другом классе.Спасибо за подсказку
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36609955
Блюх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никак не получается обратиться к глобалу из другого класса. Подскажите как это сделать?
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36609961
Блюх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Корявенько,но все вроде получилось.Спасибо за помощь!
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36609966
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блюх , смог сам - уже хорошо! Только в следующий раз показывай как и чего делаешь - это может ускорить решение вопроса/проблемы.
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610105
Блюх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С гридом вопрос решился, но возникли проблемы с таблицей.
Есть таблица
<tablePane id="SostavList"
tableName="MRP.Specif"
...
>
<column colName="ID" hidden="true"/>
<column header="Товар" colName="TovarID->TovName" hidden="true"/>
<column header="Спецификация" colName="Name"/>
<column header="Количество" colName="Kol"/>
</tablePane>
Есть datacombo

<dataCombo label="Товар:" id="TovarIDSostav" name="TovarID" onchange="javascript:zenPage.Otbor()" sql="SELECT ID,TovName FROM MRP.Tovar ORDER BY ID" size="40" />

В этой датакомбо отображается наименование номенклатуры. Срабатывает событие

Method Otbor() [ Language = javascript ]
{
var t=zenPage.getComponentById('SostavList');
...

var Pole=zenPage.getComponentById('TovarIDSostav');

t.setProperty('whereClause',"TovarID="+Pole.getProperty('value'));
zenPage.getComponentById('SostavList').executeQuery();

}
Соответственно на экране отобразится состав номенклатуры, которая была выбрана в датакомбо. Поменялась номенклатура в дата-изменилась таблица. Вопрос в следующем-мне необходимо использовать значение ячеек, отображающиеся в таблице по отбору. Я могу их использовать?Пытались сохранить в глобалы,но не очень понятно как их выцепить.А в грид их записать тоже как-то проблемно.Если говорить конкретно необходимо работать со столбцом Количество.Заранее спасибо!
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610229
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блюхнеобходимо работать со столбцом Количество.Заранее спасибо!
Так у тебя есть целый sql-запрос, который даёт нужные записи в таблице! Вот и работай с ним.
Что-то не понятно мне зачем тебе значения самих ячеек в таблице?
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610340
Фотография kolesov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блюх,

как-то так, думаю:

Код: plaintext
1.
2.
3.
...
var table = ...
var row = table.getRowData(table.selectedIndex); 
alert(row.ColumnName)
• method getRowData(row) [ Language = javascript ]
For tables in snapshot mode only.
Go to the server and fetch the data for the specified row (0-based) from the table snapshot data. This data is packaged into a JavaScript object whose properties correspond to the names of the columns in the snapshot table.
For non-snapshot tables or out of range row numbers, returns null.
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610346
Блюх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1.Да.Запрос есть.Но в дальнейшем для расчетов мне необходимы конкретные значения. В чем суть.
Есть номенклатура, по номенклатуре отображается ее состав. Например, изделие А состоит из трех B и двух C. То есть по запросу, который у меня есть на экране отобразиться следующее
дата комбо: выбираю изделие А
отображается:
--------------|--------------
Наименование Количество |
--------------|--------------
B 3
--------------|-------------|
C 2
--------------|-------------|
Вот для дальнейших расчетов мне нужно как-то запомнить значения 3 и 2, чтобы производить с ними арифметические операции. Потому что таких таблиц по запросу у меня не одна. И в ней тоже формируются свои данные. Значения некоторых столбцов должны перемножаться в зависимости от условия и попасть в другую таблицу.Вот так все запутано)
Можете как-то помочь?
2.С гридом все было бы хорошо. Я с ним работать умею. Но не получается сормировать грид именно таким образом по запросу.В zen методе, который формирует грид указываю sql запрос и в условии where необходимо добавить следующую конструкцию TovarID=Pole,
где поле хранит в себе значение TovarIDSostav- то есть ID той записи , которую пользователь только что выбрал в датакомбо. В Pole все прекрасно записывается, но в самом запросе никак не получается написать TovarID=Pole,чтобы в Pole считывалось значение, хранящееся в этой переменной. Как уже только не писал, и TovarID=#(Pole)# и просто TovarID=Pole, ничего не получается.Вроде понятно объяснил. Там запрос пишется sql="select (то,что мне надо) where TovarID=? " Под знаком вопрос надо написать переменную Pole.Не знаете как это сделать?
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610353
Блюх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kolesov,Так не пойдет. у меня нет конкретной таблицы. У меня есть таблица,формируемая по запросу из других таблиц
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610369
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БлюхВот для дальнейших расчетов мне нужно как-то запомнить значения 3 и 2, чтобы производить с ними арифметические операции. Потому что таких таблиц по запросу у меня не одна. И в ней тоже формируются свои данные. Значения некоторых столбцов должны перемножаться в зависимости от условия и попасть в другую таблицу.Вот так все запутано)
Можете как-то помочь?
Ничего запутаного нет. Ты просто сам разберись что тебе нужно. В любом случае нужно использовать только данные из БД, а со странички брать только вводимую пользователем информацию.
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610383
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блюх2.С гридом все было бы хорошо. Я с ним работать умею. Но не получается сормировать грид именно таким образом по запросу.В zen методе, который формирует грид указываю sql запрос и в условии where необходимо добавить следующую конструкцию TovarID=Pole,
где поле хранит в себе значение TovarIDSostav- то есть ID той записи , которую пользователь только что выбрал в датакомбо. В Pole все прекрасно записывается, но в самом запросе никак не получается написать TovarID=Pole,чтобы в Pole считывалось значение, хранящееся в этой переменной. Как уже только не писал, и TovarID=#(Pole)# и просто TovarID=Pole, ничего не получается.Вроде понятно объяснил. Там запрос пишется sql="select (то,что мне надо) where TovarID=? " Под знаком вопрос надо написать переменную Pole.Не знаете как это сделать?
Как вариант...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<tablePane 
	id="tpStage" 
	tableName="wrk.Stage" 
	valueColumn="ID"
	pageSize="25" 
	useSnapshot="true" 
	caption="Этапы" 
	orderByClause="Job->Subject->Prio,Job,dEnd"
	whereClause="Vers=#(%page.idItem)#"
	onselectrow='zenPage.Select(zenThis.getValue("ID"))'
	ondblclick='zenPage.VersEdit()' 
	showValueInTooltip="true"
	useKeys="true"
>
	<parameter 
		id="pIdVers"
		value="#(%page.idItem)#"
	/>
...
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610393
Фотография kolesov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блюхkolesov,Так не пойдет. у меня нет конкретной таблицы. У меня есть таблица,формируемая по запросу из других таблиц

Извиняюсь, поленился все писать. Первая строчка выглядит так:

var table = zenPage.getComponentById("имя вашего tablePan'а");

В том смысле, что это табличка на странице.
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610414
Блюх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так вот с whereclause как раз-таки проблем бы и не было.так можно было указать конкретно
TovarID=#(Pole)#.И все работало. Запрос строился как раз по такой выборке.Но для грида запрос формируется так:
s query1="SELECT Name FROM MRP.Specif WHERE TovarID=#(Pole)#"
Но если пишу так, то в таблице ищутся не значения, где TovarID совпадает со значением переменной Pole,а со строкой '#(Pole)#'((
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610426
Фотография 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.
<tablePane 
	id="tpStgEmpt" 
	tableName="wrk.Stage" 
	valueColumn="ID"
	pageSize="10" 
	useSnapshot="true" 
	caption="Ожидают" 
	sql="
		Select 
			ID,
			IsNull (Title,Job->Name) as Title,
			TO_CHAR(Job->dEnd,'DD.MM.YYYY') as dEnd,
			Purpose->Name as Purpose
		From wrk.Stage
		Where 
			Member=? and dBeg is NULL and dEnd is NULL
		Order by Job->dEnd
	"
	onselectrow='zenPage.Select(zenThis.getValue("ID"),"cnStgEnpt")'
	ondblclick='zenPage.Edit(zenThis.getValue("ID"));' 
>
	<parameter 
		id="pIdMmbrEmpt"
		value="#(%page.idItem)#"
	/>
...
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610436
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В примере

Код: plaintext
1.
Where 
	Member=?

как раз попадает под твоё описание проблемы...
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610452
Блюх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так я понимаю, когда пишут,что Member=?,то значит Member может принимать любое значение или я ошибаюсь?
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610465
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блюх , не любое. А только значения из параметра. Т.е. тебе просто не хватает параметра внутри тейбелплэйн...
Добавь параметр... В условии селекта поставь знак вопроса... И будет тебе счастие.
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610471
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то типа этого...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<tablePane 
	id="tpId" 
	sql="SELECT Name FROM MRP.Specif WHERE TovarID=?"
>
	<parameter 
		id="pId"
		value="#(%page.idItem)#"
	/>
...
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610475
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точнее даже так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<tablePane 
	id="tpId" 
	sql="SELECT Name FROM MRP.Specif WHERE TovarID=?"
>
	<parameter 
		id="pId"
		value="#(Pole)#"
	/>
...
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610483
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блюх , показывай примеры твоего кода. Это облегчит дело...
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610495
Блюх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
<tablepane>
...
whereClause="TovarID=#(TovarIDSostav)#" -вот такое условие,да?
</tablepane>
а в query грида просто поставлю ?
Так?
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610513
Блюх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну я попробую по-всякому,если не получится, после обеда выложу куски текста. Спасибо всем за помощь и подсказки,буду пробовать
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610535
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всем привет
не очень понятна задача, но
для работы с dynaGrid я иногда использую параметр aux куда и записываю параметры для запроса
потом просто все это разбираю.
вот например такой dg (немного мною переделанный, для удобства работы и с возможностью вставки в ячейку компонентов ZEN, в частности dataCombo):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<demo:gbDynaGrid id="dynaGrid" enclosingStyle="margin-top: 5px; margin-bottom: 5px;"
OnCreateDataSet="CreateDataSet"
showRowLabels="false" hidden="1"
oneditcell="return zenPage.cellEdit(zenThis);"
onchangecell="zenPage.changecell(zenThis);"
onRenderContents="zenThis.setGridMode(1);"
onChangeMode="zenPage.changeMode(zenThis);"
onSaveRow="return zenPage.saveRow(grid);"
onDelRow="return zenPage.delRow(id);"
keyMode="1"
>
<gridColumn width="200"/>
<gridColumn width="40"/>
<gridColumn width="40"/>
...
<gridColumn width="35" hidden="0"/>
<gridColumn width="15" hidden="0"/>
</demo:gbDynaGrid>
а вот методы всякие:
Код: 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.
103.
104.
105.
106.
107.
108.
109.
110.
111.
Method delRow(id) As %String [ ZenMethod ]
{
	s sc=##class(hndb.pointsMT).%DeleteId(id)
	s:$$$ISERR(sc) sc=0_" "_$System.Status.GetErrorText(sc)
	q sc
}

Method saveRow(grid As %ZEN.Component.dynaGrid) As %String [ ZenMethod ]
{
	s sc=$$$OK
	s d=grid.dataSet
	s col=d.%GetDimSize( 2 )
	s row=grid.currRow
	s idRow=d.%GetValue(row,col)
	if (idRow="") {s o=##class(hndb.pointsMT).%New()}
	else {s o=##class(hndb.pointsMT).%OpenId(idRow, 4 )}
	if '$IsObject(o) q 0_" Не удалось открыть объект для записи"	
	s:d.%GetValue(row,2)'="" o.pW=d.%GetValue(row, 2 )
	s:d.%GetValue(row, 3 )'="" o.pF=d.%GetValue(row,3)
	s:d.%GetValue(row,4)'="" o.pS=d.%GetValue(row, 4 )
	s:d.%GetValue(row, 5 )'="" o.pQ=d.%GetValue(row,5)
	s:d.%GetValue(row,6)'="" o.p16=d.%GetValue(row, 6 )
	s:d.%GetValue(row, 7 )'="" o.p32=d.%GetValue(row,7)
	s:d.%GetValue(row,8)'="" o.p64=d.%GetValue(row, 8 )
	s:d.%GetValue(row, 9 )'="" o.p128=d.%GetValue(row,9)
	s:d.%GetValue(row,10)'="" o.qlfr=d.%GetValue(row, 10 )
	s:d.%GetValue(row, 11 )'="" o.q3=d.%GetValue(row,11)
	s:d.%GetValue(row,12)'="" o.q2=d.%GetValue(row, 12 )
	s:d.%GetValue(row, 13 )'="" o.q1=d.%GetValue(row,13)
	s:d.%GetValue(row,14)'="" o.TEM1=d.%GetValue(row, 14 )
	s:d.%GetValue(row, 15 )'="" o.TEM2=d.%GetValue(row,15)
	s:d.%GetValue(row,16)'="" o.TEM3=d.%GetValue(row, 16 )
	s:d.%GetValue(row, 17 )'="" o.TEM4=d.%GetValue(row,17)
	s:d.%GetValue(row,18)'="" o.TEM5=d.%GetValue(row, 18 )
	s:d.%GetValue(row, 19 )'="" o.TEM6=d.%GetValue(row,19)
	s:d.%GetValue(row,20)'="" o.TEM7=d.%GetValue(row, 20 )
	s:d.%GetValue(row, 21 )'="" o.TEM8=d.%GetValue(row,21)
	d:d.%GetValue(row,22)'="" o.CategorySetObjectId(d.%GetValue(row, 22 ))
	s sc=o.%Save() 
	if $$$ISOK(sc) s sc="1 "_o.%Id()
	else  s sc="0 "_$System.Status.GetErrorText(sc)
	q sc
}
Method CreateDataSet(pGrid As %ZEN.Component.dynaGrid, pDataSet As %ZEN.Auxiliary.dataSet) As %Status [ ZenMethod ]
{
	Do pDataSet.%Clear()
	Do pDataSet.%SetLabel("Категория", 1 , 2 )
	Do pDataSet.%SetLabel("W", 2 , 2 )
	Do pDataSet.%SetLabel("F", 3 , 2 )
	Do pDataSet.%SetLabel("S", 4 , 2 )
	Do pDataSet.%SetLabel("Q", 5 , 2 )
	Do pDataSet.%SetLabel("16", 6 , 2 )
	Do pDataSet.%SetLabel("32", 7 , 2 )
	Do pDataSet.%SetLabel("64", 8 , 2 )
	Do pDataSet.%SetLabel("128", 9 , 2 )
	Do pDataSet.%SetLabel("qlfr", 10 , 2 )
	Do pDataSet.%SetLabel("q3", 11 , 2 )
	Do pDataSet.%SetLabel("q2", 12 , 2 )
	Do pDataSet.%SetLabel("q1", 13 , 2 )
	Do pDataSet.%SetLabel("TEM1", 14 , 2 )
	Do pDataSet.%SetLabel("TEM2", 15 , 2 )
	Do pDataSet.%SetLabel("TEM3", 16 , 2 )
	Do pDataSet.%SetLabel("TEM4", 17 , 2 )
	Do pDataSet.%SetLabel("TEM5", 18 , 2 )
	Do pDataSet.%SetLabel("TEM6", 19 , 2 )
	Do pDataSet.%SetLabel("TEM7", 20 , 2 )
	Do pDataSet.%SetLabel("TEM8", 21 , 2 )
	Do pDataSet.%SetLabel("CAT", 22 , 2 )
	Do pDataSet.%SetLabel("ID", 23 , 2 )
	s f=$p(pGrid.aux," ; ")
	s dd=$p(pGrid.aux," ; ", 2 )
	s:dd'="" d=$zdh(dd, 4 )
	if (($g(f)="")||($g(d)="")) q $$$OK
	s sql="SELECT ID,Category->catName,Category,TEM1,TEM2,TEM3,TEM4,TEM5,TEM6,TEM7,TEM8,p128,p16,p32,p64,pF,pQ,pS,pW,q1,q2,q3,qlfr FROM hndb.pointsMT where Category->fed="_f_" and Category->catDate="_d_" order by CAST(pW AS INT) desc"
	Set result=##class(%ResultSet).%New("%DynamicQuery:SQL")
	Set sc=result.Prepare(sql)
	q:$$$ISERR(sc) sc
	Set sc=result.Execute() 
	q:$$$ISERR(sc) sc
	s r= 1 
	While result.Next(.sc) {
		If $$$ISERR(sc) Quit
		;Write result.Data("Name"),result.Data("Salary"),!
		Do pDataSet.%SetValue(result.Data("catName"),r, 1 )
		Do pDataSet.%SetValue(result.Data("pW"),r, 2 )
		Do pDataSet.%SetValue(result.Data("pF"),r, 3 )
		Do pDataSet.%SetValue(result.Data("pS"),r, 4 )
		Do pDataSet.%SetValue(result.Data("pQ"),r, 5 )
		Do pDataSet.%SetValue(result.Data("p16"),r, 6 )
		Do pDataSet.%SetValue(result.Data("p32"),r, 7 )
		Do pDataSet.%SetValue(result.Data("p64"),r, 8 )
		Do pDataSet.%SetValue(result.Data("p128"),r, 9 )
		Do pDataSet.%SetValue(result.Data("qlfr"),r, 10 )
		Do pDataSet.%SetValue(result.Data("q3"),r, 11 )
		Do pDataSet.%SetValue(result.Data("q2"),r, 12 )
		Do pDataSet.%SetValue(result.Data("q1"),r, 13 )
		Do pDataSet.%SetValue(result.Data("TEM1"),r, 14 )
		Do pDataSet.%SetValue(result.Data("TEM2"),r, 15 )
		Do pDataSet.%SetValue(result.Data("TEM3"),r, 16 )
		Do pDataSet.%SetValue(result.Data("TEM4"),r, 17 )
		Do pDataSet.%SetValue(result.Data("TEM5"),r, 18 )
		Do pDataSet.%SetValue(result.Data("TEM6"),r, 19 )
		Do pDataSet.%SetValue(result.Data("TEM7"),r, 20 )
		Do pDataSet.%SetValue(result.Data("TEM8"),r, 21 )
		Do pDataSet.%SetValue(result.Data("Category"),r, 22 )
		Do pDataSet.%SetValue(%ROWID,r, 23 )
		s r=r+ 1 
	}
	q:$$$ISERR(sc) sc
	Quit $$$OK
}
все что нужно что б диманически считались колонки (результаты) можно найти в SAMPLES, все действия выполняются на клиенте javascript-ом.
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610546
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блюх , про грид вроде речь уже не шла... Был датакомбо... Был тэйблплэйн... Вроде решали как их повязать друг с другом...

Про грид не скажу... Я с ним не работал. Да и в твоём случае не понятно зачем он нужен, если вся информация уже находится в классах.
Грид, я так понимаю, нужен для "табличного" редактирования данных. А с показом и выбором справится тэйблплэйн.
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610561
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ymka2007
Код: plaintext
1.
2.
3.
4.
	s sql="SELECT ID,Category->catName,Category,TEM1,TEM2,TEM3,TEM4,TEM5,TEM6,TEM7,TEM8,p128,p16,p32,p64,pF,pQ,pS,pW,q1,q2,q3,qlfr FROM hndb.pointsMT where Category->fed=? and Category->catDate=? order by CAST(pW AS INT) desc"
	Set result=##class(%ResultSet).%New("%DynamicQuery:SQL")
	Set sc=result.Prepare(sql)
	q:$$$ISERR(sc) sc
	Set sc=result.Execute(f,d) 


Вот так бы подправил твой запрос... Раз про параметры речь идёт.
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610581
Блюх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Он- то справился. Но я ж говорю,надо каким-то чудо образом работать со значениями столбцов,которые только что отобразил мне тайблпейн. Я не знаю,как это сделать в таблице, а вот в гриде работать с ячейками легко. Поэтому, думал формировать не тайблпейн по запросу, а формировать грид. И тогда все было бы легко. Возникла проблема с запросом, по которому формирвался грид.Не получается сформировать условие WHERE.
Поэтому я написал,пишу в zen методе для грида:
"select Name from MRP.Specif where TovarID=#(Pole)#", где Pole-это айди записи из datacombo.
Так не рабоатет.Хотел узнать,как написать,чтобы работало. Вот и все.Мы друг друга не поняли)
Тут товарищ выше выложил еще свой грид, кое-что полезное я там увидел, попробую так сделать.
В любом случае,всем спасибо,буду пробовать и если что спрашивать
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610808
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. метод oncahge у dataCombo
в нем нужно прописать
this.getComponentById('твой_ID_твоего_dynaGrid').setProperty('aux',твой_dataCombo.getValue());
2. для простоты положи кнопку обновления данных в dynaGrid:
onclick:
(метод формирования данных в dynaGrid должен быть CreateDataSet(pGrid As %ZEN.Component.dynaGrid, pDataSet As %ZEN.Auxiliary.dataSet) As %Status [ ZenMethod ])
вот такого плана:
Method btnShow() [ Language = javascript ]
{
var c1=this.getComponentById('catMT').getValue();
if (c1=='') {
alert('Необходимо выбрать федерацию');
return;
}
var c2=this.getComponentById('catD').getValue();
var dc=this.getComponentById('cellEditor1');
dc.clearCache();
dc.setProperty('whereClause',c1+' ; '+c2);
var dg=this.getComponentById('dynaGrid');
dg.setProperty('aux',c1+' ; '+c2);
var res=this.CreateDataSet(dg,dg.dataSet);
if (res!=1) {alert('Ошибка!\n'+res);return;}

dg.setHidden(false);
dg.renderContents();
dg.focus();dg.focus();
}
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610811
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,

тут в принципе не важно как все это сформировано, главное чтоб "пусто" не передавалось
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610822
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блюх,

такого плана передачи переменных помоему я еще нигде не видел: #(Pole)#
может быть #(%page.Pole)# или #(this.Pole)#,но при этом на странице у тебя должно быть обьявлено свойство "Property Pole As %String" например
у тя какая версия Cache стоит?
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610886
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ymka2007тут в принципе не важно как все это сформировано, главное чтоб "пусто" не передавалось
В этом конкретном - возможно. Но в общем случае делать желательно через параметры...
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610892
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блюхнадо каким-то чудо образом работать со значениями столбцов,которые только что отобразил мне тайблпейн
Если в табличке ты видишь все что тебе нужно - знать у тебя уже есть нужный sql-запрос. Вот и используй его для получения данных. Не стоит "выковыривать" данные из хтмл-разметки, т.к. они есть в БД.
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610929
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,

в dynaGrid для этого есть свои методы
getCellValue(r, c) returns nothing. [ Language = javascript ]
Return value of grid cell; Row and column are 1-based
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610936
Блюх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообщем,вот чего я пытался добиться и увидел в одном из выложенных примеров. Получилось у меня все в грид записать по запросу.вот метод
Method CreateDataSetCurrentControl3(pGrid As %ZEN.Component.dynaGrid, pMode As %String = "") [ ZenMethod ]
{


s pDataSet = pGrid.dataSet
s Pole=..%GetValueById("TovarIDSostav")

...
do resSet.Prepare("SELECT Name,Kol FROM MRP.Specif,MRP.Tovar where TovarID="_Pole_" group by Name")

do resSet.Execute()

while resSet.Next()
{

/*do pDataSet.%SetLabel(s_i,i,2)*/
do pDataSet.%SetLabel(resSet.Get("Name"),n,1)
do pDataSet.%SetValue(resSet.Get("Kol"),n,1)
set n=n+1 }



d pGrid.%ForceClientRender()
}
Меня интересовало,как считать значение из поля.
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36610939
Блюх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ymka2007,

Pole-это переменная в которой уже хранится значение. Поэтому передачей такого вида #(Pole)# можно было пользоватьсяв других методах.Здесь не получалось)Но увидел,как вы писали _Pole_ и все получилось.
Спасибо всем за советы!!
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36611032
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блюх,

рекомендую в таких случаях
перед исполнением запроса
сам текст запроса зхаписывать в глобаль
в портале находить её, копировать значение
и пытаться выполнить этот запрос в портале

либо выносить на суд общественности сам контекст ошибки (она же была? и текст скорее всего был доступен, было бы быстрее вам помочь)
P.S. как оказалось строка запроса сформирована была неправильно, вот и "ноги" откуда растут.
...
Рейтинг: 0 / 0
Использование методов класса, %session
    #36611079
Блюх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как это неправильно?Запрос работал.Проблема была только в условии where.Я об этом написал несколько раз. Просто была проблема,решить которую можно было несколькими способами- либо работать с тэйблпейном,либо работать с гридом. Грид для меня ближе и понятнее. Если меня кто-то не понял,извините за корявое объяснение.
...
Рейтинг: 0 / 0
41 сообщений из 41, показаны все 2 страниц
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Использование методов класса, %session
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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