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

10.11.22

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Отправка ошибок из журнала регистрации на почту (дополнительная обработка):
.7z 7,11Kb
12
12 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

 

 

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

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

 

 

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

 

 

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

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

См. также

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

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

3000 руб.

25.11.2020    24473    238    8    

205

Журнал регистрации Мониторинг Системный администратор Программист Бизнес-аналитик Руководитель проекта Платформа 1С v8.3 Платные (руб)

В сферу обязанностей при работе с клиентами входит контроль работы баз данных и серверов 1С. Нужно понимать что происходит в базах, есть ли ошибки, зависания у пользователей и фоновых задач, блокировки или какое-то необычное поведение системы, получение информации о причинах возникновения проблем и их оперативное устранение и т.д. В качестве источников информации использую консоль кластеров 1С, технологический журнал 1С, журналы регистрации базы 1С. Для автоматизации части операций мониторинга и анализа создал инструмент на основе 1С.

9000 руб.

28.08.2019    33924    22    21    

74

SALE! 20%

Email рассылки Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Решение для массовой рассылки печатных форм (в том числе и дополнительных) любых документов, и произвольных файлов. Рассылка возможна посредством электронной почты, Telegram и файловой системы. Рассылка пакета документов. Добавление факсимильных печати и подписи. Произвольные шаблоны HTML/Simple text с автозаполнением любыми полями документа. Любые форматы файлов. Упаковка вложений в архив. Транслитерация имен файлов. Разбиение рассылки на произвольные порции. Обход спам-фильтров. Журналирование рассылок.

4920 3936 руб.

30.06.2022    11009    72    98    

34

Журнал регистрации Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Конфигурация LogiCH эффективно решает проблему хранения и анализа записей журналов регистрации. Разработка использует столбцовую СУБД ClickHouse, одну из самых быстрых Big Data OLAP СУБД. Любой анализ журнала можно выполнить в одном отчете, в котором доступны все возможности СКД с учетом ограничений RLS. Количество подключаемых баз не ограничено и не влияет на скорость построения анализа.

5000 руб.

28.11.2018    20729    16    6    

41

Загрузка и выгрузка в Excel Монитор заказов Email рассылки Пользователь Бухгалтерский учет 8.3.14 1С:Бухгалтерия 3.0 Россия Управленческий учет Платные (руб)

Внешняя обработка, осуществляющая автоматическую загрузку новых (непрочитанных) писем, получаемых по электронной почте по расписанию и обрабатывающая вложенные файлы-заказы (в формате EXCEL) по заранее заданному шаблону заказа с различными уведомлениями обработки заказа.

6000 руб.

13.10.2021    10122    3    0    

3

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

Обработка позволяет автоматически сформировать акты сверок на почту контрагентов (почта берется из контактных данных контрагента). При формировании акта сверки формируется подпись с указанием контактов для связи с бухгалтерией нашей организации (формируется исходя из контактов из карточки организации). Присутствует возможность ручного редактирования электронной почты контрагента для отправки. Отправка осуществляется с системной записи электронной почты. В случае, если у контрагента нет адреса электронной почты, эти контрагенты будут выведены в отдельной табличной части. Это очень удобно, так как сразу наглядно виден список контрагентов, которым невозможно отправить акты сверок!

6720 руб.

11.05.2021    9458    6    1    

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

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

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

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

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