• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

послать сообщение Notesdocument -> Notesdocument

  • Автор темы Автор темы Vvv
  • Дата начала Дата начала
V

Vvv

Подскажите пожалуйста как можно послать сообщение от одного NotesDocument другому

конечная задача я делаю аналог DialogBox мне надо при закрытии дочернего NotesDocument сообщить об закрытии родительскому
 
ищите очереди
 
конечная задача я делаю аналог DialogBox мне надо при закрытии дочернего NotesDocument сообщить об закрытии родительскому
мне казалось, что просто код отработает дальше ;), если вызывать такой DialogBox
зачем аналог:
- модальность как обеспечить
-как бороться с глюкавым UI нотусов
у меня ощущения, что вы изобретаете себе проблемы, не изучив платформы

диалог-боксы можно делать через... java, но вы утверждали (в др. топике) что тока LS
 
ищите очереди
пожалуйста ткните точней про очереди в LS

>у меня ощущения, что вы изобретаете себе проблемы, не изучив платформы
у меня требования

только на LS реализовать диалог который отображает таблицу с переменным количеством строк
пользователь может выбрать N строк и мой диалог должен вернуть их в вызывающий документ

мой диалог и вызывающий документо существуют только в uidoc виде, сохранять doc на диск запрещенно (у меня есть рабочая версия если вызывающий документ сохранен в базу)

одно из требований было использовать DialogBox, я смог убедить что внутри DialogBox только на LS динамическую таблицу с выбором не построить.

сейчас пытаюсь решить проблемму как вернуть строку их диалога в вызывающий документ (который не сохранялся в базу те найти его по unid и сохранить в какой либо item я не могу)
решил использовать профайл
сохраняю возращаемую строку в профайл но надо как то сказать вызывающему документу чтобы ог прочел профайл
 
Гляньте Call notesUIWorkspace.RefreshParentNote( ) — может натолкнёт на мысль...
Кстати, можно ведь в диалоге открыть не отдельный, а тот же самый документ. Тут кстати мелькала база с таблицей на ЛС, поищите.

Вот кстати: link removed
 
Да даже если отдельный документ в параметрах указывать, то на диск его никто не заставляет сохранять.
 
Кстати, можно ведь в диалоге открыть не отдельный, а тот же самый документ. Тут кстати мелькала база с таблицей на ЛС, поищите.

спасибо за идеи, тотже самый не подходит (хотя идея отличная)
клиент будет править стандартный почтовый template и родительский документ для моего диалога calendar (appointments, meetings and todo)

сейчас смотрю пример таблицы по ссылки
у меня есть несколько примеров и я их все попробовал (основная проблемма динамиечски перестраивать таблицу после 10-30 перестроений notes падает хотя один из методов что я нашел работает стабильно)
 
>Да даже если отдельный документ в параметрах указывать, то на диск его никто не заставляет сохранять.

на диск его приходиться сохранять что бы вернуть значения
родитель созарняет на ребенке свой unid
потом Set pdoc = db.GetDocumentByUNID(unid)
затем ребенок сохраняет нужные значения на родители

GetDocumentByUNID работает только если документ существует в базе
 
[не по теме]
Vvv, без цитирования тяжело понять, где реплика, на которую ты отвечаешь, а где, собственно сам ответ
[/не по теме]
 
Откуда вернуть значения?
Мы про диалогбокс говорим или нет?
 
Если пользоваться "родной" диалоговой кнопкой ОК, то
Код:
flag = notesUIWorkspace.DialogBox( ... )
if flag then
'чтение очереди
end if

Если кнопка самописная, то в ней call ws.RefreshParentNote( ), а в родительском uidoc можно прочитать очередь в QueryRecalc

Про очереди тут:
link removed
 
спасибо за ссылку про очереди, воспользоваться не удасться так как код должен работать под win/linux/blackberry
я понимаю что notes.dll в том или ином виде есть на всех платформах но хотелось бы не опускаться до CAPI


воспользоваться родным диалогом Notes я не могу так как в нем невозможно динамически перестраивать таблицу
 
Vvv
На сколько я понял, в родительском документе у вас что-то подобное:
Код:
Set uidoc = Ws.EditDocument(...)
Тогда отловить закрытие дочернего uidoc можно через
Код:
On Event QueryClose From uidoc Call MyChildDocCloseHandler

sub MyChildDocCloseHandler(Source as NotesUIDocument)
...
end sub

Возможно, удобнее вместо QueryClose отлавливать QuerySave или PostSave в зависимости от ваших условий.
 
ничё не понял...
код не будет работать под перечисленными платформами, без использования "хаков"
потомучта обмен между UI сучностями нотусов индусы не реализовали (в общем смысле)
не понятно и перечиление платформ, мало того, что они принципиально разные, дык еще и линуха бывают разные (ИБМ не сподобилось сделать клиента по человечьи) и нотуса элементарно могут не стартовать...
хотя под линухами можно пущать тот же виндозный клиент (с нек. допиливаниями)
блекбери - это ваще не интел проц... и какой там клиент ;) ?
а не объясненные "не хочу" и "только LS" вызывают странные ассоциации ;) (неуж-то секта) :(
 
Если надо выбрать из вьюшки несколько строк и вернуть на форму, то решается одним @Prompt ом, или я не так понял задачу.
Еще вариант с дайлогбоксом и встроеной вьюшкой.
 
Почитал соседнюю темку с динамическими таблицами. Если из своей таблицы сделать выборку, то все выбраные строки сохранять в поле со множественными значениями, такое же как и на основной форме. И через дайлогбокс все должно неплохо работать.
 
>блекбери - это ваще не интел проц... и какой там клиент ?
как я понимаю там web клиент, у меня ее нет

>а не объясненные "не хочу" и "только LS" вызывают странные ассоциации (неуж-то секта)
нет у клиента N тысяч десятков пользователей и менять что либо кроме почтового шаблона они не согласны (понять их можно если скажем 20k (на самом деле больше) пользователей и явно у кого что то дполнительное не поставиться корректно)
 
и менять что либо кроме почтового шаблона
достаточно жестко - 20К измененных ящиков....
я вот тоже не совсем понял зачем так сложно, если
решается одним @Prompt ом, или я не так понял задачу.
Еще вариант с дайлогбоксом и встроеной вьюшкой.
 
На сколько я понял, в родительском документе у вас что-то подобное:
Код:
Set uidoc = Ws.EditDocument(...)
Тогда отловить закрытие дочернего uidoc можно через
Код:
On Event QueryClose From uidoc Call MyChildDocCloseHandler

sub MyChildDocCloseHandler(Source as NotesUIDocument)
...
end sub

Возможно, удобнее вместо QueryClose отлавливать QuerySave или PostSave в зависимости от ваших условий.

TIA да я создаю документ через EditDocument

я пытался сделать
Код:
в globals
Dim uidialog As NotesUIDocument


Sub MyChildDocCloseHandler(Source As Notesuidocument, Continue As Variant)
Messagebox "test"
End Sub


код на кнопке
Set uidialog= workspace.ComposeDocument( "", "", "DEMO" )
On Event QueryClose From uidialog Call MyChildDocCloseHandler

при закрытии дочерней формы msgbox не вызываеться
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab