|
Не удается отправить электронное письмо программно | ☑ | ||
---|---|---|---|---|
0
vava22082009
09.12.13
✎
12:43
|
Конфигурация КА 1.1.39.1.
Программно создается текст сообщения и затем вызывется процедура на отправку письма. но письмо не отправляется. Документ сохраняется. Но когда в него захожу то поле кому заполнено но в тоже время и не заполнено, как будто ссылку не передал на него. Вот текст отправки письма. Документ = Документы.ЭлектронноеПисьмо.СоздатьДокумент(); Документ.ОтправительАдресЭлектроннойПочты = адресотправителя; Документ.ОтправительИмя = имяотправителя; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | КонтактнаяИнформация.Объект, | КонтактнаяИнформация.Тип, | КонтактнаяИнформация.Вид, | КонтактнаяИнформация.Представление |ИЗ | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация |ГДЕ | КонтактнаяИнформация.Объект.Ссылка = &Ссылка"; Запрос.УстановитьПараметр("Ссылка", Контрагент); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Если ВыборкаДетальныеЗаписи.Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты Тогда Документ.Кому = ВыборкаДетальныеЗаписи.Представление; документ.КомуПредставление = ВыборкаДетальныеЗаписи.Представление; КонецЕсли; КонецЦикла; Документ.Тема = "Тема"; Документ.ТекстПисьма = ТекстПисьма; Документ.Дата = ТекущаяДата(); Документ.Записать(); документ.ОтправитьПисьмо(); |
|||
1
Wobland
09.12.13
✎
12:47
|
это хорошо или плохо?
|
|||
2
vava22082009
09.12.13
✎
12:49
|
(1) это плохо)))
письмо не отправляется))) |
|||
3
vava22082009
09.12.13
✎
12:50
|
точно, вопрос то я не задал)))
вопрос такой - как сделать правильно??? |
|||
4
zippygrill
09.12.13
✎
12:51
|
а кто будет проверять учетная запись под который отправляется письмо? как минимум.
|
|||
5
Wobland
09.12.13
✎
12:51
|
(3) а вдруг так и есть правильно? дождись того, кто знает, что происходит в ОтправитьПисьмо()
|
|||
6
vava22082009
09.12.13
✎
12:53
|
(4) чего то ничего не понял. то есть как это проверять учетную запись.
|
|||
7
zippygrill
09.12.13
✎
12:55
|
справочник УчетныеЗаписиЭлПочты
|
|||
8
zippygrill
09.12.13
✎
12:56
|
если есть в вашей КА
|
|||
9
vava22082009
09.12.13
✎
12:58
|
(7) справочник есть. а каким образом проверить учетную запись?
|
|||
10
Wobland
09.12.13
✎
13:01
|
(9) бывает кнопка такая у элемента
|
|||
11
zippygrill
09.12.13
✎
13:08
|
||||
12
vava22082009
09.12.13
✎
13:19
|
(11) это то сразу проверил)))я даже когда дкоумент создаю в режиме 1с предприятие письмо отправляется.
а вот с конфигуратора не хочет |
|||
13
JeyRico
09.12.13
✎
13:19
|
(6) Видимо не то не понял :)
Код функции ОтправитьПисьмо() нужно. И платформа чтоб не 18-цатая была. У меня глючила, 17 и 19 нормально с почтой работала. |
|||
14
vava22082009
09.12.13
✎
13:22
|
(13) у меня как раз 18-ая((
|
|||
15
vava22082009
09.12.13
✎
13:23
|
(13) а код функции ОтправитьПисьмо()там стандартный
|
|||
16
Wobland
09.12.13
✎
13:32
|
(15) отладчик, наверное, тоже штатный?
|
|||
17
CrazyArheolog
09.12.13
✎
13:37
|
(0) В Документы.ЭлектронноеПисьмо случаем нету табличной части КомуТЧ?
ее тож надо заполнить ;) |
|||
18
Kupogun
09.12.13
✎
13:42
|
(17)
+ проверь авторизацию в почте (smtp pop3 ну ты понел |
|||
19
vava22082009
09.12.13
✎
13:46
|
(17) Поменял текст на
СписокАдресов = Новый СписокЗначений; СписокАдресов.Добавить(ВыборкаДетальныеЗаписи.Представление, ВыборкаДетальныеЗаписи.Представление); Документ.Кому = СписокАдресов; Документ.КомуТЧ = СписокАдресов; документ.КомуПредставление = ВыборкаДетальныеЗаписи.Представление; выдает что поле КомуТЧ недоступно для записи |
|||
20
vava22082009
09.12.13
✎
13:47
|
(18) авторизация проходит
|
|||
21
CrazyArheolog
09.12.13
✎
13:51
|
(19) в ут тож делаю электронку.
Сделал пока так. ДокПисьмо = Документы.ЭлектронноеПисьмо.СоздатьДокумент(); ДокПисьмоТЧ = ДокПисьмо.КомуТЧ; ДокПисьмоТЧ.Очистить(); Тч = ДокПисьмоТЧ.Добавить(); Тч.Представление = Кому; Тч.АдресЭлектроннойПочты = Кому; ДокПисьмо.Дата = ТекущаяДата(); ДокПисьмо.УчетнаяЗапись = ЕмаилОтправителя; ДокПисьмо.Тема = Шапка; ДокПисьмо.ТекстПисьма = Тело; ДокПисьмо.Кому = Кому; ДокПисьмо.Записать(); ДокПисьмо.ОтправитьПисьмо(); |
|||
22
CrazyArheolog
09.12.13
✎
13:52
|
Работало и отправляло )
|
|||
23
vava22082009
09.12.13
✎
13:55
|
(22) через пару часов попробую)))а то с офиса выпинывают, надо домой ехать))) обязательно отпишусь - думаю должно получится
|
|||
24
vava22082009
10.12.13
✎
05:38
|
(22) спасибо получилось))))))
|
|||
25
CrazyArheolog
10.12.13
✎
06:41
|
(24) Пжалусть )
|
|||
26
vde69
модератор
10.12.13
✎
07:44
|
работает уже 7 лет......
Функция ОтправитьПисьмо (Письмо, МассивАдресов, СсылкаНаОбъект, Регистратор, Комментарий = "", УчетнаяЗапись = Неопределено, РегистрироватьОшибки = Истина, Отправка = Истина) Экспорт _УчетнаяЗапись = УчетнаяЗапись; Если УчетнаяЗапись = Неопределено Тогда _УчетнаяЗапись = ПолучитьСистемнуюУчетнуюЗапись(); КонецЕсли; Если не _УчетнаяЗапись.ИспользоватьДляОтправки Тогда Возврат Ложь; КонецЕсли; Если Не Письмо.ОправлятьПочтовыеУведомления Тогда Возврат Ложь; КонецЕсли; Если МассивАдресов = Неопределено Тогда Возврат Ложь; КонецЕсли; Если МассивАдресов.Количество() = 0 Тогда Возврат Ложь; КонецЕсли; Если ТипЗнч(СсылкаНаОбъект) = Тип("ДокументСсылка.Сделка") Тогда Если СсылкаНаОбъект.ОтправленыеУведомления.Найти(Регистратор,"Источник") <> Неопределено Тогда Возврат Ложь; КонецЕсли; КонецЕсли; _Отправка = Отправка; Если не Отправка Тогда Если не _УчетнаяЗапись.ОтложенаяОтправкаПочты Тогда _Отправка = Истина; КонецЕсли; КонецЕсли; Если не _Отправка Тогда // запись в регистр отложеной отправки Запись = РегистрыСведений.ДоставкаПочты.СоздатьМенеджерЗаписи(); Запись.МассивОтправки = Новый ХранилищеЗначения(МассивАдресов); Запись.Объект = СсылкаНаОбъект; Запись.ШаблонПисьма = Письмо; Запись.Оправлен = Ложь; Запись.Комментарий = Комментарий; Запись.ДокументРегистратор = Регистратор; Запись.Записать(Истина); Иначе // собствено отправка ТемаПисьма = СобратьЭлементПочтовогоСообщения(Письмо.Тема, СсылкаНаОбъект); СообщениеПисьма = СобратьЭлементПочтовогоСообщения(Письмо.Сообщение, СсылкаНаОбъект, Комментарий); СистемнаяПочта = СокрЛП(_УчетнаяЗапись.АдресЭлектроннойПочты); ТипСообщения = Неопределено; Профиль = СформироватьИнтернетПрофиль(_УчетнаяЗапись); Попытка Сообщение = Новый ИнтернетПочтовоеСообщение; Сообщение.Тема = ТемаПисьма; Сообщение.Отправитель = СистемнаяПочта; Для Каждого ПочтовыйАдрес из МассивАдресов Цикл Если Найти(ПочтовыйАдрес, "@") > 0 Тогда Сообщение.Получатели.Добавить(ПочтовыйАдрес); КонецЕсли; КонецЦикла; Если Письмо.ТипТекстаПисьма = Перечисления.ТипыТекстовЭлектронныхПисем.HTML ИЛИ Письмо.ТипТекстаПисьма = Перечисления.ТипыТекстовЭлектронныхПисем.HTMLСКартинками Тогда Сообщение.Тексты.Добавить(СообщениеПисьма, ТипТекстаПочтовогоСообщения.HTML); ИначеЕсли Письмо.ТипТекстаПисьма = Перечисления.ТипыТекстовЭлектронныхПисем.РазмеченныйТекст Тогда Сообщение.Тексты.Добавить(СообщениеПисьма, ТипТекстаПочтовогоСообщения.РазмеченныйТекст); Иначе Сообщение.Тексты.Добавить(СообщениеПисьма, ТипТекстаПочтовогоСообщения.ПростойТекст); КонецЕсли; Почта = Новый ИнтернетПочта; Почта.Подключиться(Профиль); Почта.Послать(Сообщение); Почта.Отключиться(); Если ТипЗнч(СсылкаНаОбъект) = Тип("ДокументСсылка.Сделка") Тогда оСделка = СсылкаНаОбъект.ПолучитьОбъект(); НоваяСтрока = оСделка.ОтправленыеУведомления.Добавить(); НоваяСтрока.Источник = Регистратор; оСделка.ОбменДанными.Загрузка = Истина; оСделка.Записать(); КонецЕсли; Исключение Если РегистрироватьОшибки Тогда ЗарегистрироватьОшибкуОтправкиПочты(СсылкаНаОбъект, Письмо, МассивАдресов, ОписаниеОшибки(), Регистратор, Комментарий); КонецЕсли; Возврат Ложь; КонецПопытки; КонецЕсли; Возврат Истина; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |