Мелкие Вопросы Rtfm

  • Автор темы Автор темы serko
  • Дата начала Дата начала
Проще:
меняем код из кнопки на вызов агента
в агенте выставляем таргет "только выделенные документы"
далее в коде set documentCollection = NotesDatabase.UnprocessedDocuments ( постоянно ошибаюсь в написании)
В кнопке делаем вызов на собаке нашего агента.
С агентом не приходилось иметь дела. А можно ли обратиться к документу тогда не через вьюшку(выделенный документ), а через фокус(документ, с которым юзер работает в текущий момент). Если пользователь вызвал Action через окно, где работает, то наверно можно и доступ получить к этому документу. Нет? :rolleyes:
 
Если документ открыт на экране достучаться можно...
Два пути:
1. Глобальная переменная на всю форму, инициализация в событии PostOpen, затем её использование.
2. В том месте где необходимо работать с документом получить UIDoc через ws.CurrentDocument
Я пользуюсь первым
 
Если документ открыт на экране достучаться можно...
Два пути:
1. Глобальная переменная на всю форму, инициализация в событии PostOpen, затем её использование.
2. В том месте где необходимо работать с документом получить UIDoc через ws.CurrentDocument
Я пользуюсь первым
Первый вариант мне понравился, но реализовать его не получается. В postOpen ругается на первую строку
Код:
Public doc As NotesDocument
Set doc = Source.Document
Или надо через библиотеку с классом реализовывать? :rolleyes:
 
Globals, В declaration формы, пишем:
Dim doc As NotesDocument
И после этого все должно быть ок.
Да, можно через библиотеку и отдельным классом.
Такая же идея есть, но пока не реализовывал: все еще думаю о целесообразности данного подхода.
 
Globals, В declaration формы, пишем:
Dim doc As NotesDocument
И после этого все должно быть ок.
Да, можно через библиотеку и отдельным классом.
Такая же идея есть, но пока не реализовывал: все еще думаю о целесообразности данного подхода.
Благодарю!))
С регулярными выражениями не могу теперь разобраться.
Есть регулярка на проверку мейла на JS
var myReg = /[0-9a-z_A-Z]+@[0-9a-z_A-Z^.]+\.[a-zA-Z]{2,4}/i
В Help особо не густо с примерами.
Накатал нерабочий вариант.
email Like "[A-Z,a-z,0-9]@[A-Z,a-z].[A-Z,a-z]"
Чувствую, что закидают тапками снова))
 


 
проверка email по RFC 822 - ну оооочень большая формуль.
Вполне можно юзать:
result = email.match(/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/)
email - стринг мэйла
Если плохо: result = null (если гуд - вернёт, что нашёл)

или
regexp = /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/
result = regexp.test(email )
result: true or false
 
Спасибо. Отделаюсь лучше простеньким
mail Like "*@*.*"
:)
 
При создании документа я его сразу сохраняю. Надо реализовать так, чтобы в случае, если пользователь закрывает окно, не сохраняя документ, сохраненный документ удалялся. Не знаю как реализовать удаление в таком случае. Цикл пробовал - клиент вылетал.
 
serko
Ну так вставте обработчик и посмотрите в какой строке ошибка, дальше уже разбираться.
Обработчик есть на форуме от простого до сложного.
P.s. мы ваш экран не видим B)
 
QueryClose выдаёт ошибку Т_Т
Дос не может удалить сам себя в UI - надо удалять со стороны (агентом например):
Код:
Sub Queryclose(Source As Notesuidocument, Continue As Variant)
Dim s As New NotesSession
Dim db As NotesDatabase
Dim ws As New NotesUIWorkspace
Dim agent As NotesAgent
' If .......... проверяете, что юзеру док не нужен и запускаете агент
'.....................
Set db = s.CurrentDatabase
Set agent = db.GetAgent("RemoveDoc")
Сall agent.Run(Source.Document.NoteID )
Call ws.ViewRefresh
'End If
End Sub
Сам агент:
Код:
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim agent As NotesAgent
Set agent = session.CurrentAgent
Set db = session.CurrentDatabase
Set doc = db.GetDocumentByID(agent.ParameterDocID)
Call doc.Remove( True )	
End Sub
параметры агента:
Name: RemoveDoc
Trigger: On event | Agent list selection
Target: None
=================
А зачем надо сразу после создания сохранять док, если он юзеру может не понадобиться? (конечно, если Вы не "привязываете" к нему во время редактирования другие доки)
Может надо изменить логику работы?
 
а блин, это про "не сохранение" документа задача?
SaveOptions 1, 0 Use 1 to save mailed documents. Use 0 so that the document is not saved when mailed. prevent the document from being saved.
Прописываем поле, затем закрываем документ.
Если не был сохранен ни разу - не сохранится. если был хотя бы один раз сохранен, то изменения не сохранятся.
Важно прописывать поле кодом, а не на форме создавать.
 
alexas1 ,serko
так может в этом и ошибка, не стоит может сразу сохранять)
А если стоит, то да, агентом. Но я бы не сразу делал, а ночью. А изначально документ бы метил к удалению, через поле.
 
Агент не хочет вызываться Т_Т
На строчке Call agent.Run(doc.NoteID) выдает ошибку
---------------------------
IBM Lotus Notes
---------------------------
Could not execute macro:

Unsupported trigger and search in the background or embedded agent
QUERYCLOSE (22)
---------------------------
ОК
---------------------------

noteID есть, агент есть(имена совпадают), на сам агент прицепил msgbox в инициализации.
Может, ошибка общего характера? B)
 
serko B)

В свойствах агента (второго) выставь свойства запуска Agent list selection и натравливай на None.
 
Мы в соцсетях:

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