|
Выгрузка XML файла для СБИСа | ☑ | ||
---|---|---|---|---|
0
ManInCity
10.05.18
✎
20:51
|
Добрый вечер!
Конфигурация 1с Розница 2.1.9.12, Платформа 8.3.10.2667 Программно выгружаю файл, структура как у тестового примера на сайте СБИС, но при попытке проверить файл вот здесь: https://sbis.ru/document-formats/ появляется ошибка : "Загруженный файл не является документом электронной отчетности". Тестовый файл внешне такой же - загружается. В чем может быть проблема? Подскажите, пожалуйста. Вот пример кода: &НаСервере Процедура ВыгрузитьНаСервере() ЗаписьXML = Новый ЗаписьXML; //ЗаписьXML.ОткрытьФайл("D:\Exch\abc.xml", "windows-1251"); ЗаписьXML.ОткрытьФайл("D:\Выгрузка XML\abc.xml", "windows-1251"); ЗаписьXML.ЗаписатьОбъявлениеXML(); //начало файла+++ ЗаписьXML.ЗаписатьНачалоЭлемента("Файл"); //ДатаДок = Строка(Формат(Док.Дата, "ДЛФ=В")); ДатаПредставление = СтрЗаменить(Строка(Год(Док.Дата)), Символы.НПП, "") + Строка(Месяц(Док.Дата)) + Строка(День(Док.Дата)); ЗаписьXML.ЗаписатьАтрибут("ВерсФорм", "5.01"); //+++ЗаписьXML.ЗаписатьАтрибут("ИдФайл", "ON_SCHFDOPPR_" + "2BEbf2ec21789784fe5a65402444b1e41bc" + "_2BE9596397428384dbe9bf047cfa2698009_" + ДатаПредставление + "_" + Строка(Док.УникальныйИдентификатор())); ЗаписьXML.ЗаписатьАтрибут("ИдФайл", "ON_SCHFDOPPR_2BE1bafca86a97011e1aec15cf3fc3369f0_2BE96282c64a96f11e18e0d5cf3fc3369f0_20160715_615d4da7-6f90-8c35-3cf0-5afb03dcdba8"); //ЗаписьXML.ЗаписатьКонецЭлемента(); //СвУчДокОтбор+++ //////////////////////////////////////////////////////////////////////// ЗаписьXML.ЗаписатьНачалоЭлемента("СвУчДокОбор"); ЗаписьXML.ЗаписатьАтрибут("ИдОтпр", "2BE96282c64a96f11e18e0d5cf3fc3369f0"); //Микс Групп ЗаписьXML.ЗаписатьАтрибут("ИдПол", "2BE1bafca86a97011e1aec15cf3fc3369f0"); //Вайлдберриз ЗаписьXML.ЗаписатьНачалоЭлемента("СвОЭДОтпр"); ЗаписьXML.ЗаписатьАтрибут("ИННЮЛ", Док.Организация.ИНН);//"7605016030"); ЗаписьXML.ЗаписатьАтрибут("ИдЭДО", "2BE"); ЗаписьXML.ЗаписатьАтрибут("НаимОрг", Док.Организация.НаименованиеПолное);//Док.Контрагент.НаименованиеПолное);//"ООО ""Компания ""Тензор"""); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьКонецЭлемента(); //СвУчДокОтбор--- //////////////////////////////////////////////////////////////////////// //Документ+++ //////////////////////////////////////////////////////////////////////// ЗаписьXML.ЗаписатьАтрибут("ВремяИнфПр", СтрЗаменить(Строка(Формат(Док.Дата, "ДЛФ=В")), ":", "."));//"22:49:00"); ЗаписьXML.ЗаписатьАтрибут("ДатаИнфПр", Строка(Формат(Док.Дата, "ДЛФ=Д")));//"03.05.2018"); ЗаписьXML.ЗаписатьАтрибут("КНД", "111525"); ЗаписьXML.ЗаписатьАтрибут("НаимДокОпр", "Документ об отгрузке товаров (выполнении работ), передаче имущественных прав (документ об оказании услуг)"); ЗаписьXML.ЗаписатьАтрибут("НаимЭконСубСост", Док.Контрагент.НаименованиеПолное);//"Общество с ограниченной ответственностью ""Покупатель"""); ЗаписьXML.ЗаписатьАтрибут("ПоФактХЖ", "Документ об отгрузке товаров (выполнении работ), передаче имущественных прав (Документ об оказании услуг)"); ЗаписьXML.ЗаписатьАтрибут("Функция", "ДОП"); ЗаписьXML.ЗаписатьНачалоЭлемента("Документ"); //ЗаписьXML.ЗаписатьКонецЭлемента(); //СвСчФакт+++ //////////////////////////////////////////////////////////////////////// Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СчетФактураВыданный.Ссылка, | СчетФактураВыданный.Номер, | СчетФактураВыданный.Дата |ИЗ | Документ.СчетФактураВыданный КАК СчетФактураВыданный |ГДЕ | СчетФактураВыданный.ПометкаУдаления = ЛОЖЬ | И СчетФактураВыданный.ДокументОснование = &ДокОснование"; Запрос.УстановитьПараметр("ДокОснование", Док.Ссылка); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда ЗаписьXML.ЗаписатьНачалоЭлемента("СвСчФакт"); ЗаписьXML.ЗаписатьАтрибут("ДатаСчФ", Строка(Формат(Выборка.Дата, "ДЛФ=Д"))); ЗаписьXML.ЗаписатьАтрибут("КодОКВ", "643"); ЗаписьXML.ЗаписатьАтрибут("НомерСчФ", "1");//СтрЗаменить(Выборка.Номер, "0", ""));//"ООО ""Компания ""Тензор"""); Иначе Сообщить("Счет фактура не найдена!"); ЗаписьXML.ЗаписатьНачалоЭлемента("СвСчФакт"); ЗаписьXML.ЗаписатьАтрибут("ДатаСчФ", "07.05.2018"); ЗаписьXML.ЗаписатьАтрибут("КодОКВ", "643"); ЗаписьXML.ЗаписатьАтрибут("НомерСчФ", "1");//"ООО ""Компания ""Тензор"""); КонецЕсли; //Продавец+++ //////////////////////////////////////////////////////////////// ////+++ ЗаписьXML.ЗаписатьНачалоЭлемента("СвПрод"); //////+++ ЗаписьXML.ЗаписатьНачалоЭлемента("ИдСв"); ЗаписьXML.ЗаписатьНачалоЭлемента("СвЮЛУч"); ЗаписьXML.ЗаписатьАтрибут("НаимОрг", Док.Контрагент.НаименованиеПолное);//"ООО ""Компания ""Тензор"""); ЗаписьXML.ЗаписатьАтрибут("ИННЮЛ", Док.Контрагент.ИНН);//"2BE"); ЗаписьXML.ЗаписатьАтрибут("КПП", Док.Контрагент.КПП);//"7605016030"); ЗаписьXML.ЗаписатьКонецЭлемента(); //////--- ЗаписьXML.ЗаписатьКонецЭлемента(); //////+++ ЗаписьXML.ЗаписатьНачалоЭлемента("Адрес"); ЗаписьXML.ЗаписатьНачалоЭлемента("АдрРФ"); ЗаписьXML.ЗаписатьАтрибут("КодРегион", "36"); ЗаписьXML.ЗаписатьКонецЭлемента(); /////--- ЗаписьXML.ЗаписатьКонецЭлемента(); ////--- ЗаписьXML.ЗаписатьКонецЭлемента(); //Продавец--- //////////////////////////////////////////////////////////////// //ГрузОт+++ //////////////////////////////////////////////////////////////////////// ////+++ ЗаписьXML.ЗаписатьНачалоЭлемента("ГрузОт"); ЗаписьXML.ЗаписатьНачалоЭлемента("ОнЖе"); ЗаписьXML.ЗаписатьТекст("Он же"); ЗаписьXML.ЗаписатьКонецЭлемента(); ////--- ЗаписьXML.ЗаписатьКонецЭлемента(); //ГрузОт--- //////////////////////////////////////////////////////////////////////// //ГрузПолуч+++ //////////////////////////////////////////////////////////////////////// ////+++ ЗаписьXML.ЗаписатьНачалоЭлемента("ГрузПолуч"); //ИдСв+++ //////////////////////////////////////////////////////////// //////+++ ЗаписьXML.ЗаписатьНачалоЭлемента("ИдСв"); ////////+++ ЗаписьXML.ЗаписатьНачалоЭлемента("СвЮЛУч"); ЗаписьXML.ЗаписатьАтрибут("НаимОрг", Док.Организация.НаименованиеПолное);//"ООО Поставщик"); ЗаписьXML.ЗаписатьАтрибут("ИННЮЛ", Док.Организация.ИНН);//"6000000001"); ЗаписьXML.ЗаписатьАтрибут("КПП", Док.Организация.КПП);//"600101001"); ////////--- ЗаписьXML.ЗаписатьКонецЭлемента(); //////--- ЗаписьXML.ЗаписатьКонецЭлемента(); //ИдСв--- //////////////////////////////////////////////////////////// //Адрес+++ //////////////////////////////////////////////////////////// //////+++ ЗаписьXML.ЗаписатьНачалоЭлемента("Адрес"); ////////+++ ЗаписьXML.ЗаписатьНачалоЭлемента("АдрРФ"); ЗаписьXML.ЗаписатьАтрибут("КодРегион", "36"); ////////--- ЗаписьXML.ЗаписатьКонецЭлемента(); //////--- ЗаписьXML.ЗаписатьКонецЭлемента(); //Адрес--- //////////////////////////////////////////////////////////// ////--- ЗаписьXML.ЗаписатьКонецЭлемента(); //ГрузПолуч--- //////////////////////////////////////////////////////////////////////// //Просто инфо+++ //////////////////////////////////////////////////////////////////////// ////+++ ЗаписьXML.ЗаписатьНачалоЭлемента("СвПРД"); ЗаписьXML.ЗаписатьАтрибут("ДатаПРД", "11.11.2011"); ЗаписьXML.ЗаписатьАтрибут("НомерПРД", "11"); ////--- ЗаписьXML.ЗаписатьКонецЭлемента(); ////+++ ЗаписьXML.ЗаписатьНачалоЭлемента("СвПРД"); ЗаписьXML.ЗаписатьАтрибут("ДатаПРД", "11.11.2011"); ЗаписьXML.ЗаписатьАтрибут("НомерПРД", "11"); ////--- ЗаписьXML.ЗаписатьКонецЭлемента(); ////+++ ЗаписьXML.ЗаписатьНачалоЭлемента("СвПРД"); ЗаписьXML.ЗаписатьАтрибут("ДатаПРД", "11.11.2011"); ЗаписьXML.ЗаписатьАтрибут("НомерПРД", "11"); ////--- ЗаписьXML.ЗаписатьКонецЭлемента(); //Просто инфо--- //////////////////////////////////////////////////////////////////////// //Покупатель+++ //////////////////////////////////////////////////////////////////////// ////+++ ЗаписьXML.ЗаписатьНачалоЭлемента("СвПокуп"); //ИдСв+++ ////////////////////////////////////////////// //////+++ ЗаписьXML.ЗаписатьНачалоЭлемента("ИдСв"); ЗаписьXML.ЗаписатьНачалоЭлемента("СвЮЛУч"); ЗаписьXML.ЗаписатьАтрибут("НаимОрг", Док.Контрагент.НаименованиеПолное);//"ООО ""Компания ""Тензор"""); ЗаписьXML.ЗаписатьАтрибут("ИННЮЛ", Док.Контрагент.ИНН); ЗаписьXML.ЗаписатьАтрибут("КПП", Док.Контрагент.КПП); ЗаписьXML.ЗаписатьКонецЭлемента(); //////--- ЗаписьXML.ЗаписатьКонецЭлемента(); //ИдСв--- ////////////////////////////////////////////// //////+++ ЗаписьXML.ЗаписатьНачалоЭлемента("Адрес"); ЗаписьXML.ЗаписатьНачалоЭлемента("АдрРФ"); ЗаписьXML.ЗаписатьАтрибут("КодРегион", "36"); ЗаписьXML.ЗаписатьКонецЭлемента(); //////--- ЗаписьXML.ЗаписатьКонецЭлемента(); ////--- ЗаписьXML.ЗаписатьКонецЭлемента(); //Покупатель--- //////////////////////////////////////////////////////////////////////// //--- ЗаписьXML.ЗаписатьКонецЭлемента(); //СвСчФакт--- //////////////////////////////////////////////////////////////////////// //********************************************************************** //////////////////////////////////////////////////////////////////////// //ТаблСчФакт+++ //////////////////////////////////////////////////////////////// ЗаписьXML.ЗаписатьНачалоЭлемента("ТаблСчФакт"); Список = Новый СписокЗначений; Список.Добавить("1"); Список.Добавить("2"); //ЭтотОбъект.Док.Товары Счет = 1; СуммаНДС = 0; //Для каждого Элем Из Список Цикл Для каждого Элем Из Док.Товары Цикл //СведТов+++ //////////////////////////////////////////////////////////// ЗаписьXML.ЗаписатьНачалоЭлемента("СведТов"); ЗаписьXML.ЗаписатьАтрибут("КолТов", СтрЗаменить(Строка(Элем.Количество), Символы.НПП, "")); ЗаписьXML.ЗаписатьАтрибут("НаимТов", Элем.Номенклатура.Наименование); ЗаписьXML.ЗаписатьАтрибут("НалСт", Строка(Элем.СтавкаНДС)); ЗаписьXML.ЗаписатьАтрибут("НомерСтр", Строка(Счет)); ЗаписьXML.ЗаписатьАтрибут("ОКЕИ_тов", "796"); ЗаписьXML.ЗаписатьАтрибут("СтТовБезНДС", СтрЗаменить(СтрЗаменить(Строка(Элем.Сумма - Элем.СуммаНДС), Символы.НПП, ""), ",", ".")); ЗаписьXML.ЗаписатьАтрибут("СтТовУчНал", СтрЗаменить(СтрЗаменить(Строка(Элем.Сумма), Символы.НПП, ""), ",", ".")); ЗаписьXML.ЗаписатьАтрибут("ЦенаТов", СтрЗаменить(СтрЗаменить(Строка(Элем.Цена), Символы.НПП, ""), ",", ".")); //акциз+++ ЗаписьXML.ЗаписатьНачалоЭлемента("Акциз"); ЗаписьXML.ЗаписатьНачалоЭлемента("БезАкциз"); ЗаписьXML.ЗаписатьТекст("без акциза"); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьКонецЭлемента(); //акциз--- //СумНал+++ ЗаписьXML.ЗаписатьНачалоЭлемента("СумНал"); ЗаписьXML.ЗаписатьНачалоЭлемента("СумНал"); ЗаписьXML.ЗаписатьТекст(СтрЗаменить(СтрЗаменить(Строка(Элем.Сумма), Символы.НПП, ""), ",", ".")); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьКонецЭлемента(); //СумНал--- //СвТД+++ ЗаписьXML.ЗаписатьНачалоЭлемента("СвТД"); ЗаписьXML.ЗаписатьАтрибут("КодПроисх", "158"); ЗаписьXML.ЗаписатьАтрибут("НомерТД", "01234/11020/00000000000765432"); ЗаписьXML.ЗаписатьКонецЭлемента(); //СвТД--- //ИнфПолФХЖ2+++ //ХарактерТов //ЗаписьXML.ЗаписатьНачалоЭлемента("ИнфПолФХЖ2"); //ЗаписьXML.ЗаписатьАтрибут("Значен", Элем.Характеристика.Наименование);//"***"); //ЗаписьXML.ЗаписатьАтрибут("Идентиф", "ХарактерТов"); //ЗаписьXML.ЗаписатьКонецЭлемента(); ////артикул //ЗаписьXML.ЗаписатьНачалоЭлемента("ИнфПолФХЖ2"); //ЗаписьXML.ЗаписатьАтрибут("Значен", Элем.Номенклатура.Артикул);//"***"); //ЗаписьXML.ЗаписатьАтрибут("Идентиф", "АртикулТов"); //ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("ИнфПолФХЖ2"); ЗаписьXML.ЗаписатьАтрибут("Значен", Строка(Элем.Номенклатура.УникальныйИдентификатор()));//"***"); ЗаписьXML.ЗаписатьАтрибут("Идентиф", "ИД"); ЗаписьXML.ЗаписатьКонецЭлемента(); //ИнфПолФХЖ2--- //ДопСведТов+++ ЗаписьXML.ЗаписатьНачалоЭлемента("ДопСведТов"); ЗаписьXML.ЗаписатьАтрибут("КодТов", Элем.Номенклатура.Код); ЗаписьXML.ЗаписатьАтрибут("НаимЕдИзм", "шт"); ЗаписьXML.ЗаписатьАтрибут("ПрТовРаб", "1"); ЗаписьXML.ЗаписатьКонецЭлемента(); //ДопСведТов--- ЗаписьXML.ЗаписатьКонецЭлемента(); //СведТов--- //////////////////////////////////////////////////////////// Счет = Счет + 1; СуммаНДС = СуммаНДС + Элем.СуммаНДС; КонецЦикла; //ВсегоОпл+++ ЗаписьXML.ЗаписатьНачалоЭлемента("ВсегоОпл"); ЗаписьXML.ЗаписатьАтрибут("СтТовБезНДСВсего", СтрЗаменить(СтрЗаменить(Строка(СуммаНДС), Символы.НПП, ""), ",", ".")); ЗаписьXML.ЗаписатьАтрибут("СтТовУчНалВсего", СтрЗаменить(СтрЗаменить(Строка(Док.СуммаДокумента), Символы.НПП, ""), ",", "."));//"1"); ЗаписьXML.ЗаписатьНачалоЭлемента("СуммаНалВсего"); ЗаписьXML.ЗаписатьНачалоЭлемента("СуммаНал"); ЗаписьXML.ЗаписатьТекст(СтрЗаменить(СтрЗаменить(Строка(Док.СуммаДокумента), Символы.НПП, ""), ",", "."));//"500"); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьКонецЭлемента(); //ВсегоОпл--- ЗаписьXML.ЗаписатьКонецЭлемента(); //////////////////////////////////////////////////////////////// //ТаблСчФакт--- //////////////////////////////////////////////////////////////////////// //********************************************************************** //СвПродПер+++ //////////////////////////////////////////////////////////////// //+++ ЗаписьXML.ЗаписатьНачалоЭлемента("СвПродПер"); ////+++ ЗаписьXML.ЗаписатьНачалоЭлемента("СвПер"); ЗаписьXML.ЗаписатьАтрибут("СодОпер", "Реализация"); //////+++ ЗаписьXML.ЗаписатьНачалоЭлемента("ОснПер"); НомерОсн = СтрЗаменить(СтрЗаменить(Док.Номер, "0", ""), "-", ""); ДатаОсн = Строка(Формат(Док.Дата, "ДЛФ=Д")); ЗаписьXML.ЗаписатьАтрибут("ДатаОсн", ДатаОсн);//"14.02.2012"); ЗаписьXML.ЗаписатьАтрибут("НаимОсн", "1" + " от " + ДатаОсн);//+++НомерОсн + " от " + ДатаОсн);//"1 от 14.02.2012"); ЗаписьXML.ЗаписатьАтрибут("НомОсн", "1");//+++НомерОсн);//"1"); //////--- ЗаписьXML.ЗаписатьКонецЭлемента(); ////--- ЗаписьXML.ЗаписатьКонецЭлемента(); //--- ЗаписьXML.ЗаписатьКонецЭлемента(); //СвПродПер--- //////////////////////////////////////////////////////////////// //Подписант+++ //////////////////////////////////////////////////////////////// //+++ ЗаписьXML.ЗаписатьНачалоЭлемента("Подписант"); ЗаписьXML.ЗаписатьАтрибут("ОблПолн", "2"); ЗаписьXML.ЗаписатьАтрибут("ОснПолн", "Должностные обязанности"); ЗаписьXML.ЗаписатьАтрибут("Статус", "1"); ////+++ ЗаписьXML.ЗаписатьНачалоЭлемента("ЮЛ"); ЗаписьXML.ЗаписатьАтрибут("Должн", "Начальник отдела снабжения"); ЗаписьXML.ЗаписатьАтрибут("ИННЮл", Док.Контрагент.ИНН);//"6000000114"); ЗаписьXML.ЗаписатьАтрибут("НаимОрг", Док.Контрагент.НаименованиеПолное);//"ООО Покупатель"); //////+++ ЗаписьXML.ЗаписатьНачалоЭлемента("ФИО"); ЗаписьXML.ЗаписатьАтрибут("Имя", "Мария"); ЗаписьXML.ЗаписатьАтрибут("Отчество", "Павловна"); ЗаписьXML.ЗаписатьАтрибут("Фамилия", "Волкова"); //////--- ЗаписьXML.ЗаписатьКонецЭлемента(); ////--- ЗаписьXML.ЗаписатьКонецЭлемента(); //--- ЗаписьXML.ЗаписатьКонецЭлемента(); //Подписант--- //////////////////////////////////////////////////////////////// ЗаписьXML.ЗаписатьКонецЭлемента(); //Документ--- //////////////////////////////////////////////////////////////////////// //конец файла+++ ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.Закрыть(); КонецПроцедуры |
|||
1
Fram
10.05.18
✎
22:56
|
а почему именно windows-1251 ?
|
|||
2
Fram
10.05.18
✎
23:02
|
выложи лучше твой файл и файл примера для сравнения
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |