helpf.pro
Регистрация
 0 
Распечатать

Функция получение файла с сервера

Код 1C v 8.х
  // Параметры:
// Адрес - адрес файла на сервере
// ЛокальныйПуть - путь для сохранения файла на локальном компьютере
// ВыдаватьСообщения - признак необходимости выдачи сообщений в случае ошибки
// (необязательный, по умолчаню равен Истина)
//
// Возвращаемое значение:
// Число - результат получения файла с сервера
// 0 - успешно;
// 1 - неправильный параметр
// 2 - неправильные код пользователя или пароль для доступа к "закрытой" части сайта
// 3 - ошибка подключения к веб-сайту.
//
Функция ПолучитьФайлССервера(Знач Адрес, Знач ЛокальныйПуть, Знач ВыдаватьСообщения = Истина,
Знач Соединение = Неопределено) Экспорт

Если НЕ ЗначениеЗаполнено(Адрес) ИЛИ НЕ ЗначениеЗаполнено(ЛокальныйПуть) Тогда
ЗаписатьОшибку("Невозможно подключиться к сети Интернет: не инициализированы внутренние переменные.");
Возврат 1;
КонецЕсли;

Если Соединение = Неопределено Тогда
// Установка параметров прокси-сервера
Если ПроксиСерверТребуетАутентификации Тогда
ПроксиСервер = Новый ИнтернетПрокси();
ПроксиСервер.Пользователь = ПользовательПроксиСервера;
ПроксиСервер.Пароль = ПарольПроксиСервера;
КонецЕсли;

// Создание HTTP-соединения с сервером обновлений
Соединение = Новый HTTPСоединение(СерверОбновлений,
,
КодПользователяСервераОбновлений,
ПарольСервераОбновлений,
?(ПроксиСерверТребуетАутентификации, ПроксиСервер, Неопределено));

КонецЕсли;

Попытка
СоздатьКаталог(ПолучитьКаталогФайла(ЛокальныйПуть));
Соединение.Получить(Адрес, ЛокальныйПуть);
Исключение

// "Ошибка аутентификации при доступе Адресу"
ОписаниеОшибки = ОписаниеОшибки();
Если Найти(ОписаниеОшибки, Адрес) > 0 И НЕ Найти(ОписаниеОшибки, "не обнаружен") Тогда

ЗаписатьПредупреждение("Ошибка при обращении к http://" + Соединение.Сервер + "/" + Адрес + "
|" + ОписаниеОшибки);
Если ВыдаватьСообщения Тогда
ОбщегоНазначения.ПредупреждениеОбОшибке("Неправильно указан код пользователя или пароль.");
КонецЕсли;
Возврат 2;
КонецЕсли;

// Файл не обнаружен
Если Найти(ОписаниеОшибки, "не обнаружен") Тогда
Сообщение = "Ошибка при обращении к http://" + Соединение.Сервер + "/" + Адрес + "
|" + ОписаниеОшибки;
ЗаписатьПредупреждение("Ошибка при обращении к http://" + Соединение.Сервер + "/" + Адрес + "
|" + ОписаниеОшибки);
Если ВыдаватьСообщения Тогда
ОбщегоНазначения.СообщитьОбОшибке(Сообщение);
КонецЕсли;
Возврат 3;
КонецЕсли;

// Ошибка работы с Интернет: a timeout was reached
Сообщение = "Ошибка при обращении к http://" + Соединение.Сервер + "/" + Адрес + "
|" + ОписаниеОшибки;
ЗаписатьПредупреждение(Сообщение);
Если ВыдаватьСообщения Тогда
ОбщегоНазначения.СообщитьОбОшибке(Сообщение);
КонецЕсли;
Возврат 3;

КонецПопытки;

ЗаписатьИнформацию("Файл успешно получен (адрес: http://" + Соединение.Сервер + "/" + Адрес +
"; локальный файл: " + ЛокальныйПуть + ").");
Возврат 0;
КонецФункции
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 10810
 0 
Распечатать
Возможно, вас также заинтересует
10060 (0x0000274C): Попытка установить соединение была безуспешной 0
Установили новый терминальный сервер, на нем подняли 1С, терминальные пользователе неописуемо довольны, все просто летает :) И вот же надо было такому случиться, главному бухгалтеру не понравилось работать через...
1C и Google Maps 12
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во...
1C медленно работает по сети с базой на SQL Server 8
Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL . Перечислим неоптимальности в настройке: 1) Неправильно указанный сетевой протокол, используемый для...
1C: Enterprise Development Tools 35
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
1Cv8.1CD - Файл данных достиг максимального размера! 3
1С выдает предупреждение " Файл данных достиг максимального размера" . Подскажите из - за чего это и как можно решить ? Превышен размер файла, обычно это сообщение возникает, когда размер файла 1Cv8.1CD приближается к 10...
Посмотреть все результаты поиска похожих
Комментарии
E_Migachev
28.10.2009 22:22Комментарий: 2
E_Migachev
alex_4x, все примеры опробованы мной не один раз, и за их работу я ручаюсь!
Что же касается ПолучитьКаталогФайла, так необходимо задать в поиск и посмотреть результат.
alex_4x
28.10.2009 17:23Комментарий: 1
alex_4x
Мало того что масса функций из Общего модуля, так еще и не определенные вообще функции присутствуют

Процедура или функция с указанным именем не определена (ПолучитьКаталогФайла)
СоздатьКаталог(<<?>>ПолучитьКаталогФайла(ЛокальныйПуть));
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.