Содержание:
1. «1С:Бухгалтерия предприятия, редакция 3.0»: как сделать групповую рассылку счетов
2. Групповая рассылка счетов: разработка регламентного задания
«1С:Бухгалтерия предприятия, редакция 3.0»: как сделать групповую рассылку счетов
Ко мне не раз обращались клиенты с просьбой сделать групповую рассылку счетов в конфигурации «Бухгалтерия предприятия, базовая редакция 3.0». Решил поделиться простым способом с другими, чтобы помочь сэкономить время.
Конфигурация «1С:Бухгалтерия предприятия 3.0» имеет типовой механизм рассылки печатных форм документов. В данной статье я поделюсь, как быстро и просто сделать групповую рассылку счетов по расписанию. Кстати, данный метод подходит для рассылки и других документов, если появится необходимость. Например, актов с факсимиле.
Для начала нужно подготовить среду для работы отправки. Для этого добавляем (или используем существующую) учетную запись электронной почты в одноименный справочник. От имени этой учетной записи будет производиться рассылка документов.
Рис. 1 Учетная запись электронной почты
Для контрагентов, по которым будет производиться отправка документов, указываем адрес электронной почты. Это можно сделать в карточке контрагента:
Рис. 2 Регистрация электронной почты контрагента.
Не забываем разрешить программе 1С выход в интернет, если такие ограничения имелись в системе. На этом подготовка завершена. Переходим к разработке.
Для начала нужно как-то выделять документы, которые нужно отправить. Просто так отправлять все без разбора – может оказаться большой проблемой. Можно добавить в документ реквизит «Готов к отправке». И по нему отбирать документы и отправлять.
В моем случае, я добавил регистр сведений «Готовность документов к отправке». Регистр непериодический, независимый. Структура регистра простая:
· Измерение «Документ» - Ссылка на отправляемый документ;
· Ресурс – «Готовность к отправке», тип «Булево»;
· Реквизит – «Учетная запись». Учетная запись электронной почты, с которой будет производиться отправка документа. Он нужен для передачи в регламентное задание информации об учетной записи, от которой производить рассылку документов.
Еще добавляем регистр сведений «История рассылки». Регистр независимый с периодичностью в пределах секунды и тоже простой:
· Измерение «Документ» - Ссылка на отправляемый документ;
· Ресурс – «Отправлен», тип «Булево»;
· Реквизит – «ОписаниеОшибки». Текстовой поле, в которое будем записывать ошибки, если возникнут проблемы с отправкой;
· Реквизит – «АдресПолучателя». Электронный адрес, на который производилась отправка. Лучше хранить это в истории, на случай смены электронного адреса клиента.
Следующим шагом – создадим возможность удобно зарегистрировать документы на отправку.
Это можно сделать либо в специальной обработке, либо в списке документов добавить новую команду.
Я сделал отдельную обработку с динамическим списком документов на форме. Сделать необходимые отборы в таком варианте пользователю будет несложно. В форму добавляем команду «Подготовить к отправке». По команде производится запись выделенных строк документов в РС «Готовность к отправке».
Также в форме добавлена ссылка на учетную запись для отправки. От имени этой учетной записи и будет производиться рассылка документов. Его записываем в реквизит «Учетная запись» в РС.
Имеет смысл в форме добавить две команды:
1. «Готовые к отправке». Открывает форму РС «Готовность к отправке» с отбором по «готовность = истина»;
2. «Результат отправки». Открывает форму РС «История отправки».
Получаем простой инструмент по контролю групповой рассылки документов.
Групповая рассылка счетов: разработка регламентного задания
Следующий шаг, чтобы организовалась рассылка счетов, – разработка регламентного задания по групповой отправке. Он самый трудоемкий. Я разработку делал на релизе «Бухгалтерии предприятия 3.0.60» и выше.
Алгоритм регламентного задания следующий:
1. Собираем список документов, которые необходимо отправить. В данном случае простой запрос к РС «Готовность к отправке». Учетная запись для отправки у нас есть. Сведения с адресом отправки получателя (клиента) лучше тоже подтянуть из документа этим запросом.
2. Для каждого документа, готового к отправке формируем тело письма с вложением, печатную форму документа сохраняем в формате «pdf» и прикрепляем к телу письма. Отправляем сообщение по электронному адресу клиента.
3. Сохраняем результат отправки в РС «История отправки». Если была ошибка отправки, то максимально подробно фиксируем ее описание в соответствующем реквизите регистра.
4. Удаляем запись в РС «Готовность к отправке» или выставляем значение «Готов к отправке» в значение «Ложь».
Разберем более подробно 2-й этап.
Отправка сообщения в БП 3.0 производиться через общую функцию: «РаботаСПочтовымиСообщениями. ОтправитьПочтовоеСообщение (УчетнаяЗапись, ПараметрыПисьма)».
Входящий параметр «УчетнаяЗапись» - ссылка на справочник «Учетные записи электронной почты». Ее мы уже получили при подготовке к отправке.
Входящий параметры «ПараметрыПисьма» - основной параметр определяющий содержание письма для отправки. Это структура, в которой обязательно должны быть указаны следующие реквизиты:
· «Кому» - массив структур. Элемент массива описывается двумя реквизитами «Адрес» - адрес электронной почты получателя и «Представление» - ее представление.
· «ПолучателиСообщения» - массив структур. Элемент массива описывается четырьмя реквизитами: «Адрес» (электронный адрес получателя), «Выбран» (Истина), «ИсточникКонтактнойИнформации» (Ссылка на справочник «Контрагенты»), «Представление» (псевдоним получателя).
· «Тема» - Текстовое поле, содержащее тему письма. Заполняем произвольно, по усмотрению клиента. При необходимости можно сделать настраиваемый шаблон темы письма.
· «Тело» - Содержит форматированный документ в формате HTML. Получить несложно. Формируем текст письма, через процедуру УстановитьHTML заполняем объект «ФорматированныйДокумент». Передаем объект в функцию «ПолучитьHTMLФорматированногоДокументаДляПисьма» (находится в общем модуле «РаботаСПочтовымиСообщениямиСлужебный». На выходе получаем «ТекстHTML», который и нужно добавить в параметры письма как «Тело»;
· «ТипТекста» - текст «HTML»;
· «Вложения» - массив, содержащий описание вложений. В него нужно вложить печатную форму документа. Функция по формированию описания вложений документы выглядит примерно так:
Имея под рукой эту памятку, можно за 2-3 часа разработать механизм в конфигурации «Бухгалтерия предприятия, 3.0», счета можно будет рассылать групповым образом. А учитывая, что современные типовые решения 1С:БП 8 поддерживают модульность, то этот механизм может сработать и в других конфигурациях (сам не проверял).
Руководитель отдела внедрения ООО «Кодерлайн»
Кирилл Карцев.