Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Выгрузка XML файла для СБИСа

Выгрузка XML файла для СБИСа
Я
   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.Закрыть();    

КонецПроцедуры
 
 
   Fram
 
1 - 10.05.18 - 22:56
а почему именно windows-1251 ?
   Fram
 
2 - 10.05.18 - 23:02
выложи лучше твой файл и файл примера для сравнения

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует