Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Послать электронное письмо
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
Log1c
Задача: послать письмо при нажатии на кнопку
    Письмо = Документы.ЭлектронноеПисьмо.СоздатьДокумент();    
    Письмо.Дата = ТекущаяДата();
    Письмо.УчетнаяЗапись = УчетнаяЗапись;//СправочникСсылка.УчетныеЗаписиЭлектроннойПочты
    Письмо.Кому = "mitnick@ya.ru";    
    Письмо.Тема = "Тема письма";
    Письмо.ТекстПисьма = "Текст письма";
    Письмо.ВидТекстаПисьма = УчетнаяЗапись.ФорматТекстаПисьмаПоУмолчанию;
    Письмо.ГруппаУчетнойЗаписи = УчетнаяЗапись.ГруппаИсходящие;
    Письмо.СтатусПисьма = Перечисления.СтатусыПисем.Исходящее;
    Письмо.Записать(РежимЗаписиДокумента.Запись);


Проблема: письмо не отправляется.

Что делал: зашел посмотрел документ "электронное письмо", увидел что в журнале не заполнен реквизит "Кому". Зашел в документ, там реквизит заполнен(странно). Нажал на кнопку сохранить, в журнале заполнился реквизит "Кому" и письмо отправилось. Возможно я не заполнил какое-то свойство объекта Письмо.

Платформа: 1С:Предприятие 8.1.15.14
Конфигурация: УПП для Украины 1.2.15.30
Vofka
Посмотрите что при записи (проведении) заполняется программно.
Log1c
Цитата(Vofka @ 15.06.11, 19:43) необходимо зарегистрироваться для просмотра ссылки
Посмотрите что при записи (проведении) заполняется программно.


Смотрел, слабо понял что там творится.
Я слабо понимаю что за тип значения такой ДокументТабличнаяЧасть.ЭлектронноеПисьмо.КомуТЧ и поэтому понятия не имею как в него что-то писать.
Попытался парсить стандартную обработку создания писем, там вообще "все сложно".

Если кто-то делал отправку эл. почты или где-то видел обработку - буду благодарен если дадите ссылку.
Vofka
необходимо зарегистрироваться для просмотра ссылки
Flexy
Цитата(Vofka @ 16.06.11, 14:53) необходимо зарегистрироваться для просмотра ссылки
необходимо зарегистрироваться для просмотра ссылки

12201689.gif
Log1c
Код для создания и отправки писем(только того которые мы создали). Может кому-то пригодится.
Единственное что письмо отправляется но статус ему не проставляется(то что оно отправленное). Пишет что письмо заблокировано, не нашел как это обходить. Поэтому пришлось прибегнуть к такому коду.

//создаем письмо    
Письмо = Документы.ЭлектронноеПисьмо.СоздатьДокумент();    
Письмо.Дата = ТекущаяДата();
Письмо.УчетнаяЗапись    = УчетнаяЗапись; //СправочникСсылка.УчетныеЗаписиЭлектроннойПочты

СтрокаТЧ = Письмо.КомуТЧ.Добавить();
СтрокаТЧ.АдресЭлектроннойПочты = Кому;
СтрокаТЧ.Представление = Кому;
Письмо.Кому=СтрокаТЧ.Представление;
    
Письмо.Тема = Тема;
Письмо.ТекстПисьма = Текст;
Письмо.ВидТекстаПисьма = Перечисления.ВидыТекстовЭлектронныхПисем.Текст;//УчетнаяЗапись.ФорматТекстаПисьмаПоУмолчанию;
Письмо.ГруппаУчетнойЗаписи = УчетнаяЗапись.ГруппаИсходящие;
Письмо.СтатусПисьма = Перечисления.СтатусыПисем.Исходящее;
Письмо.Записать();

//Отправляем письмо
УчетныеЗаписи = Новый Массив;
УчетныеЗаписи.Добавить(УчетнаяЗапись);
    
Письма = Новый Соответствие;
Письма.Вставить(Письмо.Ссылка, Письмо.Ссылка);
    
УправлениеЭлектроннойПочтой.ПолучениеОтправкаПисем(глЗначениеПеременной("глСоответствиеТекстовЭлектронныхПисем"), глЗначениеПеременной("глТекущийПользователь"), УчетныеЗаписи, Письма, Истина, Ложь, Ложь);
    
//Устанавливаем письму статус отправленное
Письмо.СтатусПисьма = Перечисления.СтатусыПисем.Отправленное;
Письмо.Записать(РежимЗаписиДокумента.Запись);


Цитата(Vofka @ 16.06.11, 16:53) необходимо зарегистрироваться для просмотра ссылки
необходимо зарегистрироваться для просмотра ссылки


Прикольно, но в качестве информации по теме полный ноль.
Я думаю, не для кого не секрет что поиск по гуглу дает море результатов, разбор которых занимает продолжительное время.
Чуть меньше времени занимает тот же поиск но с "продуманными" ключевыми словами. Которые в вашем сообщении отсутствуют.
Ни в коем случае не хотел вас этим сообщением задеть(а вдруг!). Это сообщение является предложением не тратить время:
- ваше, на бесполезный ответ.
- участников форума которые увидят что есть ответ от вас, и зайдут посмотреть его, а там ...
- Flexy, который зайдет и напишет "+1", "зачет" или еще что-то.
- простых людей которые нашли тему по поиску, увидели что есть ответ, и зайдут посмотреть его, а там ...
- админов, которые потратят время на прокрутку полосы сообщений для поиска "запрещенных" тем.
logist
Цитата(Log1c @ 04.07.11, 10:43) необходимо зарегистрироваться для просмотра ссылки
СтрокаТЧ = Письмо.КомуТЧ.Добавить();
СтрокаТЧ.АдресЭлектроннойПочты = Кому;
СтрокаТЧ.Представление = Кому;
Письмо.Кому=СтрокаТЧ.Представление;

Это и было ответом на Ваше сообщение #3, искать ничего и не надо было, просто нужно было посмотреть пример добавления строки в табличную часть... но Вы выбрали долгий путь wink.gif
Vofka
Цитата
Чуть меньше времени занимает тот же поиск но с "продуманными" ключевыми словами. Которые в вашем сообщении отсутствуют.

Это был намёк. Или мне за вас думать надо? Я, например, там нашёл как программно отправить письмо (собственно что я и искал на вашу просьбу "Если кто-то делал отправку эл. почты или где-то видел обработку"). А перефразировать поисковый запрос "Отправка электронной почты из УПП" - можно было самому додуматься.
arshanskiyav
Цитата(Log1c @ 04.07.11, 10:43) необходимо зарегистрироваться для просмотра ссылки
Единственное что письмо отправляется но статус ему не проставляется(то что оно отправленное).


Это от того, что Вы передаете в соответствии вторым параметром ссылку, а надо объект:
Письма = Новый Соответствие;
Письма.Вставить(Письмо.Ссылка, Письмо.Ссылка.ПолучитьОбъект());
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.