Внедрение 1C Блог О нас
 
1С:Франчайзинг На главную Написать нам

1c.moy.su

Настройка отправки писем из 1С на примере конфигурации УПП

Стандартные конфигурации 8 версии оснащены встроенным почтовым клиентом, который позволяет настроить прием и отправку писем из 1С.

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

Включение и предварительная настройка клиента

На примере конфигурации «Управление производственным предприятием» видно, что первоначальное включение встроенного почтового клиента происходит на форме «Настройка программы», которую можно открыть в меню Операции->Константы.  (Рис.1)

Рис.1

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

Для этих целей в базе предусмотрен справочник «Учетные записи электронной почты». Форма элемента справочника представлена на Рис.2

Рис.2

Коротко об этой форме. У нее есть 9 закладок, каждая из которых позволяет настроить свою часть почтового клиента:

  1. Подключение – это основная настройка, здесь следует указать сервера отправки и приема почты, прописать авторизацию на нем;
  2. Письма – настраивается время хранения почты, автоматизируется отправка и сохранение, регулируются уведомления о рассмотрении сообщения;
  3. Предметы – позволяет классифицировать, организовывать архивирование и каталогизацию почтовых отправлений по предметам в зависимости от темы письма;
  4. Доступ – содержит табличную часть (Рис. 3), позволяющую организовать и ограничить доступ конкретного пользователя к той или иной части почтового клиента; Рис.3
  5. Подпись  — фраза, которая будет автоматически добавляться к тексту исходящего сообщения, может содержать информацию об отправителе, контактную информацию работников организации и т.д.;
  6.  Группы писем (исходящие, полученные, спам и т.д.) которые позволяют организовать их раздельное хранение и обработку;
  7. Дополнительно – более тонкая настройка почтового клиента, касающаяся значений по умолчанию, кодировки исходящих сообщений, формата текста и т.д.
  8. Фильтры – настройки доступного контента и другие ограничения, защищающие систему;
  9. Электронные документы – позволяет настроить электронный документооборот.

Стандартная модель использования электронной почты

Печатные формы документов реализации, приобретения, некоторых форм регламентной отчетности в левом углу содержат кнопку (Рис.4), которая позволяет создать почтовое сообщение и отправить его контрагенту.

Рис.4

Как видно из представленного рисунка, ничего сложного в форме исходящих сообщений нет.

Программируемая рассылка без сохранения сообщения в базе

Если планируется организовывать рассылку почты по подписке на событие или при выполнении какого-либо регламентного задания, в конфигураторе в общем модуле, исполняемом на сервере желательно создать процедуру ОтправкаСообщенийСпискуПолучателей() со следующим минимально необходимым набором параметров:

  • Тема – строковое значение содержащее тему письма;
  • Текст – опять же строка неограниченной длины, так сказать, тело сообщения;
  • Получатели – здесь строгого ограничения на тип нет, это может быть список адресов, передающийся напрямую, может быть набор элементов из справочников «Физические лица» или «Контрагенты», можно использовать элемент из справочника «Группы рассылки почтовых сообщений».

Крайне важно, при использовании справочников, следить за тем, чтобы выбираемые элементы имели заполненные реквизиты контактной информации с типом e-mail и электронным адресом.

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

Рис.5

Далее мы создаем объект ИнтернетПочта, у которого есть модуль Подключиться. В ней мы и указываем наш профиль подключения. (Рис.6)

Для того, чтобы проконтролировать результат подключения и выявить нестандартные ситуации в его процессе, рекомендуется его выполнять внутри конструкции Попытка-Исключение.

Рис.6

Приступаем непосредственно к созданию почтового сообщения.

Создаем объект ИнтернетПочтовоеСообщение, заполняем его реквизиты. Определяем кодировку, в которой он создается, имя отправителя, тему письма, его текст и, при необходимости добавляем вложения. Рис.7

Рис.7

Следующим шагом мы в метод объекта интернет почта «Послать», вкладываем созданное сообщение. Опять же, проконтролировать исключительные ситуации, выявить ошибки и предупредить вылет программы можно использованием конструкции «Попытка-исключение».

Не забываем отключиться от почтового клиента. (Рис.8)

Рис.8

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

blog.it-terminal.ru

Как переслать базу 1с 7 по почте


Иногда в работе программистов 1С требуется передать информационную базу через интернет. Нижеприведённая инструкция показывает, как послать базу 1С и обеспечить её сохранность от посторонних. 

Для передачи информационной базы 1С программисту необходимо осуществить несколько простых действий:

1. Загрузить и запустить на своём компьютере программу Копиратор-1С.

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

3. Для передачи баз данных, программисты 1С используют облачные хранилища, например, такие как сервис «файлы» от mail.ru. Если вы имеете почтовый ящик на этом сервисе, то вам нужно лишь войти, указав свой логин и пароль. Если же вы пользуетесь сервисом впервые – пройдите короткую регистрацию и войдите в свой аккаунт.

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

Следуя этой короткой инструкции, вы сможете передать базу 1С другому программисту, отправив ему текст ссылки и пароль к ней. Таким образом вы также сможете скачать загруженную базу 1С по интернету с любого компьютера.

Скачать программу «Копиратор-1С» можно здесь.

Нравится статья? Подпишитесь прямо сейчас и получайте обновления на свой E-Mail:

Facebook

Twitter

Мой мир

Вконтакте

Одноклассники

Google+

Похожее

 Распечатать статью

life1c.ru

1С:Предприятие 7.7

Первый вариант. Работает на стандартной компоненте V7 1С Предприятие 7.7. // ОтправитьПоПочте(АдресПолучателя, ИмяФайла) // Параметры: // АдресПолучателя, ИмяФайла Функция ОтправитьПоПочте(АдресПолучателя, ИмяФайла) Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + “v7plus.dll”) 1 Тогда Предупреждение(“Компонента v7plus.dll не найдена!”); Возврат 0; КонецЕсли; Попытка Почта = СоздатьОбъект(“AddIn.V7Mail”); Исключение Предупреждение(“Не удалось создать объект Addin.V7Mail!”); Возврат 0; КонецПопытки; Попытка Почта.Подключиться(); Почта.НовоеСообщение(); Если ПустоеЗначение(АдресПолучателя) = 0 Тогда Почта.ДобавитьАдрес(СокрЛП(АдресПолучателя)); Иначе Предупреждение(“У филиала не задан адрес получателя!”); Возврат 0; КонецЕсли; Если Фс.СуществуетФайл(ИмяФайла) = 0 Тогда Предупреждение(“Файл не существует – “ + СокрЛП(ИмяФайла)); Возврат 0; КонецЕсли; // Попытаемся сделать архив Пос = Найти(ИмяФайла, “.”); ФайлАрхив = Сред(ИмяФайла, 1, Пос-1); Если Фс.СуществуетФайл(ФайлАрхив+”.rar”) = 1 Тогда ФС.УдалитьФайл(ФайлАрхив+”.rar”); КонецЕсли; КомандаСистемы(“rar.exe m “ + ФайлАрхив + “ “ + ИмяФайла); Если Фс.СуществуетФайл(ФайлАрхив+”.rar”) = 1 Тогда Почта.ДобавитьФайл(ФайлАрхив+”.rar”); Иначе Почта.ДобавитьФайл(ИмяФайла); КонецЕсли; Почта.Заголовок = “Обновления по дисконтным картам”; Почта.Текст = “Обновления по дисконтным картам от “ + ДатаК; Почта.Послать(0); Почта.Отключиться(); Исключение Предупреждение(“Неудачная попытка! Отправка письма по эл. почте не произведена!”); Возврат 0; КонецПопытки; Возврат 1; КонецФункции

Второй вариант: с использованием внешней компоненты ROM-Mail.dll. Данная компонента работает независимо как почтовый клиент, в отличие от стандартного, который подгружает Аутлук.

ЗагрузитьВнешнююКомпоненту(“ROM-Mail.dll”); ВК = СоздатьОбъект(“AddIn.AddInMail”); ВК.СерверОтправки = “192.168.1.5”; ВК.ПортОтправки = “25”; ВК.Логин = “login”; ВК.Пароль = “password”; ВК.АутентификацияПриОтправке = 1; Если ВК.Подключиться(“Отправка”)=0 Тогда Предупреждение(“Не удалось подключиться к серверу!”); Возврат; КонецЕсли; ВК.АдресОтправителя = “[email protected]”; ВК.ИмяОтправителя = “1С:Предприятие 7.7”; ВК.АдресПолучателя = “[email protected]”; ВК.СкрытаяКопия = “[email protected]”; ВК.ТипПисьма = 2; ВК.Тема = “ТЕст”; ВК.Тело = “Тестю”; ВК.Вложения = “D:\Базы1С\Архив.zip”; ВК.Кодировка =“UTF-8”; ВК.НеКодироватьТему = 0; ВК.ПодтверждениеДоставки = 0; ВК.ПодтверждениеПрочтения = 0; Если ВК.Отправить() = 1 Тогда Предупреждение(“Письмо успешно отправлено получателю”); Иначе Предупреждение(“Не удалось отправить письмо!”); КонецЕсли; ВК.Отключиться();

Третий вариант.

ОтправитьПочту(КомуОтправить,ОтКогоОтправить,ТемаПисьма,ТекстПисьма,Вложение) ЗагрузитьВнешнююКомпоненту(“WheelAddIn.dll”); ВнКомпонент = СоздатьОбъект(“AddIn.FWheelAddIn”); csFrom = СокрЛП(ОтКогоОтправить); csTO = СокрЛП(КомуОтправить); csSUBJECT = СокрЛП(ТемаПисьма); csTEXT = ТекстПисьма; Если ПустоеЗначение(Вложение) = 0 Тогда csATTACH = СокрЛП(Вложение); Иначе csATTACH = “”; КонецЕсли;

Если ВнКомпонент.ОтправитьПочтуПоSMTP = 1 Тогда

Сообщить(“Электронная почта на адрес “csTO“ отправлена!!!”,”!!”); Иначе Сообщить(ВнКомпонент.ОшибкаПриОтпракеПочты()); КонецЕсли КонецПроцедуры ОтправитьПочту(БанкEMail,ОтКогоEMail,“Файл импорта “,,сКатал+сФайл);

| опубликовано: 16 Июль 2009, 19:43

Комментирование этой статьи закрыто

1c77progr.ru

Как отправить из 1с 7.7 файл по электронной почте

Как отправить из 1с 7.7 файл по электронной почте

Первый вариант. Работает на стандартной компоненте V7Plus 1С Предприятие 7.7. // ОтправитьПоПочте(АдресПолучателя, ИмяФайла) // Параметры:

// АдресПолучателя, ИмяФайла

Функция ОтправитьПоПочте(АдресПолучателя, ИмяФайла) Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + “v7plus.dll”) 1 Тогда    Предупреждение(“Компонента v7plus.dll не найдена!”);    Возврат 0; КонецЕсли; Попытка    Почта = СоздатьОбъект(“AddIn.V7Mail”); Исключение    Предупреждение(“Не удалось создать объект Addin.V7Mail!”);    Возврат 0; КонецПопытки; Попытка    Почта.Подключиться();    Почта.НовоеСообщение();    Если ПустоеЗначение(АдресПолучателя) = 0 Тогда       Почта.ДобавитьАдрес(СокрЛП(АдресПолучателя));    Иначе       Предупреждение(“У филиала не задан адрес получателя!”);       Возврат 0;    КонецЕсли;    Если ФС.СуществуетФайл(ИмяФайла) = 0 Тогда       Предупреждение(“Файл не существует – “ + СокрЛП(ИмяФайла));       Возврат 0;    КонецЕсли;    // Попытаемся сделать архив    Пос = Найти(ИмяФайла, “.”);    ФайлАрхив = Сред(ИмяФайла, 1, Пос-1);    Если ФС.СуществуетФайл(ФайлАрхив+”.rar”) = 1 Тогда       ФС.УдалитьФайл(ФайлАрхив+”.rar”);    КонецЕсли;    КомандаСистемы(“rar.exe m “ + ФайлАрхив + “ “ + ИмяФайла);    Если ФС.СуществуетФайл(ФайлАрхив+”.rar”) = 1 Тогда       Почта.ДобавитьФайл(ФайлАрхив+”.rar”);    Иначе       Почта.ДобавитьФайл(ИмяФайла);    КонецЕсли;    Почта.Заголовок = “Обновления по дисконтным картам”;    Почта.Текст = “Обновления по дисконтным картам от “ + ДатаК;    Почта.Послать(0);    Почта.Отключиться(); Исключение    Предупреждение(“Неудачная попытка! Отправка письма по эл. почте не произведена!”);    Возврат 0; КонецПопытки; Возврат 1; КонецФункции

Второй вариант: с использованием внешней компоненты ROM-Mail.dll. Данная компонента работает независимо как почтовый клиент, в отличие от стандартного, который подгружает Аутлук.

ЗагрузитьВнешнююКомпоненту(“ROM-Mail.dll”); ВК = СоздатьОбъект(“AddIn.AddInMail”); ВК.СерверОтправки = “192.168.1.5”; ВК.ПортОтправки = “25”; ВК.Логин = “login”; ВК.Пароль = “password”; ВК.АутентификацияПриОтправке = 1; Если ВК.Подключиться(“Отправка”)=0 Тогда    Предупреждение(“Не удалось подключиться к серверу!”);    Возврат; КонецЕсли; ВК.АдресОтправителя = “[email protected]”; ВК.ИмяОтправителя = “1С:Предприятие 7.7”; ВК.АдресПолучателя = “[email protected]”; ВК.СкрытаяКопия = “[email protected]”; ВК.ТипПисьма = 2; ВК.Тема = “Тест”; ВК.Тело = “Тестю”; ВК.Вложения = “D:\Базы1С\Архив.zip”; ВК.Кодировка =“UTF-8”; ВК.НеКодироватьТему = 0; ВК.ПодтверждениеДоставки = 0; ВК.ПодтверждениеПрочтения = 0; Если ВК.Отправить() = 1 Тогда    Предупреждение(“Письмо успешно отправлено получателю”); Иначе    Предупреждение(“Не удалось отправить письмо!”); КонецЕсли; ВК.Отключиться();

Третий вариант:Процедура ОтправитьПочту(КомуОтправить,ОтКогоОтправить,ТемаПисьма,ТекстПисьма,Вложение) ЗагрузитьВнешнююКомпоненту(“WheelAddIn.dll”); ВнКомпонент = СоздатьОбъект(“AddIn.FWheelAddIn”); csFrom = СокрЛП(ОтКогоОтправить); csTO = СокрЛП(КомуОтправить); csSUBJECT = СокрЛП(ТемаПисьма); csTEXT = ТекстПисьма; Если ПустоеЗначение(Вложение) = 0 Тогда    csATTACH = СокрЛП(Вложение); Иначе    csATTACH = “”; КонецЕсли; Если ВнКомпонент.ОтправитьПочтуПоSMTP = 1 Тогда    Сообщить(“Электронная почта на адрес “+csTO+“ отправлена!!!”,”!!”); Иначе    Сообщить(ВнКомпонент.ОшибкаПриОтпракеПочты()); КонецЕсли; КонецПроцедуры

ОтправитьПочту(БанкEMail,ОтКогоEMail,“Файл импорта “,,сКатал+сФайл);


Смотрите также