Настройка модуля автоматизации — различия между версиями
Johny (обсуждение | вклад) м |
Makarov (обсуждение | вклад) (→Примеры использования) |
||
(не показано 15 промежуточных версий 5 участников) | |||
Строка 1: | Строка 1: | ||
− | Модуль интеграции с внешними системами предназначен для выполнения периодических заданий импорта | + | Модуль автоматизации (интеграции с внешними системами) предназначен для выполнения периодических заданий импорта, экспорта, обработки данных. Модуль представляет из себя службу Windows, которая каждые 10 секунд проверяет наличие заданий в таблице scheduler.jobs с прошедшим временем следующего выполнения и выполняет эти задания. |
− | Заданиями для модуля интеграции (модуля автоматизации) могут быть | + | Заданиями для модуля интеграции (модуля автоматизации) могут быть: |
+ | * оборудование: автопечать продажных/возвратных чеков, автоматическое ежедневное формирование Z-отчета для фискальных регистраторов; | ||
+ | * отчеты: всевозможные email-оповещения в формате Excel (например, отчет о доставке); | ||
+ | * SMS-оповещения: автоматические SMS рассылки для клиентов/курьеров; | ||
+ | * интеграция: процесс обмена заказами и их статусами с другими компаниями (например, курьерскими службами, интернет магазинами); | ||
+ | * автоматический экспорт-импорт информации с БД систем других производителей (например, WMS-системами — «системами управления складом»). | ||
− | + | '''Документация ниже не предлагает всем пользователям системы самостоятельно настраивать задания данного модуля. Наоборот, мы рекомендуем обращаться за настройкой к нам. Однако документация ПОЗВОЛЯЕТ при желании и наличии специалистов выполнить настройку самостоятельно.''' | |
− | + | == Рекомендации для создания автоматической e-mail/смс рассылки == | |
+ | Перед формированием заявки для настройки автоматической email- или смс-рассылки пользователю системы крайне желательно ознакомиться с этой инструкцией. | ||
− | - | + | # Не рассылайте одновременно e-mail и смс-уведомление. Массовая автоматическая рассылка в системе может быть реализована двумя способами: |
+ | #* e-mail-уведомление — более востребованы для рассылки клиентам информации с вложениями в виде прикрепляемых файлов с отчетами; | ||
+ | #* смс-информирование — подходят для сообщения получателю, что к нему едет курьер. Можно в этом же сообщении отправить телефон курьера, чтобы получатель мог напрямую в течение дня у курьера уточнить, когда именно тот планирует приехать.<br>Для каждого нового задания рекомендуется выбирать один из этих способов. Не следует перегружать клиента избыточной или регулярно повторяющейся информацией. | ||
+ | # Предусмотрите набор типов рассылки в карточке клиента (пользовательские поля для клиентов). Вы можете создать список рассылок в карточке клиента в виде флажков. Этот функционал позволяет включить клиента в рассылку или отключить от нее, а также настроить тарификацию необходимых рассылок в виде дополнительных услуг, предоставляемых клиенту. | ||
+ | # Периодичность рассылки и ее рабочее время. Задания рассылки могут выполняться с заданной периодичностью. Заданий для рассылки в системе может быть несколько, поэтому нужно оптимально распределить время их выполнения. ОПределите, будете ли вы отправлять e-mail-уведомление по каждому событию или разово, единым реестром в конце дня, недели и т. д. Например, e-mail-рассылка отчета о доставках выполняется утром в 9:00 за предыдущий день.<br>Выбор периодичности обязательно должен учитывать и интересы клиента: будет клиент просматривать множество писем с информацией или одно письмо с итоговой информацией в виде реестра.<br>Настройка рабочего времени рассылки (или часовой диапазон) больше применимы для смс-информирования. Эта настройка призвана разделять рабочее время и время отдыха. Таким образом, клиент не получит смс в 6 часов утра или в 11 часов вечера. Стандартно в системе принято условие для смс-рассылки с 8 до 10 вечера (по местному времени), но по желанию клиента этот диапазон может быть изменен. | ||
+ | # Продумайте текст рассылки, ее алгоритм, способ, а затем обращайтесь для настройки. Специальные теги в системе позволят добавить информацию, например о номере документа или периоде его формирования. | ||
+ | # Узнать у клиента, какие рассылки ему требуются. Хорошей практикой перед запросом для настройки рассылки может стать предварительный опрос клиентов — какая рассылка действительно необходима клиенту? необходима ли она ему вообще? сколько для клиента будет стоить эта услуга? Как и при каких условиях клиент сможет отписаться от рассылки? | ||
+ | # Длина и кодировка смс-рассылки (ссылка). Известно, что длина смс сообщения влияет на его стоимость. Уменьшить длину поможет выбор типа кодировки сообщения: кириллица или транслитерация. Перед планированием смс-рассылки проанализируйте предполагаемые расходы в сутки/месяц. Это поможет сразу построить эффективную модель задания и избавит от последующих изменений и корректировок в скрипте задания. Более подробно этот вопрос рассмотрен в статье [[Модуль отправки SMS-сообщений#Почему мои сообщения не доставлены?|Почему мои сообщения не доставлены? Почему уходит много денег?]]. | ||
+ | # Подготовительная работа в системе перед настройкой рассылки. Заранее выберите и настройте [[Настройка глобальных параметров#Настройка подключения к почтовому серверу|почтовый адрес]] для отправки писем. Для смс-рассылки выберите [[Модуль отправки SMS-сообщений#Провайдеры|провайдера услуг]], настройте подключение к системе и протестируйте отправку сообщений в ручном режиме. | ||
+ | # Используйте статусную модель для заказов в ЛК как альтернативу рассылке отчета о доставках. Любой клиент MeaSoft может отслеживать свои заказы в [[Личный кабинет курьерской службы#Отслеживание заказа по номеру|личном кабинете]] и в режиме реального времени узнать статус их выполнения, что, несомненно, является весомым преимуществом по сравнению с почтовым уведомлением. | ||
+ | # Спам-фильтры и блокировка уведомлений на стороне клиента. Для email-рассылки с большими объемами всегда существует проблема — большинство почтовых серверов могут начать воспринимать сообщения из рассылки как спам, и бОльшая часть почты будет проигнорирована получателем или же попадет в соответствующие папки. Нередко получателю надоедает регулярно повторяющаяся информация, и он самостоятельно блокирует нежелательную почту как спам. Со временем почтовый адрес компании, отправляющей письма, может попасть в глобальный черный список антиспам-систем и заработать глобальную блокировку. | ||
− | + | == Установка == | |
− | |||
− | |||
− | |||
== Настройка == | == Настройка == | ||
параметры ini файла: | параметры ini файла: | ||
− | + | SMTPProtocol — тип протокола отправки почты: 0 — SMTP, 1 — SSL, 2 — TLS. | |
== Создание заданий == | == Создание заданий == | ||
+ | Задания описываются в текстовом виде в поле TEXT таблицы jobs. | ||
+ | |||
+ | В одном тексте может быть несколько заданий, разделенных пустой строкой, за исключением случая, когда текст начинается с префикса интерпретатора («<?>»). | ||
− | + | Задание может быть следующих видов: «Интерпретируемый код», «Импорт данных», «Выполнение запроса» (возможно, с экспортом результата). | |
− | |||
− | Задание может быть следующих видов: | ||
== Интерпретируемый код == | == Интерпретируемый код == | ||
Если задание начинается с префикса интерпретатора, то весь последующий код обрабатывается им. | Если задание начинается с префикса интерпретатора, то весь последующий код обрабатывается им. | ||
− | |||
== Импорт данных == | == Импорт данных == | ||
Строка 36: | Строка 49: | ||
!Описание | !Описание | ||
|- | |- | ||
− | |input | + | |input |
− | |Признак типа | + | |Признак типа задания — импорт данных |
|- | |- | ||
|OperNo | |OperNo | ||
− | |Номер действия. Значения: | + | |Номер действия. Значения: 0 — загрузка по FTP, SFTP. 1 — Получение почты. 2 - FIAS. 3 - Скриптовая обработка почты |
|- | |- | ||
|FileType | |FileType | ||
− | |Тип файла. Принимает значения: | + | |Тип файла либо код аккаунта (для OperNo=3). Принимает значения: |
− | + | 0 — Формат «Йота» | |
− | + | 1 — Формат «Сони» | |
− | + | 2 — Формат «Омни» | |
− | + | 3 — [[Описание стандартного протокола интеграции|Стандартный формат заказов]] | |
− | + | 4 — [[Описание стандартного протокола интеграции|Стандартный формат отчетов]] | |
− | + | 5 — Пользовательская процедура импорта | |
+ | |||
+ | 6 — Пользовательская процедура импорта, без загрузки файла | ||
|- | |- | ||
Строка 77: | Строка 92: | ||
|} | |} | ||
− | При задании | + | При задании «1» — Импорт почты система получает почту по всем аккаунтам из таблицы Accounts с AccType = 1 и загружает их в таблицы messages и attachment |
== Экспорт данных == | == Экспорт данных == | ||
Строка 90: | Строка 105: | ||
|- | |- | ||
|query | |query | ||
− | |Признак типа | + | |Признак типа задания — экспорт данных |
|- | |- | ||
|OperNo | |OperNo | ||
− | |Номер действия. Значения: | + | | |
− | 0 - Только выполнение запроса. | + | Номер действия. Значения: |
− | 1 - Отправка по электронной почте | + | 0 - Только выполнение запроса. |
− | 2 - Выгрузка файла на FTP, SFTP-сервер | + | 1 - Отправка по электронной почте |
− | + | 2 - Выгрузка файла на FTP, SFTP-сервер | |
− | + | <!-- 3 — Выгрузка заказов в систему «Аксиомус» | |
− | + | 4 — Проверка статусов с системе «Аксиомус» | |
− | + | 5 — Синхронизация с системой «Эмпрана» | |
− | + | 6 — Отправка складских остатков в систему «Эмпрана» --> | |
+ | 7 - Отправка сообщений из тикетов <spoiler text="Параметры">FileType=2 - отключает отправку писем на входящие сообщения.</spoiler> | ||
|- | |- | ||
|FileType | |FileType | ||
− | |Тип файла. Принимает значения: | + | | |
− | 1 - Формат CSV | + | Тип файла. Принимает значения: |
− | + | 1 - Формат CSV | |
− | 2 - Формат | + | 2 - Формат «Сони» |
− | + | 3 - Формат XLS | |
− | 3 - Формат XLS | + | 4 - формат CSV (с заголовками) |
− | + | 5 - загрузка файла и запуск скрипта | |
− | 4 - формат CSV (с заголовками) | + | 6 - запуск скрипта (без загрузки файла) |
− | |||
|} | |} | ||
Значения параметров 1-6 зависят от типа операции: | Значения параметров 1-6 зависят от типа операции: | ||
− | '''Тип | + | '''Тип операции — 0:''' |
Не используются. | Не используются. | ||
− | '''Тип | + | '''Тип операции — 1:''' |
{| | {| | ||
!Параметр | !Параметр | ||
Строка 126: | Строка 141: | ||
|- | |- | ||
|Param1 | |Param1 | ||
− | |Адрес e-mail для отправки | + | |Адрес e-mail для отправки |
|- | |- | ||
|Param2 | |Param2 | ||
− | |Тема сообщения. Если | + | |Тема сообщения. Если пусто — «CourierAutoReport» |
|- | |- | ||
|Param3 | |Param3 | ||
− | |Текст сообщения. Если | + | |Текст сообщения. Если пусто — «see attachment» |
|- | |- | ||
|Param4 | |Param4 | ||
− | |Маска имени файла. Доступны шаблоны %DT%, %D%, %T% | + | |Маска имени файла. Доступны шаблоны %DT%, %D%, %T% — Дата/время в форматах YYYYMMDDHHMMSS, YYYYMMDD, HHMMSS соответственно. Если пусто — используется ДатаВремя |
|- | |- | ||
|Param5 | |Param5 | ||
Строка 144: | Строка 159: | ||
|} | |} | ||
− | '''Тип | + | '''Тип операции — 2:''' |
{| | {| | ||
!Параметр | !Параметр | ||
Строка 150: | Строка 165: | ||
|- | |- | ||
|Param1 | |Param1 | ||
− | |Полный путь к папке на FTP-сервере (вместе с именем сервера) (для SFTP используйте "sftp://имя_сервера... | + | |Полный путь к папке на FTP-сервере (вместе с именем сервера) (для SFTP используйте "sftp://имя_сервера...») |
|- | |- | ||
|Param2 | |Param2 | ||
Строка 159: | Строка 174: | ||
|- | |- | ||
|Param4 | |Param4 | ||
− | |Маска имен файла. Доступны шаблоны %DT%, %D%, %T% | + | |Маска имен файла. Доступны шаблоны %DT%, %D%, %T% — Дата/время в форматах YYYYMMDDHHMMSS, YYYYMMDD, HHMMSS соответственно. Если пусто — используется ДатаВремя |
|- | |- | ||
|Param5 | |Param5 | ||
Строка 165: | Строка 180: | ||
|- | |- | ||
|Param6 | |Param6 | ||
− | |Не | + | |Не обязательный параметр, полный путь к папке на FTP-сервере для сохранения копии |
|} | |} | ||
− | '''Типы | + | <!-- |
+ | '''Типы операции — 3, 4:''' | ||
{| | {| | ||
!Параметр | !Параметр | ||
Строка 174: | Строка 190: | ||
|- | |- | ||
|Param1 | |Param1 | ||
− | |Имя пользователя системы | + | |Имя пользователя системы «Аксиомус» |
|- | |- | ||
|Param2 | |Param2 | ||
− | |Пароль системы | + | |Пароль системы «Аксиомус» |
|- | |- | ||
|Param3 | |Param3 | ||
Строка 192: | Строка 208: | ||
|} | |} | ||
− | '''Тип | + | '''Тип операции — 5:''' |
{| | {| | ||
!Параметр | !Параметр | ||
Строка 198: | Строка 214: | ||
|- | |- | ||
|Param1 | |Param1 | ||
− | |Адрес сервера системы | + | |Адрес сервера системы «Эмпрана» |
|- | |- | ||
|Param2 | |Param2 | ||
− | |Имя пользователя системы | + | |Имя пользователя системы «Эмпрана» |
|- | |- | ||
|Param3 | |Param3 | ||
− | |Пароль системы | + | |Пароль системы «Эмпрана» |
|- | |- | ||
|Param4 | |Param4 | ||
Строка 210: | Строка 226: | ||
|- | |- | ||
|Param5 | |Param5 | ||
− | |Символьный код города системы | + | |Символьный код города системы «Эмпрана» |
|- | |- | ||
|Param6 | |Param6 | ||
Строка 216: | Строка 232: | ||
|} | |} | ||
− | '''Тип | + | '''Тип операции — 6:''' |
{| | {| | ||
!Параметр | !Параметр | ||
Строка 222: | Строка 238: | ||
|- | |- | ||
|Param1 | |Param1 | ||
− | |Адрес сервера системы | + | |Адрес сервера системы «Эмпрана» |
|- | |- | ||
|Param2 | |Param2 | ||
− | |Имя пользователя системы | + | |Имя пользователя системы «Эмпрана» |
|- | |- | ||
|Param3 | |Param3 | ||
− | |Пароль системы | + | |Пароль системы «Эмпрана» |
|- | |- | ||
|Param4 | |Param4 | ||
Строка 234: | Строка 250: | ||
|- | |- | ||
|Param5 | |Param5 | ||
− | |Символьный код города системы | + | |Символьный код города системы «Эмпрана» |
|- | |- | ||
|Param6 | |Param6 | ||
Строка 242: | Строка 258: | ||
Обязательно указать запрос! Например, select 1! | Обязательно указать запрос! Например, select 1! | ||
− | '''Тип | + | '''Тип операции — 7:''' |
Параметры не используются! | Параметры не используются! | ||
− | Обязательно указать запрос! Например, select 1! | + | Обязательно указать запрос! Например, select 1! --> |
== Примеры использования == | == Примеры использования == | ||
− | |||
=== Импорт заказов в стандартном формате с FTP-сервера === | === Импорт заказов в стандартном формате с FTP-сервера === | ||
− | + | input, 0, 4, myftphost.ru/upload/folder/, MyUserName, MyPassword, *_orders.csv, 123, active | |
− | |||
− | input, 0, 4, myftphost.ru/upload/ | ||
− | |||
=== Экспорт заказов в CSV-файле на FTP-сервер === | === Экспорт заказов в CSV-файле на FTP-сервер === | ||
− | |||
query, 0 | query, 0 | ||
replace scheduler.sent (code, sent, source, rectype) | replace scheduler.sent (code, sent, source, rectype) | ||
Строка 276: | Строка 287: | ||
update scheduler.sent set sent='T' where sent='F' and source=123 and rectype=2 | update scheduler.sent set sent='T' where sent='F' and source=123 and rectype=2 | ||
− | + | Это задание состоит из 3 подзаданий. В первом запрос собирает коды отправлений, измененных за последние 7 дней, но не добавленных в очередь отправки в таблице sent. Во втором происходит формирование CSV-файла с заказами, у которых стоит отметка, что они не отправлены (sent.sent='F'), и отправка файла на FTP-сервер. В последнем подзадании запрос отмечает всю корреспонденцию отправленной. Если на втором этапе при отправке файла произойдет ошибка, то третий запрос не будет выполнен, заказы останутся в состоянии «не отправлен», и в следующий раз будет предпринята повторная попытка их отправки. | |
+ | |||
+ | === Сохранение текста письма в таблицу algocom.sample_messsage от аккаунта с кодом 2 === | ||
+ | Input, 3, 2 | ||
+ | <?> | ||
+ | New('TSelfADO', 'db'); | ||
+ | db.Query('INSERT INTO algocom.sample_messsage (MessageText) VALUE ('+QUOTEDSTR(Message.Text)+')'); |
Текущая версия на 15:25, 16 февраля 2023
Модуль автоматизации (интеграции с внешними системами) предназначен для выполнения периодических заданий импорта, экспорта, обработки данных. Модуль представляет из себя службу Windows, которая каждые 10 секунд проверяет наличие заданий в таблице scheduler.jobs с прошедшим временем следующего выполнения и выполняет эти задания.
Заданиями для модуля интеграции (модуля автоматизации) могут быть:
- оборудование: автопечать продажных/возвратных чеков, автоматическое ежедневное формирование Z-отчета для фискальных регистраторов;
- отчеты: всевозможные email-оповещения в формате Excel (например, отчет о доставке);
- SMS-оповещения: автоматические SMS рассылки для клиентов/курьеров;
- интеграция: процесс обмена заказами и их статусами с другими компаниями (например, курьерскими службами, интернет магазинами);
- автоматический экспорт-импорт информации с БД систем других производителей (например, WMS-системами — «системами управления складом»).
Документация ниже не предлагает всем пользователям системы самостоятельно настраивать задания данного модуля. Наоборот, мы рекомендуем обращаться за настройкой к нам. Однако документация ПОЗВОЛЯЕТ при желании и наличии специалистов выполнить настройку самостоятельно.
Содержание
Рекомендации для создания автоматической e-mail/смс рассылки
Перед формированием заявки для настройки автоматической email- или смс-рассылки пользователю системы крайне желательно ознакомиться с этой инструкцией.
- Не рассылайте одновременно e-mail и смс-уведомление. Массовая автоматическая рассылка в системе может быть реализована двумя способами:
- e-mail-уведомление — более востребованы для рассылки клиентам информации с вложениями в виде прикрепляемых файлов с отчетами;
- смс-информирование — подходят для сообщения получателю, что к нему едет курьер. Можно в этом же сообщении отправить телефон курьера, чтобы получатель мог напрямую в течение дня у курьера уточнить, когда именно тот планирует приехать.
Для каждого нового задания рекомендуется выбирать один из этих способов. Не следует перегружать клиента избыточной или регулярно повторяющейся информацией.
- Предусмотрите набор типов рассылки в карточке клиента (пользовательские поля для клиентов). Вы можете создать список рассылок в карточке клиента в виде флажков. Этот функционал позволяет включить клиента в рассылку или отключить от нее, а также настроить тарификацию необходимых рассылок в виде дополнительных услуг, предоставляемых клиенту.
- Периодичность рассылки и ее рабочее время. Задания рассылки могут выполняться с заданной периодичностью. Заданий для рассылки в системе может быть несколько, поэтому нужно оптимально распределить время их выполнения. ОПределите, будете ли вы отправлять e-mail-уведомление по каждому событию или разово, единым реестром в конце дня, недели и т. д. Например, e-mail-рассылка отчета о доставках выполняется утром в 9:00 за предыдущий день.
Выбор периодичности обязательно должен учитывать и интересы клиента: будет клиент просматривать множество писем с информацией или одно письмо с итоговой информацией в виде реестра.
Настройка рабочего времени рассылки (или часовой диапазон) больше применимы для смс-информирования. Эта настройка призвана разделять рабочее время и время отдыха. Таким образом, клиент не получит смс в 6 часов утра или в 11 часов вечера. Стандартно в системе принято условие для смс-рассылки с 8 до 10 вечера (по местному времени), но по желанию клиента этот диапазон может быть изменен. - Продумайте текст рассылки, ее алгоритм, способ, а затем обращайтесь для настройки. Специальные теги в системе позволят добавить информацию, например о номере документа или периоде его формирования.
- Узнать у клиента, какие рассылки ему требуются. Хорошей практикой перед запросом для настройки рассылки может стать предварительный опрос клиентов — какая рассылка действительно необходима клиенту? необходима ли она ему вообще? сколько для клиента будет стоить эта услуга? Как и при каких условиях клиент сможет отписаться от рассылки?
- Длина и кодировка смс-рассылки (ссылка). Известно, что длина смс сообщения влияет на его стоимость. Уменьшить длину поможет выбор типа кодировки сообщения: кириллица или транслитерация. Перед планированием смс-рассылки проанализируйте предполагаемые расходы в сутки/месяц. Это поможет сразу построить эффективную модель задания и избавит от последующих изменений и корректировок в скрипте задания. Более подробно этот вопрос рассмотрен в статье Почему мои сообщения не доставлены? Почему уходит много денег?.
- Подготовительная работа в системе перед настройкой рассылки. Заранее выберите и настройте почтовый адрес для отправки писем. Для смс-рассылки выберите провайдера услуг, настройте подключение к системе и протестируйте отправку сообщений в ручном режиме.
- Используйте статусную модель для заказов в ЛК как альтернативу рассылке отчета о доставках. Любой клиент MeaSoft может отслеживать свои заказы в личном кабинете и в режиме реального времени узнать статус их выполнения, что, несомненно, является весомым преимуществом по сравнению с почтовым уведомлением.
- Спам-фильтры и блокировка уведомлений на стороне клиента. Для email-рассылки с большими объемами всегда существует проблема — большинство почтовых серверов могут начать воспринимать сообщения из рассылки как спам, и бОльшая часть почты будет проигнорирована получателем или же попадет в соответствующие папки. Нередко получателю надоедает регулярно повторяющаяся информация, и он самостоятельно блокирует нежелательную почту как спам. Со временем почтовый адрес компании, отправляющей письма, может попасть в глобальный черный список антиспам-систем и заработать глобальную блокировку.
Установка
Настройка
параметры ini файла:
SMTPProtocol — тип протокола отправки почты: 0 — SMTP, 1 — SSL, 2 — TLS.
Создание заданий
Задания описываются в текстовом виде в поле TEXT таблицы jobs.
В одном тексте может быть несколько заданий, разделенных пустой строкой, за исключением случая, когда текст начинается с префикса интерпретатора («<?>»).
Задание может быть следующих видов: «Интерпретируемый код», «Импорт данных», «Выполнение запроса» (возможно, с экспортом результата).
Интерпретируемый код
Если задание начинается с префикса интерпретатора, то весь последующий код обрабатывается им.
Импорт данных
input, OperNo, FileType, Param1, Param2, Param3, Param4, Param5, Param6
Параметр | Описание |
---|---|
input | Признак типа задания — импорт данных |
OperNo | Номер действия. Значения: 0 — загрузка по FTP, SFTP. 1 — Получение почты. 2 - FIAS. 3 - Скриптовая обработка почты |
FileType | Тип файла либо код аккаунта (для OperNo=3). Принимает значения:
0 — Формат «Йота» 1 — Формат «Сони» 2 — Формат «Омни» 3 — Стандартный формат заказов 4 — Стандартный формат отчетов 5 — Пользовательская процедура импорта 6 — Пользовательская процедура импорта, без загрузки файла |
Param1 | Полный путь к папке на FTP-сервере (вместе с именем сервера) (для SFTP используйте sftp://имя_сервера) |
Param2 | Имя пользователя FTP-сервера |
Param3 | Пароль FTP-сервера |
Param4 | Маска имен файлов, подлежащих загрузке |
Param5 | Код клиента (поле courier.clients.code), для привязки загруженных заказов |
Param6 | Активное соединение FTP. Для использования активного режима укажите active |
При задании «1» — Импорт почты система получает почту по всем аккаунтам из таблицы Accounts с AccType = 1 и загружает их в таблицы messages и attachment
Экспорт данных
query, OperNo, FileType, Param1, Param2, Param3, Param4, Param5, Param6 QueryText
Модуль выполняет запрос QueryText, и передает результат его выполнения функции отправки, описанной в первой строке задания.
Параметр | Описание |
---|---|
query | Признак типа задания — экспорт данных |
OperNo |
Номер действия. Значения: 0 - Только выполнение запроса. 1 - Отправка по электронной почте 2 - Выгрузка файла на FTP, SFTP-сервер 7 - Отправка сообщений из тикетов Параметры |
FileType |
Тип файла. Принимает значения: 1 - Формат CSV 2 - Формат «Сони» 3 - Формат XLS 4 - формат CSV (с заголовками) 5 - загрузка файла и запуск скрипта 6 - запуск скрипта (без загрузки файла) |
Значения параметров 1-6 зависят от типа операции:
Тип операции — 0: Не используются.
Тип операции — 1:
Параметр | Описание |
---|---|
Param1 | Адрес e-mail для отправки |
Param2 | Тема сообщения. Если пусто — «CourierAutoReport» |
Param3 | Текст сообщения. Если пусто — «see attachment» |
Param4 | Маска имени файла. Доступны шаблоны %DT%, %D%, %T% — Дата/время в форматах YYYYMMDDHHMMSS, YYYYMMDD, HHMMSS соответственно. Если пусто — используется ДатаВремя |
Param5 | Не используется |
Param6 | Не используется |
Тип операции — 2:
Параметр | Описание |
---|---|
Param1 | Полный путь к папке на FTP-сервере (вместе с именем сервера) (для SFTP используйте "sftp://имя_сервера...») |
Param2 | Имя пользователя FTP-сервера |
Param3 | Пароль FTP-сервера |
Param4 | Маска имен файла. Доступны шаблоны %DT%, %D%, %T% — Дата/время в форматах YYYYMMDDHHMMSS, YYYYMMDD, HHMMSS соответственно. Если пусто — используется ДатаВремя |
Param5 | Активное соединение FTP. Для использования активного режима укажите active |
Param6 | Не обязательный параметр, полный путь к папке на FTP-сервере для сохранения копии |
Примеры использования
Импорт заказов в стандартном формате с FTP-сервера
input, 0, 4, myftphost.ru/upload/folder/, MyUserName, MyPassword, *_orders.csv, 123, active
Экспорт заказов в CSV-файле на FTP-сервер
query, 0 replace scheduler.sent (code, sent, source, rectype) select a.code, 'F', b.source, 2 from courier.address a join zakaz b on a.zakaz=b.code left join scheduler.sent s on s.code=a.code and s.source=b.source and s.rectype=2 where a.ldtime>=date_sub(now(), interval 7 day) and s.code is null and b.source=123 query, 2, 1, myftphost.ru/upload/foulder/, MyUserName, MyPassword, MY-ORD-%DT% select a.code, a.strbarcode, a.target, a.name, a.address, a.phone, a.rur from scheduler.sent s join courier.address a on s.code=a.code where s.sent='F' and s.source=123 and s.rectype=2 query, 0 update scheduler.sent set sent='T' where sent='F' and source=123 and rectype=2
Это задание состоит из 3 подзаданий. В первом запрос собирает коды отправлений, измененных за последние 7 дней, но не добавленных в очередь отправки в таблице sent. Во втором происходит формирование CSV-файла с заказами, у которых стоит отметка, что они не отправлены (sent.sent='F'), и отправка файла на FTP-сервер. В последнем подзадании запрос отмечает всю корреспонденцию отправленной. Если на втором этапе при отправке файла произойдет ошибка, то третий запрос не будет выполнен, заказы останутся в состоянии «не отправлен», и в следующий раз будет предпринята повторная попытка их отправки.
Сохранение текста письма в таблицу algocom.sample_messsage от аккаунта с кодом 2
Input, 3, 2 <?> New('TSelfADO', 'db'); db.Query('INSERT INTO algocom.sample_messsage (MessageText) VALUE ('+QUOTEDSTR(Message.Text)+')');