Функция ОтправитьПочтовоеСообщение(знач УчетнаяЗапись, знач ПараметрыПисьма) Экспорт
Если ТипЗнч(УчетнаяЗапись) <> Тип("СправочникСсылка.УчетныеЗаписиЭлектроннойПочты") ИЛИ НЕ ЗначениеЗаполнено(УчетнаяЗапись) Тогда ВызватьИсключение НСтр("ru = 'Учетная запись не заполнена или заполнена не правильно'"); КонецЕсли;
Если ПараметрыПисьма = Неопределено Тогда ВызватьИсключение НСтр("ru = 'Не заданы параметры отправки.'"); КонецЕсли;
Кому = ""; Если ПараметрыПисьма.Свойство("Кому", Кому) Тогда Если ТипЗнч(Кому) = Тип("Строка") Тогда ПараметрыПисьма.Кому = ОбщегоНазначенияКлиентСервер.РазобратьСтрокуСПочтовымиАдресами(Кому); КонецЕсли; Иначе ВызватьИсключение НСтр("ru = 'Не указан ни один получатель письма.'"); КонецЕсли;
Копии = ""; Если ПараметрыПисьма.Свойство("Копии", Копии) Тогда Если ТипЗнч(Копии) = Тип("Строка") Тогда ПараметрыПисьма.Копии = ОбщегоНазначенияКлиентСервер.РазобратьСтрокуСПочтовымиАдресами(Копии); КонецЕсли; КонецЕсли;
СлепыеКопии = ""; Если ПараметрыПисьма.Свойство("СлепыеКопии", СлепыеКопии) Тогда Если ТипЗнч(СлепыеКопии) = Тип("Строка") Тогда ПараметрыПисьма.СлепыеКопии = ОбщегоНазначенияКлиентСервер.РазобратьСтрокуСПочтовымиАдресами(СлепыеКопии); КонецЕсли; КонецЕсли;
АдресОтвета = Неопределено;
// проверяем правильную заполненность АдресаОтвета Если ПараметрыПисьма.Свойство("АдресОтвета", АдресОтвета) Тогда ПараметрыПисьма.АдресОтвета = ОбщегоНазначенияКлиентСервер.РазобратьСтрокуСПочтовымиАдресами(АдресОтвета); КонецЕсли;
Вложения = Неопределено;
Если ПараметрыПисьма.Свойство("Вложения", Вложения) Тогда Для Каждого Вложение Из Вложения Цикл Если ТипЗнч(Вложение.Значение) = Тип("Строка") Тогда Если ЭтоАдресВременногоХранилища(Вложение.Значение) Тогда Вложения.Вставить(Вложение.Ключ, ПолучитьИзВременногоХранилища(Вложение.Значение)); КонецЕсли; КонецЕсли; КонецЦикла; ПараметрыПисьма.Вложения = Вложения; КонецЕсли;
Как в функцию ОтправитьСообщение передать значения параметров учётная запись? Задача моя следующая, при формировании какого нибудь БП уведомлять пользователя по электронке,для которого была сформирована задача.
Про1С-ник
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0
Цитата(kosalex @ 10.07.13, 12:58)
Как в функцию ОтправитьСообщение передать значения параметров учётная запись?
Этот код нио чем не говорит?
Если ТипЗнч(УчетнаяЗапись) <> Тип("СправочникСсылка.УчетныеЗаписиЭлектроннойПочты") ИЛИ НЕ ЗначениеЗаполнено(УчетнаяЗапись) Тогда ВызватьИсключение НСтр("ru = 'Учетная запись не заполнена или заполнена не правильно'"); КонецЕсли;
Личные бесплатные консультации не даю, для этого есть форум!
Про1С-ник
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0
А зачем это в нее передавать пользователя? В нее надо передать ПараметрыПисьма. Смотрим код дальше:
Если ПараметрыПисьма.Свойство("Кому", Кому) Тогда Если ТипЗнч(Кому) = Тип("Строка") Тогда ПараметрыПисьма.Кому = ОбщегоНазначенияКлиентСервер.РазобратьСтрокуСПочтовымиАдресами(Кому); КонецЕсли; Иначе
Может сразу составите вопросы для себя и проанализируете код, как видите там есть ответы на многие вопросы.
Личные бесплатные консультации не даю, для этого есть форум!
Про1С-ник
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0
УчетнаяЗапись - это учетная запись от имени которой будет отправляться письмо. Это запись соответствующего справочника, которая хранит, в данном случае, настройки "Отправителя". А ПараметрыПисьма это произвольная структура, в которую можно передавать что необходимо для составления письма, типовые ключи структуры видны в "ОтправитьПочтовоеСообщение". Вам же перед вызовом этой перед вызовом функции необходимо заполнить эту структуру, ПараметрыПиьма.Кому = АдресПользователяДляОповещения.
Личные бесплатные консультации не даю, для этого есть форум!
Не могу понять как вернуть, передать пользователя-исполнителя для которого задача! По подписке на события при записи задачи получаю пользователя-исполнителя:
Процедура ЗадачаИсполнителяПриЗаписи(Источник, Отказ) ЭКСПОРТ Если НЕ Источник.Выполнена Тогда НаборЗаписей = РегистрыСведений.ОповещениеПользователя.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Пользователь.Установить(Источник.Исполнитель);
Завсегдатай
Группа: Местный
Сообщений: 170
Из: где-то под Киевом
Спасибо сказали: 65 раз
Рейтинг: 0
Цитата(kosalex @ 11.07.13, 7:34)
ЭлектроннаяПочта.ОтправитьПочтовоеСообщение(УчетнаяЗапись,Параметры); //Как определить кому отослать сообщение?
Как-то так:
Пользователь = Исполнитель;//определяем пользователя 1С. УчетнаяЗапись = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(Пользователь, "ОсновнаяУчетнаяЗапись"); //это основная учетная запись эл. почты пользователя, указанная в настройках пользователя
ПараметрыПисьма = Новый Структура; ПараметрыПисьма.Вставить("Тема", НСтр("ru = 'Задачи'")); ПараметрыПисьма.Вставить("Тело", НСтр("ru = 'У Вас новая задача!'")); ПараметрыПисьма.Вставить("Кому", УчетнаяЗапись.АдресЭлектроннойПочты); Если Пароль <> Неопределено Тогда ПараметрыПисьма.Вставить("Пароль", Пароль); КонецЕсли;
не текущего. текущий пользователь делает задачу для пользователя - исполнителя. Уведомлять нужно пользователя-исполнителя, который записывается в регистр сведений при формировании бизнес процесса. Если в регистре сведений есть запись с именем "Пользователь-исполнитель",тогда этому пользователю-исполнителю нужно отправить уведомление.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!