Выгрузка в XML из Бухгалтерии 4.5 в формате утверждённом ФНС (для ЭДО)
Всем доброго дня!
Бухи хотят попробовать перейти на электронный документооборот (ЭДО), но пока что для теста с одним контрагентом.
Собственно, контрагент работает в Диадоке, решили тоже поработать с ними, чтобы не запариваться с роумингом сообщений.
Теперь к вопросу: есть ли в 1с 7.7 бух 4.5 вариант выгрузки в XML (счёт-фактуры) именно по формату, утверждённому ФНС? Или может где-то имеются обработки? А то я найти не смог :(
Знаю, что все ЭДО-провайдеры предлагают свои готовые обработки, чтобы прямо из 1С загружать, но 9800 руб. в год, за модуль-обработку под 1С 7.7 как-то варварски... В общем, ищу просто вариант выгрузки файлов в XML, чтобы потом через личный кабинет эти файлы подписывать/загружать и отправлять через ЭДО.
Наверняка найдутся люди, кто с этим сталкивался.. заранее спасибо за ответы!
Бухи хотят попробовать перейти на электронный документооборот (ЭДО), но пока что для теста с одним контрагентом.
Собственно, контрагент работает в Диадоке, решили тоже поработать с ними, чтобы не запариваться с роумингом сообщений.
Теперь к вопросу: есть ли в 1с 7.7 бух 4.5 вариант выгрузки в XML (счёт-фактуры) именно по формату, утверждённому ФНС? Или может где-то имеются обработки? А то я найти не смог :(
Знаю, что все ЭДО-провайдеры предлагают свои готовые обработки, чтобы прямо из 1С загружать, но 9800 руб. в год, за модуль-обработку под 1С 7.7 как-то варварски... В общем, ищу просто вариант выгрузки файлов в XML, чтобы потом через личный кабинет эти файлы подписывать/загружать и отправлять через ЭДО.
Наверняка найдутся люди, кто с этим сталкивался.. заранее спасибо за ответы!
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) eGORG, http://www.diadoc.ru/integrations/1c
Просто наверняка же кто-то уже подобное реализовывал, поэтому изобретать велосипед не хочется.
А вариант покупки велосипеда рассматривается? Не у меня, непосредственно у Диадока:
(1) eGORG, просто вариант выгрузки файлов в XML (1) делается не менее просто:
Перем ИмяНачКаталога,ИмяФайла;
Если ФС.ВыбратьФайл(ИмяНачКаталога,ИмяФайла)=1 Тогда
ИмяФайла=ИмяНачКаталога+ИмяФайла;
ФС.КопироватьФайл(ИмяФайла,ИмяФайла+".XML");
КонецЕсли;
(7) Gkmy, про обычную выгрузку я знаю, спасибо! Просто неохота разбираться и подгонять под формат ФНС, делов на пару часов, но всё же.. поэтому и думал, может кто-то уже реализовывал. Нашёл как вариант для совсем ленивых - печать через xPrint, но видимо придётся накидать обработку самому, чтобы подготавливало весь комплект.
(9) За пару часов точно не отделаешься, в электронных документа много нюансов - например id покупателя в формате оператора.
И опять же надо не просто создать xml а чтобы именно этот xml
понимал твой оператор в твоем случае Диадок
как правило с автоматической закачкой в Диадок через
папку коннектора ( или другой вид конектора )
Но если речь о Диадоке то у них же бесплатная внешняя компонента
работает и для v7 и для v8. На этой компоненте легче сделать выгрузку в Диадок чем самому состовлять xml
И опять же надо не просто создать xml а чтобы именно этот xml
понимал твой оператор в твоем случае Диадок
как правило с автоматической закачкой в Диадок через
папку коннектора ( или другой вид конектора )
Но если речь о Диадоке то у них же бесплатная внешняя компонента
работает и для v7 и для v8. На этой компоненте легче сделать выгрузку в Диадок чем самому состовлять xml
(1)http://www.nextech.ru/About
выгружает ЭСФ и УПД из любой системы
кино тут
http://www.nextech.ru/Slides#upd
выгружает ЭСФ и УПД из любой системы
кино тут
Выгрузка из ТИС счет-фактур Диадок распознает
Пока ТЗ.ПолучитьСтроку() = 1 Цикл
Если ТЗ.Сумма<=0 Тогда
Продолжить;
КонецЕсли;
ИННКонтрагента = ТЗ.ИНН;
КППКонтрагента = ТЗ.КПП;
Покупатель = СтрЗаменить(СокрЛП(ТЗ.Док.Контрагент.ЮрФизЛицо.ПолнНаименование),"""",""");;
Если СокрЛП(ИННКонтрагента)="" Тогда
Сообщить("Нет ИНН у контрагента: "+ТЗ.Контрагент);
КонецЕсли;
АдресКонтрагента = СтрЗаменить(СокрЛП(ТЗ.Док.Контрагент.ЮрФизЛицо.ЮрАдрес),"""","");
Док = ТЗ.Док;
ДокОсн= Док.ДокОснование;
Т = СоздатьОбъект("Текст");
Т.КодоваяСтраница(0);//windows
Т.ДобавитьСтроку("<?xml version=""1.0"" encoding=""WINDOWS-1251""?>");
Т.ДобавитьСтроку("<Файл ВерсФорм=""5.01"" ИдФайл=""ON_SFAKT_СВОЙИНН_СВОЙКПП_"+СокрЛП(ТекущаяДата())+"_16a13a76-9775-454c-b1d5-2cb670ba75cc"">");
Т.ДобавитьСтроку("");
Т.ДобавитьСтроку(" <СвУчДокОбор ИдОтпр=""631613233"" ИдПок=""2BE765a3ea05d9011e38fbb005056917125"">"); //тут своего оператора забить
Т.ДобавитьСтроку(" <СвОЭДОтпр ИННЮЛ=""631613233"" ИдЭДО=""2BE"" НаимОрг=""ООО "Компания "Тензор"""/>"); //тут своего оператора забить
Т.ДобавитьСтроку(" </СвУчДокОбор>");
Т.ДобавитьСтроку("");
Т.ДобавитьСтроку(" <Документ КНД=""1115101"">");
Т.ДобавитьСтроку(" <СвСчФакт ДатаСчФ="""+Формат(ТЗ.ДатаОперации,"ДДДММГГГГ")+""" КодОКВ=""643"" НомерСчФ="""+СокрЛП(Док.НомерДок)+""">");
Т.ДобавитьСтроку(" <КодВидОпер>02</КодВидОпер>");//иначе не проходит контроль в книге продаж
Т.ДобавитьСтроку(" <СвПрод>");
Т.ДобавитьСтроку(" <ИдСв>");
Т.ДобавитьСтроку(" <СвЮЛ ИННЮЛ="""+ИНН+""" КПП="""+КПП+""" НаимОрг="""+Организация+"""/>");
Т.ДобавитьСтроку(" </ИдСв>");
Т.ДобавитьСтроку(" <Адрес>");
Т.ДобавитьСтроку(" <АдрРФ Город="""+Адрес+""" Дом="""" Индекс="""" КодРегион="""" Улица=""""/>");
Т.ДобавитьСтроку(" </Адрес>");
Т.ДобавитьСтроку(" </СвПрод>");
Т.ДобавитьСтроку(" <СвПокуп>");
Т.ДобавитьСтроку(" <ИдСв>");
Т.ДобавитьСтроку(" <СвЮЛ ИННЮЛ="""+ИННКонтрагента+""" КПП="""+КППКонтрагента+""" НаимОрг="""+Покупатель+"""/>");
Т.ДобавитьСтроку(" </ИдСв>");
Т.ДобавитьСтроку(" <Адрес>");
Т.ДобавитьСтроку(" <АдрРФ АдрТекст="""+АдресКонтрагента+""" КодСтр=""643""/>");
Т.ДобавитьСтроку(" </Адрес>");
Т.ДобавитьСтроку(" </СвПокуп>");
Т.ДобавитьСтроку(" <ИнфПол ТекстИнф="""+СокрЛП(Док)+"""/>");
Т.ДобавитьСтроку(" </СвСчФакт>");
Т.ДобавитьСтроку(" <ТаблСчФакт>");
ДокОсн.ВыбратьСтроки();
НС = 0;
Пока ДокОсн.ПолучитьСтроку() = 1 Цикл
НС = НС + 1;
Товар = СтрЗаменить(СокрЛП(ДокОсн.Номенклатура),"""",""");;
Попытка
КодЕдИзм = Товар.ЕдиницаИзмерения.Код;
Исключение
КодЕдИзм = "796";//шт
КонецПопытки;
Т.ДобавитьСтроку(" <СведТов КолТов="""+СокрЛП(Формат(ДокОсн.Количество,"Ч17.3."))+""" НаимТов="""+СтрЗаменить(СокрЛП(Товар), """", "")+""" НомСтр="""+СокрЛП(НС)+""" ОКЕИ_Тов="""+СокрЛП(КодЕдИзм)+""" СтТовБезНДС="""+СокрЛП(Формат((ДокОсн.Сумма-ДокОсн.СуммаНдс),"Ч17.2."))+""" СтТовУчНал="""+СокрЛП(Формат(ДокОсн.Сумма,"Ч17.2."))+""" ЦенаТов="""+СокрЛП(Формат(ДокОсн.Цена,"Ч17.2."))+""">");
Т.ДобавитьСтроку(" <Акциз СумАкциз=""без акциза""/>");
Т.ДобавитьСтроку(" <НалСт НалСтВел=""18"" НалСтТип=""процент""/>");
Т.ДобавитьСтроку(" <СумНал СумНДС="""+СокрЛП(Формат(ДокОсн.СуммаНДС,"Ч17.2."))+"""/>");
Т.ДобавитьСтроку(" </СведТов>");
КонецЦикла;
Т.ДобавитьСтроку(" <ВсегоОпл СтТовБезНДСВсего="""+СокрЛП(Формат(ТЗ.БезНДС,"Ч17.2."))+""" СтТовУчНалВсего="""+СокрЛП(Формат(ТЗ.Сумма,"Ч17.2."))+""">");
Т.ДобавитьСтроку(" <СумНалВсего СумНДС="""+СокрЛП(Формат(ТЗ.НДС,"Ч15.2."))+"""/>");
Т.ДобавитьСтроку(" </ВсегоОпл>");
Т.ДобавитьСтроку(" </ТаблСчФакт>");
Т.ДобавитьСтроку(" <Подписант>");
Т.ДобавитьСтроку(" <ЮЛ Должн=""Директор"" ИННЮЛ="""+ИНН+""">");
Т.ДобавитьСтроку(" <ФИО Имя="""+Имя+""" Отчество="""+Отчество+""" Фамилия="""+Фамилия+"""/>");
Т.ДобавитьСтроку(" </ЮЛ>");
Т.ДобавитьСтроку(" </Подписант>");
Т.ДобавитьСтроку(" </Документ>");
Т.ДобавитьСтроку("");
Т.ДобавитьСтроку("</Файл>");
ИмяФайла = СокрЛП(Каталог)+"\ON_SFAKT_"+СокрЛП(ТЗ.Док.НомерДок)+".xml";
Т.Записать(ИмяФайла);
Показать
(15)Добрый день, всё сделал как у вас.
Выгруженыый файл распознается только как текст, а не как xml, то когда этот файл открываю xml редактором, то там пусто, а когда открываю wordpad - текст есть...
Не пойму в чем причина, может подскажете?
Вот даже одну шапку беру :
и файл получается не xml
Выгруженыый файл распознается только как текст, а не как xml, то когда этот файл открываю xml редактором, то там пусто, а когда открываю wordpad - текст есть...
Не пойму в чем причина, может подскажете?
Вот даже одну шапку беру :
Т2 = СоздатьОбъект("Текст");
Т2.КодоваяСтраница(0);//windows
Т2.ДобавитьСтроку("<?xml version=""1.0"" encoding=""WINDOWS-1251""?>");
Т2.ДобавитьСтроку("<Файл ВерсФорм=""5.01"" ИдФайл=""ON_SFAKT_СВОЙИНН_СВОЙКПП_"+СокрЛП(ТекущаяДата())+"_16a13a76-9775-454c-b1d5-2cb670ba75cc"">");
Т2.ДобавитьСтроку("");
ИмяФайла = СокрЛП("C:")+"\ON_SFAKT_1111"+СокрЛП(НомерДок)+".xml";
Т2.Записать(ИмяФайла);
Показатьи файл получается не xml
(17)Добрый день. тегу поставил..всё равно не видит как xml.... прикрепил конечный файл.... еще мне сказали, что обязательно должна быть схема типа :
Т.ДобавитьСтроку("xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">");
т.е. с какого сайта брать схему .... вставил схему - где-то всё равно ошибка
весь кусок программы ( диадок просит за этот кусок 9000 руб. ежегодно, решили, может сами сделаем, вот уже близко решение...осталось немного..:)
Т.ДобавитьСтроку("xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">");
т.е. с какого сайта брать схему .... вставил схему - где-то всё равно ошибка
весь кусок программы ( диадок просит за этот кусок 9000 руб. ежегодно, решили, может сами сделаем, вот уже близко решение...осталось немного..:)
Функция Выгрузить()
Заголовок = Шаблон("<?xml version=""1.0"" encoding=""windows-1251""?>
|<Файл xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">");
ИНН = ""; КПП = "";
глРазложитьИННКонтрагента(Контрагент, ИНН, КПП);
ИННКонтрагента =ИНН;
КППКонтрагента = КПП;
Покупатель = СтрЗаменить(СокрЛП(Контрагент.ПолнНаименование),"""","");
АдресКонтрагента = СтрЗаменить(СокрЛП(Контрагент.ЮридическийАдрес),"""","");
итогоСуммаБезНДС=0;
итогоСумма=0;
итогоНДС=0;
ДокОсн=ДокументОснование ;
Т = СоздатьОбъект("Текст");
Т.КодоваяСтраница(0);//windows
Т.ДобавитьСтроку("<?xml version=""1.0"" encoding=""windows-1251""?>");
Т.ДобавитьСтроку("<Файл ВерсФорм=""5.01"" ИдФайл=""ON_SFAKT_СВОЙИНН_СВОЙКПП_"+СокрЛП(ТекущаяДата())+"_16a13a76-9775-454c-b1d5-2cb670ba75cc""");
Т.ДобавитьСтроку("xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">");
Т.ДобавитьСтроку("");
Т.ДобавитьСтроку(" <СвУчДокОбор ИдОтпр=""631613233"" ИдПок=""2BE765a3ea05d9011e38fbb005056917125"">"); //тут своего оператора забить
Т.ДобавитьСтроку(" <СвОЭДОтпр ИННЮЛ=""631613233"" ИдЭДО=""2BE"" НаимОрг=""ООО Диадок"">"); //тут своего оператора забить
Т.ДобавитьСтроку(" </СвУчДокОбор>");
Т.ДобавитьСтроку("");
Т.ДобавитьСтроку(" <Документ КНД=""1115101"">");
Т.ДобавитьСтроку(" <СвСчФакт ДатаСчФ="""+Формат(ДатаДок,"ДДДММГГГГ")+""" КодОКВ=""643"" НомерСчФ="""+СокрЛП(НомерДок)+""">");
Т.ДобавитьСтроку(" <КодВидОпер>02</КодВидОпер>");//иначе не проходит контроль в книге продаж
Т.ДобавитьСтроку(" <СвПрод>");
Т.ДобавитьСтроку(" <ИдСв>");
Т.ДобавитьСтроку(" <СвЮЛ ИННЮЛ="""+"420...."+""" КПП="""+"420..."+""" НаимОрг="""+Константа.НаименованиеОрганизации+"""/>");
Т.ДобавитьСтроку(" </ИдСв>");
Т.ДобавитьСтроку(" <Адрес>");
Т.ДобавитьСтроку(" <АдрРФ Город="""+Константа.АдресОрганизации+""" Дом="""" Индекс="""" КодРегион="""" Улица=""""/>");
Т.ДобавитьСтроку(" </Адрес>");
Т.ДобавитьСтроку(" </СвПрод>");
Т.ДобавитьСтроку(" <СвПокуп>");
Т.ДобавитьСтроку(" <ИдСв>");
Т.ДобавитьСтроку(" <СвЮЛ ИННЮЛ="""+ИННКонтрагента+""" КПП="""+КППКонтрагента+""" НаимОрг="""+Покупатель+"""/>");
Т.ДобавитьСтроку(" </ИдСв>");
Т.ДобавитьСтроку(" <Адрес>");
Т.ДобавитьСтроку(" <АдрРФ АдрТекст="""+АдресКонтрагента+""" КодСтр=""643""/>");
Т.ДобавитьСтроку(" </Адрес>");
Т.ДобавитьСтроку(" </СвПокуп>");
// Т.ДобавитьСтроку(" <ИнфПол ТекстИнф="""+СокрЛП(Документ)+"""/>");
Т.ДобавитьСтроку(" </СвСчФакт>");
Т.ДобавитьСтроку(" <ТаблСчФакт>");
ДокОсн.ВыбратьСтроки();
НС = 0;
Пока ДокОсн.ПолучитьСтроку() = 1 Цикл
НС = НС + 1;
Товар = СтрЗаменить(СокрЛП(ДокОсн.Номенклатура),"""","");
Попытка
КодЕдИзм = Товар.ЕдиницаИзмерения.Код;
Исключение
КодЕдИзм = "796";//шт
КонецПопытки;
Т.ДобавитьСтроку(" <СведТов КолТов="""+СокрЛП(Формат(ДокОсн.Количество,"Ч17.3."))+""" НаимТов="""+СтрЗаменить(СокрЛП(Товар), """", "")+""" НомСтр="""+СокрЛП(НС)+""" ОКЕИ_Тов="""+СокрЛП(КодЕдИзм)+""" СтТовБезНДС="""+СокрЛП(Формат((ДокОсн.Сумма-ДокОсн.НДС),"Ч17.2."))+""" СтТовУчНал="""+СокрЛП(Формат(ДокОсн.Сумма,"Ч17.2."))+""" ЦенаТов="""+СокрЛП(Формат(ДокОсн.Цена,"Ч17.2."))+""">");
Т.ДобавитьСтроку(" <Акциз СумАкциз=""без акциза""/>");
Т.ДобавитьСтроку(" <НалСт НалСтВел=""18"" НалСтТип=""процент""/>");
Т.ДобавитьСтроку(" <СумНал СумНДС="""+СокрЛП(Формат(ДокОсн.НДС,"Ч17.2."))+"""/>");
Т.ДобавитьСтроку(" </СведТов>");
итогоСуммаБезНДС = ДокОсн.Сумма -ДокОсн.НДС;
итогоСумма = итогоСумма+ДокОсн.Сумма;
итогоНДС=итогоНДС+ДокОсн.НДС;
КонецЦикла;
Т.ДобавитьСтроку(" <ВсегоОпл СтТовБезНДСВсего="""+СокрЛП(Формат(итогоСуммаБезНДС,"Ч17.2."))+""" СтТовУчНалВсего="""+СокрЛП(Формат(итогоСумма,"Ч17.2."))+""">");
Т.ДобавитьСтроку(" <СумНалВсего СумНДС="""+СокрЛП(Формат(итогоНДС,"Ч15.2."))+"""/>");
Т.ДобавитьСтроку(" </ВсегоОпл>");
Т.ДобавитьСтроку(" </ТаблСчФакт>");
Т.ДобавитьСтроку(" <Подписант>");
Т.ДобавитьСтроку(" <ЮЛ Должн=""Директор"" ИННЮЛ="""+"420..."+""">");
Т.ДобавитьСтроку(" <ФИО Имя="""+"Игорь"+""" Отчество="""+"Александрович"+""" Фамилия="""+"Харченко"+"""/>");
Т.ДобавитьСтроку(" </ЮЛ>");
Т.ДобавитьСтроку(" </Подписант>");
Т.ДобавитьСтроку(" </Документ>");
Т.ДобавитьСтроку("");
Т.ДобавитьСтроку("</Файл>");
ИмяФайла = СокрЛП("C:")+"\ON_SFAKT_"+СокрЛП(НомерДок)+".xml";
Т.Записать(ИмяФайла);
КонецФункции //
ПоказатьПрикрепленные файлы:
ON_SFAKT_508.xml
(18) в 6 строке не закрывается тег
надо <СвОЭДОтпр ИННЮЛ="631613233" ИдЭДО="2BE" НаимОрг="ООО Диадок" />
в 14 строке много лишних кавычек в НаимОрг
надо <СвЮЛ ИННЮЛ="420...." КПП="420..." НаимОрг="ООО ЧОО КУБ"/>
надо <СвОЭДОтпр ИННЮЛ="631613233" ИдЭДО="2BE" НаимОрг="ООО Диадок" />
в 14 строке много лишних кавычек в НаимОрг
надо <СвЮЛ ИННЮЛ="420...." КПП="420..." НаимОрг="ООО ЧОО КУБ"/>
Прикрепленные файлы:
ON_SFAKT_508_.xml
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот