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 21 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 14 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"); 
ТекПочта = Новый ИнтернетПочта(); 
Попытка
	ТекПочта.Подключиться(Профиль); 
	ТекПочта.Послать(ТекСообщение);
Исключение
    ОбщегоНазначения.СообщитьИнформациюПользователю("Письмо не отправлено!"+Символы.ПС+ОписаниеОшибки());
КонецПопытки;
Показать
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Нижний Новгород
зарплата до 120 000 руб.
Полный день

Программист 1С
Волгоград
зарплата от 45 000 руб. до 90 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Консультант-аналитик 1С
Москва
зарплата от 70 000 руб. до 100 000 руб.
Полный день

Программист 1С
Москва
зарплата от 80 000 руб. до 120 000 руб.
Временный (на проект)