Имя: Пароль:
1C
1С v8
Выгрузка 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
выложи лучше твой файл и файл примера для сравнения
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.