Добрый день.и с наступающие Новым Годом.Нужна помощь

1. user635247_md37ivanovo 31.12.16 12:12 Сейчас в теме
Добрый день.и с наступающие Новым Годом.Нужна помощь
Начинаю обучение в 1с,и есть немного задумок,
как в данноё наработке ,сделать так чтобы электронные адреса контрагентов попадали в эту разработку и можно было сделать выбор по контрагентам


Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.Пользователь = "md37iv@mail.ru";
Профиль.ПользовательSMTP = "md37ivo@mail.ru";
Профиль.Пароль = "kkkkkkk";
Профиль.ПарольSMTP = "gfhjkm";
Профиль.АдресСервераSMTP = "smtp.mail.ru";
Профиль.ПортSMTP = 465;
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;
Профиль.ИспользоватьSSLSMTP = Истина;

ТекСообщение = Новый ИнтернетПочтовоеСообщение;
ТекСообщение.Тема = "Заказ Товара ООО МиксФрукт";
ТекСообщение.Получатели.Добавить("den37i@yandex.ru");
ТекСообщение.Получатели.Добавить("md@mail.ru");

выводилось под меню с выбором контрагента и электронного адреса
ТекСообщение.ОбратныйАдрес.Добавить("md37ivanovo@mail.ru");
ТекСообщение.Отправитель = "@mail.ru";
ТекСообщение.ИмяОтправителя = "Денис";
ТекСообщение.Тексты.Добавить("Примите Заказ Товаара");
ТекСообщение.Вложения.Добавить("H:\гггггг.pdf");
ТекПочта = Новый ИнтернетПочта();
ТекПочта.Подключиться(Профиль);

ТекПочта.Послать(ТекСообщение);
Ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Cooler 22 31.12.16 12:35 Сейчас в теме
(1) Денис, в качестве общей подсказки: публиковать в коде реальный пароль от своего ящика довольно глупо.
ice-net; citicat; Alister; +3 Ответить
3. user635247_md37ivanovo 31.12.16 13:47 Сейчас в теме
4. Alister 9 31.12.16 14:14 Сейчас в теме
6. user635247_md37ivanovo 31.12.16 16:03 Сейчас в теме
(4) да я ступил с паролем ,а Вы что все пробовали на почту зайти
7. Alister 9 31.12.16 16:08 Сейчас в теме
5. lefthander 31.12.16 14:50 Сейчас в теме
(1)У Вас представлен механизм создания и отправки почтового сообщения. А собственно откуда должно вызываться это действие? Из карточки контрагента или из формы списка документов?
Для того чтобы получить адрес контрагента нужно считать данные о контактной информации
Вот пример: в табличной части есть ссылка на контрагента и получаем его эл. адрес.

	
&НаКлиенте
Процедура КлиентыСправочникКлиентПриИзменении(Элемент)

	ТекущиеДанные = Элементы.Клиенты.ТекущиеДанные;
	
	Если ЗначениеЗаполнено(ТекущиеДанные.СправочникКлиент) Тогда
	
		ТекущиеДанные.ИмяКлиента =  ТекущиеДанные.СправочникКлиент;
		
		ТЗКонтИнфы =  ТекущиеДанные.СправочникКлиент.Партнер.КонтактнаяИнформация;
		
		ОтборЭА = Новый Структура;
		ОтборЭА.Вставить("Тип", ВернутьТипКонтактнойИнфы() );
		ЭлектронныеАдреса = ТЗКонтИнфы.НайтиСтроки(ОтборЭА);
		Если ЭлектронныеАдреса.Количество() =1 Тогда
			ТекущиеДанные.ЭлектронныйАдрес = ЭлектронныеАдреса[0].АдресЭП;
		Иначе
			ТекущиеДанные.ЭлектронныйАдрес = "";
		КонецЕсли;
		ТекущиеДанные.Условия = ТекущиеДанные.СправочникКлиент;
		
	Иначе
		ЭлАдрес = ТекущиеДанные.ЭлектронныйАдрес;
		ТекущиеДанные.ЭлектронныйАдрес = ЭлАдрес;
		
	КонецЕсли;
КонецПроцедуры


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


Показать
8. user635247_md37ivanovo 31.12.16 16:51 Сейчас в теме
(5) спасибо,только куда это вставить ,отдельную кнопку делать
9. Alister 9 31.12.16 17:02 Сейчас в теме
(8) это процедура списка элементов справочника, вызываемая по событию ПриИзменении в управляемой форме.
Может еще озвучишь свою конфу, чтобы было понятнее.
10. user635247_md37ivanovo 31.12.16 19:51 Сейчас в теме
(9)конфигурация самописная
11. user635247_md37ivanovo 31.12.16 19:59 Сейчас в теме
(9) я обучаюсь и разбираюсь потихоньку,опыта ищё мало
12. lefthander 01.01.17 00:42 Сейчас в теме
(9)нет, это процедура из обработки, в табличной части список контрагентов с электронными адресами, в цикле перебор всех строк и отправка прайса, если строка выбрана. Это процедура при выборе в строке контрагента.
Привел ее что бы показать один из способов получения КИ контрагента.
13. ice-net 19 03.01.17 10:12 Сейчас в теме
Созадешь ТЗ "ТаблицаФормы" кладешь на форму с 3 полями: "флаг (булево)", "контрагент(Ссылка/строка любой)", "адрес (строка)" отмечаешь нужные, затем:


Профиль = Новый ИнтернетПочтовыйПрофиль; 
Профиль.Пользователь = "xxxxxx@mail.ru"; 
Профиль.ПользовательSMTP = "xxxxxx@mail.ru"; 
Профиль.Пароль = "xxxxxx"; 
Профиль.ПарольSMTP = "xxxxxx"; 
Профиль.АдресСервераSMTP = "smtp.mail.ru"; 
Профиль.ПортSMTP = 465; 
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию; 
Профиль.ИспользоватьSSLSMTP = Истина; 
ТекСообщение = Новый ИнтернетПочтовоеСообщение; 
ТекСообщение.Тема = "Заказ Товара ООО МиксФрукт";

//Заполняешь получателей
МассивСтрокПолучателей = ТаблицаФормы.НайтиСтроки(Новый Структура("Флаг", Истина));
Для каждого СтрокаТаблицы ИЗ МассивСтрокПолучателей Цикл
	Если ЗначениеЗаполнено(СтрокаТаблицы.Адрес) Тогда
		ТекСообщение.Получатели.Добавить(СокрЛП(СтрокаТаблицы.Адрес));
	КонецЕсли;
КонецЦикла;

ТекСообщение.ОбратныйАдрес.Добавить("md37ivanovo@mail.ru"); 
ТекСообщение.Отправитель = "@mail.ru"; 
ТекСообщение.ИмяОтправителя = "Денис"; 
ТекСообщение.Тексты.Добавить("Примите Заказ Товаара"); 
ТекСообщение.Вложения.Добавить("H:\гггггг.pdf"); 
ТекПочта = Новый ИнтернетПочта(); 
Попытка
	ТекПочта.Подключиться(Профиль); 
	ТекПочта.Послать(ТекСообщение);
Исключение
    ОбщегоНазначения.СообщитьИнформациюПользователю("Письмо не отправлено!"+Символы.ПС+ОписаниеОшибки());
КонецПопытки;
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот