Не выходит получить данные из документа через Ole

  • Автор темы Guest
  • Дата начала
G

Guest

#1
Формирую в 1С такой запрос, проверей в Lotus отрабатывает на ура, а через OLE не в какую :angry:

MSScript.language= "vbscript";

Текст= "
|Function GetStatusOfDoc()
| Set Session= CreateObject(""Notes.NotesSession"")
| Set DB = Session.GetDatabase( """ + БД.Сервер.Наименование + """, """ + БД.Наименование + """)
| Set Doc= DB.GetDocumentByUNID("""+ LNDocACC + """)
| GetStatusOfDoc = Doc.ContractStatus(0)
|End Function";

GLM= MSScript.Run("GetStatusOfDoc");
 

morpheus

скриптописец
07.08.2006
3 915
1
#2
а чего сразу не работать с лотусом без MSScript.language= "vbscript" ?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#3
Нельзя так делать GetStatusOfDoc = Doc.ContractStatus(0)
Надо GetStatusOfDoc = Doc.GetItemValue("ContractStatus")(0)
 

Omh

Lotus team
04.07.2007
2 210
1
#4
Medevic
Это что, такое ограничение при работе через OLE?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#5
Omh
Ну как сказать. У объекта Doc нет свойства или метода ContractStatus. :angry:


Т.е. синтаксис Doc.ContractStatus - это лотусная фишка.
 

Omh

Lotus team
04.07.2007
2 210
1
#6
Ну вот и я про это же.
Можно сделать вывод, что dot-notation = зло!
Хорошо уже пару лет, как переучился на методы вместо точки.
 
G

Guest

#7
Народ: Ошибка выполнения Microsoft vb script: Несоответствие типа: 'Doc.GetItemValue(...)' :angry: