Имя: Пароль:
IT
 
Знатокам VBScript: как обратиться к полю объекта с $ в наименовании
0 mclarry
 
12.03.12
16:05
Пишу на VBScript, надо получить поле объекта с $ в наименовании, не понимаю, как это сделать.

Вот работающий код VBS, в конце получаю поле LastModified:
   | Set Session= CreateObject(""Notes.NotesSession"")
   | Set DB = Session.GetDatabase( """+ Сервер+ """, """+ БД+ """)
   | Set Doc= DB.GetDocumentByUNID("""+ Док+ """)
   | dim vbd
   | vbd = Doc.LastModified

Вот работающий код на 1С 8.2, в конце получаю поле $Revisions:
Session= новый COMObject("Notes.NotesSession");
DB = Session.GetDatabase( "Server", "finance.nsf");
Doc= DB.GetDocumentByUNID("780116F583C994B4C12579910039A8BA");
Revisions= Doc["$Revisions"];

Вопрос: как получить поле $Revisions средствами VBS? Мешает $ в наименовании поля!
1 pumbaEO
 
12.03.12
16:06
\$ пробовал?
2 mclarry
 
12.03.12
16:23
Не знаю, куда именно воткнуть этот \
Как в VBS обратиться к полю объекта по типу 1С 8.2:
Doc["$Revisions"]
В VBS такой синтаксис не катит
3 pumbaEO
 
12.03.12
16:34
Откуда и куда подключаешься? В Set Session= CreateObject(""Notes.NotesSession"")  я не увидел, что к 1С.
Doc["\$Revisions"]  но это не пройдет.
4 mclarry
 
12.03.12
16:37
Подключаюсь через COM-объект к Lotus Notes, из VBS или из 1С 8.2. Из 8-ки могу получить поле $Revisions, а из VBS - никак.
5 Rovan
 
гуру
12.03.12
16:42
(0)
см. тут Книга знаний: v8: Запуск по OLE клиента Lotus Notes из 1С 8.х

вот: ЗначениеПоляФорма = ЛотусДокумент.GetFirstItem( "Form" ).GetValue(0);
6 mclarry
 
12.03.12
16:46
(5) Если бы все было так просто, я бы сюда не писал. $Revisions - это массив дат. 8-ка распознает его как COMSafeArray. А как с ним работать в VBS - не знаю.
7 mclarry
 
12.03.12
16:52
Нашел сам:
Doc.GetItemValue("$Revisions")
8 Rovan
 
гуру
12.03.12
17:01
(7) GetItemValue наверное тоже вернет массив дат....нет ?
9 mclarry
 
12.03.12
17:11
(8) Да, так и есть