Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Подключение механизма шаблонов к рассылке уведомлений. #238

Closed
milanse opened this issue Aug 7, 2020 · 21 comments

Comments

@milanse
Copy link

milanse commented Aug 7, 2020

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

image

Если включить рассылку в формате html можно заодно решить задачу #34

@d-hurricane
Copy link
Contributor

d-hurricane commented Aug 7, 2020

Кто-то же вроде говорил, что у него разработка шаблонов в процессе. Кажется, в телеге такое звучало.

P.S. Семен Павлюков писал, что работает над ними.

@milanse
Copy link
Author

milanse commented Aug 7, 2020

Пока не видно PR на эту тему

@BlizD
Copy link
Owner

BlizD commented Aug 8, 2020

Важно, чтобы если шаблоны не настроены то отправлялось как сейчас.

@7OH
Copy link
Contributor

7OH commented Aug 18, 2020

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

@7OH
Copy link
Contributor

7OH commented Aug 18, 2020

Предложение пока рождается - в регистр словаря добавить поле шаблона, и если там по коду и языку есть шаблон - генерить письмо по шаблону, иначе - как было раньше оставить.
Так нормально будет ? Могу пока выложить, что есть на последнем релизе

@BlizD
Copy link
Owner

BlizD commented Aug 18, 2020

Выложи пока то что есть. Дальше посмотрим

@GenVP
Copy link
Contributor

GenVP commented Aug 18, 2020

Можно сделать так:

  1. Доп параметры в реквизитах шаблона (заполняются в обработчиках БСП):
  • Словарь со словами, которые используются в письмах. Как и сейчас значения слов будут заменяться в письме из словаря.
  • Динамические параметры - номер задачи, тема, список комментариев или что-то еще.
  1. Регистр сведений текущих шаблонов, непериодический. Измерение вид шаблона (заказчик, общий), ресурс шаблон.

Текущий шаблон при отправке получается из РС текущих шаблонов.

Только с письмами HTML проблема, если вдруг в середине параметра форматирование изменится.
Я еще делал другой конфигурации для шаблонов редактирование как текста письма, так и результата в HTML для таких случаев.

@GenVP
Copy link
Contributor

GenVP commented Aug 18, 2020

Типа такого: Пример шаблона Пример параметров

@7OH
Copy link
Contributor

7OH commented Aug 18, 2020

GenVP, судя по скрину со словарём, Вы зашли дальше.
Выложите наработку шаблона ?

@GenVP
Copy link
Contributor

GenVP commented Aug 18, 2020

Пока не доделал HTML ради которого все и делалось. Как доделаю - выложу. Наверное, через 2-3 дня.

@GenVP
Copy link
Contributor

GenVP commented Aug 20, 2020

Два варианта, которые получились. Конфигурации по стандарту не оформлены, так как планировал попробовать поместить через git. Вариант cf 1 Вариант cf 2:

  1. В базе нужно отправлять письма на разных языках разным пользователям/заказчикам. Сам не использую, но вполне рабочий:
  • Язык сообщений может быть задан у пользователя и заказчика в реквизите "Язык сообщений на почту". Если не задан - язык отправителя как и сейчас.
  • Шаблон сообщения определяется по регистру сведений "Текущие шаблоны" (Администрирование - органайзер, рядом с шаблонами) в разрезе "вид шаблона", "язык". Можно задавать шаблон для конкретного языка, можно для всех (если пустой). Вид шаблона - для заказчика и пользователя. Если шаблоны не заданы, то используется типовой вариант подготовки сообщения.
  1. Как и сейчас рассчитано, что все пользователи работают на одном языке:
  • Шаблон сообщения определяется по регистру сведений "Текущие шаблоны" (Администрирование - органайзер, рядом с шаблонами) в разрезе "вид шаблона". Можно задавать шаблон для пользователей и для заказчиков. Если шаблоны не заданы, то используется типовой вариант подготовки сообщения.
  • Для заказчика можно задать свой шаблон в реквизите "Шаблон сообщений"
  1. Общее:
  • Шаблон может быть как в HTML так и в простом тексте. При получении сообщения текст HTML сохраняется в коде как отдельный параметр и не должен помешать другим рассылкам в коде (телеграмм и т.п.).
  • В шаблоне ест доп. поля словаря "# Словарь транслируемых слов". Они транслируются при отправке шаблона в язык сообщения. При редактировании шаблона слова отображаются на текущем языке. Все слова те же, что используются сейчас.
  • В шаблоне есть доп. параметры "# Динамические параметры" - параметры которые сейчас формируются в коде задачи и их нет в реквизитах. Туда же можно добавить свои параметры - веб-ссылку и т.п.

Шаблон пользователя:

Тема:
#[узЗадачи.узНомер_задачи] [узЗадачи.узТема_письма_событие][узЗадачи.Наименование] 
Сообщение:
[узЗадачи.узСловарь_Добрый_день].

[узЗадачи.узТема_письма_событие] [узЗадачи.Наименование]
[узЗадачи.узСловарь_Номер_задачи]: [узЗадачи.узНомер_задачи]

[узЗадачи.узСловарь_Комментарии]:[узЗадачи.узИзменения_по_комментариям]

[узЗадачи.узСловарь_Реквизиты_задачи]:
- [узЗадачи.узСловарь_Исполнитель]: [узЗадачи.Исполнитель]
- [узЗадачи.узСловарь_Статус]: [узЗадачи.Статус]
- [узЗадачи.узСловарь_Важность]: [узЗадачи.Важность]
- [узЗадачи.узСловарь_Основная_задача]: [узЗадачи.ОсновнаяЗадача]

Шаблон заказчика:

Тема:
#[узЗадачи.узНомер_задачи] [узЗадачи.узТема_письма_событие] [узЗадачи.Наименование] 
Сообщение:
[узЗадачи.узСловарь_Добрый_день].

[узЗадачи.узТема_письма_событие]

[узЗадачи.узСловарь_Номер_задачи]: [узЗадачи.узНомер_задачи]
#[узЗадачи.узНомер_задачи] [узЗадачи.узТема_письма_событие] [узЗадачи.Наименование] 

[узЗадачи.узСловарь_Описание_задачи]:
[узЗадачи.ТекстСодержания]

@BlizD
Copy link
Owner

BlizD commented Aug 21, 2020

Спасибо. Скоро залью в основную ветку

@BlizD
Copy link
Owner

BlizD commented Aug 21, 2020

@GenVP Залил изменения только второй вариант.

BlizD added a commit that referenced this issue Aug 21, 2020
…лючена функциональная опция "Использовать шаблоны сообщений"
@BlizD
Copy link
Owner

BlizD commented Aug 21, 2020

@GenVP
Copy link
Contributor

GenVP commented Aug 22, 2020

@BlizD использование картинок шаблонах и вставка в текст шаблона содержания задачи в виде HTML в эту issue добавлять или лучше сделать отдельные issue?

@BlizD
Copy link
Owner

BlizD commented Aug 22, 2020

Как удобно. Можно новую задачу

@79vlad
Copy link

79vlad commented Aug 23, 2020

В прикрепленной к задаче #241 есть рабочий пример использования справочника "Шаблоны сообщений" при формировании рассылки по событиям в справочнике "Обращение". Посмотрите, может что-либо готовое можно позаимствовать

BlizD added a commit that referenced this issue Aug 25, 2020
#238 Подключение механизма шаблонов к рассылке уведомлений
@milanse
Copy link
Author

milanse commented Sep 16, 2020

Для уведомлений о вопросах ответах не работает, нужен отдельный шаблон.

@milanse
Copy link
Author

milanse commented Sep 16, 2020

Если надо могу выложить свой форк, там уведомление контрагента выглядит по-человечески:

image

Правда не цепляются картинки, пока не обрабатывается вариант когда описание задачи в MD.

  • добавлены реквизиты для отображения ссылки на задачу и номера в формате [#НомерЗадачи]

@GenVP
Copy link
Contributor

GenVP commented Sep 16, 2020

Для уведомлений о вопросах ответах не работает, нужен отдельный шаблон.

Получается не только новый шаблон, но и новый параметр(-ры), так как тест и тема по другим данным формируется

@GenVP
Copy link
Contributor

GenVP commented Sep 16, 2020

Если надо могу выложить свой форк, там уведомление контрагента выглядит по-человечески:

image

Правда не цепляются картинки, пока не обрабатывается вариант когда описание задачи в MD.

  • добавлены реквизиты для отображения ссылки на задачу и номера в формате [#НомерЗадачи]

Я за. Как минимум ссылки добавим в шаблоны.

@BlizD BlizD closed this as completed Dec 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants