Закрытие группы документов

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

Glorfin

Необходимо закрыть открытый документ, если в данный момент ui фокус не на нем, т.е. есть несколько открытых документов, необходимо из текущего документа закрыть другой, открытый в данный момент документ. ссылка на него имеется (он - ответный на первый).

... - отправка главного документа. Если есть открытые ответные документы, их необходимо закрыть
' находим все документы, в которых есть unid данного документа (ответы)
Set dc = db.FTSearch( curdoc.id(0), 0)
Set ftdoc = dc.GetFirstDocument
While Not ftdoc Is Nothing
по нотес документу получаем нотесUIдокумент
Set ftuidoc = ws.EditDocument(False, ftdoc, False,,False)

Call ftuidoc.Close(True)

Set nextftdoc = dc.GetNextDocument (ftdoc )
Set ftdoc=nextftdoc
Set nextftdoc=Nothing
Wend
При этом каждый ответный документ повторно открывается и закрывается, первая же его инстанция остается открытой (если она была открыта в начале действия)
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
Set ftuidoc = ws.EditDocument(False, ftdoc, False,,False)
Явно запятой не хватает.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
я так понимаю, вы хотите закрыть не активную в данный момент закладку-окно? :D
 
O

Omh

Глюкаво, но может работать:
переключиться на неактивное окно с помощью ws.EditDocument с параметром NewInstance = False
Получить после переключения uidoc и попытатся закрыть.

Но я бы на такую хрень не стал бы полагаться.
Не надо было столько открывать :D
 
G

Glorfin

Но я бы на такую хрень не стал бы полагаться.
Не надо было столько открывать :D
дык юзверь наоткрывает ответов, главный док отправит, а на панельке ответики остаются висеть.. минусы - при отправке главного дока, в ответах меняется поле "кто рассматривает в данный момент" и если тот же юзверь их просто прикроет потом - все ок. а если подправит - быть непонятке или конфликту..
переключиться на неактивное окно с помощью ws.EditDocument с параметром NewInstance = False - дык так ведь и делаю.. не работаит.

Set ftuidoc = ws.EditDocument(False, ftdoc, False,,False)
Явно запятой не хватает.
хде ?? (работаит ведь..)

я так понимаю, вы хотите закрыть не активную в данный момент закладку-окно? ;)

абсолютно в тютечьку!
 
G

Glorfin

Как, уже заработало? :D
Ты устанавливаешь параметр returnNotesUIDocument в False. Не понятно зачем. Мне кажется, тебе нужен параметр newInstance.
блииииииннннн реально в запятых запуталси....... сори и спасибоо!!!!!
 
N

nvyush

Glorfin
Чтоб не дёргать все доки подряд стоит добавить проверку, открыт ли док в ui
Код:
if ftdoc.IsUIDocOpen then
Set ftuidoc = ws.EditDocument(False, ftdoc, False,,,False) 
ftuidoc.Close
end if
...
 
G

Glorfin

Glorfin
Чтоб не дёргать все доки подряд стоит добавить проверку, открыт ли док в ui
Код:
if ftdoc.IsUIDocOpen then
Set ftuidoc = ws.EditDocument(False, ftdoc, False,,,False) 
ftuidoc.Close
end if
...

Это да. красоту я уже навел. просто когда столкнулся с тем что ws.EditDocument возвращает мне тот документ что надо (в дебагере смотрю), в свойствах того же ws.EditDocument стоит newInstance=false, и тем не менее открывается еще одна инстанция, и она же закрывается.. было немного странно.. За вчера проверил варианты комбинаций параметров [returnNotesUIDocument] и [newInstance] - результат был не то чтобы предсказуем и однозначен.. ну да ладно. (Может все дело в том как написано в хелпе - attempts to return the NotesUIDocument... пытается :lol: )
 
N

nvyush

Это да. красоту я уже навел. просто когда столкнулся с тем что ws.EditDocument возвращает мне тот документ что надо (в дебагере смотрю), в свойствах того же ws.EditDocument стоит newInstance=false, и тем не менее открывается еще одна инстанция, и она же закрывается.. было немного странно.. За вчера проверил варианты комбинаций параметров [returnNotesUIDocument] и [newInstance] - результат был не то чтобы предсказуем и однозначен.. ну да ладно. (Может все дело в том как написано в хелпе - attempts to return the NotesUIDocument... пытается :lol: )

Возможно проблема в том, что док открыт на редактирование, а его пытаются повторно открыть на чтение (это гипотеза, сам не проверял).
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
Возможно проблема в том, что док открыт на редактирование, а его пытаются повторно открыть на чтение
если через РТ поле в котором линки, то док открываться будет всегда на новой закладке и это не побороть, если только свои функции повер гиперлинка не писать
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!