8.х Использование HTTPСоединение

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем andrenko, 12 янв 2011.

  1. TopicStarter Overlay
    andrenko
    Offline

    andrenko Опытный в 1С

    Регистрация:
    20 ноя 2008
    Сообщения:
    310
    Симпатии:
    0
    Баллы:
    26
    Имеется такая проблема:
    Забираю файлы с сайта. Если они существют, то все оК, но если адрес есть, а файла нет, то сайт возвращает страничку с 404 ошибкой и 1с вылетает с ошибкой hresult=80040e57. Как с эти бороться? Вернее как проверить наличие файла на сайте?

    Код:
    ссылкаНаСайт = Новый HTTPСоединение("www.адрессайта.com/");
    ссылкаНаСайт.Получить(имяФайла,ПутьКФайлу);
    
    
    
  2. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Сама 1С вылетает? ХЗ - если так - я бы написал в службу поддержки.
    Если обернуть вашу конструкцию в блок Попытка-Исключение?
  3. TopicStarter Overlay
    andrenko
    Offline

    andrenko Опытный в 1С

    Регистрация:
    20 ноя 2008
    Сообщения:
    310
    Симпатии:
    0
    Баллы:
    26
    конечно пробывал - вылетает.
  4. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    я например стороннюю программу использую для закачки прайсов с сайтов клиентов.. metaproducts offline explorer.. а потом эти прайсы скармливаю 1с..

    это конечно не ответ на вопрос, но альтернативное решение..
  5. Zhorland
    Offline

    Zhorland

    Регистрация:
    28 фев 2009
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    А что в переменных имяФайла, ПутьКФайлу?
  6. TopicStarter Overlay
    andrenko
    Offline

    andrenko Опытный в 1С

    Регистрация:
    20 ноя 2008
    Сообщения:
    310
    Симпатии:
    0
    Баллы:
    26
    ИмяФайла = "/имяФайла.html";
    ПутьКФайлу = "C:\tmp\Файл.html"
  7. Zhorland
    Offline

    Zhorland

    Регистрация:
    28 фев 2009
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Сначала попробуйте убрать слэш из
    Код:
    www.адрессайта.com/
    
    Также попробуйте указывать не DNS-имя, а конкретный IP-адресс:

    Код:
    НТТР = Новый HTTPСоединение("192.168.15.205");
    
  8. Zhorland
    Offline

    Zhorland

    Регистрация:
    28 фев 2009
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Если файла не существует, сервер все равно вернет ответ, т.е. какую-либо страничку. Необходимо проверять сам ответ, читать C:\tmp\Файл.html

    Кстати, об ошибке...

    что люди пишут...

  9. TopicStarter Overlay
    andrenko
    Offline

    andrenko Опытный в 1С

    Регистрация:
    20 ноя 2008
    Сообщения:
    310
    Симпатии:
    0
    Баллы:
    26
    я тут тупанул - проблема не в заборе файла:)
  10. TopicStarter Overlay
    andrenko
    Offline

    andrenko Опытный в 1С

    Регистрация:
    20 ноя 2008
    Сообщения:
    310
    Симпатии:
    0
    Баллы:
    26
    проблема выглядит иначе - обработка вылетает на запросе, вернее на его исполнении. Вопрос - есть ли символы в типе реквизита строка которые могут привести в вылету 1С из-за ошибок SQL 2008?
  11. TopicStarter Overlay
    andrenko
    Offline

    andrenko Опытный в 1С

    Регистрация:
    20 ноя 2008
    Сообщения:
    310
    Симпатии:
    0
    Баллы:
    26
    В общем разобрался я что к чему.
    Имеем 1с 8.1.9.57 + sql 2008

    Имеем запрос:

    Код:
    запрос = Новый Запрос( "ВЫБРАТЬ
    |    Справочник1.Ссылка
    |ИЗ
    |    Справочник1 КАК Справочник1 
    |ГДЕ
    |    Справочник1.ТекстоваяПеременная ПОДОБНО ТекстоваяПеременная                             
    |    И Справочник1.Дата >= &Дата");
    запрос.УстановитьПараметр("ТекстоваяПеременная", ТекстоваяПеременная);
    запрос.УстановитьПараметр("Дата", НачалоДня(ТекущаяДата() - ПолеВводаПериодВыборки*24*60*60));
    выборка = запрос.Выполнить().Выбрать();
    
    
    текстоваяпеременная = текст неограниченной длины

    При помещении в текстовуюпременную значения длиной более 4000 1С вылетает.
  12. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    А если попробовать так?
    Код:
    "ВЫБРАТЬ
    |    Справочник1.Ссылка
    |ИЗ
    |    Справочник1 КАК Справочник1 
    |ГДЕ
    |    Выразить(Справочник1.ТекстоваяПеременная КАК Строка(100)) ПОДОБНО ТекстоваяПеременная                             
    |    И Справочник1.Дата >= &Дата"
    
    
  13. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    Я к тому, что строки неограниченной длины в запросах надо "урезать".
  14. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    andrenko обновите платформу!
    Данная ошибка была исправлена в версии 8.1.13.41.
  15. TopicStarter Overlay
    andrenko
    Offline

    andrenko Опытный в 1С

    Регистрация:
    20 ноя 2008
    Сообщения:
    310
    Симпатии:
    0
    Баллы:
    26
    дык, а как?
  16. TopicStarter Overlay
    andrenko
    Offline

    andrenko Опытный в 1С

    Регистрация:
    20 ноя 2008
    Сообщения:
    310
    Симпатии:
    0
    Баллы:
    26
    вернее секазать, существуют ли патчи и где их взять?
  17. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    С ИТС обновления можно взять.
  18. TopicStarter Overlay
    andrenko
    Offline

    andrenko Опытный в 1С

    Регистрация:
    20 ноя 2008
    Сообщения:
    310
    Симпатии:
    0
    Баллы:
    26
    можно ссылку?
  19. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204

Поделиться этой страницей