gifts2017

Автоматическая рассылка отчетов по электронной почте из обычного приложения с возможностью динамического изменения периодических параметров

Опубликовал Владимир Микита (mikitav) в раздел Обмен - Email рассылки

В современном ритме жизни нам часто необходимо оперативное получение информации о состоянии финансовой деятельности предприятия или товарных остатках, но не всегда есть возможность «зайти в 1С» для получения этой информации. Всегда быть в курсе деятельности Вашего предприятия поможет автоматическая рассылка отчетов по электронной почте.

Механизм автоматической рассылки отчетов уже давно есть во всех типовых решения «1С:Предприятие» в управляемом приложении (БП 3.0, УТ 11, ЗУП 3.0 и другие), но что делать, если у Вас «старая» конфигурация? Данное решение позволяет организовать автоматическую рассылку отчетов по электронной почте из любой конфигурации «1С:Предприятие» в обычном приложении. Решение полностью автономно, не требует элементов конфигурации из типовых решений, а при их наличии будет интегрироваться с ними, и может работать с «Универсальными» отчетами, отчетами на СКД, а также с отчетами, логика которых написана разработчиком (об этом ниже).

Отличительной особенностью данного решения является:

  • Динамическое изменение периодических параметров отчета. Вы единожды настраиваете, за какой период (день, неделя, месяц, год и т.д.) необходимо получать отчет, и больше нет необходимости заходить в настройки отчета и изменять период, чтобы в следующий раз отчет «пришел» за нужный период. Да, существуют «условные» периоды (этот месяц, прошлый год и т.д.), которые решают эту проблему, но к сожалению такую периодичность редко встретишь в отчетах в обычном приложении.
  • Для каждого отчета настраивается индивидуальное расписание рассылки.
  • Настройка заголовка отчета на СКД. Вы можете использовать значение параметров и отборов для настройки текста заголовка отчета. Также можно настроить заголовки выводимых полей.

Интеграция

Для интеграции решения с Вашей информационной базой зайдите в «Конфигуратор», откройте конфигурацию.

Открытие конфигурации

Если конфигурация находится на поддержке Конфигурация на поддержке необходимо включить возможность изменения.

Включение возможности изменения

Выполните сравнение и объединение с конфигурацией из файла.

Сравнение и объединение конфигурации

Пользователям, которые будут создавать настройки рассылок отчетов, необходимо установить роль «Рассылка отчетов».

Назначение роли пользователям

Настройка рассылки

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

Открытие настроек рассылки

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

Настройки рассылки

Для создания новой рассылки нажмите кнопку «Включить в рассылку» и выберите, что Вы хотите включить в рассылку: отчет или дополнительный отчет из справочника «Внешние обработки» (при его наличии в Вашей конфигурации).

Выбор типа добавляемого отчета

В открывшемся списке выберите отчет, рассылку которого Вы хотите настроить.

Список отчетов

В «шапке» формы настройки рассылки отчета Вы можете указать наименование, удобное для Вас (по умолчанию это синоним отчета), вид отчета (определяется программой автоматически, но Вы можете его изменить, от этого параметра зависит логика работы рассылки, если указан вид «Произвольный», то в модуле объекта отчета необходимо реализовать процедуру «СформироватьОтчет(<ТабличныйДокумент>, <НастройкиОтчета>)», в первый параметр передается табличный документ, в который необходимо вывести результат отчета, во второй параметр выбранные настройки отчета с уже измененными периодическими параметрами), а также установить признак того, что текущая настройка активна (без этого признака автоматическая рассылка не будет работать).

Шапка настроек рассылки

Настройка периодических параметров

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

Контекстное меню периодических параметров

Описание полей:

  • Начало/Конец – начало или конец сдвигаемого периода (например: начало месяца, конец года).
  • Сдвиг – направление сдвига периода (Предыдущий, Текущий, Следующий, Сдвиг на N периодов).
  • Периодичность – периодичность сдвига периода (День, Неделя, Декада, Месяц, Квартал, Полугодие, Год).
  • Количество сдвигов – это поле доступно для редактирование при условии, что «Сдвиг» установлен в значение «Сдвиг на N периодов». Вы можете указать произвольное количество сдвигов периода, как в плюс, так и в минус.
  • Результат – здесь Вы всегда можете увидеть результат сдвига относительно текущего времени.

Периодические параметры

При необходимости рассылки отчета по определенной настройке Вы можете указать ее в табличной части «Настройки отчета». При изменении этой настройки отчета в дальнейшем изменения также будут применены к рассылаемому отчету.

Выбор настройки отчета

Настройте расписание рассылки отчета нажатием на гиперссылку «Настроить расписание».

Настройка расписания

Настройка заголовков отчета

Если вид рассылаемого отчета «СКД», Вам будет доступна вкладка «Дополнительно», на которой Вы можете настроить заголовок отчета.

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

Пример: «Продажи на [ТекущаяДата()]».

Доступно обращение к параметрам и отборам настройки отчета.

Для обращения к параметрам используйте переменную "Параметры".

Пример: «Продажи с [Параметры.НачалоПериода] по [Параметры.КонецПериода]», будут подставлены значения соответствующих параметров.

Для обращения к отборам используется переменная "Отбор". В качестве имени отбора может использоваться как его "Левое значение", так и "Представление", если указано (актуально для не однословных отборов или для отборов через точку). Для отборов доступны следующие реквизиты: "Использование", "ВидСравнения", "Значение".

Пример: «Продажи[?(Отбор.Орг.Использование, " по организации: " + Отбор.Орг.Значение, "")]», если используется отбор по организации, то в заголовок отчета будет выведено значение отбора.

Используйте перенос строки для разбивки длинного заголовка на несколько строк.

Настройка заголовка отчета

Настройка получателей

На вкладке «Получатели» Вы можете указать как пользователя из одноименного справочника (при его наличии в Вашей конфигурации), если у пользователя указан e-mail в контактной информации, он будет использоваться по умолчанию для рассылки, так и e-mail, на который необходимо отправлять отчет. Выбрать тип файла для отправки (XLSX, XLS, PDF, DOCX, HTML, ODS). И указать признак необходимости архивировать файл перед отправкой (в данном случае получатель получит zip архив с файлов отчета выбранного типа).

Настройка получателей

Обо всех ошибках в работе рассылки отчетов программа будет сообщать в журнал регистрации (имя события – «ОшибкаРассылкиОтчетов»).

Результат работы рассылки отчета можно сразу проверить нажав кнопку «Отправить» из списка рассылок.

Отправка отчета

Пример реализации рассылки

От фин. директора поступила задача: каждый день к 8-ми часам необходимо получать на электронную почту отчет о продажах за предыдущий день по самым крупным клиентам. Реализацию задачи будем производить на демонстрационной конфигурации «Управление производственным предприятием, редакция 1.3» на примере отчета «Продажи».

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

Создаем новую настройку рассылки отчета, в списке отчетов выбираем наш отчет по продажам. Вид отчета определен верно - это отчет на СКД, установим наименование настройки «Ежедневные продажи по крупным клиентам», установим признак «Активная».

Пример шапка отчета

Переходим к настройке периодических параметров. В этом отчете для настройки периода используется «Стандартный период», но для удобства настройки сдвигов программа разбила его на два параметра «Дата начала» и «Дата окончания». Нам необходимо получать отчет за предыдущий день, поэтому установим настройки параметров следующим образом:

Пример периодические параметры

В списке настроек отчета выберем созданную нами настройку «Продажи по крупным клиентам».

Пример выбор настройки отчета

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

Пример настройка расписания

Мы специально установили расписание на 7:55, чтобы было время сформировать отчет и отправить его.

Для удобства настроим заголовок отчета, в котором будет выводиться информация о периоде формирования отчета. Для этого на вкладке «Дополнительно» напишем «Продажи за [Формат(Параметры.ПериодФормированияОтчета.ДатаНачала, "ДФ='d MMMM yyyy'")], по крупным клиентам».

Пример настройка заголовка

Настройка почти готова, осталось указать получателей рассылки. Сейчас эту информацию необходимо отправлять только фин. директору, выберем его в списке получателей, информация о его электронной почте уже есть в справочнике, поэтому отдельно его указывать не нужно. В дальнейшем, если ген. директор захочет получать аналогичный отчет, мы легко сможем добавить его в получатели. Установим тип файла «XLSX», архивировать отчет не будем.

Пример настройка получателей

Настройка рассылки готова, сохраним ее и закроем форму настройки. После чего из формы списка рассылки проверим работу текущей настройки, нажмем кнопку «Отправить» и проверим результат на электронной почте.

Пример результат рассылки

 

В демонстрационной базе отсутствует информация по продажам за 8 марта 2016 года, но сама рассылка отработала, полностью выполнив условия задачи.

Примечание

Данное решение легко интегрируется с любой конфигурацией, работающей в обычном приложении, как в типовые решения "1С:Предприятие", так и в "самописные" конфигурации.

Возможна доработка существующего функционала под Ваши требования. Все доработки оговариваются отдельно.

После интеграции с Вашей информационной базой Вы можете самостоятельно осуществлять доработку решения, код программы открыт.

При обнаружении ошибок в работе программы они будут устранены, а Вам выслано бесплатное обновление.

Все интересующие вопросы Вы можете задать в комментарии.

Гарантия возврата денег

Гарантия возврата денег

ООО "Инфостарт" гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом течение 14-ти дней со дня поступления денег на наш счет.

Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.

Для возврата оплаты просто свяжитесь с нами.

Скачать файлы

Наименование Файл Версия Размер
Рассылка отчетов
01.04.2016
2000 руб.

Моментальная
доставка

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Андрей Журавлев (Wrols) 30.03.16 09:33
Замечательный инструмент!
Код грамотный, при внедрении в КА 1.1.69.3 ошибок не возникло.
2. Артем Медведев (WandTimon) 02.04.16 00:31
Бухгалтерия предприятия, редакция 2.0 (2.0.65.16)
Выполнил необходимые настройки.
По кнопке "Отправить" ошибка: ОбщийМодуль.мвРассылкаОтчетовСервер.Модуль(746)}: Ошибка при вызове метода контекста (Послать): Соединение закрыто сервером.

К тому же, если ставить точку останова до удаления файлов - то и файл с отчетом тоже пустой.
3. Владимир Микита (mikitav) 03.04.16 07:02
(2) WandTimon, по поводу ошибки Вам необходимо обратиться к администратору почтового сервера, это не программная ошибка доработки, здесь имеется какая-то проблема с настройками почтового сервера или интернет ограничения в организации, для эксперимента попробуйте использовать бесплатный почтовый сервер (например yandex) для отправки.
По поводу пустого файла я написал Вам личное сообщение.
4. mpudy mpudy (mpudy) 03.04.16 08:55
Формирование универсального отчета происходит на сервере?
5. Владимир Микита (mikitav) 03.04.16 09:17
(4) mpudy, нет, формирование происходит на клиенте.
6. Алексей Дунаев (orcdunaev) 29.11.16 13:36
Здравствуйте!
1) Как будет называть файл XLSX? Можно ли настроить имя файла?
2) Возможно ли выбрать вариант отчета для рассылки?
7. Владимир Микита (mikitav) 29.11.16 13:57
(6) Добрый день, Алексей.
1. Имя файла будет состоять из Имени отчета (как указано в конфигураторе) + текущая дата до секунды. Нет, настроить имя файла нельзя, но реализовать это можно.
2. В настройках рассылки выбирается сохраненные настройки, они уже будут включать вариант отчета.
8. Ильяс (NRG) 07.12.16 12:12
Добрый день!

В чем может быть проблема? и универсальный отчет и СКД в письме присылается пустой файл XLS
Хотя вариант отчета настроен и таблица показывается