• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

Guest

Здравствуйте!Помогите пожалуйста! Как выгрузить данные из табличной части документа в 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>
 
U

unknown181538

ВыгрузитьКолонки("Проблема") вернет что-нибудь вроде списка значения. Как вы это в строку хотите преобразовывать?
 
U

unknown181538

:rolleyes:
Обходите ТЗ по строкам и колонкам, и пишите по одному значению. Или надо, чтобы вся колонка была целой строкой?
 
G

Guest

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

Дайнеко

В ответ на подобные вопросы я говорю: "А давайте начнем с конца". Какой структуры XML нужен? Куда он пойдет? Пишется под конкретную загрузку? Или так, для баловства. Вот смущает меня ощущение неясности цели.
 
G

Guest

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

Guest

Выборка = Документы.Данные.Выбрать();
 
U

unknown181538

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

puh14

лучше сразу написать через обход метаданных - будет универсально, и для любого документа сгодится.
 
G

Guest

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

Guest

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

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

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

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

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

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

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

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

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


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

unknown181538

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

Guest

сообщения выходят правильно..а как в xml это записать..
 
U

unknown181538

Ээ... а :facepalm:
Придумать никак не получается?
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!