Как отправить ошибки из журнала регистрации на почту?

28.04.21

База данных - Журнал регистрации

Процедуры отправки ошибок из журнала регистрации на почту. Журнал регистрации выгружается в файл Excel, далее прикрепляется к письму. Для отправки писем создано регламентное задание.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Отчет по журналу регистрации (обычное приложение)
.erf 12,77Kb
3 3 000 руб. Купить
Отчет по журналу регистрации (управляемое приложение)
.erf 13,41Kb
4 3 000 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Для отправки писем необходимо добавить регламентное задание:

Далее необходимо настроить расписание регламентного задания (в моем случае задание выполняется раз в сутки, в 23.50).

Далее нужно указать для регламентного задания процедуру ОтправитьОшибкиИзЖурналаРегистрацииНаПочту(). Процедура должна находиться в общем модуле.

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

        Построитель.ИсточникДанных          = Новый ОписаниеИсточникаДанных(ВнешниеДанные);
        Построитель.ВыводитьЗаголовокОтчета = Ложь;
        Построитель.Вывести(ТабДок );

        ИмяФайла = ПолучитьИмяВременногоФайла("xls");
    
        ТабДок.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.XLS97);
	                     	
	ОтправитьОповещениеОтветственномуЛицу("Ошибки во вложенном файле","Ошибки в журнале регистрации базы "+СтрокаСоединенияИнформационнойБазы(),"it@company.com", ИмяФайла); 		
	
КонецПроцедуры

Функция ОтправитьОповещениеОтветственномуЛицу(ТекстСообщения,ТемаПисьма,email,ПутьКФайлуВложения = "") экспорт   
	
	ИПП = Новый ИнтернетПочтовыйПрофиль;
	ИПП.АдресСервераIMAP	= "mail.company.com"; 
	ИПП.АдресСервераSMTP	= "mail.company.com";
	ИПП.ИспользоватьSSLIMAP	=  Истина;      
	ИПП.ПарольIMAP	        = "Пароль1";
	ИПП.ПарольSMTP	        = "Пароль1";
	ИПП.ПользовательIMAP	= "company\1c";
	ИПП.ПользовательSMTP	= "company\1c";
	ИПП.ПортIMAP	        = 999;  
	ИПП.ПортSMTP	        = 24;
	ИПП.Таймаут	        = 70;  
	
	Попытка
		Сообщение = Новый ИнтернетПочтовоеСообщение;			
		Сообщение.Получатели.Добавить(email);
		Сообщение.Отправитель.Адрес = "1c@company.ru";
		Сообщение.Тема = ТемаПисьма; 	 
		Сообщение.Тексты.Добавить(ТекстСообщения);
		
		Если ЗначениеЗаполнено(ПутьКФайлуВложения) Тогда
		  Сообщение.Вложения.Добавить(ПутьКФайлуВложения);
		КонецЕсли;

		Почта = Новый ИнтернетПочта;
		Почта.Подключиться(ИПП);
		Почта.Послать(Сообщение);
		Почта.Отключиться();
	Исключение
		//ДобавитьСообщениеДляЖурналаРегистрации(СобытиеЖурналаРегистрации(), "Ошибка", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()),,Истина); 
	КонецПопытки;
	
КонецФункции

Доработка проверялась на конфигурации "Управление производственным предприятием, редакция 1.3 (1.3.49.1)".

К статье приложены 2 обработки по работе с журналом регистрации:

Отчет по журналу регистрации (обычное приложение)

Отчет по журналу регистрации (управляемое приложение)

 

Вступайте в нашу телеграмм-группу Инфостарт

Журнал регистрации Excel почта почтовый профиль