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

10.11.22

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

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

Скачать файл

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

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

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

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

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

 

 

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

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

 

 

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

 

 

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

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

См. также

SALE! 50%

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

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

4800 2400 руб.

07.04.2014    86737    55    199    

140

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

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

3000 руб.

25.11.2020    25806    275    9    

237

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

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

4920 руб.

30.06.2022    12101    82    102    

43

Журнал регистрации Системный администратор Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Россия Платные (руб)

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

22800 руб.

22.02.2018    36128    60    54    

57

Журнал регистрации Системный администратор Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

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

6000 руб.

28.11.2018    21534    19    7    

44

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

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

12000 руб.

16.04.2014    86163    101    91    

96

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

Данная обработка позволяет сократить объем ручных операций, выполняемых ежемесячно бухгалтером или его помощником за счет автоматизации систематического процесса.

7800 руб.

12.02.2019    34179    27    24    

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

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

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

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

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