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

Тема в разделе "1C и всё что с ней связано", создана пользователем -, 16 дек 2010.

Статус темы:
Закрыта.
  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>
     
  2. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    ВыгрузитьКолонки("Проблема") вернет что-нибудь вроде списка значения. Как вы это в строку хотите преобразовывать?
     
  3. Гость

    не знаю)
     
  4. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    :rolleyes:
    Обходите ТЗ по строкам и колонкам, и пишите по одному значению. Или надо, чтобы вся колонка была целой строкой?
     
  5. Гость

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

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    что значит "данные"?? Одной строкой? Тогда используйте ЗначениеВСтроку() или составляйте строку....
    ;)
     
  7. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    В ответ на подобные вопросы я говорю: "А давайте начнем с конца". Какой структуры XML нужен? Куда он пойдет? Пишется под конкретную загрузку? Или так, для баловства. Вот смущает меня ощущение неясности цели.
     
  8. Гость

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

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    А что такое "Выборка"?
     
  10. Гость

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

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Обход ТЧ:
    Код ( (Unknown Language)):
    Для каждого тек из Выборка.Заражения Цикл
    Сообщить(Тек.РАйон);
    Сообщить(Тек.Проблема);
    ...
    КонеццИкла;
     
  12. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    лучше сразу написать через обход метаданных - будет универсально, и для любого документа сгодится.
     
  13. Гость

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

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Киньте весь код.
     
  15. Гость

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

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

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

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

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

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

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

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

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


    КонецПроцедуры
     
  16. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    ГЫ)
    Вот это запихиваем сюда:
    внутрь цикла.
     
  17. Гость

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

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Ээ... а :facepalm:
    Придумать никак не получается?
     
  19. Гость

    неа((
     
  20. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Вы меня расстроили.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей