powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Прошу помощь !
10 сообщений из 10, страница 1 из 1
Прошу помощь !
    #35315273
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте !

Не могу понять в чем ошибка
Имею сод на Cache':

Код: plaintext
1.
2.
3.
GlNodes() s ret=$Q(@var) Q:ret=""
          s var=ret
          s P1=@ret
          q ret

VB VISM:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
VisM1.Code = "K var"
        VisM1.ExecFlag =  1 
        VisM1.Code = "s var=^NEW(""0016518"",5)"
        VisM1.ExecFlag =  1 
          
        VisM1.Code = "$$GlNodes^glb"
        VisM1.ExecFlag =  1 
        nod = VisM1.Value
        ret = VisM1.P1
    


Именно переменная var не принимает это значение в Cache !!
VisM1.Code = "s var=^NEW(""0016518"",5)"

С такой ситуацией сталкивался и в МСМ-е

Спасибо !
...
Рейтинг: 0 / 0
Прошу помощь !
    #35315466
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конец рабочего ....
ВСЕ НЕПРАВИЛЬНО ИЗЛОЖИЛ !!!!

Нужно чтобы переменная var принимала в Cache
значение :

Код: plaintext
1.
2.
3.
4.
DON>set var="^NEWDON(""0016519"",1)"
 
DON>w $Q(@var)
^NEWDON("0016519", 2 )
DON>
...
Рейтинг: 0 / 0
Прошу помощь !
    #35316219
Maksim UM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а, часом, не нужно добавить кавычки?
Код: plaintext
1.
VisM1.Code = "s var=""^NEW(""0016518"",5)"""
...
Рейтинг: 0 / 0
Прошу помощь !
    #35316262
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда уж
Код: plaintext
1.
VisM1.Code = "s var=""^NEW(""""0016518"",5)"""""
наверно
...
Рейтинг: 0 / 0
Прошу помощь !
    #35316267
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, вот так:
Код: plaintext
1.
VisM1.Code = "s var=""^NEW(""""0016518"""",5)"""
...
Рейтинг: 0 / 0
Прошу помощь !
    #35316280
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
 GlNodes() s ret=$Q(@var) Q:ret=""
=
Код: plaintext
 VisM1.Code = "$$GlNodes^glb"
?
а может
Код: plaintext
 VisM1.Code = "$$GlNodes^glb()"
...
Рейтинг: 0 / 0
Прошу помощь !
    #35316413
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так-же и я пробовал разных вариантов - вазвращает "пусто"

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
VisM1.Code = "K var"
        VisM1.Code = "s var=""^NEW(""""0016518"""",5)"""
        VisM1.ExecFlag =  1 
        MsgBox VisM1.Value
        VisM1.Code = "$$GlNodes^glb()"
        VisM1.ExecFlag =  1 
        nod = VisM1.Value
        If nod <> "" Then
        ret = VisM1.P1
    
 
 Info = Replace(Piece(Piece(nod, "(",  2 ), ")",  1 ), ",", "\")
 Info1 = Info & "\" & ret ' Это отдельная (единичная) строка !!!!
...
Рейтинг: 0 / 0
Прошу помощь !
    #35316584
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно глупый вопрос: что вы делате и что хотите получить?

Что вы хоите получить строкой
VisM1.Code = "s var=^NEW(""0016518"",5)"
(var получает значение этого глобала, а не его имя)

Что хотите от
VisM1.Code = "$$GlNodes^glb"
Вы уверены, что эта программа запустится?

nod = VisM1.Value
Откуда берется VisM1.Value?
Я в висм запускаю через Execute, а не code/execFlag
Но даже если висм позволяет вычислять значения параметров, то скорее всего execflag для вычисления значения будет другим

По сути дела вы пытаетесь взять имя глобала из глобала ^NEW(""0016518"",5), и по полученному значению (а что там лежит в этом глобале- непонятно) - взять следующий в порядке сортировки.

А еще я рекомендую использовать Vism1.Execute вместо Code/ExecFlag - меньше писанины
...
Рейтинг: 0 / 0
Прошу помощь !
    #35317269
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто при помощи ($Query) в переменную запихиваю следующий индекс, потом, зная индекс
в другую переменную ставлю содержимое
Разбираю это все и создаю таблицу .mdb (Access)

Вопрос вообще-то решил сам (MSM-Activate)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Sod(Ret)
    Set var=Ret
    q
    ; 
glb() ;
     Set ret=$Query(@var) Quit:ret=""
	  Set var=ret
      Quit ret
 		 ;

Просто еще запускаю код

Код: plaintext
m.Do "Sod^glb", Trim(txtBar.Text)

(так работает без проблемб а вот Xecute-нет)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
con.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\db1.mdb;Uid=Admin;Pwd=;"""
With rs
    .ActiveConnection = con
    .LockType = adLockBatchOptimistic
    .CursorLocation = adUseClient
    .CursorType = adOpenDynamic
    .Open "select * from NEWDON3"
End With
        MousePointer = vbHourglass
        
'**********************************************
        m.Do "Sod^glb", Trim(txtBar.Text)
        nod = m.Do("glb^glb")
        If nod <> "" Then
        ret = m.Xecute("w " & nod & "")
 
 Info = Replace(Piece(Piece(nod, "(",  2 ), ")",  1 ), ",", "\")
 Info1 = Info & "\" & ret 
 .....
.......
 
...
Рейтинг: 0 / 0
Прошу помощь !
    #35317273
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо Всем !!!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Прошу помощь !
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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