gifts2017

Загрузка данных из файла (упр. приложение)

Опубликовал Анатолий Ситников (acsent) в раздел Программирование - Практика программирования

Пример обработки загрузки данных на управляемой форме.
С определение необходимости передачи файла на сервер

 

&НаКлиенте
Процедура ИмяФайлаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

   
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
   
Диалог.Фильтр = "*.xml|*.xml";
    Если
Диалог.Выбрать() Тогда
       
Объект.ИмяФайла = Диалог.ПолноеИмяФайла;
    КонецЕсли;

КонецПроцедуры

&НаКлиенте
Процедура ИмяФайлаОткрытие(Элемент, СтандартнаяОбработка)

   
СтандартнаяОбработка = Ложь;
   
ЗапуститьПриложение(Объект.ИмяФайла);

КонецПроцедуры

&НаКлиенте
Процедура Загрузить(Команда)

   
СтрокаСоединения = СтрокаСоединенияИнформационнойБазы();

   
ws = НСтр(СтрокаСоединения, "ws");
   
ИмяСервера = НСтр(СтрокаСоединения, "Srvr");
    Если
ИмяСервера = "" Тогда
        Если
ws = "" Тогда
           
ПередачаФайлаНаСервер = Ложь;
        Иначе
           
ПередачаФайлаНаСервер = Истина;
        КонецЕсли;
    Иначе
       
ПередачаФайлаНаСервер = (ИмяКомпьютера() <> ИмяСервера);
    КонецЕсли;

    Если
ПередачаФайлаНаСервер Тогда
       
ПоместитьФайл(АдресХранилища, Объект.ИмяФайла,, Ложь, УникальныйИдентификатор);
    КонецЕсли;

   
ЗагрузитьСервер();

КонецПроцедуры

&НаСервере
Процедура ЗагрузитьСервер()

   
ЧтениеXML = Новый ЧтениеXML;

    Если
ПередачаФайлаНаСервер Тогда

       
ИмяВременногоФайла = ПолучитьИмяВременногоФайла("xml");

       
ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресХранилища);
       
ДвоичныеДанные.Записать(ИмяВременногоФайла);

       
ЧтениеXML.ОткрытьФайл(ИмяВременногоФайла);

    Иначе

       
ЧтениеXML.ОткрытьФайл(Объект.ИмяФайла);

    КонецЕсли;

   
ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML);
   
ЧтениеXML.Закрыть();

   
/// Код загрузки

   
Сообщить("Загрузка завершена");

КонецПроцедуры

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
ПримерЗагрузки.epf
.epf 6,37Kb
29.09.10
116
.epf 6,37Kb 116 Скачать

См. также

Contragent+ 5.0 от 2 500
Подписаться Добавить вознаграждение

Комментарии

1. Vadim A (avavadim) 16.10.11 21:50
2. sumixam (sumixam) 27.10.11 12:44
3. Стас Р (grfsd) 03.12.11 17:59
Спасибо, пригодилась для понимания некоторых вещей программирования.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа