Результат = Запрос.Выполнить().Выбрать(); //ВыборкаДетали = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); ИмяФайла = "reestr.xml"; //ИмяФайла = "reestr-" + СокрЛП(ВыборкаДетали.Номер) + "-" + СокрЛП(День [1](ВыборкаДетали.Дата)) + "_" + СокрЛП(Месяц(ВыборкаДетали.Дата)) + "_" + СокрЛП(Год(ВыборкаДетали.Дата)) + ".xml"; ИмяФайла = ПутьКФайлу+"\"+ИмяФайла; ОбъектXML = Новый ЗаписьXML; ОбъектXML.ОткрытьФайл(ИмяФайла, "windows-1251"); //ОбъектXML.ОткрытьФайл(ИмяФайла); ОбъектXML.ЗаписатьОбъявлениеXML(); //ВыборкаДетали = Запрос(НачалоПериода, КонецПериода, Контрагент); НомерФайла = 1; ОбъектXML.ЗаписатьНачалоЭлемента("Reestr"); Пока Результат.Следующий() Цикл ОбъектXML.ЗаписатьНачалоЭлемента("Document"); НомерСФ = Число(Сред(Результат.Номер, 4, 8)); Если НомерСФ 10 Тогда Номерсф1 = Сред(Результат.Номер, 11, 1); ИначеЕсли НомерСФ 100 Тогда Номерсф1 = Сред(Результат.Номер, 10, 2); ИначеЕсли НомерСФ 1000 Тогда Номерсф1 = Сред(Результат.Номер, 9, 3); ИначеЕсли НомерСФ 10000 Тогда Номерсф1 = Сред(Результат.Номер, 8, 4); ИначеЕсли НомерСФ 100000 Тогда Номерсф1 = Сред(Результат.Номер, 7, 5); ИначеЕсли НомерСФ 1000000 Тогда Номерсф1 = Сред(Результат.Номер, 6, 6); ИначеЕсли НомерСФ 10000000 Тогда Номерсф1 = Сред(Результат.Номер, 5, 7); Иначе Номерсф1 = Сред(Результат.Номер, 4, 8); КонецЕсли; хмл_ЗаписатьЭлемент(ОбъектXML,"NumDoc", Номерсф1); хмл_ЗаписатьЭлемент(ОбъектXML,"DateDoc",СокрЛП(Результат.Дата)); хмл_ЗаписатьЭлемент(ОбъектXML,"NumContract",Результат.Ссылка.ДокументОснование.ДоговорКонтрагента.Номер); хмл_ЗаписатьЭлемент(ОбъектXML,"DateContract",СокрЛП(Результат.Ссылка.ДокументОснование.ДоговорКонтрагента.Дата)); ОбъектXML.ЗаписатьКонецЭлемента(); //ОбъектXML.Закрыть(); НомерФайла = НомерФайла + 1; КонецЦикла; ОбъектXML.ЗаписатьКонецЭлемента(); ОбъектXML.Закрыть();
Ссылки
[1] https://www.mykib.org/budni