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

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    25383    267    8    

230

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

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

4920 руб.

30.06.2022    11623    77    100    

38

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

Создать и отправить 1000 Актов серки контрагентам за 5 мин ?! Легко! Разработано для конфигурации УНФ Массовое создание и рассылка Актов сверки в три клика.

6000 руб.

13.01.2022    11112    9    13    

14

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

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

22800 руб.

22.02.2018    35912    59    54    

57

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

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

7800 руб.

12.02.2019    33570    27    24    

26

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

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

7080 руб.

11.05.2021    9966    7    2    

7

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

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

6000 руб.

28.11.2018    21268    18    7    

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

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

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

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

Бонус: можно ошибки отправлять не только на почту, но и выгружать в общую папку
Trucker; aleksey2; ixijixi; titanium2008; q_i; +5 Ответить
2. maksa2005 556 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 556 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 556 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 89 04.11.23 12:28 Сейчас в теме
Со всех баз отправляет или только с одной ?
9. q_i 584 07.11.23 00:04 Сейчас в теме
(8) Из одной. Для конфигураций с БСП лучше использовать рассылку отчётов, как посоветовали в (1)
Оставьте свое сообщение