Создание почтовых сообщений в системе FileMaker с вложенными файлами, сгенерированными в системе

Автор: Александр Клочков

ОПЫТ СОЗДАНИЯ СИСТЕМ для УПРАВЛЕНИЯ ЗАКУПКАМИ.

Вступление.

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

В данной статье описывается как это может быть сделано в FM. Также приложен демо файл EMailCreation.fmp12, в котором можно посмотреть это вживую.

Сначала я опишу – как это работает. Затем дам некоторые пояснения по скрипту.

Открываем демо файл. Попадаем в навигационное меню.

Рис.1 Навигационное меню.

Нажимаем кнопку ЗАЯВКИ и ЗАДАЧИ. Попадаем в раздел Заявки.

Рис.2 Раздел Заявки.

В данном разделе есть две закладки. Первая – в которой будет формироваться простенькая заявка.  Но сначала необходимо произвести некоторые начальные настройки. А именно – сформировать путь к папке, в которая будет формироваться нужная печатная форма в формате PDF, и файл для вложения в почтовое сообщение будет уже автоматически браться из этой папки.

Рис.3 Предварительные настройки пути папок

В данном случае полный путь расположения файла будет складываться из:
 пути папки 1-го уровня & Папка 2-го уровня & Папки конкретной заявки (создается автоматически).

После настройки пути папки для файла переходим на закладку Подготовка Email.

Выбираем Свою Компанию, Поставщика. И заполняем предмет заявки и ее содержание.

Рис.4 Заполнение нужных полей

Далее нажимаем кнопку В печатную форму и переходим в печатную форму.

Рис.5 Печатная форма Заявки.

Далее нажимаем Pop-over Перевести в PDF и отправить по e-mail.

Рис.6 Pop-over Формирование сообщение клиенту.

Здесь формируем письмо и адресатов для письма.

Выбираем сотрудника Поставщика, которому пишем письмо. Ставим сотрудников Поставщика. Ставим Копии сотрудникам Компании.
В теме сообщения автоматически формируется текст «Заявка Номер заявки — **» .
Текст сообщения — заполняем руками.
Подпись вставляется автоматически. То есть ее, разумеется, можно ее запрограммировать.
Затем нажимаем кнопку Перевести в PDF и отправить по e-mail. Получаем готовое сообщение с вложенным файлом в PDF

Рис.7 Полученное сообщение 

Как это делается.

Основной скрипт, который это делает представлен ниже.

Рис.8 Скрипт 007 Строки 1-34

Данный скрипт привязан к кнопке Перевести в PDF и отправить по e-mail (см.рис 6)

На данной кнопке заложены параметры в виде
«PDFEmail_Current_Portrait»
Первое слово PDFEmail  определяет что делаем с печатной формой (в данном случае сохраняем в PDF и отправляем по e-mail).
Втрое слово Current определяет из чего состоит запись: из текущей строки или из нескольких строк, из которых может состоять печатная форма.
Третье слово Portrait определяет формат печатной формы (портретная или альбомная).
В строках 4-12 параметры разбираются на составляющие и устанавливается формат печатной формы (Портретный).

Далее создается папка для хранения файла печатной формы (строки 14-33).

Рис.9 Скрипт 007. Строки 35-76

Далее создается полный путь файла (строки 35-38).
Важным моментом является необходимость наличия правого слэша (/) перед полным путем. Иначе файл создаваться не будет.
В данном примере этот путь будет таким.

/C:/Users/Alexander/Desktop/Documents/01_Заявки/2_Закупка_компьютеров/Заявка № 2.pdf

В строке 38 дан образец создания файла в Excel.

Затем было бы логично в Системе иметь место, где эти сообщения можно потом будет посмотреть.

Для этих целей вводим таблицу MESssages (сообщения). И создаем запись в данной таблице. Строки 39-57.

Далее приступаем к созданию файла в PDF (строка 62) и отправке его  в почтовое сообщение (строка 63). Все переменные для этого созданы.
В данном примере мы рассматриваем только вариант, когда печатная форма состоит из одной записи и находится в таблице REQuisition. Случай PDFEmail_Current при выборе $Mode. См. стр.60 и далее.
Если печатная форма состоит из множества строк, которые соответственно находятся в другой таблице (например REQusutionLines), то скрипт должен быть модифицирован под данную ситуацию.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

68 − 60 =