Как отослать письмо пользователю.

  • Автор темы ledi
  • Дата начала
Статус
Закрыто для дальнейших ответов.
M

morpheus

<!--QuoteBegin-ledi+30:10:2006, 15:57 -->
<span class="vbquote">(ledi @ 30:10:2006, 15:57 )</span><!--QuoteEBegin-->но она не передавалась
[snapback]46725" rel="nofollow" target="_blank[/snapback]​
[/quote]

при отправке передаёться ИМЯ ФОРМЫ которую нужно искать в базе данных(в Вашем случае - почтовая), сама форма(как элемент дизайна) при Call doc.Send( False ) в письме не передаёться!!!

Дальше продолжнение
 
L

ledi

СОРИ! лаги инета
Как написано в хелпе

Send method

Mails a document.
Defined in
NotesDocument
Syntax
Call notesDocument.Send( attachForm [, recipients ] )
Parameters
attachForm
Boolean. If True, the form is stored and sent along with the document. If False, it isn't. Do not attach a form that uses computed subforms.
attachForm - обязательный параметр где указываеться что при True - вставлять форму, при False - не вставлять
Сидеть над хелпом надо !!!! :)


Эту часть хелпа я как раз читал и понял ее так.
attachForm - обязательный. Если True, форма будет сохранена и отослана вместе с документом. Если False - не будет.
Я не говорю, что attachForm мне не нужен - как я без него выполню doc.Send - я говорю о том, что возможно не нужно вставлять строку doc.Form = "start", если у меня все равно стоит Call doc.Send( False ).

Кстати, а как в этом скрипте сохранить документ и потом его закрыть?
Сорри - про сохранить уже не надо - нашел. Call uidoc.Save
Про закрыть тоже нашел. Call uidoc.Close
 
M

morpheus

1. Угу, правильно

2.
Код:
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
Call uidoc.Save
Call uidoc.Close(True)
End Sub
 
L

ledi

Господа, всем спасибо - с вашей помощью я смог закончить создание своей базы данных по запросам пользователей. :)
 
L

ledi

Если я вам еще не надоел, то продолжу задавать свои вопросы.

Вопрос самый главный. Есть ли у кого ссылка на мануал (можно и на английском языке) для новичков в Дизайнере, где были бы описаны примеры лотус скриптов. На просто строка, которая выполняет действие, а целиком скрипт. Примерно так:
____________
Код:
Сохранение документа

Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
Call uidoc.Save
End Sub



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

Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
Call uidoc.Close
End Sub
____________

Просто в хелпе Дизайнера все это описано для людей, которые знакомы с программированием на LotusScript, а для новичков это найти затруднительно.
 
M

morpheus

Example - вот такая штука в описании класов формул типов данных, прямо в хэлпе есть слово Example, на него клацаете и получаете ПРИМЕР

хм... это уже какой то хэлп по хэлпам получаеться )))))
 
L

ledi

Example - вот такая штука в описании класов формул типов данных, прямо в хэлпе есть слово Example, на него клацаете и получаете ПРИМЕР

хм... это уже какой то хэлп по хэлпам получаеться )))))

Ну, в общем, конечно же да. :)

Но вот пример из хелпа.
Код:
Dim archiveDb As New NotesDatabase( "", "" )
Dim doc As NotesDocument
'...set value of archiveDb...
'...set value of doc...
If ( doc.Created < Datenumber( 1995, 8, 12 ) ) Then
Call doc.CopyToDatabase( archiveDb )
'You can use the call statement because the
'program does not need the return value 
'(a handle to the new document)
End If

В принципе, если мне просто надо сохранить текущий документ в базу backup без проверки условия, то пример должен выглядеть так.
Код:
Dim backup As New NotesDatabase( "", "" )
Dim doc As NotesDocument
'...set value of archiveDb...
'...set value of doc...
Call doc.CopyToDatabase( backup )

Остаются непонятными для новичка 2 строки:
'...set value of archiveDb...
'...set value of doc...


И если с '...set value of doc... мне теперь хоть что-то ясно (благодаря вчерашней переписке с тобой на форуме), то вот с '...set value of archiveDb... мне не очень понятно.

Я в твой вчерашний скрипт добавил 3 строки из хелпа (они в скрипте стоят с дополнительным отступом) и получил такой скрипт (Вторая строка с доп. отступом является откорректированной, исходя из твоих Dim и Set).
Код:
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set doc = New NotesDocument( db )
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
Set CurDoc = uidoc.Document
Dim backup As New NotesDatabase( "", "" )
Set doc = doc.CopyToDatabase( backup )

Call uidoc.Save
Call doc.CopyToDatabase( backup )
Call uidoc.Close( True )

End Sub

Но при обработке этого скрипта клиент мне выдает сообщение о том, что "DataBase has not been opened yet."
Я так понимаю, что все дело в строке '...set value of archiveDb..., особенно в том, что я не указал значения для базыданных. Но что именно мне надо там указать - не написано. И нет ссылки на раздел хелпа, где это можно прочитать. Хотя, как мне кажется, прочитать об этом в хелпе все-таки можно. Просто его надо заново взять и перекопать весь.

Подскажи, пожалуйста, что мне надо дописать (или убрать), чтобы у меня документ смог сохраниться в другую БД (пользователь, который сохраняет документ имеет право доступа к БД и может создавать там документы).
Я, в принципе, понимаю, что мне надо прописать команду на открытие этой БД.

И еще - что за 2 пары кавычек в Dim backup As New NotesDatabase( "", "" )?

Заранее благодарен за ответы.
 
M

morpheus

Dim backup As New NotesDatabase( "", "" )? - это и есть указатель на базы данных , приявязка так сказать
New NotesDatabase( "", "" ) - 1е кавычки сервер, 2е кавычки файл(физический) базы данных, например

Dim backup As New NotesDatabase( "server1", "mail\pupkin.nsf" )




'...set value of archiveDb... - это комментарий

есть такое понятие коментарии... это строки которые компилятором игнорируються, вообще , это испольуеться для програмиста для того что бы вспомнить/указать что делал что надо зделать

комментарии начинаються с символа < ' > и все что правеее него до конца строки
так же коментарии можно вставлять в строки с кодом

Код:
Dim backup As New NotesDatabase( "", "" ) ' мой коментарий

так же коменты могут быть многосторочными тагда они беруться в блок
Код:
%REM
все шо тут написано
компилятор проигнорирует
это будет видно, таккак строки 
станут зелдёного цвета
%end rem


ОПЯТЬ смотрим ХЭЛП и видим что
1. This script creates a NotesDatabase object called db and uses New to assign a database to it. The database is located at the top level of the Domino data directory on server Barcelona. If the database exists, New automatically opens the database, so you can access the database properties and methods immediately.
Dim db As NotesDatabase
Set db = New NotesDatabase( "Barcelona", "plan.nsf" )
Messagebox( db.Title )
 
L

ledi

Dim backup As New NotesDatabase( "", "" )? - это и есть указатель на базы данных , приявязка так сказать
New NotesDatabase( "", "" ) - 1е кавычки сервер, 2е кавычки файл(физический) базы данных, например

Dim backup As New NotesDatabase( "server1", "mail\pupkin.nsf" )
'...set value of archiveDb... - это комментарий

Да то, что это комментарий, я понял, я вел речь о содержимом этого комментария.
В комментарии написано - установите значения БД ArchiveDb, а что именно установить - не написано.

Вот о чем я вел речь, когда говорил, что мне непонятна строка '...set value of archiveDb...

Смотри, вот мои строки, которые касаются только самого процесса открытия БД и копирования в нее текущего документа.

Код:
	Dim backup As NotesDatabase	
Set backup = New NotesDatabase( "LotusTest", "zapros\backup.nsf" )
Set backup = .OpenDatabase( "backup.nsf" )
Set doc = doc.CopyToDatabase( backup )

Call doc.CopyToDatabase( backup )

Что здесь не так, если клиент мне пишет, что Named product object does not exist.
 
M

morpheus

<!--QuoteBegin-ledi+31:10:2006, 10:42 -->
<span class="vbquote">(ledi @ 31:10:2006, 10:42 )</span><!--QuoteEBegin-->Смотри, вот мои строки, которые касаются только самого процесса открытия БД и копирования в нее текущего документа.

Код

Dim backup As NotesDatabase
Set backup = New NotesDatabase( "LotusTest", "zapros\backup.nsf" )
Set backup = .OpenDatabase( "backup.nsf" )
Set doc = doc.CopyToDatabase( backup )

Call doc.CopyToDatabase( backup )


Что здесь не так, если клиент мне пишет, что Named product object does not exist.
[snapback]46775" rel="nofollow" target="_blank[/snapback]​
[/quote]


Set backup = .OpenDatabase( "backup.nsf" ) - надеюсь точка перед опен это очепятка? кстати эта строка ужо не нужна в принцыпе, и она неправильная и так

Set doc = doc.CopyToDatabase( backup ) - неправильно!!!!

Конструкция Set присваивает чему либо что либо

а CopyToDatabase это процедура / функция которая вызаваеться через

Call doc.CopyToDatabase( backup )


Все что нужно
1. Определить базу данных Dim archiveDb As New NotesDatabase( "LotusTest", "zapros\backup.nsf" )
2. Привязатсья к нужному документу ( тут уж что хатиш, хоть к текущему открытому)
3. Вызвать процедуру CopyToDatabase класа doc через Call

если будут вапросы пиши уже в личку, а то разрослась ветка до безобра :) зия
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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