|
0 / 0 / 0
Регистрация: 24.09.2006
Сообщений: 89
|
|
Как отослать письмо пользователю.29.10.2006, 10:51. Показов 43517. Ответов 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
|
|
| 29.10.2006, 10:51 | |
|
Ответы с готовыми решениями:
29
Как отослать письмо на e-mail? Как составить и отослать письмо со своей программы? Как отослать письмо, взяв его содержимое из файла? |
|
0 / 0 / 0
Регистрация: 23.10.2006
Сообщений: 218
|
|
| 29.10.2006, 11:15 | |
|
Ээээ..... А зачем @SendTo (кстати, а где Вы взяли такую собакоформулу?!) помещать в Evaluate? Прекрасно можно отправить скриптами (метод Send класса NotesDocument). По поводу @UserName(0):
-------------------------------------------------------------------------------- @UserName ( index ) Parameters index Note This parameter is new with Release 5. Number. Optional. Indicating the index of user names. 0 is for primary name and 1 is for the alternate name. If thys parameter is omitted, @UserName returns the primary name. -----------------------------------------------------------------------------------
0
|
|
|
0 / 0 / 0
Регистрация: 24.09.2006
Сообщений: 89
|
||
| 29.10.2006, 11:30 | ||
Про Evaluate ничего не скажу - не я ее писал. Можно поподробнее, про скрипты? Если можно с примером. И кстати, а простыми действиями - Ответить отправителю не подойдет? З.ы.: как оказалось - отправить отправителю подойдет - теперь осталось выяснить, как простыми действиями не пустое письмо отправить, а в тело письма вложить содержимое документа. З.з.ы.: возможно, подойдет отправить документ. Вот сейчас пойду проверю. Проверил. Вот, что странно. В "Ответить отправителю" есть галочка "Включить копию документа", но хотя я ее повесил - пользователю пришло пустое письмо. Единственное, что было написано в теле письма: "В ответ на:" И все. Скорее всего из-за того, что текст набирается в поле. Хотя не уверен.
0
|
||
|
0 / 0 / 0
Регистрация: 23.10.2006
Сообщений: 218
|
|
| 29.10.2006, 11:49 | |
|
<!--QuoteBegin-ledi+30:10:2006, 10:17 -->
<span class="vbquote">(ledi @ 30:10:2006, 10:17 )</span><!--QuoteEBegin-->Про Evaluate ничего не скажу - не я ее писал. Можно поподробнее, про скрипты? Если можно с примером. И кстати, а простыми действиями - Ответить отправителю не подойдет? [snapback]46675" rel="nofollow" target="_blank[/snapback]?[/quote] про просыте действия - не понял. По поводу примера: ----------------------------------------------------------------------- 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. recipients String or array of strings. Optional. The recipients of the document. See below. ----------------------------------------------------------------------- Вот пример: //Получаем документ Call doc.Send(True,doc.UserName) По поводу UserNameа. Я ошибся (вернее, недоглядел). Я написал про собачную формулу. Я если вести речь о итемах, то конструкция doc.<название поля> ВСЕГДА возвращает массив. Посему когда понятно, что итем содержит одно значение - можно сразу обращаться к первому элементу.
0
|
|
|
0 / 0 / 0
Регистрация: 24.09.2006
Сообщений: 89
|
||
| 29.10.2006, 12:13 | ||
Мне надо при нажатии на кнопку отослать письмо пользователю. Кнопку можно запрограммировать формулой, LotusScropt, JavaScript или ПРОСТЫМ ДЕЙСТВИЕМ. В простом действии есть пункт "Ответить отправителю". Ну, и некоторые другие действия. Вот. А в настройке действий "Ответить отправителю" есть чекбокс "Включить копию документа". Но почему-то этот чекбокс не вставляет в письмо копию документа. И я пока не понимаю почему. Ладно, сенк за наводку на Calls
0
|
||
|
0 / 0 / 0
Регистрация: 24.09.2006
Сообщений: 89
|
||
| 29.10.2006, 12:27 | ||
Я так понимаю, что LotusScript. То есть, если применить это к моей задаче, то выходит следующее: Call notesDocument.Send( False [, Author ] ) или Call doc.Send(False,doc.Author) Мне не надо отсылать человеку форму целиком - мне надо отослать только ее содержимое, поэтому False. Но при попытке сделать это я получаю следующие ошибки. В LotusScript: ------- Sub Click(Source As Button) Call notesDocument.Send( False , Author ) End Sub ------- Ошибка - Данные не сохранены из-за ошибок в программе. В java script: ------- Call notesDocument.Send( False , Author ) ------- Missing ; before statement. Что мне поправить?
0
|
||
|
0 / 0 / 0
Регистрация: 23.10.2006
Сообщений: 218
|
|
| 29.10.2006, 12:42 | |
|
Ээээ... У меня создаётся впечатление что лотус изнутри Вы видите первый раз в жизни (может, второй, первый был вчера). Вы не инициализировали объект класса NotesDocument. Вам нужна не подсказка, а вводный курс по разработке в лотусе. Мы так можем переписываться до бесконечности. Мой свет, посмотрите хелп. Там всё прекрасно написано. На всё (тот же Send) есть прекрасные примеры и т.д.
0
|
|
|
0 / 0 / 0
Регистрация: 24.09.2006
Сообщений: 89
|
||
| 29.10.2006, 12:48 | ||
|
Прочитав в хелпе про NotesDocumentClass, SendMethod и особенно посмотрев примеры,
увидел то, что мне подходит 5. This script mails a document to anyone listed in yts DocAuthor field. Call doc.Send( True, doc.DocAuthor ) То есть, если у меня есть поле Author, и мен надо отправлять письмо пользователю, почтовый ящик которого там стоит, то мне надо написать. Call doc.Send( True, doc.Author ) или Call doc.Send( False, doc.Author ) если мне не надо отсылать форму. Но когда я это подставляю в поле вычисления формул, etc и получаю такую запись: Sub Click(Source As Button) Call doc.Send( False, doc.Author ) End Sub то получаю следующий Error. [имя_кнопки]: Click: 1: Not a sub or function name: DOC
Но что поделаешь, поставили задау, я ее решил почти полностью, осталось только назначить действие кнопкам. А вот тут я и столкнулся с проблемой.
0
|
||
|
Заблокирован
|
|
| 29.10.2006, 13:14 | |
|
дефолтный хелп самая тема
0
|
|
|
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
|
||||||
| 29.10.2006, 13:18 | ||||||
|
ну во-первых, друстуйтэ )))
[snapback]46672" rel="nofollow" target="_blank[/snapback]</div>[/quote] - моя ошибка переплутал с MailSend ну а вот скрипт, создает письмо , указывает тему, тело, и адресата(из текущего документа) З,Ы, надо проверить бо писал на скорую руку
0
|
||||||
|
0 / 0 / 0
Регистрация: 23.10.2006
Сообщений: 218
|
|
| 29.10.2006, 13:21 | |
|
Надо инициализировать объект класса NjtesDOcument. Лотус фтыкает в строку doc.Send(.....) и непонимает что такое doc. Надо ему объяснить. Объяснение зависит от конкретной задачи. Например, если искомый документ текущий, то можно сделать так:
Sub Click(...) Dim ws As New NotesUIWorkspace Текущее рабочее пространство. Обратите внимание, что я сразу инициализировал объект с помощью New Dim uidoc As NotesUIDOcument Представление текущего документа на экране Dim doc as NotesDOcument Текщий документ "в базе" Set uidoc=ws.CurrentDOcument Set doc=uidoc.Document Call doc.send(....) End Sub
0
|
|
|
Заблокирован
|
|
| 29.10.2006, 13:25 | |
|
Для: ledi
<!--QuoteBegin-ledi+30:10:2006, 09:38 --> <span class="vbquote">(ledi @ 30:10:2006, 09:38 )</span><!--QuoteEBegin-->Если у меня есть поле RadioButton, в котором находится список людей, которым надо отправить письмо - как мне подставить в поле "SendTo" значение выделенного человека в поле RadioButton [snapback]46667" rel="nofollow" target="_blank[/snapback]?[/quote] мульти поле field1 " Имя |1; имя2|2;" и потом @GetField("Filed1") это в choices поле радио буттон потом перебором по выбору и evaluate "LotusScript" или же на чистом lotusScripte
0
|
|
|
0 / 0 / 0
Регистрация: 24.09.2006
Сообщений: 89
|
||
| 29.10.2006, 15:03 | ||
Подставляю туда название текстового поля, в котором находится исходное сообщение пользователя с комментариями администратора (Text) (ывглядит, как doc.Form = "Text") - не работает. При открытии письма пишет, что "Не удается найти форму: Text". В обоих случаях в теле письма нет текстового поля, в котором находится исходное сообщение пользователя с комментариями администратора.
0
|
||
|
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
|
||
| 29.10.2006, 15:26 | ||
|
<!--QuoteBegin-ledi+30:10:2006, 14:50 -->
<span class="vbquote">(ledi @ 30:10:2006, 14:50 )</span><!--QuoteEBegin-->Не обрабатывает поле "Memo" [snapback]46710" rel="nofollow" target="_blank[/snapback]?[/quote]жжоте однако.... так понятие переменные, константы, типы данных Вам извесны? "Memo" - это не поле, это значить что полю Form созданного документа doc мы присваиваем ТЕКСТОВОЕ значение, в данном случае "Memo" , что в общем не отличаеться от "1", "Вася пупкин" и .т.д. (кол-вом символов правда отличаються) Пачему Memo ??? так как это форма по-дэфолту которая используетсья в почтовых базах юзверей, в рус.клиентах завёться "Записка" <!--QuoteBegin-ledi+30:10:2006, 14:50 --> <span class="vbquote">(ledi @ 30:10:2006, 14:50 )</span><!--QuoteEBegin-->Подставляю туда название текстового поля, в котором находится исходное сообщение пользователя с комментариями администратора (Text) (ывглядит, как doc.Form = "Text") - не работает. При открытии письма пишет, что "Не удается найти форму: Text". [snapback]46710" rel="nofollow" target="_blank[/snapback]?[/quote] Тело сообщение(большое поле куда все вставиться ) это будет Body
doc.Subject = "То что мы пишем в теМе письма" !!! doc.Subject = CurDoc.MyField(0) MyField - поле Вашей формы, из которой будет братсья тема З,Ы, ХЕЛП читать, и не лезть сразу... разобраться шо такое типы данных, КЛАСЫ, переменные и т.д.
0
|
||
|
0 / 0 / 0
Регистрация: 24.09.2006
Сообщений: 89
|
||
| 29.10.2006, 15:37 | ||
0
|
||
|
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
|
|
| 29.10.2006, 15:41 | |
|
<!--QuoteBegin-ledi+30:10:2006, 15:24 -->
<span class="vbquote">(ledi @ 30:10:2006, 15:24 )</span><!--QuoteEBegin-->как мне при отсылке письма в строку "Кому" подставить значение из поля "Author" [snapback]46714" rel="nofollow" target="_blank[/snapback]?[/quote] doc.SendTo = CurDoc.GetItemValue( "Author" ) или так doc.SendTo = CurDoc.Author(0)
0
|
|
|
0 / 0 / 0
Регистрация: 24.09.2006
Сообщений: 89
|
||
| 29.10.2006, 15:48 | ||
УРА!!!!!! ПОЛУЧИЛОСЬ!!!! MORPHEUS - BIG SENK!!! За что спасибо? Ну, во-первых, за готовый скрипт, а во вторых за волшебное слово BODY. В общем, получается так. ------------------------- 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 doc.Form = "start" doc.Body = CurDoc.Text(0) doc.SendTo = CurDoc.GetItemValue( "Author" ) doc.Subject = "Ваша просьба удовлетворена" Call doc.Send( False ) End Sub ------------------------- Надо было просто добавить в скрипт одну строку ( doc.Body = CurDoc.Text(0) ). Теперь получается, что в поле Тема, Кому и в Тело_Письма подставляются те данные, которые мне нужны. А строку doc.Form = "start" можно смело удалять, т.к. передавать форму пользователю мне не надо.
0
|
||
|
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
|
|
| 29.10.2006, 15:53 | |
|
<!--QuoteBegin-ledi+30:10:2006, 15:35 -->
<span class="vbquote">(ledi @ 30:10:2006, 15:35 )</span><!--QuoteEBegin-->можно смело удалять, т.к. передавать форму пользователю мне не надо. [snapback]46718" rel="nofollow" target="_blank[/snapback]?[/quote] Не совсем правильно... документ в лотусе отображаеться пользователю по форме, если формы нет физически, документ всёравно будет!Если в поле Form прописана несуществующая форма то <!--QuoteBegin-ledi+30:10:2006, 14:50 --> <span class="vbquote">(ledi @ 30:10:2006, 14:50 )</span><!--QuoteEBegin-->"Не удается найти форму: start". [snapback]46710" rel="nofollow" target="_blank[/snapback]?[/quote] а поле Form - надо заполнять, хотя если в базе лотуса какаято форма определена как форма по умолчанию то можна и не заполнять(как это сделано в почтовых базах, потому у Вас и получилось отобразить документ без заполнения поля Form )
0
|
|
|
0 / 0 / 0
Регистрация: 24.09.2006
Сообщений: 89
|
||
| 29.10.2006, 16:10 | ||
Очень странно. Тогда почему у меня в почте при открытии письма было так. 1. Если в форме было написано doc.Form = "start" и Call doc.Send( True ) - пользователь при открытии письма получал новое окно в виде формы. Это понятно. Есть название формы, она передалась пользователю с почтой и он ее увидел. Непонятен второй вариант 2. Если в форме было написано doc.Form = "start" и Call doc.Send( False ) - пользователь при открытии письма получал сообщение "Не удается найти форму: start". Это вроде с одной стороны тоже понятно. Есть название формы, но она не передавалась, поэтому пользователь и не видит форму. Непонятно, зачем тогда в данном случае вводить строку doc.Form = "start", если она не несет никакой функции.
0
|
||
|
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
|
|
| 29.10.2006, 16:14 | |
|
<!--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 ) в письме не передаёться!!! Дальше продолжнение
0
|
|
| 29.10.2006, 16:14 | |
|
Помогаю со студенческими работами здесь
20
Как отослать HTML-письмо при помощи CDO? Отослать письмо с помощью SmtpClient Отослать письмо сразу нескольким адресатам Нужно ASPMail отослать письмо юзера с эттачментом Как отправить письмо пользователю Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|