Имя: Пароль:
1C
1С v8
Прочитать XML из файла который находится на клиенте.
,
0 progaoff
 
01.02.18
17:01
Добрый день, помогите проблему решить, файл находится на клиенте, база серверная, xml файл нельзя помещать на сервер. Как быть?
1 SanGvin
 
01.02.18
17:02
>>xml файл нельзя помещать на сервер.
ну так смените расширение а парсите все равно как xml
2 drcrasher
 
01.02.18
17:03
да. как джпг например
3 progaoff
 
01.02.18
17:04
(1) да на сервере то в принципе никакой файл не видно с клиента. Я не могу передать файл с клиента на сервер. Не пойму как.
4 dezss
 
01.02.18
17:05
(3) xml - это строка...
прочитай его на клиенте и передай строку на сервер.
5 progaoff
 
01.02.18
17:12
(4) Как)
6 dezss
 
01.02.18
17:13
Да и вообще:

ЧтениеXML (XMLReader)
ОткрытьФайл (OpenFile)
Синтаксис:

ОткрытьФайл(<ИмяФайлаXML>, <Параметры>, <НаборСхемXML>, <Кодировка>)
Параметры:

<ИмяФайлаXML> (обязательный)

Тип: Строка.
Имя файла, содержащего текст XML.
<Параметры> (необязательный)

Тип: ПараметрыЧтенияXML.
Параметры чтения, которые будут использоваться при чтении данных XML.
<НаборСхемXML> (необязательный)

Тип: НаборСхемXML.
Набор схем XML, используемых при проверки читаемого документа XML.
Если набор схем указан, но не проверен и включена проверка документа XML, то будет выполнена проверка набора схем.
<Кодировка> (необязательный)

Тип: Строка.
Позволяет задать кодировку входного файла. Следует указывать для файлов в кодировках:

Описание:

Открывает XML-файл для чтения данным объектом. Если перед вызовом данного метода уже производилось чтение XML из другого файла или строки, то чтение прекращается и объект инициализируется для чтения из указанного файла.

Доступность:

Тонкий клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Пример:

ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл("c:/docs/data.xml");

А его уже передавай на сервер.
7 dezss
 
01.02.18
17:15
(5) блин, ты файл не можешь прочитать?
8 progaoff
 
01.02.18
17:16
ДиалогВыбора = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);

    ДиалогВыбора.Фильтр     = "Файл данных (*.xml)|*.xml";
    ДиалогВыбора.Расширение = "xml";
    
    ДиалогВыбора.Заголовок ="Выберите файлы для загрузки";

    ДиалогВыбора.ПредварительныйПросмотр     = Ложь;
    ДиалогВыбора.ИндексФильтра               = 0;
    ДиалогВыбора.ПолноеИмяФайла              = ИмяФайла;
    ДиалогВыбора.ПроверятьСуществованиеФайла = Ложь;
    ДиалогВыбора.МножественныйВыбор          = Ложь;
    Если ДиалогВыбора.Выбрать() Тогда
        
        ИмяФайла = ДиалогВыбора.ПолноеИмяФайла;
            
    КонецЕсли;
9 dezss
 
01.02.18
17:17
Если ДиалогВыбора.Выбрать() Тогда
        ИмяФайла = ДиалогВыбора.ПолноеИмяФайла;
        ЧтениеXML = Новый ЧтениеXML;
        ЧтениеXML.ОткрытьФайл(ИмяФайла);
        ТвояПроцедураНаСервере(ЧтениеXML);
КонецЕсли;
10 progaoff
 
01.02.18
17:24
&НаКлиенте
Процедура  ИмяФайлаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    
    ДиалогВыбора = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);

    ДиалогВыбора.Фильтр     = "Файл данных (*.xml)|*.xml";
    ДиалогВыбора.Расширение = "xml";
    
    ДиалогВыбора.Заголовок ="Выберите файлы для загрузки";

    ДиалогВыбора.ПредварительныйПросмотр     = Ложь;
    ДиалогВыбора.ИндексФильтра               = 0;
    ДиалогВыбора.ПолноеИмяФайла              = ПутьКФайлу;
    ДиалогВыбора.ПроверятьСуществованиеФайла = Ложь;
    ДиалогВыбора.МножественныйВыбор          = Ложь;
    Если ДиалогВыбора.Выбрать() Тогда
        
        ПутьКФайлу = ДиалогВыбора.ПолноеИмяФайла;
        ЧтениеXML = Новый ЧтениеXML;
        ЧтениеXML.ОткрытьФайл(ПутьКФайлу);
        ЗагрузитьНаСервере();    
    КонецЕсли;

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

&НаСервере
Процедура ЗагрузитьНаСервере()
    НаборЗаписей =  РегистрыСведений.ИТ_СчетчикПокупателей.СоздатьНаборЗаписей();
    НаборЗаписей.Прочитать();
    НоваяЗапись = НаборЗаписей.Добавить();
    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.ОткрытьФайл(ПутьКФайлу);
        Пока ЧтениеXML.Прочитать(ПутьКФайлу) Цикл
            Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
                Имя = ЧтениеXML.Имя;
            КонецЕсли;
11 progaoff
 
01.02.18
17:25
Один хрен файл не найден
12 drcrasher
 
01.02.18
17:27
(10) ну русским по белому написано в (9)
13 dezss
 
01.02.18
17:29
е-мое....почему вас становится так много?
буквально на днях еще один был, спрашивал как параметр в другую процедуру передать...
(10) смотри внимательней!!!! я еще ЧтениеXML на сервер передаю. Файл там обрабатывать не надо, сразу обрабатывай ЧтениеXML!!!!!
14 piter3
 
01.02.18
17:29
передать в процедуру ЧтениеXML религия не позволяет???
15 dezss
 
01.02.18
17:31
Кстати,  ЧтениеXML.Прочитать(ПутьКФайлу) - бред. У этого метода нет параметров.