|
Работа с XML запись | ☑ | ||
---|---|---|---|---|
0
Начинающий_13
05.07.16
✎
15:16
|
Здравствуйте
Скажите как избавиться от следующей строки <?xml version="1.0" encoding="windows-1251" ?> ЗаписьXML=Новый ЗаписьXML; ЗаписьXML.ОткрытьФайл(ПутьКФайлу+"invoice-"+СокрЛП(СтрокаТЗ.УНППоставщикаПолучателя)+".xml", "windows-1251"); ЗаписьXML.ЗаписатьОбъявлениеXML(); |
|||
1
Зая Бусечка
05.07.16
✎
15:19
|
А зачем избавляться от строки, котороая положена по стандарту?
|
|||
2
Начинающий_13
05.07.16
✎
15:22
|
Я сравниваю два файла, оба открываю в одной программе. В моем файле есть, во втором нет. Мой файл при загрузке выдает ошибку(ошибка открытия формы) второй нет.Если можно хочу попробовать без этой строки(может скрыть ее.)
|
|||
3
Fragster
гуру
05.07.16
✎
15:23
|
ЗаписьXML.ЗаписатьОбъявлениеXML(); - нафига?
|
|||
4
Зая Бусечка
05.07.16
✎
15:24
|
(2) Выкинь свою "одну программу"
|
|||
5
HardBall
05.07.16
✎
15:24
|
ЗаписьXML.ЗаписатьОбъявлениеXML() = <?xml version="1.0" encoding="windows-1251" ?>
|
|||
6
Начинающий_13
05.07.16
✎
15:25
|
(3) Если без писать файл вообще не формируется
|
|||
7
Димитрий1с
05.07.16
✎
15:25
|
(2) Киньте код. Посмотрим что у Вас там.
|
|||
8
Начинающий_13
05.07.16
✎
15:28
|
Это выгрузка ЭСЧФ Беларусь. Слишком большой. Какую часть.
|
|||
9
Начинающий_13
05.07.16
✎
15:29
|
Сброшу по циклу При формировании файлов
Для каждого СтрокаТЗ Из ТаблицаДокументов Цикл НомерДокументаПоПорядку = НомерДокументаПоПорядку+1; ЗаписьXML=Новый ЗаписьXML; //// УТФ //ЗаписьXML.ОткрытьФайл(ПутьКФайлу+"invoice-"+СокрЛП(СтрокаТЗ.УНППоставщикаПолучателя)+"-"+Формат(Год(ТекущаяДата()),"ЧЦ=4; ЧГ=0")+"-"+Формат(НомерДокументаПоПорядку, "ЧЦ=10; ЧВН=; ЧГ=0")+".xml", "UTF-8"); //// 1261 ЗаписьXML.ОткрытьФайл(ПутьКФайлу+"invoice-"+СокрЛП(СтрокаТЗ.УНППоставщикаПолучателя)+"-"+Формат(Год(ТекущаяДата()),"ЧЦ=4; ЧГ=0")+"-"+Формат(НомерДокументаПоПорядку, "ЧЦ=10; ЧВН=; ЧГ=0")+".xml", "windows-1251"); ЗаписьXML.ЗаписатьОбъявлениеXML(); ЗаписьXML.ЗаписатьНачалоЭлемента("issuance" , "http://www.w3schools.com"); ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("" , "http://www.w3schools.com"); ЗаписьXML.ЗаписатьАтрибут("sender", ДанныеОрганизации.ИНН); //// Данные основные(накладной) general ЗаписьXML.ЗаписатьНачалоЭлемента("general"); //// Начало general ЗаписьXML.ЗаписатьНачалоЭлемента("number"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.НомерЭСЧФ); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("dateIssuance"); ЗаписьXML.ЗаписатьТекст(Формат(ТекущаяДата(), "ДФ=yyyy-MM-dd")); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("dateTransaction"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.ДатаСовершенияОперации); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("documentType"); ЗаписьXML.ЗаписатьТекст(ТипЭСЧФ); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьКонецЭлемента(); //// Конец general //// Данные провайдера provider ЗаписьXML.ЗаписатьНачалоЭлемента("provider"); //// Начало провайдера ЗаписьXML.ЗаписатьНачалоЭлемента("providerStatus"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.ПоставщикСтатус); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("dependentPerson"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.ПоставщикВзаимозависимоеЛицо); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("residentsOfOffshore"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.ПоставщикРезидентОфшорнойЗоны); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("specialDealGoods"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.Поставщик30НК); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("bigCompany"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.ПоставщикКрупныйПлательщик); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("countryCode"); ЗаписьXML.ЗаписатьТекст("112"); ЗаписьXML.ЗаписатьКонецЭлемента(); //// Для док. Реализаци поставщику ДАННЫЕ НАВЕРНОЕ БУДУТ НАШЕЙ ОРГАНИЗАЦИИ ЗаписьXML.ЗаписатьНачалоЭлемента("unp"); ЗаписьXML.ЗаписатьТекст(ДанныеОрганизации.ИНН); //ЗаписьXML.ЗаписатьТекст("ИНН ОРГ"); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("name"); ЗаписьXML.ЗаписатьТекст(ДанныеОрганизации.НаименованиеПолное); //ЗаписьXML.ЗаписатьТекст("Имя ОРГ"); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("address"); ЗаписьXML.ЗаписатьТекст(ДанныеОрганизации.ЮридическийАдрес); //ЗаписьXML.ЗаписатьТекст("ЮР Адрес ОРГ"); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьКонецЭлемента(); //// Конец Провайдера //// Данные Реципиента recipien ЗаписьXML.ЗаписатьНачалоЭлемента("recipien"); //// Начало Реципиента ЗаписьXML.ЗаписатьНачалоЭлемента("recipientStatus"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.ПолучательСтатус); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("dependentPerson"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.ПолучательВзаимозависимоеЛицо); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("residentsOfOffshore"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.ПолучательРезидентОфшорнойЗоны); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("specialDealGoods"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.Получатель30НК); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("bigCompany"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.ПолучательКрупныйПлательщик); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("countryCode"); ЗаписьXML.ЗаписатьТекст("112"); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("unp"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.УНППоставщикаПолучателя); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("name"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.НаименованиеПоставщикаПолучателя); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("address"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.ЮридическийАдресПоставщикаПолучателя); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьКонецЭлемента(); //// Конец Реципиента ////// Данные по товарам ВСЕГО ПО СЧЕТУ rosterList ЗаписьXML.ЗаписатьНачалоЭлемента("roster"); //// Начало roster ЗаписьXML.ЗаписатьАтрибут("totalCostVat" , Формат(СтрокаТЗ.ДокументВсего,"ЧЦ=15; ЧДЦ=2")); ЗаписьXML.ЗаписатьАтрибут("totalExcise" , "0.00"); ЗаписьXML.ЗаписатьАтрибут("totalVat" , Формат(СтрокаТЗ.ДокументНДС,"ЧЦ=15; ЧДЦ=2")); ЗаписьXML.ЗаписатьАтрибут("totalCost" , Формат(СтрокаТЗ.ДокументВсегоБезНДС,"ЧЦ=15; ЧДЦ=2")); Если СтрокаТЗ.СуммаБезНДС>0 и СтрокаТЗ.ВсегоБезНДС>0 Тогда ЗаписьXML.ЗаписатьНачалоЭлемента("rosterItem"); //// Начало rosterItem ЗаписьXML.ЗаписатьНачалоЭлемента("Name"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.НаименованиеТовара); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("summaExcise"); ЗаписьXML.ЗаписатьТекст(".00"); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("vat"); ЗаписьXML.ЗаписатьНачалоЭлемента("rate"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.СтавкаНДСБезНДС); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("rateType"); ЗаписьXML.ЗаписатьТекст("NO_VAT"); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("summaVat"); //ЗаписьXML.ЗаписатьТекст(Формат(СтрокаТЗ.СуммаНДСБезНДС, "ЧЦ=15; ЧДЦ=2")); ЗаписьXML.ЗаписатьТекст(".00"); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьКонецЭлемента(); ////////////////////////////////////////////////////////// ЗаписьXML.ЗаписатьНачалоЭлемента("costVat"); ЗаписьXML.ЗаписатьТекст(Формат(СтрокаТЗ.ВсегоБезНДС, "ЧЦ=15; ЧДЦ=2")); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьКонецЭлемента(); //// Конец rosterItem КонецЕсли; Если СтрокаТЗ.Сумма0>0 и СтрокаТЗ.Всего0>0 Тогда ЗаписьXML.ЗаписатьНачалоЭлемента("rosterItem"); //// Начало rosterItem ЗаписьXML.ЗаписатьНачалоЭлемента("Name"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.НаименованиеТовара); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("summaExcise"); ЗаписьXML.ЗаписатьТекст(".00"); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("vat"); ЗаписьXML.ЗаписатьНачалоЭлемента("rate"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.СтавкаНДС0); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("rateType"); ЗаписьXML.ЗаписатьТекст("ZERO"); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("summaVat"); ЗаписьXML.ЗаписатьТекст(Формат(СтрокаТЗ.СуммаНДС0, "ЧЦ=15; ЧДЦ=2")); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьКонецЭлемента(); ////////////////////////////////////////////////////////// ЗаписьXML.ЗаписатьНачалоЭлемента("costVat"); //ЗаписьXML.ЗаписатьТекст(Формат(СтрокаТЗ.Всего0, "ЧЦ=15; ЧДЦ=2")); ЗаписьXML.ЗаписатьТекст(".00"); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьКонецЭлемента(); //// Конец rosterItem КонецЕсли; Если СтрокаТЗ.СуммаНДС10>0 Тогда ЗаписьXML.ЗаписатьНачалоЭлемента("rosterItem"); //// Начало rosterItem ЗаписьXML.ЗаписатьНачалоЭлемента("Name"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.НаименованиеТовара); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("summaExcise"); ЗаписьXML.ЗаписатьТекст(".00"); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("vat"); ЗаписьXML.ЗаписатьНачалоЭлемента("rate"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.СтавкаНДС10); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("rateType"); ЗаписьXML.ЗаписатьТекст("DECIMAL"); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("summaVat"); ЗаписьXML.ЗаписатьТекст(Формат(СтрокаТЗ.СуммаНДС10, "ЧЦ=15; ЧДЦ=2")); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьКонецЭлемента(); ////////////////////////////////////////////////////////// ЗаписьXML.ЗаписатьНачалоЭлемента("costVat"); ЗаписьXML.ЗаписатьТекст(Формат(СтрокаТЗ.Всего10, "ЧЦ=15; ЧДЦ=2")); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьКонецЭлемента(); //// Конец rosterItem КонецЕсли; Если СтрокаТЗ.СуммаНДС18>0 Тогда ЗаписьXML.ЗаписатьНачалоЭлемента("rosterItem"); //// Начало rosterItem ЗаписьXML.ЗаписатьНачалоЭлемента("Name"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.НаименованиеТовара); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("summaExcise"); ЗаписьXML.ЗаписатьТекст(".00"); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("vat"); ЗаписьXML.ЗаписатьНачалоЭлемента("rate"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.СтавкаНДС18); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("rateType"); ЗаписьXML.ЗаписатьТекст("DECIMAL"); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("summaVat"); ЗаписьXML.ЗаписатьТекст(Формат(СтрокаТЗ.СуммаНДС18, "ЧЦ=15; ЧДЦ=2")); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьКонецЭлемента(); ////////////////////////////////////////////////////////// ЗаписьXML.ЗаписатьНачалоЭлемента("costVat"); ЗаписьXML.ЗаписатьТекст(Формат(СтрокаТЗ.Всего18, "ЧЦ=15; ЧДЦ=2")); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьКонецЭлемента(); //// Конец rosterItem КонецЕсли; Если СтрокаТЗ.СуммаНДС20>0 Тогда ЗаписьXML.ЗаписатьНачалоЭлемента("rosterItem"); //// Начало rosterItem ЗаписьXML.ЗаписатьНачалоЭлемента("Name"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.НаименованиеТовара); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("summaExcise"); ЗаписьXML.ЗаписатьТекст(".00"); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("vat"); ЗаписьXML.ЗаписатьНачалоЭлемента("rate"); ЗаписьXML.ЗаписатьТекст(СтрокаТЗ.СтавкаНДС20); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("rateType"); ЗаписьXML.ЗаписатьТекст("DECIMAL"); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("summaVat"); ЗаписьXML.ЗаписатьТекст(Формат(СтрокаТЗ.СуммаНДС20, "ЧЦ=15; ЧДЦ=2")); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьКонецЭлемента(); ////////////////////////////////////////////////////////// ЗаписьXML.ЗаписатьНачалоЭлемента("costVat"); ЗаписьXML.ЗаписатьТекст(Формат(СтрокаТЗ.Всего20, "ЧЦ=15; ЧДЦ=2")); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьКонецЭлемента(); //// Конец rosterItem КонецЕсли; ЗаписьXML.ЗаписатьКонецЭлемента(); //// Конец roster ЗаписьXML.ЗаписатьКонецЭлемента(); /// Конец issuance ЗаписьXML.Закрыть(); КонецЦикла; |
|||
10
Начинающий_13
05.07.16
✎
15:31
|
Сами файлы формируются хорошо. Инициализация это то что их отличает от ОРИГИНАЛА
|
|||
11
Начинающий_13
05.07.16
✎
15:32
|
В оригинале она скрыта.
|
|||
12
Димитрий1с
05.07.16
✎
15:35
|
ЗаписьXML.ОткрытьФайл(ПутьКФайлу+"invoice-"+СокрЛП(СтрокаТЗ.УНППоставщикаПолучателя)+".xml", "windows-1251"); в этот момент он ругаеться?
|
|||
13
mehfk
05.07.16
✎
15:36
|
(9) Покажи что будет если выполнить этот код:
ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.УстановитьСтроку(); ЗаписьXML.ЗаписатьНачалоЭлемента("Начинающий_13"); ЗаписьXML.ЗаписатьАтрибут("invoice", XMLСтрока(Новый УникальныйИдентификатор)); ЗаписьXML.ЗаписатьКонецЭлемента(); Сообщить(ЗаписьXML.Закрыть()); |
|||
14
Начинающий_13
05.07.16
✎
15:39
|
(12) Да нет. ругается на сайте гружу обычное окно и сообщение об ошибке. Я думаю, что это связано в самим файлом инициализацией его
|
|||
15
Начинающий_13
05.07.16
✎
15:41
|
(13) Выходит
<Начинающий_13 invoice="a1e7e88c-af7c-4616-b4dd-ddb02bf75658"/> <Начинающий_13 invoice="000d50f3-7380-47d5-b745-4f5ae3e80cd4"/> |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |