Имя: Пароль:
1C
 
Чтение любого XML файла
,
0 LuckyCode
 
naïve
04.09.24
12:22
Можно ли сделать автоматическое чтение любого формата XML формата? В инете только по полям выводят, не мог найти (или плохо искал). Можете посветить новичка.
1 Волшебник
 
04.09.24
12:23
Браузер умеет
Notepad++
2 maxab72
 
04.09.24
12:25
Достаточно прочитать, или еще надо чтоб 1с поняла прочитанное?
3 Волшебник
 
04.09.24
12:26
(2) Как можно понять любое?
4 LuckyCode
 
naïve
04.09.24
12:30
Хотелось бы обойтись без интеграции. Нужно прочитать XML файл в форме вывести как табличный документ.
5 Волшебник
 
04.09.24
12:31
(4) Может не нужно? Кому нужно? Докажите, что нужно
6 LuckyCode
 
naïve
04.09.24
12:32
(3) Любое имею виду. Чтение любую таблицу без ввода наименовании полей в коде.
7 Волшебник
 
04.09.24
12:33
(6) Перестаньте нести бред
8 mikecool
 
04.09.24
12:34
(6) разрешаю, делай
9 d4rkmesa
 
04.09.24
12:36
(0) Есть много способов поместить xml в дерево значений или таблицу значений (навскидку https://infostart.ru/1c/articles/196890/
https://fastcode.im/Templates/BspDetails/obshhijmodul-obshhegonaznacheniya-prochitatxmlvtabliczu/prochitat-xml-tabliczu
). Как ТЗ или ДЗ в табличный документ вывести, найти еще проще.
10 maxab72
 
04.09.24
12:44
(6) А если в XML не таблица?
11 LuckyCode
 
naïve
04.09.24
12:52
(7) Не думаю что это бред. Думаю это хороший способ чтение XML формата. Например, чтобы читать пишу:

ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ПутьКФайлу);
ИмяТекущегоУзла = "";
Пока ЧтениеXML.Прочитать() Цикл
Если ЧтениеXML.Имя = "Nomenclatura" И ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
НоваяСтрока = ЗагруженныеДанные.Добавить();
Продолжить;  
ИначеЕсли ЧтениеXML.Имя = "Name" И ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
ИмяТекущегоУзла = "Name";
Продолжить;
ИначеЕсли ЧтениеXML.Имя = "Artikul" И ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
ИмяТекущегоУзла = "Artikul";
Продолжить;
ИначеЕсли ЧтениеXML.Имя = "Child" И ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
ИмяТекущегоУзла = "Child";
Продолжить;
ИначеЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.Текст Тогда
Если ИмяТекущегоУзла = "Name" Тогда
                    НоваяСтрока.Наименование = ЧтениеXML.Значение;
ИначеЕсли ИмяТекущегоУзла = "Artikul" Тогда
НоваяСтрока.Артикул = ЧтениеXML.Значение;
ИначеЕсли ИмяТекущегоУзла = "Child" Тогда
НоваяСтрока.Родитель = ЧтениеXML.Значение;    
Продолжить;
КонецЕсли;
КонецЕсли;
КонецЦикла;

Указывая узлы конкретному xml файла. Чтобы читать другие, то нужно менять узлы.
12 LuckyCode
 
naïve
04.09.24
12:53
(11) Есть и тексты не только таблицы.
13 LuckyCode
 
naïve
04.09.24
12:54
(9) Спасибо, посмотрю.
14 sikuda
 
04.09.24
13:11
(0)
1. Первый метод – простое последовательное чтение XML.
2. Второй метод – получение из XML файла документа DOM и последовательный перебор всех узлов полученного документа
3.Третий метод подобен второму, но вместо последовательного перебора узлов применен отбор требуемых узлов в DOM документе  с помощью  выражений XPath .
4.Четвертый метод использует метод  ПрочитатьXML глобальной ФабрикиXDTO.
B т.д.
типа https://infostart.ru/1c/tools/311011/

В Классике
1. Загрузка всего в память и разбор - редко при большом объеме
2. Реакция на события внутри XML НачалоУзла, Значение, КонецУзла...
15 Волшебник
 
модератор
04.09.24
12:58
(11) где лесенка программного кода, тупой бот?!

Я сожгу всех ботов, которые пишут программный код без лесенки!
16 LuckyCode
 
naïve
04.09.24
13:02
(15) Извините, Я тут новый, привыкаю
17 Волшебник
 
04.09.24
13:02
(16) Ок
18 arsik
 
гуру
04.09.24
14:16
(15) Ты за пробелы или табуляцию?
19 Волшебник
 
04.09.24
14:22
(18) пофиг
20 Волшебник
 
04.09.24
14:22
Лесенка означает сознание и владение программным кодом.
21 Волшебник
 
04.09.24
14:25
Лесенка задаёт структуру вложенности. Именно так работает мозг человека и любая нейронка. Мы вкладываем смысл внутрь токена. Так растут колонки неокортекса.
22 Волшебник
 
04.09.24
14:25
Поэтому в Python лесенка обязательна
23 arsik
 
гуру
04.09.24
14:31
Ябаать. Ты гребаный будда ИТ.
24 maxab72
 
04.09.24
14:49
Только КуБасик! Только нумерация строк!
25 Волшебник
 
04.09.24
14:50
Жжоте, товарищи!🔥
26 craxx
 
04.09.24
15:03
(21) Согласен, когда смотришь какие-то доработки с неотформатированным говнокодом, хочется найти автора и пристрелить. Ctrl+A и Alt+Shift+F, чего уж проще-то.
27 Волшебник
 
04.09.24
15:08
(26) Главнее смысл, конечно
28 PLUT
 
04.09.24
15:23
(26) 1С умеет код в одну строку и магия Alt+Shift+F не сработает

Преобразование текста модуля в одну строку
29 craxx
 
04.09.24
15:24
(28) но я не про этот случай.
Тем более жестокая участь уготована
30 PLUT
 
04.09.24
15:34
(29) один любитель прекрасного красивого кода из очень известного франча делал доработку по проекту и причесал код по феншую - не поленился все тексты общих модулей + кастомный код (Розница 2.0)

Ctrl+A и Alt+Shift+F и лишние пробелы между строками

красота :)

пришлось объяснять, что так делать не нужно :)

еще бывают любители дерево метаданных сортировать в пофигурации

пофигурация была на поддержке с возможностью внесения изменений...
31 H A D G E H O G s
 
04.09.24
15:42
(30) "любители дерево метаданных сортировать в пофигурации".
Это называется "1С Совместимо" и без этого шильдик не получишь.
Программист всегда исправляет последнюю ошибку.