Вход | Регистрация
 

как реализовать получение прайса с почты

как реализовать получение прайса с почты
Я
   dvrk
 
04.02.21 - 13:35
Привет, можно как то с 1с заходить на почту, скачивать прайс с письма и загружать в 1с?
сейчас файл с с папки загружается в 1с
   Megas
 
1 - 04.02.21 - 13:36
Можно.
   dvrk
 
2 - 04.02.21 - 13:37
А можно подсказку
   mikecool
 
3 - 04.02.21 - 13:37
(2) начни делать
   dvrk
 
4 - 04.02.21 - 13:39
(3) я просто ни разу из 1с с почтой не работал, не знаю с чего начать
   dvrk
 
5 - 04.02.21 - 13:39
+ почта общая, писем там дофига
   vicof
 
6 - 04.02.21 - 13:40
   ДенисЧ
 
7 - 04.02.21 - 13:40
(4) Начни с чтения справки по объекту ИнтернетПочта, например...
   dvrk
 
8 - 04.02.21 - 13:41
(7) я просто вообще не представляю как 1с может нужное письмо получать(отправитель не один и тот же)
   ДенисЧ
 
9 - 04.02.21 - 13:42
(8) Ты уже начал читать то, что тебе предложили? Или так пришёл, подписьздесь?
   dvrk
 
10 - 04.02.21 - 13:54
(9) подписьздесь пришел, пойду читать
   d_monah
 
11 - 04.02.21 - 14:00
(10) Слабак,сдалсявсего за 20 минут((, не та молодежь пошла,не та
   dvrk
 
12 - 04.02.21 - 14:00
(11)  поч сдался, я разбираться щас буду.
   d_monah
 
13 - 04.02.21 - 14:01
(12) Ты нас держи в курсе дела,ладно?
   dvrk
 
14 - 04.02.21 - 14:02
(13) Хорошо
   Deal with it
 
15 - 04.02.21 - 14:12
Профиль = Новый ИнтернетПочтовыйПрофиль;
    
    Если УчетнаяЗаписьЭлектроннойПочты.ВремяОжидания > 0 Тогда
        Профиль.Таймаут = УчетнаяЗаписьЭлектроннойПочты.ВремяОжидания;
    КонецЕсли; 
    
    УстановитьПривилегированныйРежим(Истина);
    Пароли = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(УчетнаяЗаписьЭлектроннойПочты, "Пароль, ПарольSMTP");
    УстановитьПривилегированныйРежим(Ложь);
        
    Если УчетнаяЗаписьЭлектроннойПочты.ПротоколВходящейПочты = "IMAP" Тогда
        Профиль.ПарольIMAP             = Пароли.Пароль;
        Профиль.ПользовательIMAP     = УчетнаяЗаписьЭлектроннойПочты.Пользователь;
        Профиль.ПортIMAP             = УчетнаяЗаписьЭлектроннойПочты.ПортСервераВходящейПочты;
        Профиль.ИспользоватьSSLIMAP = УчетнаяЗаписьЭлектроннойПочты.ИспользоватьЗащищенноеСоединениеДляВходящейПочты;
        Профиль.АдресСервераIMAP     = УчетнаяЗаписьЭлектроннойПочты.СерверВходящейПочты;
    КонецЕсли;    
    
    Если УчетнаяЗаписьЭлектроннойПочты.ПротоколВходящейПочты = "POP3" Тогда
        Профиль.Пароль                 = Пароли.Пароль;
        Профиль.Пользователь         = УчетнаяЗаписьЭлектроннойПочты.Пользователь;
        Профиль.ПортPOP3             = УчетнаяЗаписьЭлектроннойПочты.ПортСервераВходящейПочты;
        Профиль.ИспользоватьSSLPOP3 = УчетнаяЗаписьЭлектроннойПочты.ИспользоватьЗащищенноеСоединениеДляВходящейПочты;
        Профиль.АдресСервераPOP3     = УчетнаяЗаписьЭлектроннойПочты.ПортСервераВходящейПочты;
    КонецЕсли;
        
    Если УчетнаяЗаписьЭлектроннойПочты.ТребуетсяВходНаСерверПередОтправкой Тогда
        Профиль.АдресСервераSMTP     = УчетнаяЗаписьЭлектроннойПочты.СерверИсходящейПочты;
        Профиль.ПортSMTP             = УчетнаяЗаписьЭлектроннойПочты.ПортСервераИсходящейПочты;
        Профиль.ПарольSMTP           = Пароли.ПарольSMTP;
        Профиль.ПользовательSMTP     = УчетнаяЗаписьЭлектроннойПочты.ПользовательSMTP;
        Профиль.ИспользоватьSSLSMTP = УчетнаяЗаписьЭлектроннойПочты.ИспользоватьЗащищенноеСоединениеДляИсходящейПочты
    КонецЕсли; 
    
    ИмяВходящегоФайла = "";
    
    // Попытка создания каталога на диске

    Если ЗначениеЗаполнено(НастройкаОбмена.КаталогНаДиске) Тогда
        Файл = Новый Файл(НастройкаОбмена.КаталогНаДиске);
        Попытка
            Если Не Файл.Существует() Тогда
                СоздатьКаталог(НастройкаОбмена.КаталогНаДиске);
            КонецЕсли;
            КаталогНаДиске = НастройкаОбмена.КаталогНаДиске;
        Исключение
            КаталогНаДиске = КаталогВременныхФайлов();
        КонецПопытки;
    Иначе        
        КаталогНаДиске = КаталогВременныхФайлов();
    КонецЕсли; 
    
    ИмяВходящегоФайла = КаталогНаДиске + НастройкаОбмена.ИмяФайла;
    
    ИнтернетПочта = Новый ИнтернетПочта;
    
    Попытка
        ИнтернетПочта.Подключиться(Профиль, ПротоколИнтернетПочты.IMAP);
    Исключение
        Сообщить("Произошли ошибки при попытке подключения к почтовому ящику!");
        Сообщить(ОписаниеОшибки());

        Возврат "";
    КонецПопытки;
    
    ПараметрыОтбора = Новый Структура;
    ПараметрыОтбора.Вставить("Отправитель", "тест@тест.ru");
    МассивИдентификаторов = ИнтернетПочта.ПолучитьЗаголовки(ПараметрыОтбора);
    МассивПисем = ИнтернетПочта.Выбрать(Ложь, МассивИдентификаторов);
    
    ТЗПисьма = Новый ТаблицаЗначений();
    ТЗПисьма.Колонки.Добавить("Письмо");
    ТЗПисьма.Колонки.Добавить("ДатаОтправления", Новый ОписаниеТипов("Дата", , ,
                                                 Новый КвалификаторыДаты(ЧастиДаты.ДатаВремя)));
    Для каждого Письмо Из МассивПисем Цикл
        СтрокаПисьмо = ТЗПисьма.Добавить();
        СтрокаПисьмо.Письмо = Письмо;
        СтрокаПисьмо.ДатаОтправления = Письмо.ДатаОтправления;    
    КонецЦикла; 
    ТЗПисьма.Сортировать("ДатаОтправления Убыв");
    МассивПисем = ТЗПисьма.ВыгрузитьКолонку("Письмо");
    
    Для Каждого Письмо Из МассивПисем Цикл        
        Если Письмо.Вложения.Количество() > 0 Тогда
            Для каждого ПочтовоеВложение Из Письмо.Вложения Цикл                
                Если СтрНайти(ПочтовоеВложение.ИмяФайла, "кусок имени фала вложения") <> 0 Тогда
                    Попытка
                        ПочтовоеВложение.Данные.Записать(ИмяВходящегоФайла);                    
                    Исключение
                        ИмяВходящегоФайла = "";
                    КонецПопытки;
                    
                    ИнтернетПочта.Отключиться();
                    Возврат ИмяВходящегоФайла;
                КонецЕсли;                
            КонецЦикла;                 
        КонецЕсли;        
    КонецЦикла;    
    
    ИнтернетПочта.Отключиться();
    Возврат ИмяВходящегоФайла;
   Kassern
 
16 - 04.02.21 - 16:07
IMAP с фильтрами тебе в помощь)
   hhhh
 
17 - 04.02.21 - 16:24
странные люди, неужели до такой степени лень тупо посмотреть в общих модулях? В любой типовой вся работа с почтой есть, осталось только посмотреть, какие там функции вызвать. Вместо этого он пошел что-то читать, и сейчас замутит какую-то фигню, да еще с имапами.
   Kassern
 
18 - 04.02.21 - 16:32
(17) а чем тебя этот протокол не устраиват? Думаешь типовая почта им не пользуется?

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.