|
выгрузка данных в xml | ☑ | ||
---|---|---|---|---|
0
falselight
31.05.19
✎
08:13
|
Решил сделать и разобрать пример выгрузки в xml.
Если есть таблица на форме. Как правильно её выгрузить в xml. Какие обязательные конструкции? |
|||
1
Василий Алибабаевич
31.05.19
✎
08:18
|
(0) Вот это обязательно:
ЗаписьXML = Новый ЗаписьXML; ЗЫ. И не нужно благодарности. ))) |
|||
2
ildary
31.05.19
✎
08:38
|
(1) ну это уже полдела, осталось только записать.
|
|||
3
d4rkmesa
31.05.19
✎
08:41
|
Знакомый админ изучает 1С, надо его приколоть, как можно зайти в профессию и оставаться в ней. =)
|
|||
4
Сияющий в темноте
31.05.19
✎
08:47
|
5А что мы получаем на выходе?
например,в таблице элемент справочника,мы в файл будем писать ссылку на него или все поля элемента? |
|||
5
falselight
31.05.19
✎
08:58
|
Вот пример
ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.ОткрытьФайл("d:\Temp\Test.XML", "UTF-8"); ЗаписьXML.ЗаписатьОбъявлениеXML(); ЗаписьXML.ЗаписатьНачалоЭлемента("Организации"); Выборка = Справочники.Организации.Выбрать(); Пока Выборка.Следующий() Цикл ЗаписьXML.ЗаписатьНачалоЭлемента("Организация"); ЗаписьXML.ЗаписатьАтрибут("Код",Строка(Выборка.Код)); ЗаписьXML.ЗаписатьАтрибут("Наименование",Строка(Выборка.Наименование)); ЗаписьXML.ЗаписатьКонецЭлемента(); КонецЦикла; ЗаписьXML.ЗаписатьКонецЭлемента(); Между Пока - Цикл КонецЦикла Можно заключать любые атрибуты? Что все же будет обязательное? И необходимое???? Вроде как там используются углубленные структуры? Хотелось бы подробностей. |
|||
6
sqr4
31.05.19
✎
09:21
|
(5) Это все)
|
|||
7
ДенисЧ
31.05.19
✎
09:45
|
(5) "Хотелось бы подробностей"
Хочешь я научу тебя великому искусству доставания чистого листа бумаги формата А4 и написанию на нём букв на русском языке? |
|||
8
falselight
31.05.19
✎
09:49
|
(7) Для чего это?
|
|||
9
falselight
31.05.19
✎
09:49
|
(?+) Я про xml !
|
|||
10
ДенисЧ
31.05.19
✎
09:49
|
(8) Тебе оно пригодится в жизни, однозначно...
|
|||
11
falselight
31.05.19
✎
09:51
|
(10) Ну давай, послушаю тебя. Выскажись.
|
|||
12
falselight
31.05.19
✎
13:00
|
Вот эта выгрузка уходит далеко в право.
Как правильно нужно? // &НаСервере Процедура ВыгрузитьНаСервереВXML() ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.ОткрытьФайл(ПутьКФайлуВыгрузки, "UTF-8"); ЗаписьXML.ЗаписатьОбъявлениеXML(); ТЗсФормы = ТЗДляВыгрузки.Выгрузить(); Для каждого СтрТЗ Из ТЗсФормы Цикл // Для каждого СтрТзКолонка Из ТЗсФормы.Колонки Цикл ЗаписьXML.ЗаписатьНачалоЭлемента(СтрТзКолонка.Имя); ЗаписьXML.ЗаписатьНачалоЭлемента(СтрТзКолонка.Имя); ЗаписьXML.ЗаписатьАтрибут(СтрТзКолонка.Имя, СТРОКА(СтрТЗ[СтрТзКолонка.Имя])); ЗаписьXML.ЗаписатьКонецЭлемента(); КонецЦикла; КонецЦикла; // ЗаписьXML.ЗаписатьКонецЭлемента(); КонецПроцедуры // |
|||
13
catena
31.05.19
✎
13:08
|
(12)Ты считаешь, что ЗаписьXML тупой и ему надо по два раза повторять?
|
|||
14
falselight
31.05.19
✎
13:10
|
(13) Опечатка.
Попробовал вот так, но пишет ошибку, - Ошибочный порядок записи XML // &НаСервере Процедура ВыгрузитьНаСервереВXML() ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.ОткрытьФайл(ПутьКФайлуВыгрузки, "UTF-8"); ЗаписьXML.ЗаписатьОбъявлениеXML(); ТЗсФормы = ТЗДляВыгрузки.Выгрузить(); Для каждого СтрТЗ Из ТЗсФормы Цикл // ЗаписьXML.ЗаписатьНачалоЭлемента("НомерСтроки"); ЗаписьXML.ЗаписатьАтрибут("НомерСтроки", СТРОКА(СтрТЗ.НомерСтроки)); Для каждого СтрТзКолонка Из ТЗсФормы.Колонки Цикл Если СтрТзКолонка.Имя = "НомерСтроки" Тогда ЗаписьXML.ЗаписатьНачалоЭлемента(СтрТзКолонка.Имя); ЗаписьXML.ЗаписатьАтрибут(СтрТзКолонка.Имя, СТРОКА(СтрТЗ[СтрТзКолонка.Имя])); ЗаписьXML.ЗаписатьКонецЭлемента(); КонецЕсли; КонецЦикла; ЗаписьXML.ЗаписатьКонецЭлемента(); КонецЦикла; // ЗаписьXML.ЗаписатьКонецЭлемента(); КонецПроцедуры // |
|||
15
catena
31.05.19
✎
13:11
|
Теперь два начала и три конца.
|
|||
16
Здравый_смысл
31.05.19
✎
13:17
|
(13) Ржу чот :)
(14) Убери это: ЗаписьXML.ЗаписатьКонецЭлемента(); в конце процедуры. |
|||
17
falselight
31.05.19
✎
13:17
|
Идет вот эта ошибка не пойму в чем дело.
{ВнешняяОбработка.ОбработкаВыгрузки.Форма.Форма.Форма(331)}: Ошибка при вызове метода контекста (ЗаписатьНачалоЭлемента) ЗаписьXML.ЗаписатьНачалоЭлемента(СтрТзКолонка.Имя); по причине: Ошибочный порядок записи XML // &НаСервере Процедура ВыгрузитьНаСервереВXML() ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.ОткрытьФайл(ПутьКФайлуВыгрузки, "UTF-8"); ЗаписьXML.ЗаписатьОбъявлениеXML(); ТЗсФормы = ТЗДляВыгрузки.Выгрузить(); Для каждого СтрТЗ Из ТЗсФормы Цикл // //ЗаписьXML.ЗаписатьНачалоЭлемента("НомерСтроки"); //ЗаписьXML.ЗаписатьАтрибут("НомерСтроки", СТРОКА(СтрТЗ.НомерСтроки)); Для каждого СтрТзКолонка Из ТЗсФормы.Колонки Цикл Если СтрТзКолонка.Имя = "НомерСтроки" Тогда Продолжить; КонецЕсли; ЗаписьXML.ЗаписатьНачалоЭлемента(СтрТзКолонка.Имя); ЗаписьXML.ЗаписатьАтрибут(СтрТзКолонка.Имя, СТРОКА(СтрТЗ[СтрТзКолонка.Имя])); ЗаписьXML.ЗаписатьКонецЭлемента(); КонецЦикла; //ЗаписьXML.ЗаписатьКонецЭлемента(); КонецЦикла; // ЗаписьXML.ЗаписатьКонецЭлемента(); КонецПроцедуры // |
|||
18
falselight
31.05.19
✎
13:28
|
//
&НаСервере Процедура ВыгрузитьНаСервереВXML() ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.ОткрытьФайл(ПутьКФайлуВыгрузки, "UTF-8"); ЗаписьXML.ЗаписатьОбъявлениеXML(); ТЗсФормы = ТЗДляВыгрузки.Выгрузить(); Для каждого СтрТЗ Из ТЗсФормы Цикл // //ЗаписьXML.ЗаписатьНачалоЭлемента("НомерСтроки"); //ЗаписьXML.ЗаписатьАтрибут("НомерСтроки", СТРОКА(СтрТЗ.НомерСтроки)); Для каждого СтрТзКолонка Из ТЗсФормы.Колонки Цикл Если СтрТзКолонка.Имя = "НомерСтроки" Тогда Продолжить; КонецЕсли; ЗаписьXML.ЗаписатьНачалоЭлемента(СтрТзКолонка.Имя); ЗаписьXML.ЗаписатьАтрибут(СтрТзКолонка.Имя, СТРОКА(СтрТЗ[СтрТзКолонка.Имя])); ЗаписьXML.ЗаписатьКонецЭлемента(); КонецЦикла; //ЗаписьXML.ЗаписатьКонецЭлемента(); КонецЦикла; // КонецПроцедуры // |
|||
19
falselight
01.06.19
✎
08:20
|
Почему на этой строке ошибка?
ЗаписьXML.ЗаписатьНачалоЭлемента(СтрТзКолонка.Имя); |
|||
20
hhhh
01.06.19
✎
09:52
|
(19) ЗаписьXML.ЗаписатьНачалоЭлемента(СтрТзКолонка.Имя);
ЗаписьXML.ЗаписатьТекст(СТРОКА(СтрТЗ[СтрТзКолонка.Имя])); ЗаписьXML.ЗаписатьКонецЭлемента(); не благодари |
|||
21
dmpl
01.06.19
✎
13:15
|
(5) Открой для себя СериализаторXDTO :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |