Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.97/235: Рейтинг темы: голосов - 235, средняя оценка - 4.97
0 / 0 / 0
Регистрация: 24.09.2006
Сообщений: 89

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

29.10.2006, 10:51. Показов 43691. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Люди добрые, помогите, а то я уже с ума потихоньку начинаю сходить.

Есть у меня в форме [Forma] поле [Author]. Поле изменяемое, изменяется при создании.

Как мне в поле "SendTo" формулы @MailSend автоматически его подставлять?

То есть, чтобы если Пупкин создал документ - ушло письмо на Пупкина, а если Васечкин - то на Васечкина.

И второй вопрос по поводу формулы @MailSend.

Если у меня есть поле RadioButton, в котором находится список людей, которым надо отправить письмо - как мне подставить в поле "SendTo" значение выделенного человека в поле RadioButton.

Возможно, вместо "RadioButton" можно использовать "Список".

Мне Morpheus подсказал вот так это сделать:

-----------------
Evaluate( {@SendTo(} & doc.UserName(0) & {; copyTo ; blindCopyTo ; subject ; remark ; bodyFields )} ,doc)

где doc = форма

-----------------

Если я все правильно понимаю, то у меня эта строчка должна выглядеть так:
-----------------
Evaluate( {@SendTo(} & Forma.UserName(0) & {; "" ; "" ; "Название темы" ; "" ; "" )} ,Forma)

-----------------

Проблема в том, что валидатор фомул говорит мне, что после закрывающейся скобки (0_)_
"Пропущена @-функция " или оператор, либо @-функция не тре...

И кстати, почему UserName(0) - что оно означает.

Помогите, плиз.

Зарабнее благодарен за ваши ответы.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.10.2006, 10:51
Ответы с готовыми решениями:

Как отослать письмо на e-mail?
помогите кто может, как написать прогу на Visual C++6: мне необходимо отослать письмо со своего компа допустим на свой e-mail с...

Как составить и отослать письмо со своей программы?
Как составить и отослать е-мейл из программы? Нужно ли иметь какой-то ActiveX или что-то еще для этого? Где это взять?

Как отослать письмо, взяв его содержимое из файла?
Есть скрипт, который sendmail`ом шлет на определенный почтовый ящик письма, тема и текст письма, так же адрес отправителя и получателя...

29
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
29.10.2006, 16:14
Студворк — интернет-сервис помощи студентам
СОРИ! лаги инета


Как написано в хелпе
attachForm - обязательный параметр где указываеться что при True - вставлять форму, при False - не вставлять


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 isnt. Do not attach a form that uses computed subforms.
Сидеть над хелпом надо !!!!
0
0 / 0 / 0
Регистрация: 24.09.2006
Сообщений: 89
29.10.2006, 16:38
Цитата Сообщение от Morpheus
СОРИ! лаги инета
Как написано в хелпе



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 isnt. 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
0
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
29.10.2006, 16:43
1. Угу, правильно

2.

Code
1
2
3
4
5
6
7
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
0
0 / 0 / 0
Регистрация: 24.09.2006
Сообщений: 89
29.10.2006, 16:51
Господа, всем спасибо - с вашей помощью я смог закончить создание своей базы данных по запросам пользователей.
0
0 / 0 / 0
Регистрация: 24.09.2006
Сообщений: 89
30.10.2006, 10:05
Если я вам еще не надоел, то продолжу задавать свои вопросы.

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

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Сохранение документа
 
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, а для новичков это найти затруднительно.
0
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
30.10.2006, 10:21
Example - вот такая штука в описании класов формул типов данных, прямо в хэлпе есть слово Example, на него клацаете и получаете ПРИМЕР

хм... это уже какой то хэлп по хэлпам получаеться )))))
0
0 / 0 / 0
Регистрация: 24.09.2006
Сообщений: 89
30.10.2006, 11:01
Цитата Сообщение от Morpheus
Example - вот такая штука в описании класов формул типов данных, прямо в хэлпе есть слово Example, на него клацаете и получаете ПРИМЕР

хм... это уже какой то хэлп по хэлпам получаеться )))))
Ну, в общем, конечно же да.

Но вот пример из хелпа.

Code
1
2
3
4
5
6
7
8
9
10
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 без проверки условия, то пример должен выглядеть так.

Code
1
2
3
4
5
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).

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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( "", "" )?

Заранее благодарен за ответы.
0
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
30.10.2006, 11:11
Dim backup As New NotesDatabase( "", "" )? - это и есть указатель на базы данных , приявязка так сказать
New NotesDatabase( "", "" ) - 1е кавычки сервер, 2е кавычки файл(физический) базы данных, например

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




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

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

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


Code
1
Dim backup As New NotesDatabase( "", "" )  мой коментарий
так же коменты могут быть многосторочными тагда они беруться в блок

Code
1
2
3
4
5
6
%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 )
0
0 / 0 / 0
Регистрация: 24.09.2006
Сообщений: 89
30.10.2006, 11:55
Цитата Сообщение от Morpheus
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...

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


Code
1
2
3
4
5
6
    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.
0
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
30.10.2006, 12:05
<!--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

если будут вапросы пиши уже в личку, а то разрослась ветка до безобра зия
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.10.2006, 12:05

Как отослать HTML-письмо при помощи CDO?
Помогите, пожалуйста! Как отослать HTML-письмо при помощи CDO с фоновым рисунком? Спасибо!

Отослать письмо с помощью SmtpClient
Начал делать прогу, в которую вводишь данные в 1 строку, во вторую, потом нажимаешь на клавишу и отсылается введенное на мыло. все норм,...

Отослать письмо сразу нескольким адресатам
Добрый день. Подскажите, как правильно указать несколько адресатов, в этих строках: &quot;to:&lt;1x1x1x1@yandex.ru&gt;\r\n&quot; ...

Нужно ASPMail отослать письмо юзера с эттачментом
У меня такой вопрос, мож компонент какой есть? Мне нужно ASPMail отослать письмо юзера с эттачментом, так вот мне необходимо...

Как отправить письмо пользователю
Здравствуйте. Допустим в Label1.Text адрес e-mail. Как по нажатию на кнопу button1 отправить этому пользователю письмо с любым текстов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru