Отправка сообщений через электронную почту из 1С

03.06.15

Интеграция - Email рассылки

По просьбам коллег по цеху выкладываю давно работающий механизм отправки сообщений через электронную почту из 1С.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Конфигурация для объединения
.cf 33,30Kb ver:1.0
94
94 Скачать (1 SM) Купить за 1 850 руб.

Внутри файлик с конфой. Ставится сбоку. Но для нормальной работы потребуется наличие справочников из типовых конфигураций (Пользователи, Физические лица, Виды контактной информации и т.п.). Проверено работает на КА и УПП. Но в принципе ничто не мешает использоваться процедуры и в других конфигурациях. Только надо будет позаботиться о совместимости.

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

Код формирования письма будет выглядеть примерно так:

Запрос = Новый Запрос;
Запрос.Текст=
"ВЫБРАТЬ
|    ПриходныйОрдерНаТоварыТовары.Номенклатура,
|    ПриходныйОрдерНаТоварыТовары.Количество,
|    ПриходныйОрдерНаТоварыТовары.ЕдиницаИзмерения
|ИЗ
|    Документ.ПриходныйОрдерНаТовары.Товары КАК ПриходныйОрдерНаТоварыТовары
|ГДЕ
|    И ПриходныйОрдерНаТоварыТовары.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка",ЭтотОбъект.Ссылка);

Результат=Запрос.Выполнить().Выбрать();
Если Результат.Количество() > 0 тогда
    
    АдресОтправителя =Константы.АдресОтправителя.Получить();
    ИмяОтправителя        = ?(ПолноеИмяПользователя()<>"", ПолноеИмяПользователя(),ИмяПользователя());
    
    Заголовок   = "Приход сырья на склад: "+Склад+" № "+номер+" от "+Дата+ "Поставщик:"+Контрагент;
    ТекстПисьма="";
    Пока Результат.Следующий() Цикл
        ТекстПисьма = ТекстПисьма + "<p>"+Результат.номенклатура.код+ " " + Результат.номенклатура + " " + Результат.количество + Результат.ЕдиницаИзмерения+"";
    КонецЦикла;
    
    ТипСообщенияПолученоСырье=Справочники.ТипыСообщенийПоЭлПочте.НайтиПоНаименованию("ПолученоСырье");
    Если не ТипСообщенияПолученоСырье.Пустая() Тогда
        ОтправкаЭлектронныхСообщений.ПослатьПисьмоHTMLСписку(
        ТипСообщенияПолученоСырье,            
        Заголовок, ТекстПисьма,АдресОтправителя,ИмяОтправителя);
    Иначе
        Сообщить("В справочнике ТипыСообщений нет элемента с наименованием:+ПолученоСырье");
    КонецЕсли;
КонецЕсли;

После исполнения этого кода письмо попадает в очередь, которая представляет собой регистр сведений. Затем регламентное задание отправляет письма с заданным интервалом и в случае успешного отправления удаляет их из очереди.

Есть поддержка отправки писем с вложениями. Для этого предназначен соответствующий реквизит с типом ХранилищеЗначения. В качестве вложения можно использовать отчеты сформированные в xls, да и вообще все, что угодно.

Параметры работы с почтовым сервером задаются через константы. Отдельно админку делать не стал, т.к. привык пользоваться редактом из пакета "Инструменты разработчика".


В составе конфигурации есть справочник Типы сообщений по электронной почте. Он предназначен для создания списков рассылок. Рекомендую использовать только предопределенные элементы. Также в нем можно назначить ответственного за ведение списка рассылки.

В нашей организации это работает уже 4 года и решает много проблем. Однако рекомендую не создавать слишком много рассылок для отдельных пользователей. Как показывает практика, если человеку приходит слишком много писем, он просто перестает их читать.

См. также

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

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

3000 руб.

25.11.2020    24517    238    8    

205

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    11051    72    98    

34

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

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

7080 руб.

11.05.2021    9488    6    1    

6

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

Обработка для конфигурации Управление торговлей 10.3 (КА 1.1, УПП 1.3), которая автоматически формирует акты сверок взаиморасчетов, позволяет их скопом распечатать и разослать по электронной почте контрагентам.

2160 руб.

08.02.2018    31492    47    0    

54
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. karpik666 3856 10.02.15 18:13 Сейчас в теме
Как минимум конфигурации УТ:CRM, Комплексная автоматизация имеют такой встроенный механизм, даже есть специальный документ Электронное письмо, готов поспорить, что такое имеет и бухгалтерия. Чем же ваша надстройка так существенно отличается?
2. burlakov 83 10.02.15 19:40 Сейчас в теме
(1) karpik666, да хотя бы тем, что работает надежнее и не засирает базу в отличие от типовых решений. в типовых нет списков рассылок с ответственными за их ведение. ну по крайней мере раньше не было.
3. realandrei 10.02.15 23:44 Сейчас в теме
(2), так ли нет? в той же УПП давно уже (если не сначала времен, не помню что было в 1.2) есть справочник группы почтовой рассылки, где состав групп можно выбирать из контактных лиц, контрагентов, личных контактов, организаций, пользователей и физических лиц, так же есть ответственный за список и в каких учетных записях эл.почты может использоваться.
разделение на учетные записи весьма полезно, чтобы получателям письма приходили от разных ящиков.
4. GreenDragon 10.03.15 16:06 Сейчас в теме
То, как реализовал в нашей переписаной УТ:
1. Добавлен регистр сведений, в который вносятся клиенты, которым необходимо отправлять документы и типы печатных форм этих самых документов.
2. Добавлена подписка на событие "При проведении" в которой проверяется очередь отправленных писем, чтобы избежать дублирования отправки при повторном проведении, наличие электронного адреса получателя в карточке клиента и вызовы процедур формирования необходимых печатных форм с помещением их на общий сетевой ресурс или в хранилище.
3. Регистр "Почта по сделкам", в котором содержатся получатель, путь к печатной форме, электронный адрес получателя и статус сообщения (использую два: Исходящее и Отправлено)
4. Регламентное задание, собирающее данные из регистра "Почта по сделкам" со статусом "Исходящее" и отправляющее письмо непосредственно из 1С.

P.S. Если стоит Exchange сервер, то можно возложить отправку писем на него, напрямую подсовывая ему данные в SQL. Данный механизм крутить не стал ввиду отсутствия этого самого Exchange

5. FarFar 47 02.06.15 17:38 Сейчас в теме
Скачал свежую КА. Объединил на нее Вашу конфигурацию.
Пробую открыть регистр сведений "Очередь электронных сообщений", пишет:
6. FarFar 47 02.06.15 17:38 Сейчас в теме
Ошибка инициализации модуля: РегистрСведений.ОчередьЭлектронныхСообщений.Форма.ФормаСписка.Форма
по причине:
{РегистрСведений.ОчередьЭлектронныхСообщений.Форма.ФормаСписка.Форма(5,2)}: Переменная не определена (ПолитикаБезопасности)
<<?>>ПолитикаБезопасности.ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка);
7. burlakov 83 05.06.15 13:53 Сейчас в теме
8. altset 13.10.22 14:00 Сейчас в теме
Добрый день. В Упп если использовать отчеты из доп. внешних отчетов будут рассылаться?
(7)
9. burlakov 83 13.10.22 17:33 Сейчас в теме
(8) на самом деле источник данных не важен. главное чтоб было что рассылать. результат из Вашего отчета сложите в файл, прикрепите и отправляйте.
10. altset 13.10.22 21:52 Сейчас в теме
(9)как то не тут, можно приобрести?
11. burlakov 83 14.10.22 08:59 Сейчас в теме
(10) а в чем проблема приобрести тут? иначе - нарушение принципов сообщества будет
12. altset 14.10.22 09:06 Сейчас в теме
(11) проблемы нету, есть вопросы.
как у вас это реализовано? Пример что нужно мне это справочник с рассылками в котором будет указан какой отчет рассылать с какими параметрами его формировать и кому по списку его рассылать по планировщику. Отчеты будут переписываться на СКД.
13. burlakov 83 14.10.22 12:49 Сейчас в теме
(12) делаете рассылку в справочнике. в ней указываете список получателей. затем программно формируете отчет и выводите его в таб док. таб док сохраняете в файл. затем программно вызываете отправку рассылки с присоединенным файлом. все это попадает в регистре сведений - очередь на отправку. ну а потом регл. задание отправит через почтовый сервер. настройки сервера предварительно надо задать в константах.
Оставьте свое сообщение