Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как записать отчет в Xml файл
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
olsam
Только начинаю работать с 1С. У меня есть задача - мне нужно записать отчет в XML файл, а потом прочитать его из этого файла. Подскажите пожалуйста как это сделать.
kov0404
Уточните вопрос , какой отчет, какая у вас конфа , чем вы собираетесь его читать и зачем все это нужно
olsam
Конфигурация Бухгалтерия предприятия 1.6.23.2. Я получил тестовое задание записать отчет в XML файл, а потом прочитать его из этого файла. Отчет любой, я пробую сделать с отчетом ШахматнаяВедомость. А чем читать я какраз и не знаю
Ardi
Режим = РежимДиалогаВыбораФайла.Сохранение;
    Диалог = Новый ДиалогВыбораФайла(Режим);
    Диалог.Заголовок = "Сохранение";
    Диалог.Фильтр = "XML-файл (*.xml)|*.xml";
    Если Диалог.Выбрать() Тогда
        Запись =Новый ЗаписьXML;
        Запись.ОткрытьФайл(Диалог.ПолноеИмяФайла);
        Запись.ЗаписатьНачалоЭлемента("Строки");
        Для Каждого Стр Из ЭлементыФормы.ТаблицаСинхронизации.Значение Цикл
            Запись.ЗаписатьНачалоЭлемента("Строка");
            Запись.ЗаписатьНачалоЭлемента("Артикул");
            Запись.ЗаписатьТекст(Артикул);        
            Запись.ЗаписатьКонецЭлемента();
            Запись.ЗаписатьНачалоЭлемента("Наименование");
            Запись.ЗаписатьТекст(Наименование);        
            Запись.ЗаписатьКонецЭлемента();
            Запись.ЗаписатьКонецЭлемента();
        КонецЦикла;
        Запись.ЗаписатьКонецЭлемента();
        Запись.Закрыть();
    КонецЕсли;


Процедура КнопкаВыполнитьНажатие(Кнопка)
    // Вставить содержимое обработчика.

    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.ОткрытьФайл("C:\1c_bases\Загрузка\doc3.xml");
    Имя = ЧтениеXML.Имя;
    Массив = Новый Структура(Имя);                                                    
    Пока ЧтениеXML.Прочитать() Цикл                  
        ПолучитьXMLТип(ЧтениеXML);
        Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента  Тогда
        
            //НовыйЭлемент = Справочники.ФизическиеЛица.СоздатьЭлемент();

            Имя = ЧтениеXML.Имя;
            
            Сообщить("Начало " + ЧтениеXML.Имя);
            Пока ЧтениеXML.ПрочитатьАтрибут() Цикл
                Атрибут = ЧтениеXML.Значение;
                Сообщить("атрибут:" + ЧтениеXML.Имя + "=" + ЧтениеXML.Значение);
            КонецЦикла;
        КонецЕсли;
        
        Если ЧтениеXML.ТипУзла = ТипУзлаXML.Текст Тогда
            Массив.Вставить(Имя,ЧтениеXML.Значение);
            //НовыйЭлемент.Код = ЧтениеXML.Значение;

            Сообщить(ЧтениеXML.Значение);
        КонецЕсли;
    
        Если ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
            Если ЧтениеXML.Имя = "ЭлементСправочника" Тогда
            ДобавитьЭлемент(Массив);
            КонецЕсли;
            Сообщить("Конец " + ЧтениеXML.Имя);
        КонецЕсли;
    КонецЦикла;
    КонецПроцедуры
olsam
я не понимаю как работает даный код... как мне получить доступ реквизитам запроса?? как мне прочитать то что выводит отчет??
shurik_shurik
Так может сначала стоит литературку покурить, узнать какие процедуры и ключевые слова есть, а потом уже браться за тестовые задания?
Сорри за оффтоп.
olsam
так я покур, но видно плохо(
спасибо всем, я уже разобрался
MATEVI
Цитата(olsam @ 05.02.12, 11:27) необходимо зарегистрироваться для просмотра ссылки
так я покурил, но видно плохо(
спасибо всем, я уже разобрался

Для спасибо есть кнопка
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.