IE 2018

1. n_spb 08.08.18 09:45 Сейчас в теме

Рассылка расчетных листков

ЗУП 3.1.6. Настроил рассылку расчетных листков по статье https://its.1c.ru/db/staff1c#content:34827:zup30. Возникла необходимость сделать отправку отчетов частями и с интервалом во времени т.к. при отправке всех сразу отчетов возникают проблемы с почтовым сервером. Подскажите, как это сделать? Насколько понимаю типовыми средствами это не сделать только программно?
Ответы
Избранное Подписка Сортировка: Древо
3. Stref75 08.08.18 09:55 Сейчас в теме
(1) у меня к вам встречный вопрос - вы на какие адреса отправляете на корпоративные или на личные? У нас никак не могут определиться какие адреса безопасно использовать (с точки зрения конфиденциальности данных). Если корпоративные - то получается что на корпоративном почтовом сервере будут лежать данные по зарплате. Если личные - то то тут вроде как сохранность данных на совести каждого физлица указавшего свою почту.
4. n_spb 08.08.18 10:06 Сейчас в теме
(3) Примерно половина адресов личных, половина адресов рабочих.
2. Stref75 08.08.18 09:51 Сейчас в теме
разбить на несколько рассылок, каждая из которых содержит определенное кол-во получателей (например по подразделениям) и настроить расписание с интервалом отправки
5. n_spb 08.08.18 10:06 Сейчас в теме
(2) Разбивать пробовал все равно не все письма приходят.
6. Stref75 08.08.18 11:02 Сейчас в теме
(5) ну значит сисадмина теребить, чтобы снял лимит на отправку
7. n_spb 08.08.18 11:20 Сейчас в теме
(6) Не вариант к сожалению. Необходимо в 1с программно реализовать отправку писем с интервалом. Как это сделать?
8. Stref75 08.08.18 11:28 Сейчас в теме
взять типовой механизм и вставить в него какую-то эмуляцию задержки, цикл с проверкой системного времени например
9. n_spb 08.08.18 11:51 Сейчас в теме
(8) Куда именно вставить задержку?
10. Stref75 08.08.18 13:37 Сейчас в теме
есть общий модуль РассылкаОтчетов. В нем есть функция ВыполнитьРассылку. В этой функции есть такой код

// Доставка.
		Попытка
			ОтправитьОтчетыПолучателю(
				ВложенияПолучателя,
				ПараметрыДоставки,
				СтрокаПолучатель);
			РассылкаВыполнена = Истина;
			ПараметрыДоставки.ВыполненаПоЭлектроннойПочте = Истина;
		Исключение
			ЗаписьЖурнала(ПараметрыЖурнала, ,
				НСтр("ru = 'Не удалось отправить отчеты получателю %1:'"), ИнформацияОбОшибке(), 
				"'"+ Строка(СтрокаПолучатель.Ключ) +"'");
		КонецПопытки;
Показать


вот я бы перед этим куском вставил код
ВремяОкончания = ТекущаяДата() + 10;  // 10 - это количество секунд задержки
	Пока ТекущаяДата() <= ВремяОкончания Цикл	
	КонецЦикла;
11. Stref75 08.08.18 13:38 Сейчас в теме
но по идее и с разбивкой по получателям и разнесением заданий по времени должно прекрасно работать
12. n_spb 10.08.18 17:32 Сейчас в теме
(11) Стало гораздо лучше работать. Из 200 писем теперь не доходят два. Как найти причину почему не доходят эти два письма в 1с?
13. Stref75 13.08.18 06:14 Сейчас в теме
смотреть надо, что сервер сообщает, может там просто ошибка в адресе или ещё какая-то другая причина
14. n_spb 13.08.18 19:09 Сейчас в теме
(13) В общем модуле РассылкаОтчетов в функции ВыполнитьРассылку посмотрел отладчиком здесь
Для Каждого СтрокаПолучатель Из ДеревоОтчетов.Строки Цикл 
количество элементов для рассылки. Это количество меньше чем в пользовательском режиме отображается в получателях рассылки. Как раз на эту разницу письма и не приходят, т.е.приходят все письма просто несколько физ. лиц пока ким-то причинам не попадают в
ДеревоОтчетов.Строки
.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

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

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

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

Системный аналитик
Новосибирск
зарплата от 80 000 руб. до 100 000 руб.
Полный день

Программист 1С
Казань
Полный день