Имя: Пароль:
1C
1С v8
К сожалению снова к вам за помощью. УТ10.3, не фурычит ИнтернетПочта()
,
0 0tsheln1k
 
06.10.20
00:04
Добрый вечер, всем тем кто не спит.

Возникла такая вот проблема:

{ОбщийМодуль.ОтправитьПисьмоНаСогласование.Модуль(70)}: Ошибка при вызове метода контекста (Подключиться): Несоответствие типов (параметр номер '1')

Вылетает при выполнение процедуры:
Почта.Подключиться(Профиль);

Вот сам текст модуля:

Функция ПараметрыПочтовогоПрофиля(ПочтовыйПрофиль) Экспорт
    
    Профиль = Новый ИнтернетПочтовыйПрофиль;
    Профиль.АдресСервераSMTP = ПочтовыйПрофиль.АдрессSMTP;
    Профиль.ПортSMTP = ПочтовыйПрофиль.ПортSMTP;
    Профиль.Пароль = ПочтовыйПрофиль.Пароль;
    Профиль.ПарольSMTP = ПочтовыйПрофиль.ПарольSMTP;
    Профиль.Пользователь = ПочтовыйПрофиль.Логин;
    Профиль.ПользовательSMTP = ПочтовыйПрофиль.ЛогинSMTP;
    Профиль.Таймаут = ПочтовыйПрофиль.ТаймАут;
    Профиль.ИспользоватьSSLSMTP = Истина;
    Профиль.АутентификацияSMTP = Истина;
    
    Возврат Профиль;
КонецФункции

Самое забавное, что код рабочий, все формирует и отправляет мне документы на почту - соединение есть, но вот когда таким же образом пытаюсь отправить данные из справочника, то натыкаюсь на ошибку.

Надеюсь модераторы ругаться не будут, так как прилагаю скрин из отладчика:
https:// prnt.sc / utp60d

Все данные он подхватывает, как надо, но вот при попытке подключится падает в ошибку. Повторюсь, документы отправляет нормально, может я что-то из параметров документов передаю по невнимательности и ловлю эту ошибку, но тогда на моменте "Почта.Послать(Сообщение);" у меня должен ложится код, разве нет?
1 Ёпрст
 
06.10.20
00:15
(0) ну и Профиль то у тебя что в момент Почта.Подключиться(Профиль); ?
2 Ёпрст
 
06.10.20
00:15
нам отсюда не видно
3 0tsheln1k
 
06.10.20
00:17
(2)
Процедура ОтправитьПисьмо(Профиль,Сообщение) Экспорт
    Почта = Новый ИнтернетПочта;
    Попытка
        Почта.Подключиться(Профиль);
        Почта.Послать(Сообщение);
        Сообщить("Письмо успшено отправлено!");
        Почта.Отключиться();
    Исключение
        Почта.Отключиться();
        Сообщить(ОписаниеОшибки());
    КонецПопытки;
КонецПроцедуры

Вот сама процедура. Я туда передаю как раз таки значение, которое возвращает функция ПараметрыПочтовогоПрофиля(ПочтовыйПрофиль)
4 Ёпрст
 
06.10.20
00:18
(3) так.. И что есть Профиль ?
5 0tsheln1k
 
06.10.20
00:20
(4) Коллекция значений типа ИнтернетПочтовыйПрофиль
6 Ёпрст
 
06.10.20
00:21
(5) Где он в коде задается ?
Еще и поди.. он и реквизит формы с типом число ?
:)
7 0tsheln1k
 
06.10.20
00:23
(6) Я конечно зеленый, но не настолько глупый, с типами данных работать умею.
8 0tsheln1k
 
06.10.20
00:23
(6) Вот код процедуры, отвечающая за отправку

Процедура ОтправитьНажатие(Элемент)
    Если Модифицированность Тогда
        Ответ = Вопрос("Требуется записать файл для того что бы продолжить!" + Символы.ПС + "В случае отрицательного ответа, пиьсмо не будет отправлено!",РежимДиалогаВопрос.ДаНет,,,"Внимание!");
        Если Ответ = КодВозвратаДиалога.Да Тогда
            ЭтотОбъект.Записать();
            СформироватьФайлPDF();
            ПрофильПочты = ОтправитьПисьмоНаСогласование.ПараметрыПочтовогоПрофиля(ЭтотОбъект.ПрофильПочты);
            Сообщение = ОтправитьПисьмоНаСогласование.СформироватьСообщение(ПрофильПочты, ЭтотОбъект, ПутьДоФайла);
            ОтправитьПисьмоНаСогласование.ОтправитьПисьмо(ПрофильПочты,Сообщение);
            РегистрацияСогласования.СоздатьСогласование(ЭтотОбъект);
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры
9 Ёпрст
 
06.10.20
00:24
ПрофильПочты = ОтправитьПисьмоНаСогласование.ПараметрыПочтовогоПрофиля(ЭтотОбъект.ПрофильПочты); //ну-ну..
10 0tsheln1k
 
06.10.20
00:25
ЭтотОбъект.ПрофильПочты - реквизит с типом данных СправочникСсылка.ПочтовыеПрофиля
11 Ёпрст
 
06.10.20
00:25
Мот того, его хотя бы Васей назовешь ?
12 Ёпрст
 
06.10.20
00:25
(10) :)))
13 Ёпрст
 
06.10.20
00:26
И какого хрена ты его пихаешь в ОтправитьПисьмо ?
14 Ёпрст
 
06.10.20
00:27
Если не понял, то так, хотя бы:

Вася = ОтправитьПисьмоНаСогласование.ПараметрыПочтовогоПрофиля(ЭтотОбъект.ПрофильПочты);
Сообщение = ОтправитьПисьмоНаСогласование.СформироватьСообщение(Вася, ЭтотОбъект, ПутьДоФайла);
ОтправитьПисьмоНаСогласование.ОтправитьПисьмо(Вася,Сообщение);
15 Ёпрст
 
06.10.20
00:27
Да и если это ОФ, то ЭтотОбъект выкнь из кода.
16 0tsheln1k
 
06.10.20
00:33
(15) Дак проблема в том что работает все с документами, а если пытаюсь работать со справочником то ругается
17 Ёпрст
 
06.10.20
00:34
(16) ну сделай как в (14).
18 0tsheln1k
 
06.10.20
00:45
(17) не канает
19 0tsheln1k
 
06.10.20
00:47
(18) вру... Вы правы.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.