Моя ошибка при рассылке писем
Сделал галочку, чтобы тестовая рассылка уходила только внутренним получателям:
//Если внутренним, внешним не рассылаем... ОбработанныеПолучателиПисемВнутренние = ОбработатьСтрокуПочтовыхАдресов(ПолучателиПисемВнутренние); Если ТолькоВнутреннимПолучателям Тогда ПолучателиСтрокой = ОбработанныеПолучателиПисемВнутренние; Иначе ПолучателиСтрокой = ОбработатьСтрокуПочтовыхАдресов(ПолучателиПисем); КонецЕсли;
Но она все равно уходила рабочим клиентам из ПолучателиПисем. Хорошо хоть, ушла правильно, только получатели получили по два письма.
Долго смотрел на код и не мог понять, в чем проблема. Пока случайно не нашел ошибку чуть дальше по коду:
МассивПолучателей = ПолучитьПолучателейИзСтроки(ПолучателиСтрокой); Функция ПолучитьПолучателейИзСтроки(Знач ПолучателиСтрокой) Экспорт ПолучателиСтрокой = ОбработатьСтрокуПочтовыхАдресов(ПолучателиПисем); МассивПолучателей = СтрРазделить(ПолучателиСтрокой, ",", ложь); Результат = Новый Массив(); Для Каждого ТекПолучатель Из МассивПолучателей Цикл ТекПолучатель = СокрЛП(ТекПолучатель); Если ТекПолучатель = "" Тогда Продолжить; КонецЕсли; Результат.Добавить(ТекПолучатель); КонецЦикла; Возврат Результат; КонецФункции
Внутри функции случайно использовалась переменная формы ПолучателиПисем (глобальная по сути) вместо переданной переменной ПолучателиСтрокой. И раньше это было не заметно, а сейчас «выстрелило». Так что надо более внимательно относиться к префиксам и именам глобальных переменных.
Свежие комментарии