Имя: Пароль:
1C
1С v8
Отправка ЭП средствами 1С
0 Gossar1C
 
29.07.13
14:48
Здравствуйте! Возникла необходимость в массовой рассылке писем клиентам.
Письмо отправляет вместе с картинкой все нормально, но выдает ошибку:

{Форма.Форма.Форма(1544)}: Ошибка при вызове метода контекста (ВыполнитьОтправкуАкции)
    МассоваяРассылкаЭП.ВыполнитьОтправку();
по причине:
Ошибка при вызове серверного метода.
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ИнтернетПочта'



// Выполняет массовую рассылку электронных писем
//
Процедура ВыполнитьОтправку(Соединение = Неопределено) Экспорт
    
    Перем Кому, Тема, Тело, Вложения, АдресОтвета, ТипТекста, Копии, СлепыеКопии;
    
    УчетнаяЗапись = Справочники.УчетныеЗаписиЭлектроннойПочты.НайтиПоНаименованию("Администратор");
    
    ТаблицаПолучателей = СформироватьСписокПолучателей();
    
    //ПараметрыПисьма.Свойство("Вложения", Вложения);
    
    Письмо = Новый ИнтернетПочтовоеСообщение;
    Письмо.Тема = "Тема письмеца";
    
    // формируем адрес получателя    
    Для Каждого ПочтовыйАдресПолучателя Из ТаблицаПолучателей Цикл
        Получатель = Письмо.Получатели.Добавить(ПочтовыйАдресПолучателя.Адрес);
        Получатель.ОтображаемоеИмя = ПочтовыйАдресПолучателя.Представление;
    КонецЦикла;
            
    // добавляем к письму имя отправителя
    Письмо.ИмяОтправителя              = УчетнаяЗапись.ИмяПользователя;
    Письмо.Отправитель.ОтображаемоеИмя = УчетнаяЗапись.ИмяПользователя;
    Письмо.Отправитель.Адрес           = УчетнаяЗапись.АдресЭлектроннойПочты;
        
    // добавляем текст
    Письмо.Тексты.Добавить("<img src=""C:\Users\Programmer\Desktop\shapka.jpg"">",ТипТекстаПочтовогоСообщения.HTML);
    Письмо.ОбработатьТексты();
    ОбрабатыватьТекстСообщения =  ОбработкаТекстаИнтернетПочтовогоСообщения.Обрабатывать;
    
    // Зададим кодировку    
    Кодировка = Неопределено;
    Письмо.Кодировка = "KOI8-R";
    
    Если Соединение = Неопределено Тогда
        Профиль = СформироватьИнтернетПрофиль(УчетнаяЗапись, "oab50VBq");
    КонецЕсли;
        
    
    Если Соединение = Неопределено Тогда
        
        Соединение = Новый ИнтернетПочта;
        Соединение.Подключиться(Профиль);
        Соединение.Послать(Письмо,ОбрабатыватьТекстСообщения);
        Соединение.Отключиться();
        
    Иначе
        
        Соединение.Послать(Письмо);
        
    КонецЕсли;

КонецПроцедуры
1 Gossar1C
 
29.07.13
15:03
никто не может подсказать?
2 ДенисЧ
 
29.07.13
15:05
Вот блин...
Не вижу в приведённом коде вызова ВыполнитьОтправкуАкции()...
3 ptiz
 
29.07.13
15:08
Ты где-то пытаешься передать с клиента на сервер параметр "Соединение" с типом "ИнтернетПочта"
4 Gossar1C
 
29.07.13
15:15
(2) просто переименовал это и есть ВыполнитьОтправку()
5 Gossar1C
 
29.07.13
15:15
(3) нигде не передаю, в том то и дело
6 Gossar1C
 
29.07.13
15:18
(3) убрал из параметров "Соединение", протупил) ptiz спасибо большое)