|
Добавление записей в существующий файл XML в 1с 8 | ☑ | ||
---|---|---|---|---|
0
dainastar
21.01.15
✎
11:47
|
Помогите разобраться. Впервые сталкиваюсь с файлами XML. Необходимо добавлять записи в уже созданный файл, а не перезаписывать их. Сейчас есть код:
Запись = Новый ЗаписьXML; Запись.ОткрытьФайл(ПутьКФайлу, "UTF-8"); Запись.ЗаписатьОбъявлениеXML(); Запись.ЗаписатьНачалоЭлемента("ВыгрузкаНаработки"); Запись.ЗаписатьНачалоЭлемента("ОтчетПроизводстваЗаСмену"); Запись.ЗаписатьАтрибут("Номер", Номер)); Запись.ЗаписатьАтрибут("Дата", Дата); Для Каждого Документ Из СписокДокументов Цикл Запись.ЗаписатьНачалоЭлемента("РабочийЦентр"); Запись.ЗаписатьТекст(Выборка.РабочийЦентрКод); Запись.ЗаписатьКонецЭлемента(); КонецЦикла; Запись.ЗаписатьКонецЭлемента(); Запись.ЗаписатьКонецЭлемента(); Запись.Закрыть(); |
|||
1
Господин ПЖ
21.01.15
✎
11:49
|
что и куда добавлять - телепатов нет
|
|||
2
dainastar
21.01.15
✎
11:53
|
При выгрузке получается файл:
<?xml version="1.0" encoding="UTF-8"?> <ВыгрузкаНаработки> <ОтчетПроизводстваЗаСмену nomer="00000000137" data="19.01.2015"> <РабочийЦентр>000000014</РабочийЦентр> <РабочийЦентр>000000047</РабочийЦентр> <РабочийЦентр>000000029</РабочийЦентр> </ОтчетПроизводстваЗаСмену> </ВыгрузкаНаработки> и при каждой выгрузке документа создается новый файл. А мне нужно, чтобы данные по документу добавлялись в уже существующий файл, т.е. <?xml version="1.0" encoding="UTF-8"?> <ВыгрузкаНаработки> <ОтчетПроизводстваЗаСмену nomer="00000000137" data="19.01.2015"> <РабочийЦентр>000000014</РабочийЦентр> <РабочийЦентр>000000047</РабочийЦентр> <РабочийЦентр>000000029</РабочийЦентр> </ОтчетПроизводстваЗаСмену> <ОтчетПроизводстваЗаСмену nomer="00000000140" data="19.01.2015"> <РабочийЦентр>000000014</РабочийЦентр> <РабочийЦентр>000000047</РабочийЦентр> <РабочийЦентр>000000029</РабочийЦентр> </ОтчетПроизводстваЗаСмену> </ВыгрузкаНаработки> |
|||
3
dainastar
21.01.15
✎
11:53
|
(2) что-то типа того, надеюсь правильно объяснила
|
|||
4
Господин ПЖ
21.01.15
✎
11:55
|
курить DOM
|
|||
5
dainastar
21.01.15
✎
14:45
|
Переделала (только не знаю насколько правильно) на DOM. Но ситуация не изменилась, каждый раз создается новый файл.
XML = Новый ДокументDOM("MyselfNameSpace", "ВыгрузкаНаработки"); элДокумент = XML.СоздатьЭлемент("ОтчетПроизводстваЗаСмену"); элДокумент.УстановитьАтрибут("Номер", Номер); элДокумент.УстановитьАтрибут("Дата",Дата); Для Каждого Документ Из СписокДокументов Цикл элРабЦентр = XML.СоздатьЭлемент("РабочийЦентр"); элРабЦентр.УстановитьАтрибут("Наименование",Наименование); элРабЦентр.УстановитьАтрибут("Код",Код); элРеквизиты = XML.СоздатьЭлемент("Параметры"); элРеквизиты.УстановитьАтрибут("ВремяОстанова",ВремяОстанова); элРеквизиты.УстановитьАтрибут("ВремяПуска",ремяПуска); элРабЦентр.ДобавитьДочерний(элРеквизиты); элДокумент.ДобавитьДочерний(элРабЦентр); КонецЦикла; XML.ЭлементДокумента.ДобавитьДочерний(элДокумент); Файл = Новый ЗаписьXML(); Файл.ОткрытьФайл(ПутьКФайлу,"UTF-8"); ФайлDOM = Новый ЗаписьDOM(); ФайлDOM.Записать(XML,Файл); Файл.Закрыть(); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |