Имя: Пароль:
1C
 
как реализовать получение прайса с почты
0 dvrk
 
04.02.21
13:35
Привет, можно как то с 1с заходить на почту, скачивать прайс с письма и загружать в 1с?
сейчас файл с с папки загружается в 1с
1 Megas
 
04.02.21
13:36
Можно.
2 dvrk
 
04.02.21
13:37
А можно подсказку
3 mikecool
 
04.02.21
13:37
(2) начни делать
4 dvrk
 
04.02.21
13:39
(3) я просто ни разу из 1с с почтой не работал, не знаю с чего начать
5 dvrk
 
04.02.21
13:39
+ почта общая, писем там дофига
6 vicof
 
04.02.21
13:40
7 ДенисЧ
 
04.02.21
13:40
(4) Начни с чтения справки по объекту ИнтернетПочта, например...
8 dvrk
 
04.02.21
13:41
(7) я просто вообще не представляю как 1с может нужное письмо получать(отправитель не один и тот же)
9 ДенисЧ
 
04.02.21
13:42
(8) Ты уже начал читать то, что тебе предложили? Или так пришёл, подписьздесь?
10 dvrk
 
04.02.21
13:54
(9) подписьздесь пришел, пойду читать
11 d_monah
 
04.02.21
14:00
(10) Слабак,сдалсявсего за 20 минут((, не та молодежь пошла,не та
12 dvrk
 
04.02.21
14:00
(11)  поч сдался, я разбираться щас буду.
13 d_monah
 
04.02.21
14:01
(12) Ты нас держи в курсе дела,ладно?
14 dvrk
 
04.02.21
14:02
(13) Хорошо
15 Deal with it
 
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 Тогда
                    Попытка
                        ПочтовоеВложение.Данные.Записать(ИмяВходящегоФайла);                    
                    Исключение
                        ИмяВходящегоФайла = "";
                    КонецПопытки;
                    
                    ИнтернетПочта.Отключиться();
                    Возврат ИмяВходящегоФайла;
                КонецЕсли;                
            КонецЦикла;                 
        КонецЕсли;        
    КонецЦикла;    
    
    ИнтернетПочта.Отключиться();
    Возврат ИмяВходящегоФайла;
16 Kassern
 
04.02.21
16:07
IMAP с фильтрами тебе в помощь)
17 hhhh
 
04.02.21
16:24
странные люди, неужели до такой степени лень тупо посмотреть в общих модулях? В любой типовой вся работа с почтой есть, осталось только посмотреть, какие там функции вызвать. Вместо этого он пошел что-то читать, и сейчас замутит какую-то фигню, да еще с имапами.
18 Kassern
 
04.02.21
16:32
(17) а чем тебя этот протокол не устраиват? Думаешь типовая почта им не пользуется?
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой