Как выгрузить данные из табличной части документа

  • Автор темы -
  • Дата начала
Статус
Закрыто для дальнейших ответов.

Гость
#1
Здравствуйте!Помогите пожалуйста! Как выгрузить данные из табличной части документа в XML?Заранее спасибо)

вот код:
Запись.ЗаписатьАтрибут("Raion", Строка(Выборка.Заражения.ВыгрузитьКолонки("Район")));
//и т.д. устанавливаем всем атрибутам значения всех реквизитов документа Данные
Запись.ЗаписатьАтрибут("Problem", Строка(Выборка.Заражения.ВыгрузитьКолонки("Проблема")));
Запись.ЗаписатьАтрибут("Kol", Строка(Выборка.Заражения.ВыгрузитьКолонки("Количество")));
Запись.ЗаписатьКонецЭлемента();



а в XML получается:
<Kornevoi>
<Element Number="000000002" Raion="ТаблицаЗначений" Problem="ТаблицаЗначений" Kol="ТаблицаЗначений"/>
<Element Number="000000003" Raion="ТаблицаЗначений" Problem="ТаблицаЗначений" Kol="ТаблицаЗначений"/>
<Element Number="000000004" Raion="ТаблицаЗначений" Problem="ТаблицаЗначений" Kol="ТаблицаЗначений"/>
</Kornevoi>
 

unknown181538

НеГуру
28.12.2008
1 417
0
#2
ВыгрузитьКолонки("Проблема") вернет что-нибудь вроде списка значения. Как вы это в строку хотите преобразовывать?
 

unknown181538

НеГуру
28.12.2008
1 417
0
#4
:rolleyes:
Обходите ТЗ по строкам и колонкам, и пишите по одному значению. Или надо, чтобы вся колонка была целой строкой?
 

Гость
#5
Надо,чтобы было так <Element Number="000000002" Raion="ТаблицаЗначений" Problem="ТаблицаЗначений" Kol="ТаблицаЗначений"/> только вместо ТаблицаЗначений данные))))
А как обойти ТЗ по строкам и колонкам ;) ?)
 

Дайнеко

Well-Known Member
19.11.2009
951
0
#7
В ответ на подобные вопросы я говорю: "А давайте начнем с конца". Какой структуры XML нужен? Куда он пойдет? Пишется под конкретную загрузку? Или так, для баловства. Вот смущает меня ощущение неясности цели.
 

Гость
#8
Данные нужны для сайта...в xml хранятся данные о районах и заболеваниях..на сайте будет карта,поделенная на районы с болезнями..
 

unknown181538

НеГуру
28.12.2008
1 417
0
#11
Обход ТЧ:
Код:
Для каждого тек из Выборка.Заражения Цикл
Сообщить(Тек.РАйон);
Сообщить(Тек.Проблема);
...
КонеццИкла;
 

puh14

Well-Known Member
11.07.2008
1 412
0
#12
лучше сразу написать через обход метаданных - будет универсально, и для любого документа сгодится.
 

Гость
#13
Пишет,что: Итератор для значения не определен
Для каждого Тек из Выборка.Заражения Цикл
 

Гость
#15
Процедура ЭкспортНажатие(Элемент)

Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("C:\1\doc.xml","windows-1251");
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьНачалоЭлемента("Kornevoi");

//Выбираем документ Запись
Выборка = Документы.Данные.Выбрать();

Для каждого Тек из Выборка.Заражения Цикл
Сообщить(Тек.Район);
Сообщить(Тек.Проблема);
Сообщить(Тек.Количество);
КонеццИкла;

//Через цикл перебираем все его данные
Пока Выборка.Следующий() Цикл
//Реквизиты документа будут атрибутами соответствующих //элементов в xml-файле
//Создаем элемент "Element"
Запись.ЗаписатьНачалоЭлемента("Element");
//Установим элементу "Element" атрибут "Number" со значением //реквизита Номер из документа Запись
Запись.ЗаписатьАтрибут("Number", Строка(Выборка.Номер));

//Установим атрибут " Raion " со значением
//реквизита Район из документа Запись

// Запись.ЗаписатьАтрибут("zar", Строка(Выборка.Заражения.Выгрузить()));

Запись.ЗаписатьАтрибут("Raion", Строка(Выборка.Заражения.ВыгрузитьКолонки("Район")));
//и т.д. устанавливаем всем атрибутам значения всех реквизитов документа Данные
Запись.ЗаписатьАтрибут("Problem", Строка(Выборка.Заражения.ВыгрузитьКолонки("Проблема")));
Запись.ЗаписатьАтрибут("Kol", Строка(Выборка.Заражения.ВыгрузитьКолонки("Количество")));
Запись.ЗаписатьКонецЭлемента();
КонецЦикла;

Запись.ЗаписатьКонецЭлемента();
Запись.Закрыть();


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

unknown181538

НеГуру
28.12.2008
1 417
0
#16
ГЫ)
Для каждого Тек из Выборка.Заражения Цикл
Сообщить(Тек.Район);
Сообщить(Тек.Проблема);
Сообщить(Тек.Количество);
КонеццИкла;
Вот это запихиваем сюда:
Пока Выборка.Следующий() Цикл
...
КонецЦикла;
внутрь цикла.
 

Гость
#17
сообщения выходят правильно..а как в xml это записать..
 
Статус
Закрыто для дальнейших ответов.