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

10.11.22

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

Обработка для отправки списка вчерашних ошибок из журнала регистрации на электронную почту. Подключается как внешняя обработка с запуском по расписанию. Для работы требует БСП. Тестировалось на платформе 8.3.21.1607 и конфигурации Бухгалтерия предприятия КОРП 3.0.122.97.

Скачать файлы

Наименование Файл Версия Размер
Отправка ошибок из журнала регистрации на почту (дополнительная обработка):
.7z 7,11Kb
9
.7z 7,11Kb 9 Скачать

Код обработки на GitHub (лицензия GPL): https://github.com/q-i/1c_erf_and_epf/tree/main/Обработки/ОтправкаОшибокЖРНаПочту

Это простая обработка для мониторинга журнала регистрации. Выгребает из ЖР ошибки за вчерашний день и отправляет их список на указанные в настройках адреса электронной почты в виде HTML-письма, которое содержит таблицу с колонками "Событие", "Комментарий" и "Колво" (т.е. количество ошибок, у которых одинаковые значения полей "Событие" и "Комментарий").

Подключается как внешняя обработка (Администрирование / Печатные формы, отчеты и обработки / Дополнительные отчеты и обработки):

 

 

Для команды "Отправка ошибок ЖР на почту" нужно настроить расписание. Отправка каждый день ранним утром.

Список получателей задаётся в настройках обработки. Чтобы открыть форму настроек, нужно выделить команду "Форма настройки и запуска вручную" и нажать кнопку "Выполнить":

 

 

В открывшейся форме на вкладке "Настройка" нужно указать адреса эл.почты получателей и нажать кнопку "Записать настройки":

 

 

Если не указать ни одного получателя, то при запуске обработки будет вызываться исключение (о чём будет сформирована соответствующая запись в журнала регистрации).

Собственно и всё.

См. также

"Акты сверки +" Групповая подготовка и рассылка актов сверки для Бухгалтерии 3.0.

Взаиморасчеты Email рассылки Акт сверки Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Внешняя обработка для Бухгалтерии 3.0 - позволяет автоматически формировать документы «Акт сверки расчетов» с контрагентами за выбранный период с последующей фоновой отправкой на почту контрагента.

3000 руб.

25.11.2020    22069    162    4    

148

Автоматическая рассылка отчетов из 1С: Управление торговлей 10.3 и 1С:УПП по электронной почте

Email рассылки Оптовая торговля Платформа 1С v8.3 1С:Управление торговлей 10 1С:Управление производственным предприятием Управленческий учет Платные (руб)

Многим сотрудникам предприятия требуется актуальная и достоверная информация для принятия верных управленческих решений. Получить данную информацию можно при помощи отчетов, существующих в конфигурации «1С: Управление торговлей 10.3» или «1С:УПП». Но не всегда у пользователей есть время, возможность и/или желание формировать отчеты непосредственно в системе. Намного привычней и удобней получать готовые отчеты на электронную почту, не открывая 1С.

12000 руб.

16.04.2014    84238    100    91    

94

Email, SMS, Telegram рассылки из 1С - Директ Маркетинг

Управление взаимоотношениями с клиентами (CRM) Мессенджеры и боты SMS рассылки Email рассылки Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Полный набор инструментов для качественных транзакционных и маркетинговых Email, SMS, Telegram рассылок из 1С. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.

7788 руб.

07.04.2014    83616    40    191    

127

Журнал изменений с восстановлением состояния ссылочных объектов и архивацией по HTTP / COM (расширение + конфигурация, 8.3.14+, ЛЮБАЯ конфигурация)

Архивирование (backup) Журнал регистрации Поиск данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

База данных «сама» меняет данные в документах/справочниках? Тогда данный журнал изменений для Вас! Практически не влияет на скорость записи объектов за счет быстрого алгоритма! Скорость работы почти в 2 раза выше типового механизма "История изменений"! Позволяет следить за изменениями и удалением в любых ссылочных объектах конфигурации, с возможностью архивации по HTTP(!) или COM, и сверткой данных. А так же, может восстановить состояние реквизитов (значения) до момента изменения или удаления объекта из базы. Есть ДЕМО-база где можно самостоятельно протестировать часть функционала! Работает на любых платформах выше 8.3.14+ и любых конфигурациях! Версия 3.1 от 24.08.2023!

19200 руб.

15.05.2017    42515    10    24    

38

Версионирование объектов для Альфа-авто, ред 4 и 5.

Оптовая торговля Розничная торговля Журнал регистрации Платформа 1С v8.3 Конфигурации 1cv8 Автомобили, автосервисы Управленческий учет Платные (руб)

Подсистема версионирования объектов для конфигураций Рарус: Альфа-авто на базе типовой подсистемы от 1С. Позволяет хранить историю изменений документов и справочников, кто, что, когда и какие данные изменял, а так же вернуться к предыдущим версиям объекта.

4800 руб.

03.09.2016    42252    33    24    

37

Групповое создание актов сверок

Взаиморасчеты Email рассылки Акт сверки Платформа 1С v8.3 Бухгалтерский учет 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Обработки предназначены для массового создания актов сверки и отправки их по электронной почте для конфигураций Управление торговлей 10.3. и Бухгалтерия предприятия 3.0. Для Бухгалтерии 3.0 Разработка велась на 1С:Предприятие 8.3 (8.3.15.1830). проверялась на Бухгалтерия предприятия 3.0 (3.0.71.83) и 3.0.76.77 Для Управление торговлей 10.3 Разработка велась на 1С:Предприятие 8.3 релиз конфигурации (10.3.61.2) . РАБОТАЕТ НА БАЗОВЫХ и ПРОФ. ВЕРСИЯХ.

2000 руб.

24.04.2020    30337    117    66    

98
Отзывы
1. RocKeR_13 1317 10.11.22 17:25 Сейчас в теме
Для конфигураций на основе БСП с поддержкой рассылки отчетов (например, УТ/КА/ERP):

1) НСИ и администрирование -> Печатные формы отчеты и обработки -> Рассылки отчетов
2) Добавляем новую рассылку
3) На вкладке "Отчеты" жмем "Подобрать"
4) По вкусу выбираем отчет "Анализ журнала регистрации", "Контроль журнала регистрации" (можно их модифицировать и указать свой вариант отчета) или свой внешний отчет по ЖР
5) Настраиваем отборы
6) Указываем расписание и получателей

Бонус: можно ошибки отправлять не только на почту, но и выгружать в общую папку
Trucker; aleksey2; ixijixi; titanium2008; q_i; +5 Ответить
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. RocKeR_13 1317 10.11.22 17:25 Сейчас в теме
Для конфигураций на основе БСП с поддержкой рассылки отчетов (например, УТ/КА/ERP):

1) НСИ и администрирование -> Печатные формы отчеты и обработки -> Рассылки отчетов
2) Добавляем новую рассылку
3) На вкладке "Отчеты" жмем "Подобрать"
4) По вкусу выбираем отчет "Анализ журнала регистрации", "Контроль журнала регистрации" (можно их модифицировать и указать свой вариант отчета) или свой внешний отчет по ЖР
5) Настраиваем отборы
6) Указываем расписание и получателей

Бонус: можно ошибки отправлять не только на почту, но и выгружать в общую папку
Trucker; aleksey2; ixijixi; titanium2008; q_i; +5 Ответить
2. maksa2005 530 29.11.22 06:31 Сейчас в теме
Почта - это уже не современно. Вот выгрузка в телеграмм)
Прикрепленные файлы:
3. q_i 577 07.12.22 12:08 Сейчас в теме
(2) Не вижу препятствий, для тех, кому это действительно нужно ))
Тем более, что вопрос решается тривиальной отправкой POST-запроса.
Вот, например:

Функция Телеграм_ОтправитьКоманду(ИмяКоманды, ПараметрыКоманды, Таймаут = 60) Экспорт

	Результат = Новый Структура("Успех, ОтветТГ, ТекстОшибки", Ложь, Неопределено, "Неизвестная ошибка");
	
	Сервер = "api.telegram.org";
	Порт = 443;
	Токен = "<токен-телеграм-бота>"; // ОбщегоНазначенияПовтИсп.ПолучитьТокен();
	Адрес = "/bot" + Токен + "/" + ИмяКоманды;
	
	HTTPСоединение = Новый HTTPСоединение(Сервер, Порт,,,, Таймаут, Новый ЗащищенноеСоединениеOpenSSL);
	
	HTTPЗапрос = Новый HTTPЗапрос(Адрес);
	HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json");
	
	ЗаписьJSON = Новый ЗаписьJSON;
	ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет);
	ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписиJSON);
	ЗаписьJSON.ЗаписатьНачалоОбъекта();
	Для Каждого КлючИЗначение Из ПараметрыКоманды Цикл
		ЗаписьJSON.ЗаписатьИмяСвойства(КлючИЗначение.Ключ);
		ЗаписьJSON.ЗаписатьЗначение(КлючИЗначение.Значение);
	КонецЦикла;
	ЗаписьJSON.ЗаписатьКонецОбъекта();
	ПараметрыЗапроса = ЗаписьJSON.Закрыть();
	
	HTTPЗапрос.УстановитьТелоИзСтроки(ПараметрыЗапроса);

	//ДобавитьВЛог(СтрШаблон("Запрос (ТГ): %1;
	//					|Параметры:
	//					|%2", Адрес, ПараметрыЗапроса));
	
	HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);

	ПараметрыОтвета = HTTPОтвет.ПолучитьТелоКакСтроку();
	КодСостояния = HTTPОтвет.КодСостояния;
	
	//ДобавитьВЛог(СтрШаблон("Ответ (ТГ): %1;
	//					|Параметры:
	//					|%2", HTTPОтвет.КодСостояния, ПараметрыОтвета));
	
	Если КодСостояния <> 200 Тогда
		Результат.ТекстОшибки = СтрШаблон("Ошибка отправки команды '%1'. Сервер вернул код состояния %2.", ИмяКоманды, КодСостояния);
		Возврат Результат;
	КонецЕсли;
	
	ЧтениеJSON = Новый ЧтениеJSON;
	ЧтениеJSON.УстановитьСтроку(ПараметрыОтвета);
	ОтветТГ = ПрочитатьJSON(ЧтениеJSON);
	ЧтениеJSON.Закрыть();

	Если НЕ ОтветТГ.Ok Тогда
		Результат.ТекстОшибки = СтрШаблон("Ошибка выполнения команды '%1'. Причина: %2.", ИмяКоманды, ОтветТГ.description);
		Возврат Результат;
	КонецЕсли;

	Результат.Успех = Истина;
	Результат.ОтветТГ = ОтветТГ;
	Результат.ТекстОшибки = "";
	
	Возврат Результат;
	
КонецФункции

Функция Телеграм_ОтправитьСообщение(ИдЧата, ТекстСообщения) Экспорт 

	Результат = Неопределено;
	
	ИмяКоманды = "sendMessage";
	ПараметрыКоманды = Новый Структура;
	ПараметрыКоманды.Вставить("chat_id", ИдЧата);
	ПараметрыКоманды.Вставить("text", ТекстСообщения);

	РезультатОтправки = Телеграм_ОтправитьКоманду(ИмяКоманды, ПараметрыКоманды);
	Если НЕ РезультатОтправки.Успех Тогда
		//ДобавитьВЛог(РезультатОтправки.ТекстОшибки);
		Возврат Неопределено;
	КонецЕсли;

	ОтветТГ = РезультатОтправки.ОтветТГ;
	
	Результат = ОтветТГ.result.message_id;
	
	Возврат Результат;
	
КонецФункции

Процедура ОтправитьВТелеграм()
	
	ТекстСообщения = "Я к вам пишу — чего же боле?
					|Что я могу еще сказать?";
	
	Телеграм_ОтправитьСообщение(<идентификатор-чата>, ТекстСообщения);
	
КонецПроцедуры
Показать
1c_help_aoeks; +1 Ответить
4. maksa2005 530 07.12.22 12:11 Сейчас в теме
(3)Какой длинный код. 2 часа на него ушло?
	СоединениеHTTP = Новый HTTPСоединение("api.telegram.org",443,,,,,Новый ЗащищенноеСоединениеOpenSSL());

	АдресЗапроса = "bot" 
                + МойToken 
                + "/sendMessage"
                + "?chat_id=" 
                + ЧатID
                + "&text=" 
                + НовыйТекстСообщения
				+ "&parse_mode=HTML"
				+"&disable_web_page_preview=false";
	ЗапросHTTP = Новый HTTPЗапрос(АдресЗапроса);

	Попытка
		ОтветHTTP 	= СоединениеHTTP.Получить(ЗапросHTTP); 
		Ответ		= jsonПрочитатьПлатформой(ОтветHTTP.ПолучитьТелоКакСтроку());
	Исключение
		Возврат;
	КонецПопытки;
Показать

и все)
5. q_i 577 07.12.22 12:30 Сейчас в теме
(4) Мой код я выдрал из моей более обширной конфигурации, в которой помимо отправки есть ещё получение+обработка сообщений. Соответственно, оттуда и прилетела хоть и многословная, но достаточно универсальная функция Телеграм_ОтправитьКоманду().
Впрочем, каждый волен отправлять запросы на api.telegram.org тем кодом, который ему больше нравится. )))
Кстати, в Вашем листинге нет функции jsonПрочитатьПлатформой(). И, конечно, интересно посмотреть на результат работы Вашего кода, если в переменной НовыйТекстСообщения встретится символ амперсанда "&" ;)
6. maksa2005 530 07.12.22 12:31 Сейчас в теме
(5)за 2 года не встречал &. у меня 6 ботов и куча оповещалок телеговских.
может вам все модули еще закинуть сюда?)))
7. q_i 577 07.12.22 12:53 Сейчас в теме
(6) Нет, мне не надо, спасибо! У меня у самого модулей хватает. ))
Просто я в своём "длинном 2-часовом" коде привёл вполне работоспособный прототип (нужно лишь заполнить <токен-телеграм-бота> и <идентификатор-чата> и вызывать ОтправитьВТелеграм()), а Вы в своём "лаконичном 5-минутном" привели лишь часть кода. А вдруг это лишь верхушка айсберга, а под водой скрыт ещё более длинный "3-часовой" код? Тогда я выиграл! ))
Насчёт "&" - искренне желаю Вам, чтобы этот символ и дальше не появлялся в отправляемых Вами сообщениях (как и некоторые другие, которые потенциально могут поломать параметры GET-запроса). Хотя по мне, так стоит припользовать хотя бы что-то вроде URLEncode, а ещё лучше POST вместо GET, но это вкусовщина, разумеется. В любом случае Вам удачи!
1c_help_aoeks; ixijixi; +2 Ответить
8. aleksey2 86 04.11.23 12:28 Сейчас в теме
Со всех баз отправляет или только с одной ?
9. q_i 577 07.11.23 00:04 Сейчас в теме
(8) Из одной. Для конфигураций с БСП лучше использовать рассылку отчётов, как посоветовали в (1)
Оставьте свое сообщение