Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ряд вопросов по Каше / 25 сообщений из 30, страница 1 из 2
03.01.2008, 17:04
    #35044274
ceshka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
знает ли кно-нибудь:
1. можно ли как-нибудь программно добавить в Кашовый объект поле, кроме как через переписывание существующего класса?
2. можно ли запихать в Кашовый объект дерево неизвестной глубины целиком, например посредством "merge"? или придётся писать на каждый уровень вложенности новый подчинённый класс? Т.е. не реализован ли тип данных типа (извините за товтологию) %Tree?
3. возможна ли в Каше реализация разного рода java-понтов типа падающих меню и, если да, то как именно?
...
Рейтинг: 0 / 0
05.01.2008, 05:38
    #35045583
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
Может я чего то не понял, но
1.Ээ?
2.Незачем пихать сразу дерево неизвестной глубины. Можно сделать поле класса, причем того же самого типа или другого, при желании можно его сделать хранимым внутри класса, но великого смысла пока тоже не вижу.
3.В каше возможно многое, в том числе и генерация javascript, (если вы его конечно знаете). Это ничем не отличается от генерации HTML.

По третьему пункту вам наверняка еще добавят знатоки ZEN.
...
Рейтинг: 0 / 0
05.01.2008, 09:06
    #35045600
logist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
> 1. можно ли как-нибудь программно добавить в Кашовый объект поле, кроме
> как через переписывание существующего класса?
Тут уже было обсуждение на эту тему. Делается через классы %Dictionary.*, однако
так поступать не рекомендуется по многим причинам, их тоже называли - поищите по
форуму.

> 2. можно ли запихать в Кашовый объект дерево неизвестной глубины
> целиком, например посредством "merge"? или придётся писать на каждый
> уровень вложенности новый подчинённый класс? Т.е. не реализован ли тип
> данных типа (извините за товтологию) %Tree?
Любому полю можно сделать модификатор [MultiDimensional]. Однако следует учесть,
что такие поля не попадают в SQL, и хранение для них придется писать отдельно.

> 3. возможна ли в Каше реализация разного рода java-понтов типа падающих
> меню и, если да, то как именно?
Можно написать клиента на Java.

Любви.
logist (Сергей Шутов)
ООО Димас, Хабаровск
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
10.01.2008, 14:18
    #35052925
ceshka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
logist
Тут уже было обсуждение на эту тему. Делается через классы %Dictionary.*, однако
так поступать не рекомендуется по многим причинам, их тоже называли - поищите по
форуму.

что-то не нашел, не будет сцылочки, извините за наглость?

logist
Любому полю можно сделать модификатор [MultiDimensional]. Однако следует учесть,
что такие поля не попадают в SQL, и хранение для них придется писать отдельно.

огромное спасибо

logist
> 3. возможна ли в Каше реализация разного рода java-понтов типа падающих
> меню и, если да, то как именно?
Можно написать клиента на Java.

видимо, некорректно задал вопрос. Нужен не клиент на Java, а примерно следующее: есть интернет страничка, в ней кнопочка-сцылочка, наводишь на нее мышку, падает менюшка с другими сцылочками. Куда и как в CSP прописать код, формирующий ету менюшку и сами строчки-ссылки?
...
Рейтинг: 0 / 0
10.01.2008, 15:22
    #35053218
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
ceshkaКуда и как в CSP прописать код, формирующий ету менюшку и сами строчки-ссылки?
Не знаю как в ZEN, может там есть готовые "компоненты", но для CSP все сведется к "коду" html и javaskript... Но писать его можно на COS.
...
Рейтинг: 0 / 0
10.01.2008, 15:37
    #35053288
ceshka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
krvsa
Не знаю как в ZEN, может там есть готовые "компоненты", но для CSP все сведется к "коду" html и javaskript... Но писать его можно на COS.
А где в самой страничке это должно располагаться и как должно выглядеть?
Это как метод должно быть оформлено?
Если на COS, то будет выглядеть как обращение к функции внутри метода? Что она должна формировать и в каком виде?
...
Рейтинг: 0 / 0
11.01.2008, 01:41
    #35054475
Сашок
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
ceshkaесть интернет страничка, в ней кнопочка-сцылочка, наводишь на нее мышку, падает менюшка с другими сцылочками. Куда и как в CSP прописать код, формирующий ету менюшку и сами строчки-ссылки?
Все описанное не относится к серверному программированию, так что Cache' здесь не причем.
1. Кнопка-ссылка, при наведении мыши на которую, Вы собираетесь отображать меню - это любой объект HTML, например, специально оформленный стилями div. Тогда у него будет атрибут onmouseover="showMenu()", вызывающий обработчик на javascript для указанного события.
2. Меню - скорее всего тоже div, который изначально не отображается (style="display: none"), но обработчик showMenu делает его видимым, изменяя стиль, например, mybutton.style.display=""
Содержимое этого div с необходимыми ссылками может быть отдано в контенте csp-страницы.
JavaScript в CSP оформляется как обычно в HTML в тегах <script language="Javascript" type="text/javascript"></script>
Скорее всего лучше применить готовые решения, например, изучив ZEN или, если Вы уже знакомы с CSP, обратите внимание на интеграцию с JavaScript-движком Dojo .
...
Рейтинг: 0 / 0
11.01.2008, 08:59
    #35054718
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
ceshka , Сашок уже все объяснил...
Единственное, что могу добавить - это использование
Код: plaintext
<script language="cache" runat="server"></script>
или
Код: plaintext
<script language="cache" runat="compiler"></script>
для формирования html "кода" и "вытаскивания" данных из БД...
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
14.01.2008, 13:45
    #35059796
ceshka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
вроде бы понятно. В таком случае актуальными остаются вопросы:
1. Как программно добавить поле в Кашовый объект
немного модифицированный вопрос 2 - как сохранить в базу объект, в который смёржилось дерево? Или лучше мёржить не в объект, а сразу в базу класса?
типа
m @( "^" _ $p( class , "@" , 2 ) _ "D" )@( class.%Id() , field ) = tree
...
Рейтинг: 0 / 0
14.01.2008, 14:32
    #35059970
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
ceshka1. Как программно добавить поле в Кашовый объект
Мы испоьзуем %Dictionary.PropertyDefinition ...
...
Рейтинг: 0 / 0
14.01.2008, 18:52
    #35060899
ceshka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
krvsa
Мы испоьзуем %Dictionary.PropertyDefinition ...

А можно поподробней, там всё, что-то похожее на добавление поля типа [ Private ]?
...
Рейтинг: 0 / 0
15.01.2008, 04:52
    #35061296
logist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
> 2 - как сохранить в базу объект, в
> который смёржилось дерево? Или лучше мёржить не в объект, а сразу в базу
> класса?
> типа
> m @( "^" _ $p( class , "@" , 2 ) _ "D" )@( class.%Id() , field ) = tree
Если дерево предполагается достаточно большое, лучше его вообще не мержить в
локальную память, а работать напрямую с глобалью, а в классе хранить ссылку на
глобаль и использовать через косвянку, например @..At@(idx1,idx2)

Недостаток такого метода - необходимо сохранять объект перед использованием
свойства с деревом (т.к. в большинстве случаев одним из узлов глобали будет Id
объекта)

Если дерево небольшое, можно его использовать в свойстве [MultiDimensional],
соответственно в класс добавить методы %OnOpen, %OnAfterSave и %OnAfterDelete,
которые соответственно будут загружать, сохранять и удалять дерево, желательно в
отдельную глобаль (не в object.NameD, а например object.NameG)

=logist (Сергей Шутов)
ООО Димас, Хабаровск
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
15.01.2008, 08:49
    #35061432
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
ceshkaА можно поподробней?
Так вроде уже некуда...
- Создаеш новый экземпляр класса
- Заполняеш нужные свойства, нужными значениями
- Делаеш ссылку на класс
Вот вроде и все...
...
Рейтинг: 0 / 0
15.01.2008, 17:21
    #35063457
ceshka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
всё равно туго понимаю
krvsa
- Создаеш новый экземпляр класса

класса %Dictionary.PropertyDefinition надеюсь?
т.е.
s newclass=##class(%Dictionary.PropertyDefinition).%New("MyApp.MyClass||NEWPROPERTY")
?

krvsa
- Заполняеш нужные свойства, нужными значениями


только то, что нужно, только это?
s newclass.Type="%String"
а далее
d newclass.%Save()
и всё?

krvsa
- Делаеш ссылку на класс

это не понятно как...
...
Рейтинг: 0 / 0
15.01.2008, 17:59
    #35063635
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
...
Рейтинг: 0 / 0
15.01.2008, 18:33
    #35063744
ceshka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
понял ошибку, Insert не произведен был

servit Class Definition Classes

у них кроме самой каши еще и мануал кривой? круто!
насколько понимаю, там должно быть
if ##class(%SYSTEM.Status).IsError(cdef)?

всё равно после создания нового экземпляра при попытке присвоить только что созданному полю значение пишет <PROPERTY DOES NOT EXIST>
...
Рейтинг: 0 / 0
15.01.2008, 18:58
    #35063794
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
Эта ошибка в документации исправлена в новых версиях.

Высылаю новую ссылку:
Class Definition Classes

У меня пример из документации отработал правильно.
Если Ваш пример все равно выдает ошибку, тогда надо смотреть Ваш код.
...
Рейтинг: 0 / 0
16.01.2008, 05:25
    #35064174
logist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
Привет.

> всё равно после создания нового экземпляра при попытке присвоить только
> что созданному полю значение пишет <PROPERTY DOES NOT EXIST>
Нужно перекомпилировать класс и переоткрыть уже открытые объекты

=logist (Сергей Шутов)
ООО Димас, Хабаровск
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.01.2008, 09:28
    #35064360
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
ceshka , вот пример нашего кода
Код: 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.
CREATE(Class,NamSv,Nam) ; Создание свойства
 ; Class - объект класса
 ; NamSv - идентификатор свойства
 ; Nam   - имя класса
 n err,pr,val,i
 s pr=##class(%Dictionary.PropertyDefinition).%New()
 I NamSv["_" s NamSv=$tr(NamSv,"_","o")
 s pr.Name=NamSv
 s pr.Type=$$GetTyp(NamSv)
 s err=pr.Type
 s pr.parent=Class
 i pr.%Close()
 s i=##class(%Dictionary.IndexDefinition).%New()
 s i.Name=NamSv_"Index"
 s i.parent=Class
 s i.Properties=NamSv
 q
GetTyp(NamSv) ; Тип поля
 n val,def
 s def="%String"
 s val=$G(@buffld@(NamSv,"TYPSQL"))
 s val=$$At^zfunc(val)
 q:val="" def
 s val=$$Code^ASYS("D_TYPSQL",val)
 q:val="" def
 q val
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
16.01.2008, 12:31
    #35065051
ceshka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
krvsa , при таком коде пишется <METHOD DOES NOT EXIST>zparentSet+4^%ooDictionary.PropertyDefinition.1 на строке i pr.%Close() , видимо, родитель ему мешается, а как без него? Вот сам класс, ничего необычного:
Код: plaintext
1.
2.
3.
4.
5.
6.
Class MyApp.MyClass Extends (%Persistent, %Populate) [ ClassType = persistent ]
{

Property PROPERTY As %String;

}
вот так хотел вызвать:
Код: plaintext
1.
2.
3.
4.
5.
6.
       n Class
	s Class=##class(MyApp.MyClass).%New()
	d CREATE(Class,"Name","MyApp.MyClass")
	s Class.Name="asf"
	d Class.%Close()
	q
и еще вопрос, при успешном выполнении данной программы, это поле будет только в данном объекте или во вновь создаваемых тоже?

отвлеченный вопрос: переменная err зачем?
...
Рейтинг: 0 / 0
16.01.2008, 13:41
    #35065343
Ptn
Ptn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
ceshka krvsa , при таком коде пишется <METHOD DOES NOT EXIST>zparentSet+4^%ooDictionary.PropertyDefinition.1 на строке i pr.%Close() , видимо, родитель ему мешается, а как без него? Вот сам класс, ничего необычного:
Код: plaintext
1.
2.
3.
4.
5.
6.
Class MyApp.MyClass Extends (%Persistent, %Populate) [ ClassType = persistent ]
{

Property PROPERTY As %String;

}
вот так хотел вызвать:
Код: plaintext
1.
2.
3.
4.
5.
6.
       n Class
	s Class=##class(MyApp.MyClass).%New()
	d CREATE(Class,"Name","MyApp.MyClass")
	s Class.Name="asf"
	d Class.%Close()
	q
и еще вопрос, при успешном выполнении данной программы, это поле будет только в данном объекте или во вновь создаваемых тоже?

отвлеченный вопрос: переменная err зачем?

Вы меняете метаописание класса и его отображения в SQL - соотвественно появится поле в во всех сохраненые объекты, и открытыл ПОСЛЕ изменения структуры класса объекты ....

В приведоном коде смысла как то не наблюдается .... открыл объект добавил поле в ОПИСАНИЕ и что дальше то ? IMXO легче задачу решить через строковый Массив

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Class MyApp.MyClass Extends (%Persistent, %Populate) [ ClassType = persistent ]
{
 Property RowDate As %String [ Collection = array ];
}
 
 n Class
 s Class=##class(MyApp.MyClass).%New()
 d Class.RowData.SetAt('Name',"asf")
 d Class.%Close()
 q
...
Рейтинг: 0 / 0
16.01.2008, 14:27
    #35065567
ceshka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
Ptn , т.е. в чём прикол тогда передавать в данную процедуру экземпляр? и почему <METHOD DOES NOT EXIST>?
...
Рейтинг: 0 / 0
16.01.2008, 16:12
    #35065938
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
ceshka krvsa , при таком коде пишется <METHOD DOES NOT EXIST>zparentSet+4^%ooDictionary.PropertyDefinition.1 на строке i pr.%Close()
Вот поэтому-то я и не хотел сначала этот код выкладывать Поскольку внашем варианте и создание класса выполняет некая функция... Но таки выложил в качестве иллюстрации.
Суть там такая:
- Создается новый класс
- Потом сосздаются новые свойства и ссылаются на этот класс
- Все это сохраняется
Класс с новыми свойствами готов! Все остальное подробно описал Ptn ...
...
Рейтинг: 0 / 0
16.01.2008, 16:18
    #35065962
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
Кодировка у нас правда DOSовская...
Код: 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.
ChSQL(Kill,Rep)                         ; à®¢¥àª  SQL
 n obl,nc,nam,sqlstr,rez
 s Kill=$G(Kill)
 s Rep=$G(Rep, 1 )
 D SETNODEL
 D KILL(obl)
 s nc=$$Create(obl)
 s nam=""
 D PREFLD
 f  s nam=$O(@buffld@(nam)) q:nam=""  D CREATE(nc,nam,obl)
 D %SAVE(nc)
 D %COMPILE(obl)
 S sqlstr=$$GetSql(obl)
 i nc.%Close()
 s rez=$$ValidSql(sqlstr)
 D:Kill KILL(obl)
 I rez= 1  D TXT^ASYS("‡ ¯à®á á®áâ ¢«¥­ ¢¥à­®") q  1 
 D ERROR
 D:Rep REPAINT
 q  0 
ERROR
 n txt,len
 s txt( 1 )="‡ ¯à®á á®áâ ¢«¥­ ­¥¢¥à­®!"
 i $L(rez)< 60  s txt( 2 )=rez I $$Menu^ASYS1(,, 0 ) q
 s len=$L(rez)\ 60 + 0 . 5 
 S len=$FN(len,"", 0 )
 f i= 1 : 1 :len s txt(i+ 1 )=$E(rez,(i- 1 )* 60 + 1 ,(i- 1 )* 60 + 60 )
 I $$Menu^ASYS1(,, 0 )
 q 
GetSql(Class)                          ; ®¤£®â®¢¨âì Sql
 n str,rez
 D TXT^ASYS("®¤£®â®¢ª  SQL § ¯à®á ")
 s rez=""
 s str=""
 f  s str=$O(@sql@(str)) q:str=""  D NEXTSTR
 q rez
NEXTSTR                                ; Žç¥à¥¤­ ï áâப 
 n val,s
 s s=$G(@sql@(str))
 s val=$$Trans^zfunc(s,"TABLE",Class)
 s val=$$Trans^zfunc(val,"""","""""")
 S rez=rez_val_" "
 q 
KILL(Class)                            ; “¤ «¥­¨¥ ª« áá 
 N err,gl
 k err 
 D TXT^ASYS("“¤ «¥­¨¥ ª« áá ")
 I ##class(%Dictionary.ClassDefinition).%ExistsId(Class) D ##class(%Dictionary.ClassDefinition).%DeleteId(Class)
 ;i $System.OBJ.Delete(Class,"cf-d",.err)
 s gl="^"_Class_"D"
 k @gl
 s gl="^"_Class_"I"
 k @gl
 q 
Create(Nam)                            ; ‘®§¤ ­¨¥ ª« áá 
 n nc
 D TXT^ASYS("‘®§¤ ­¨¥ ª« áá ")
 s nc=##class(%Dictionary.ClassDefinition).%New()
 s nc.Name=Nam
 s nc.ProcedureBlock= 1 
 s nc.ClassType="persistent"
 s nc.Super="%Persistent"
 q nc
CREATE(Class,NamSv,Nam)                ; ‘®§¤ ­¨¥ ᢮©á⢠
 ; Class - ®¡ê¥ªâ ª« áá 
 ; NamSv -  ¨¬¥­®¢ ­¨¥ ᢮©á⢠
 ; Nam   - ¨¬ï ª« áá 
 n err,pr,val,i
 s pr=##class(%Dictionary.PropertyDefinition).%New()
 I NamSv["_" s NamSv=$$Trans^zfunc(NamSv,"_","o")
 s pr.Name=NamSv
 s pr.Type=$$GetTyp(NamSv)
 s err=pr.Type
 s pr.parent=Class
 i pr.%Close()
 s i=##class(%Dictionary.IndexDefinition).%New()
 s i.Name=NamSv_"Index"
 s i.parent=Class
 s i.Properties=NamSv
 D TXT^ASYS("„®¡ ¢«¥­¨¥ ᢮©á⢠ "_NamSv)
 q
GetTyp(NamSv)                          ; ‚¥à­¥â ⨯ ¯®«ï
 n val,def
 s def="%String"
 s val=$G(@buffld@(NamSv,"TYPSQL"))
 s val=$$At^zfunc(val)
 q:val="" def
 s val=$$Code^ASYS("D_TYPSQL",val)
 q:val="" def
 q val
%SAVE(Class)                           ; ‘®åà ­¥­¨¥ ª« áá 
 n val
 s val=Class.%Save()
 q
%COMPILE(Nam)                          ; Š®¬¯¨«ïæ¨ï ª« áá 
 n err
 k err 
 D TXT^ASYS("Š®¬¯¨«ïæ¨ï ª« áá ")
 i $system.OBJ.Compile(Nam,"cf-d",.err)
 q  
ValidSql(Sql)                          ; à ¢¨«ì­ë© «¨ Sql
 n o,rez
 D TXT^ASYS("à®¢¥àª  ᨭ⠪á¨á  SQL § ¯à®á ")
 S o=##class(%ResultSet).%New("%DynamicQuery:SQL")
 s rez=o.Prepare(Sql)
 q rez
REPAINT                                ; ¥à¥à¨á®¢ âì íªà ­
 D SCR
 D VIEWFLD( 1 )
 D VIEWSLV( 1 )
 D TXT^ASYS("")
 q
Может как идею возьмете...

Мопэд не мой... Я просто разместил объяву. (с)
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
16.01.2008, 17:15
    #35066207
ceshka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ряд вопросов по Каше
Господи Иисусе, krvsa , работает!!! Честно скажу, слабо верилось. Тогда вопрос на засыпку: а через что-нить типа кашового
Код: plaintext
1.
2.
3.
4.
5.
%Construct(%this,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10)
    Set $zobjval(, 1 , 0 , 3 , 1 )=$zu( 115 , 10 ),
    $zobjval(, 2 , 0 , 3 , 2 )= 0 ,
    $zobjval(, 3 , 0 , 3 , 3 )=""
    Quit  1 
такое провернуть можно?
Типа s $zobjval(,/*имя нового поля*/количество полей и отношений+1,0,3,количество полей и отношений+1)=""
что-нибудь бывает без лишних заморочек?
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ряд вопросов по Каше / 25 сообщений из 30, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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