Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Чтение txt файла (xml формат)

v7: Чтение txt файла (xml формат)
Я
   Mafiozaa
 
19.02.21 - 08:33
Приветствую, есть текстовый документ, содержимое = xml формату, считываю строки документа, записываю в переменную, в другой процедуре хочу вытянуть переменную с текстом и тут какие то не понятки начинаются

//*******************************************
Перем ТекстXML;
Перем ЧистыйКод;
Перем ПолученнаяСтрока;
Перем ТЗ;

Процедура ПриОткрытии()    
КонецПроцедуры

Процедура Сформировать()
    Текст = СоздатьОбъект("Текст");
    ТЗ = СоздатьОбъект("ТаблицаЗначений");
    Текст.Открыть("C:\Users\Dmitriy\Desktop\xml.txt");
    Для А = 1 По Текст.КоличествоСтрок() Цикл
        НоваяСтрока();
        КодМаркировки = Текст.ПолучитьСтроку(А);
        ЧистыйКод = Сред(КодМаркировки,4,42);
    КонецЦикла;
    ВыгрузитьТабличнуюЧасть(ТЗ);
КонецПроцедуры

Процедура Проверка()
    Сообщить(ЧистыйКод);
    Сообщить(КодМаркировки);
    Сообщить(ТекстXML);
КонецПроцедуры


При данном коде в сообщить вижу вот так
hipment>                                  
<?xml version="1.0" encoding="utf-8"?>                                                            
(пустая)

В цикле тоже самое, что не так?
 
 Партнерская программа EFSOL Oblako
   Mikeware
 
1 - 19.02.21 - 08:36
ДНК
   Guk
 
2 - 19.02.21 - 08:37
да в принципе все не так...
   Mafiozaa
 
3 - 19.02.21 - 08:40
(2) Не догоняю, в цикле пробежался по документу, записал в колонку (весь текст документа) обрезал у каждой строки лишнее, в другой процедуре
Для А = 1 По КоличествоСтрок() Цикл
Сообщить(ЧистыйКод);
КонецЦикла;
Вижу hipment>  = колву строк
   Mikeware
 
4 - 19.02.21 - 08:43
(3) я даже если выпью - не смогу понять, что ты пытался сделать
   Mafiozaa
 
5 - 19.02.21 - 08:44
(4) Ты можешь и не вникать, ибо вся твоя помощь сводится к вызову программиста
   Mikeware
 
6 - 19.02.21 - 08:44
(5) это, конечно, оптимальный вариант
   Bigbro
 
7 - 19.02.21 - 08:49
(5) пока у тебя с кодом все очень плохо чтобы по нему понять что ты хотел сделать.
и с описанием смысла своих действий - ненамного лучше.
поэтому да - телепатия дает сбои.
   Mafiozaa
 
8 - 19.02.21 - 08:51
(6) Вот видишь)))
   acht
 
9 - 19.02.21 - 08:51
(0) Я из кода понял только, что тебя зовут Дмитрием.
   Mafiozaa
 
10 - 19.02.21 - 08:58
(7) Хорошо, попробую еще раз, есть документ, мне нужно его считать что собственно получается, я его считываю и записываю в тз все хорошо
Затем беру записанный текст документа хочу прочитать в цикле, вижу последнюю строку большое колво раз
   Mafiozaa
 
11 - 19.02.21 - 09:03
(7)
//*******************************************

Перем ТекстXML;
Перем ЧистыйКод;
Перем ПолученнаяСтрока;
Перем ТЗ;

Процедура ПриОткрытии()    
КонецПроцедуры

Процедура Сформировать()
    Текст = СоздатьОбъект("Текст");
    ТЗ = СоздатьОбъект("ТаблицаЗначений");
    Текст.Открыть("C:\Users\Dmitriy\Desktop\xml.txt");
    Для А = 1 По Текст.КоличествоСтрок() Цикл
        НоваяСтрока();
        ТекстXML = Текст.ПолучитьСтроку(А);
        ЧистыйКод = Сред(ТекстXML,4,42);
        КодМаркировки = ЧистыйКод;
    КонецЦикла;
    ВыгрузитьТабличнуюЧасть(ТЗ);
КонецПроцедуры

Процедура Проверка()
    Для А = 1 По КоличествоСтрок() Цикл
        Сообщить(КодМаркировки);
    КонецЦикла;
    
КонецПроцедуры


Вижу вот это

ml version="1.0" encoding="utf-8"?>                                                                
ml version="1.0" encoding="utf-8"?>                                                                
ml version="1.0" encoding="utf-8"?>                                                                
ml version="1.0" encoding="utf-8"?>                                                                
ml version="1.0" encoding="utf-8"?>                                                                
ml version="1.0" encoding="utf-8"?>                                                                
ml version="1.0" encoding="utf-8"?>                                                                
ml version="1.0" encoding="utf-8"?>                                                                
ml version="1.0" encoding="utf-8"?>                                                                
ml version="1.0" encoding="utf-8"?>                                                                
ml version="1.0" encoding="utf-8"?>                                                                
ml version="1.0" encoding="utf-8"?>                                                                
ml version="1.0" encoding="utf-8"?>
   Mafiozaa
 
12 - 19.02.21 - 09:04
Я догнал, в переменную у меня залетает строка, а не весь текст, тогда конечно у меня тут все не так)
   Mikeware
 
13 - 19.02.21 - 09:05
(9) не факт. может, у них одна учетка на всех...
(10) пиши по пунктам.
в виде "делаю"(ну, или "хочу сделать")- "вижу".
и поймешь, где ошибка
(11) все так и должно быть. ты текущую строку не меняешь.
   Mafiozaa
 
14 - 19.02.21 - 09:11
(13)
    Для А = 1 По КоличествоСтрок() Цикл
        Сообщить(КодМаркировки);
        А = А + 1;
    КонецЦикла;

Вижу другую строку, но опять же, разве оно не построчно должно считывать без всяких телодвижений с номерамистрок
   hhhh
 
15 - 19.02.21 - 09:14
(8) почему как xml не читаешь? вроде в семерке там были какие-то функции, зачем нужно читать через ж.?
   Mikeware
 
16 - 19.02.21 - 09:14
(14) что значит "построчно считывать"?
если это значит "перебирать строки документа", то с переменной А номер текущй стрроки никак не связан
исподьзуц тогда уж ВыбратьСтроки() - пока ПолучитьСтроку()
   Mikeware
 
17 - 19.02.21 - 09:16
(15) ну, в клюшках либо через внешние объекты, либо как текст.
впрочем, пофиг. можно по-всякому, лишь бы желание было
   Mafiozaa
 
18 - 19.02.21 - 09:17
(17) (15) Вот я олень добрый день, спасибо большое человеческое, зациклился на этом Для По и про другое даже не подумал

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.