Алкогольные декларации ф 6 и 7 (4.30) для ТИС 9.2

Грядет очередная сдача деклараций, немного изменился формат выгрузки xml, поэтому, не претендуя ни на оригинальность, ни на новизну выкладываю обработки, формирующие декларации форм 6 и 7; может кому пригодится. Сам в свое время подобных публикаций в сети не нашел…
В отчеты включены различные проверки (длина ИНН и КПП, неправильная слеш и т.п.), упрощающие сдачу в ФСРАР.

Для работы отчетов необходимо доработать ТИС:
В глобальном модуле добавить три функции:
Функция глГенерироватьИмяФайлаВыгрузки(ИНН,ДатаКвартала) Экспорт
    ЗагрузитьВнешнююКомпоненту(КаталогИБ()        +    «v7plus.dll»);
    Инфо = СоздатьОбъект(«AddIn.V7SysInfo»);
    ГлобальноУникальныйИдентификатор = Инфо.СоздатьGUID();
    ДатаФормированияФайлаВыгрузки = Формат(РабочаяДата(), «Д ДДММГГГГ»);
    ДатаФормированияФайлаВыгрузки = СтрЗаменить(ДатаФормированияФайлаВыгрузки,».»,»»);
    КодОтправителяИнформации = «»;
    
    КварталСтрока = «»;
    МесяцКвартала = ДатаМесяц(ДатаКвартала);  
    Если МесяцКвартала = 12 Тогда
        КварталСтрока = «00»;
    Иначе
        КварталСтрока = «0»+МесяцКвартала;
    КонецЕсли;
    // Код отправителя информации
    КодОтправителяИнформации = СокрЛП(ИНН) + «_» + КварталСтрока + Прав(Строка(ДатаКвартала),1);
    ИмяФайлаВыгрузки = КодОтправителяИнформации + «_»    + ДатаФормированияФайлаВыгрузки + «_» + ГлобальноУникальныйИдентификатор;  
    Возврат ИмяФайлаВыгрузки;
КонецФункции //глГенерироватьИмяФайлаВыгрузки()   

Функция глПризПериодОтч(ДатаКвартала) Экспорт
    КварталСтрока = «»;
    МесяцКвартала = ДатаМесяц(КонКвартала(ДатаКвартала));  
    Если МесяцКвартала = 12 Тогда
        КварталСтрока = «0»;
    Иначе
        КварталСтрока = «»+МесяцКвартала;
    КонецЕсли;
    Возврат КварталСтрока;    
КонецФункции  //глПризПериодОтч(ДатаКвартала)

Функция глРазложить1(Знач Стр, Разделитель = «,») Экспорт
    Список = СоздатьОбъект(«СписокЗначений»);
    Длина  = СтрДлина(Разделитель);
    Стр = СокрЛП(Стр);
    Поз = Найти(Стр, Разделитель);
    Пока 0 < Поз Цикл
        Список.ДобавитьЗначение(СокрП(Лев(Стр, Поз-1)));
        Стр = СокрЛ(Сред(Стр, Поз+Длина));
        Поз = Найти(Стр, Разделитель);
    КонецЦикла;
    Список.ДобавитьЗначение(Стр);
    Список.ДобавитьЗначение(Стр);
    Возврат Список;
КонецФункции // глРазложить1()  

Кроме того добавлены справочники:
1. Классификация (реквизиты: код, наименование).
2. Лицензии (реквизиты: СерияЛицензии, НомерЛицензии, ДатаВыдачи, ДатаОкончания, КемВыдана, ВидДеятельности)
В справочнике Номенклатура добавлены реквизиты:
1. Классификация (ссылка на справочник.Классификация)
2. Завод (ссылка на справочник.Контрагенты)
В справочнике Контрагенты добавлен реквизит Лицензия (ссылка на справочник.Лицензии)
КПП контрагента указывается в реквизите ИНН через «/».

При наличии схем xsd (http://www.fsrar.ru/files/structure/2260.zip) в папке Каталог ИБСхемы430 обработка проверяет файл на валидность с помощью функции (http://forum330.com/forum/79/0#p79-9) от andrewks.

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *