Группа: Пользователи
Сообщений: 6
Спасибо сказали: 3 раз
Рейтинг: 0
Добрый день. Подскажите пожалуйста. Есть АБТ 3.5 ПРОФ Украина (бухгалтерия+торговля+производство+зарплата+кадры). Нужно добавить выгрузку НН на декабрь 2014 и с 01.01.2015. Может у кого есть еще клиенты с такой древностью. Хотелось бы 1CV7.MD или хоть Процедура ХМЛФайл() из модуля НН в текстовом файле.
Группа: Пользователи
Сообщений: 6
Спасибо сказали: 3 раз
Рейтинг: 0
Цитата(Grobik @ 12.01.15, 10:06)
Добрый день. Подскажите пожалуйста. Есть АБТ 3.5 ПРОФ Украина (бухгалтерия+торговля+производство+зарплата+кадры). Нужно добавить выгрузку НН на декабрь 2014 и с 01.01.2015. Может у кого есть еще клиенты с такой древностью. Хотелось бы 1CV7.MD или хоть Процедура ХМЛФайл() из модуля НН в текстовом файле.
СпПарам=ПолучитьРеквизиты(); КодОКПО=СпПарам.Получить("ОКПО"); КодОбласти=СпПарам.Получить("Область"); КодГНА=СпПарам.Получить("ГНА"); Для Инд=1 по 10-СтрДлина(КодОКПО) Цикл КодОКПО="0"+КодОКПО; КонецЦикла; тНомерДок=Формат(НомерДок,"Ч(0)7.0"); Возврат СокрЛП(Константа.ПутьЭкспортХМЛ)+КодОбласти+КодГНА+КодОКПО+?(ДатаДок>=Дата("01.01.2015"),"J1201007100",?(ДатаДок>=Дата("01.12.2014"),"J1201006100",?(ДатаДок>=Дата("01.03.2014"),"J1201005100",?(ДатаДок>Дата("15.12.2011"),"J1201004100","J1201003100"))))+тНомерДок+"1"+Прав(СтрЗаменить(Формат(ДатаДок,"ДДДММГГГГ"),".",""),6)+КодОбласти+КодГНА+".xml"; КонецФункции
Процедура ХМЛФайл() Если СтавкаНДС.Код<>"2" Тогда Сообщить("Выгрузка в XML - файл предусмотрена только для налоговых накладных со ставкой НДС 20 %"); Возврат; КонецЕсли; Если ДатаДок<'01.03.2014' Тогда Сообщить("Выгрузка в XML файл возможна только для документов, датированных после 01.03.2014"); Возврат; КонецЕсли; СпПарам=ПолучитьРеквизиты(); тНомерДок = Формат(Число(СокрЛП(Сред(НомерДок,4))),"Ч7.0"); тДатаДок=СтрЗаменить(Формат(ДатаДок,"ДДДММГГГГ"),".",""); тФилиал=""; тКодДеятельности=""; тТелефонПр = ВыровнятьВправо(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СокрЛП(Фирма.Телефоны),"-",""),"(",""),")","")," ",""),10); ФирмаНалогНомер = ВыровнятьВправо(СокрЛП(Фирма.ИНН),12); КонтрагентАдрес = Клиент.Адрес; тТелефонПок = ВыровнятьВправо(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СокрЛП(Клиент.Телефоны),"-",""),"(",""),")","")," ",""),10); КонтрагентНалогНомер = ВыровнятьВправо(?(ПустоеЗначение(Клиент.ИНН)=1, "400000000000", СокрЛП(Клиент.ИНН)),12);
КодПр=""; Если ОригиналУПродавца=1 Тогда Если Причина.Выбран()=0 Тогда Сообщить("Не выбрана причина хранения оригинала нал.накл. у продавца"); Возврат; КонецЕсли; КодПр=Причина.Код; КонецЕсли;
Если ((ОригиналУПродавца=1) и ((КодПр<>"01") и (КодПР<>"11") и (КодПР<>12))) или (Число(КонтрагентНалогНомер)=0)Тогда Если ДатаДок>='01.03.2014' Тогда КонтрагентНалогНомер="400000000000"; Иначе КонтрагентНалогНомер = " 0"; КонецЕсли; тСвидетельствоПок = "0"; КонецЕсли;
Пакет=СоздатьОбъект("Текст"); Пакет.КодоваяСтраница(0); Пакет.Шаблон(1); Пакет.ДобавитьСтроку("<?xml version=""1.0"" encoding=""windows-1251""?>"); Если ДатаДок>=Дата("01.01.2015") Тогда Пакет.ДобавитьСтроку("<DECLAR xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xsi:noNamespaceSchemaLocation=""J1201007.xsd"">"); ИначеЕсли ДатаДок>Дата("01.12.2014") Тогда Пакет.ДобавитьСтроку("<DECLAR xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xsi:noNamespaceSchemaLocation=""J1201006.xsd"">"); ИначеЕсли ДатаДок>Дата("01.03.2014") Тогда Пакет.ДобавитьСтроку("<DECLAR xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xsi:noNamespaceSchemaLocation=""J1201005.xsd"">"); ИначеЕсли ДатаДок>Дата("15.12.2011") Тогда Пакет.ДобавитьСтроку("<DECLAR xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xsi:noNamespaceSchemaLocation=""J1201004.xsd"">"); Иначе Пакет.ДобавитьСтроку("<DECLAR xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xsi:noNamespaceSchemaLocation=""J1201003.xsd"">"); КонецЕсли; Пакет.ДобавитьСтроку("<DECLARHEAD>"); Пакет.ДобавитьСтроку("<TIN>"+СпПарам.Получить("ОКПО")+"</TIN>"); Пакет.ДобавитьСтроку("<C_DOC>J12</C_DOC>"); Пакет.ДобавитьСтроку("<C_DOC_SUB>010</C_DOC_SUB>"); Если ДатаДок>=Дата("01.01.2015") Тогда Пакет.ДобавитьСтроку("<C_DOC_VER>7</C_DOC_VER>"); ИначеЕсли ДатаДок>Дата("01.12.2014") Тогда Пакет.ДобавитьСтроку("<C_DOC_VER>6</C_DOC_VER>"); ИначеЕсли ДатаДок>Дата("01.03.2014") Тогда Пакет.ДобавитьСтроку("<C_DOC_VER>5</C_DOC_VER>"); ИначеЕсли ДатаДок>Дата("15.12.2011") Тогда Пакет.ДобавитьСтроку("<C_DOC_VER>4</C_DOC_VER>"); Иначе Пакет.ДобавитьСтроку("<C_DOC_VER>3</C_DOC_VER>"); КонецЕсли; Пакет.ДобавитьСтроку("<C_DOC_TYPE>0</C_DOC_TYPE>"); Пакет.ДобавитьСтроку("<C_DOC_CNT>"+тНомерДок+"</C_DOC_CNT>"); Пакет.ДобавитьСтроку("<C_REG>"+СпПарам.Получить("Область")+"</C_REG>"); Пакет.ДобавитьСтроку("<C_RAJ>"+СпПарам.Получить("ГНА")+"</C_RAJ>"); Пакет.ДобавитьСтроку("<PERIOD_MONTH>"+СпПарам.Получить("Месяц")+"</PERIOD_MONTH>"); Пакет.ДобавитьСтроку("<PERIOD_TYPE>1</PERIOD_TYPE>"); Пакет.ДобавитьСтроку("<PERIOD_YEAR>"+СпПарам.Получить("Год")+"</PERIOD_YEAR>"); Пакет.ДобавитьСтроку("<C_STI_ORIG>"+СпПарам.Получить("Область")+СпПарам.Получить("ГНА")+"</C_STI_ORIG>"); Пакет.ДобавитьСтроку("<C_DOC_STAN>1</C_DOC_STAN>"); Пакет.ДобавитьСтроку("<LINKED_DOCS xsi:nil=""true""></LINKED_DOCS>"); Пакет.ДобавитьСтроку("<D_FILL>"+СпПарам.Получить("ТДата")+"</D_FILL>"); Пакет.ДобавитьСтроку("<SOFTWARE>OPZ 1.29.19</SOFTWARE>"); Пакет.ДобавитьСтроку("</DECLARHEAD><DECLARBODY>"); Если ДатаДок<Дата("01.01.2015") Тогда Пакет.ДобавитьСтроку("<HORIG>1</HORIG>"); ДобавитьПараметр(Пакет,"HERPN",ВключеноВЕРПН); ДобавитьПараметр(Пакет,"HORIG1",ОригиналУПродавца); Если ДатаДок>=Дата("01.03.2014") Тогда ДобавитьПараметр(Пакет,"HEL",Электронный); Если ДатаДок>=Дата("01.12.2014") Тогда ДобавитьПараметр(Пакет,"HCOPY",0); КонецЕсли; КонецЕсли; ДобавитьПараметр(Пакет,"HTYPR",?(ОригиналУПродавца=0,"",СокрЛП(Причина.Код))); Иначе ДобавитьПараметр(Пакет,"H01",0); КонецЕсли; ДобавитьПараметр(Пакет,"HFILL",СпПарам.Получить("ТДата")); ДобавитьПараметр(Пакет,"HNUM",тНомерДок); ДобавитьПараметр(Пакет,"HNUM1",тКодДеятельности); ДобавитьПараметр(Пакет,"HNUM2",тФилиал); ДобавитьПараметр(Пакет,"HNAMESEL",СпПарам.Получить("Наим")); ДобавитьПараметр(Пакет,"HNAMEBUY",Клиент.ПолнНаименование); ДобавитьПараметр(Пакет,"HKSEL",ФирмаНалогНомер); ДобавитьПараметр(Пакет,"HKBUY",КонтрагентНалогНомер); ДобавитьПараметр(Пакет,"HLOCSEL",СпПарам.Получить("Адрес")); ДобавитьПараметр(Пакет,"HLOCBUY",КонтрагентАдрес); ДобавитьПараметр(Пакет,"HTELSEL",тТелефонПр); ДобавитьПараметр(Пакет,"HTELBUY",тТелефонПок); ДобавитьПараметр(Пакет,"H01G1S",ВидДоговора); ДобавитьПараметр(Пакет,"H01G2D",тДатаДог); ДобавитьПараметр(Пакет,"H01G3S",тНомерДог); ДобавитьПараметр(Пакет,"H02G1S",СокрЛП(Основание)); НПП=0; ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл НПП=НПП+1; ДобавитьПараметр(Пакет,"RXXXXG2D",ДатаДок,НПП); КонецЦикла; НПП=0; ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл НПП=НПП+1; ДобавитьПараметр(Пакет,"RXXXXG3S",СокрЛП(ТМЦ.ПолнНаименование),НПП); КонецЦикла; Если ДатаДок>Дата("15.12.2011") Тогда НПП=0; ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл НПП=НПП+1; тКодУКТЗЕД=""; Если (ТМЦ.Вид()="ТМЦ") Тогда тКодУКТЗЕД=СокрЛП(ТМЦ.КодУКТЗЕД); КонецЕсли; ДобавитьПараметр(Пакет,"RXXXXG4",тКодУКТЗЕД,НПП); КонецЦикла; КонецЕсли; НПП=0; ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл НПП=НПП+1; Если ТМЦ.Вид() = "ТМЦ" Тогда ЕдИзм = СокрЛП(Ед); Иначе ЕдИзм = СокрЛП(ТМЦ.БазЕдиница); КонецЕсли; ДобавитьПараметр(Пакет,"RXXXXG4S",ЕдИзм,НПП); КонецЦикла; // 2015
Если ДатаДок>=Дата("01.01.2015") Тогда НПП=0; ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл НПП=НПП+1; Если ТМЦ.Вид() = "ТМЦ" Тогда ЕдИзмКод = СокрЛП(Ед.Код); Иначе ЕдИзмКод = СокрЛП(ТМЦ.БазЕдиница.Код); КонецЕсли; //ЕдИзмКод = Прав("00000" + Формат(ЕдИзмКод,"ЧГ=0"),4); ЕдИзмКод = Прав("00000" + ЕдИзмКод,4); ДобавитьПараметр(Пакет,"RXXXXG105_2S",ЕдИзмКод,НПП); КонецЦикла; КонецЕсли;
НПП=0; ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл НПП=НПП+1; ДобавитьПараметр(Пакет,"RXXXXG5",Кво,НПП); КонецЦикла; //НПП=0; //ВыбратьСтроки(); //Пока ПолучитьСтроку()=1 Цикл // НПП=НПП+1; // Если ТМЦ.Вид()="ТМЦ" Тогда // Если (ТМЦ.ВидТМЦ=Перечисление.ВидыТМЦ.Услуга) Тогда // Если СокрЛП(ТМЦ.КвоДляНН)<>"" Тогда // ДобавитьПараметр(Пакет,"RXXXXG5S",СокрЛП(ТМЦ.КвоДляНН),НПП); // КонецЕсли; // КонецЕсли; // КонецЕсли; //КонецЦикла; НПП=0; ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл НПП=НПП+1; ДобавитьПараметр(Пакет,"RXXXXG6",ЦенаБезНДС,НПП); КонецЦикла; НПП=0; ИтСумма=0; ИтСуммаОкр=0; ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл НПП=НПП+1; ИтСумма=ИтСумма+СуммаБезНДС; ТекСум=Окр(ИтСумма,2,1)-ИтСуммаОкр; ИтСуммаОкр=ИтСуммаОкр+ТекСум; ДобавитьПараметр(Пакет,"RXXXXG7",СокрЛП(Формат(ТекСум,"Ч012.2")),НПП); КонецЦикла;
тПЗакона=""; ДобавитьПараметр(Пакет,"R003G10S",тПЗакона); ДобавитьПараметр(Пакет,"H10G1S",ФИО(Константа.ОтвЗаВыпискуНН,1,1)); Пакет.ДобавитьСтроку("</DECLARBODY></DECLAR>"); ИмяФ=ПолучитьИмяФайла(); Пакет.Записать(ИмяФ); Если ФС.СуществуетФайл(ИмяФ)=1 Тогда Сообщить("Файл "+ИмяФ+" успешно создан"); Иначе Сообщить("Ошибка при создании файла"); КонецЕсли; КонецПроцедуры
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!