Здравствуйте. Есть запрос из которого выбирается адрес электронной почты
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КонтактнаяИнформация.Представление
|ИЗ
| РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|ГДЕ
| КонтактнаяИнформация.Тип = &ВидКонтактнойИнформации
| И КонтактнаяИнформация.Объект В ИЕРАРХИИ(&СписокПользователей)";
Запрос.УстановитьПараметр("ВидКонтактнойИнформации",Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты);
СписокПользователей= ОбслуживаниеОборудования.ПолучитьСписокПользователейСлужбаКонтроляКачества();
Запрос.УстановитьПараметр("СписокПользователей",СписокПользователей);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Количество() = 0 тогда
Возврат;
КонецЕсли;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Адрес = ВыборкаДетальныеЗаписи.Представление;
Если не Сокрлп(Адрес) = "" тогда
Письмо.Получатели.Добавить(Адрес);
КонецЕсли;
КонецЦикла;
Подскажите, пожалуйста, как узнать, кому именно отправляется письмо, всем пользователям из списка СписокПользователей или на последний адрес из цикла. Прописывал Сообщить ("Письмо отправлено успешно."+Адрес); и в сообщения выводится именно текст с последним адресом электронной почты из цикла.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КонтактнаяИнформация.Представление
|ИЗ
| РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|ГДЕ
| КонтактнаяИнформация.Тип = &ВидКонтактнойИнформации
| И КонтактнаяИнформация.Объект В ИЕРАРХИИ(&СписокПользователей)";
Запрос.УстановитьПараметр("ВидКонтактнойИнформации",Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты);
СписокПользователей= ОбслуживаниеОборудования.ПолучитьСписокПользователейСлужбаКонтроляКачества();
Запрос.УстановитьПараметр("СписокПользователей",СписокПользователей);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Количество() = 0 тогда
Возврат;
КонецЕсли;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Адрес = ВыборкаДетальныеЗаписи.Представление;
Если не Сокрлп(Адрес) = "" тогда
Письмо.Получатели.Добавить(Адрес);
КонецЕсли;
КонецЦикла;
Подскажите, пожалуйста, как узнать, кому именно отправляется письмо, всем пользователям из списка СписокПользователей или на последний адрес из цикла. Прописывал Сообщить ("Письмо отправлено успешно."+Адрес); и в сообщения выводится именно текст с последним адресом электронной почты из цикла.
По теме из базы знаний
Найденные решения
(4)
тут вот какая загвоздка... рассылка идет сразу всем адресатам почты...
конкретно кому отправлено отследить проблематично, потому что письмо отправляется не циклом
хотя...
можете написать циклом )))
не знаю насколько это будет корректно )))
тут вот какая загвоздка... рассылка идет сразу всем адресатам почты...
конкретно кому отправлено отследить проблематично, потому что письмо отправляется не циклом
хотя...
можете написать циклом )))
СписокАдресов = новый массив;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Адрес = ВыборкаДетальныеЗаписи.Представление;
Если не Сокрлп(Адрес) = "" тогда
СписокАдресов.Добавить(адрес);
КонецЕсли;
КонецЦикла;
пока СписокАдресов .Следующий() цикл
Письмо.Получатели.Добавить(СписокАдресов);
Подключение.Подключиться(ПараметрыПочты);
Подключение.Послать(Письмо);
сообщить("вот конкретно ему "+СписокАдресов+" письмо отправлено");
конецЦикла;
Показатьне знаю насколько это будет корректно )))
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Здравствуйте.
если добавить сообщить() перед
Письмо.Получатели.Добавить(Адрес);
то вы узнаете список адресантов
но кому отправлено или нет это уже в другом куске кода
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Адрес = ВыборкаДетальныеЗаписи.Представление;
Если не Сокрлп(Адрес) = "" тогда
Письмо.Получатели.Добавить(Адрес);
КонецЕсли;
КонецЦикла;
ПоказатьАдрес = ВыборкаДетальныеЗаписи.Представление;
Если не Сокрлп(Адрес) = "" тогда
Письмо.Получатели.Добавить(Адрес);
КонецЕсли;
КонецЦикла;
Здравствуйте.
если добавить сообщить() перед
Письмо.Получатели.Добавить(Адрес);
то вы узнаете список адресантов
но кому отправлено или нет это уже в другом куске кода
(2) Подключение.Подключиться(ПараметрыПочты);
Подключение.Послать(Письмо);
Сообщить ("Письмо отправлено успешно."+Адрес);
Вот кусок кода, где отправляется письмо.
Переписывал вот так
Сообщить ("Письмо отправлено успешно."+Адрес);
Подключение.Подключиться(ПараметрыПочты);
Подключение.Послать(Письмо);
Сообщение выводится так же, текст и последний адрес. А по факту отправляется списку людей, я зашел на почту, и посмотрел, письмо отправляется мне и копия еще нескольким людям, как раз которые в списке СписокПользователей. Где это отследить , в самом цикле конструкцию Сообщить прописать?
Подключение.Послать(Письмо);
Сообщить ("Письмо отправлено успешно."+Адрес);
Вот кусок кода, где отправляется письмо.
Переписывал вот так
Сообщить ("Письмо отправлено успешно."+Адрес);
Подключение.Подключиться(ПараметрыПочты);
Подключение.Послать(Письмо);
Сообщение выводится так же, текст и последний адрес. А по факту отправляется списку людей, я зашел на почту, и посмотрел, письмо отправляется мне и копия еще нескольким людям, как раз которые в списке СписокПользователей. Где это отследить , в самом цикле конструкцию Сообщить прописать?
(4)
тут вот какая загвоздка... рассылка идет сразу всем адресатам почты...
конкретно кому отправлено отследить проблематично, потому что письмо отправляется не циклом
хотя...
можете написать циклом )))
не знаю насколько это будет корректно )))
тут вот какая загвоздка... рассылка идет сразу всем адресатам почты...
конкретно кому отправлено отследить проблематично, потому что письмо отправляется не циклом
хотя...
можете написать циклом )))
СписокАдресов = новый массив;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Адрес = ВыборкаДетальныеЗаписи.Представление;
Если не Сокрлп(Адрес) = "" тогда
СписокАдресов.Добавить(адрес);
КонецЕсли;
КонецЦикла;
пока СписокАдресов .Следующий() цикл
Письмо.Получатели.Добавить(СписокАдресов);
Подключение.Подключиться(ПараметрыПочты);
Подключение.Послать(Письмо);
сообщить("вот конкретно ему "+СписокАдресов+" письмо отправлено");
конецЦикла;
Показатьне знаю насколько это будет корректно )))
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот