Имя: Пароль:
1C
1C 7.7
v7: Чтение txt файла (xml формат)
0 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"?>                                                            
(пустая)

В цикле тоже самое, что не так?
1 Mikeware
 
19.02.21
08:36
ДНК
2 Guk
 
19.02.21
08:37
да в принципе все не так...
3 Mafiozaa
 
19.02.21
08:40
(2) Не догоняю, в цикле пробежался по документу, записал в колонку (весь текст документа) обрезал у каждой строки лишнее, в другой процедуре

Для А = 1 По КоличествоСтрок() Цикл
Сообщить(ЧистыйКод);
КонецЦикла;
Вижу hipment>  = колву строк
4 Mikeware
 
19.02.21
08:43
(3) я даже если выпью - не смогу понять, что ты пытался сделать
5 Mafiozaa
 
19.02.21
08:44
(4) Ты можешь и не вникать, ибо вся твоя помощь сводится к вызову программиста
6 Mikeware
 
19.02.21
08:44
(5) это, конечно, оптимальный вариант
7 Bigbro
 
19.02.21
08:49
(5) пока у тебя с кодом все очень плохо чтобы по нему понять что ты хотел сделать.
и с описанием смысла своих действий - ненамного лучше.
поэтому да - телепатия дает сбои.
8 Mafiozaa
 
19.02.21
08:51
(6) Вот видишь)))
9 acht
 
19.02.21
08:51
(0) Я из кода понял только, что тебя зовут Дмитрием.
10 Mafiozaa
 
19.02.21
08:58
(7) Хорошо, попробую еще раз, есть документ, мне нужно его считать что собственно получается, я его считываю и записываю в тз все хорошо
Затем беру записанный текст документа хочу прочитать в цикле, вижу последнюю строку большое колво раз
11 Mafiozaa
 
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"?>
12 Mafiozaa
 
19.02.21
09:04
Я догнал, в переменную у меня залетает строка, а не весь текст, тогда конечно у меня тут все не так)
13 Mikeware
 
19.02.21
09:05
(9) не факт. может, у них одна учетка на всех...
(10) пиши по пунктам.
в виде "делаю"(ну, или "хочу сделать")- "вижу".
и поймешь, где ошибка
(11) все так и должно быть. ты текущую строку не меняешь.
14 Mafiozaa
 
19.02.21
09:11
(13)
    Для А = 1 По КоличествоСтрок() Цикл
        Сообщить(КодМаркировки);
        А = А + 1;
    КонецЦикла;

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