Прием почты из 1С

Прием почты

Предисловие

Все описанное ниже предполагает использование стандартной библиотеки v7plus.dll, входящей в комплект поставки 1С:Предприятия 7.7.

В модуле, который будет принимать почту, вне функций должна быть определена переменная "Почта", в которой будет храниться ссылка на объект "V7Mail".

Письмо загружается из почтовой программы, определенной в системе используемой по умолчанию. Нижеприведенные тексты проверялись с программами: Microsoft Outlook Express (5, 6), Microsoft Outlook 2000.

 

Назначение

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

 

Инициализация

Перед использованием почты необходимо загрузить внешнюю компоненту. Это делает следующая процедура.

Функция Инит()	
        Если ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"v7plus.dll")=0 Тогда
            Если ЗагрузитьВнешнююКомпоненту("v7plus.dll")=0 Тогда
                Сообщить("Не удалось обнаружить компоненту V7Plus.dll!"); 
                Возврат 0;
            КонецЕсли;
        КонецЕсли;
        Попытка
            Почта = СоздатьОбъект("AddIn.V7Mail");
        Исключение 
            Сообщить("Не удалось создать объект Addin.V7Mail!");
            Возврат 0;
        КонецПопытки;
        Возврат 1;
    КонецФункции

 

Чтение

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

Процедура ПрочитатьПочту()
        Если Инит()=0 тогда
            Возврат;
        КонецЕсли;
        Почта.Подключиться();
        Почта.ВыбратьСообщения();
        Пока Почта.ПолучитьСообщение()=1 Цикл
            Если Лев(НРег(Почта.Заголовок),5)="заказ" Тогда
                //потенциально нужный нам файл
                Сообщить("Обнаружен заказ от "+Почта.АдресОтправителя());
                Почта.ПрочитатьСообщение();
                Имя=""; Кат="";
                Пока Почта.ПолучитьФайл(Имя,Кат)=1 Цикл
                    ИмяФайла=Кат+Имя;
                    Загрузить(ИмяФайла);
                    Имя=""; Кат="";
                КонецЦикла;
            КонецЕсли;
        КонецЦикла;
        Почта.Отключиться();
        Почта=0;
    КонецПроцедуры

Если необходима помощь в настройке Приема почты из 1С или в доработке, обновлении, обслуживании, сопровождении программ «1С» то обращайтесь к нашим специалистам!

Нашли ошибку на сайте? Напишите о ней нам!
Наверх Обратный звонок