gifts2017

Печать алкогольной декларации 4.20 по файлу XML

Опубликовал Стас Алёхин (stos) в раздел Печать - Регламентированная отчетность

Выбираете файл XML алкогольной декларации версии 4.20 и печатаете.
Можете прочитать файл XML, "поиграть" с полученными данными, а потом - распечатать.
Интерактивная работа и программный вызов.
5,6,7,11,12 формы.
Возможность выбора между "быстрой" и "правильной" печатью.
Возможно сравнить остатки в текущей и в предыдущей декларациях.

Обработка для печати файла алкогольной декларации формата 4.20

Может работать интерактивно.

Для программного вызова необходимо установить реквизиты объекта обработки:

 - ИмяФайлаДекларации - полное имя файла декларации

для вывода в титульном листе:

 - ТЛ_ПолноеНаименованиеОрг - полное наименование организации. Если не указано, то будет взято из декларации.

 - ТЛ_КудаПредставляетсяДекл - куда представляется декларация

 - СтраницПриложено - страниц приложено

 - ТЛ_ДатаПодписиРук, ТЛ_ДатаПодписиГБ, ТЛ_ДатаПредставленияВЭлВиде - соответствующие даты, если не указаны - текущая дата

 

после установки реквизитов можно вызывать процедуры. Их 3 (экспортных):

Основной способ вызова:

 - Процедура Печать(ТабТЛ1, ТабТЛ2, ТабДекл, ТабДекл2)

      возвращаемые параметры
      ТабТЛ1 - Табличный документ. Титульный лист страница 1
      ТабТЛ2 - Табличный документ. Титульный лист, начиная со второй страницы
      ТабДекл - Табличный документ. Декларация
      ТабДекл2 - Табличный документ. Декларация, часть 2 (для деклараций 11 и 12)

      Для корректного подсчета страниц выводится ТабТЛ2, затем - ТабДекл, ТабДекл2, в последнюю очередь - ТабТЛ1

 

Если кому-то понадобится, существует возможность "поиграть" с данными, полученными из файла

 - Функция ПрочитатьФайл()

       возвращаемое значение - Булево. Истина - файл успешно прочитан, Ложь - возникли ошибки.

       читает файл декларации и в случае успеха раскидывает данные по таблицам, которыми можно поуправлять.

 - Процедура ПечатьПолученныхДанных(ТабТЛ1, ТабТЛ2, ТабДекл, ТабДекл) - аналогично процедуре Печать

       Печатает данные, находящиеся в табличных частях.

       На самом деле Печать(...) - обертка, которая вызывает ПрочитатьФайл(), а затем - ПечатьПолученныхДанных(...)

 

  Всё то же самое можно проделать и интерактивно.

  Ошибки, возникающие во время работы собираются в табличную часть ТЧОшибки.

  Все таблицы очищаются при вызове ПрочитатьФайл()

 

Добавлено 31.03.2013:

Установив флаг "Быстрая печать" можно получить печатную форму гораздо быстрее,

но при этом форма выводится всплошную, без проверки размещения на листе, и без нумерации листов.

 

Если одновременно выбрать файлы текущей декларации и декларации за прошлый период,

то можно сравнить конечные остатки прошлой декларации с начальными остатками текущей декларации.

Несоответствия записываются в ТЧОшибки. А также в ТЧ_5, ТЧ_11_1 и ТЧ_12_1 добавлена колонка "ПрошлыйОстаток",

которая как раз и заполняется данными прошлой декларации.

Таким образом, для выявления всех ошибок нужно пронализировать и ТЧОшибки, и соответствующую ТЧ (5, 11 или 12).

В интерактивном режиме различия в остатках подсвечиваются цветом, а ТЧОшибки... просто виднА.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
ПечатьАлкогольнойДекларации420.epf
.epf 97,72Kb
08.04.13
332
.epf 97,72Kb 332 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Sergey Ivanov (sergb1979) 06.06.12 09:10
Для титульного листа нужно выбирать обособленное подразделение или нет
2. Sergey Ivanov (sergb1979) 06.06.12 09:11
3. Кирилл Краснов (kirillkr) 06.06.12 12:44
А где описание 4.20 можно взять?
4. Стас Алёхин (stos) 06.06.12 15:59
(1) sergb1979,
Нет, подразделение выбирать не нужно.
Ведь декларация представляется целиком от организации,
а на втором листе указываются места осуществления деятельности - то бишь подразделения.
5. Стас Алёхин (stos) 06.06.12 16:01
(2) sergb1979,
xml схемы - да, из Декларант-Алко.
Качаю обновление ДА с ФСРАР, и там - последние их редакции.
Отдельно ведь их не выкладывают (или я не нашел)
6. Стас Алёхин (stos) 06.06.12 16:08
(3) kirillkr,
описание 4.20 можно взять
http://forum.fsrar.ru/viewforum.php?f=36
требуется регистрация.

Но и не забываем, что пока это только проект, но который грозит приобрести статус официального.

Здесь я подразумеваю, что 4.20 и 4.02 - одно и то же.
7. Sergey Ivanov (sergb1979) 06.06.12 16:09
на сайте 1с появились розничные алкогольные декларации (тестовые), там сделано иначе. Может интересно будет Вам.
8. Стас Алёхин (stos) 06.06.12 16:20
(7) sergb1979,
О, спасибо, а ссылку можно?
Конечно, мне будет интересно.

Данная обработка родилась, когда клиенту сделал формирование деклараций в формате XML,
а потом встал вопрос: а как печатать?
Сначала думал - выгружу в таблицы ДА, а он уже рапечатает как надо.
А тут бац - файл ДА зашифровали, данные в него не загрузить.
Поискал, м.б. есть обработка, подобная моей, - увы, не нашел.
И решил: выгрузка у меня есть, файл XML формируется, а дай сделаю печать форм по готовому файлу XML.
И мне самому потом пригодится для другого клиента, где правила сбора данных ой какие непростые.
Но файл-то XML так таковым и останется.
9. Кирилл Краснов (kirillkr) 06.06.12 17:12
(6) stos, форматы отличаются. Формат 4.02 не проходит проверку по 4.20. Вот хочу посмотреть, что ж там поменялась.
Раз еще это только проект, то пока останусь на 4.02.
10. Sergey Ivanov (sergb1979) 07.06.12 09:57
(8) stos, конечно можно ссылку. все в открытом доступе на сайте 1с, если нет доступа, то могу отправить по почте.

http://users.v8.1c.ru/version.jsp?id=Accounting20_82&ver=2.0.36.4
vimpelplus; +1 Ответить
11. Sergey Ivanov (sergb1979) 07.06.12 09:58
Подозреваю что формат 4.02 и 4.20 одно и тоже, только от разных источников. 4.02 ТОЖЕ ПРОЕКТ.
12. Alexey (zarius) 07.06.12 10:50
актуальная разработка, когда в планах 11,12 формы?
13. Стас Алёхин (stos) 07.06.12 19:06
(12) zarius, думаю, неделя-полтры
14. Стас Алёхин (stos) 13.06.12 19:21
15. Стас Алёхин (stos) 20.06.12 12:02
Обновил обработку.
Теперь 5,6,7,11,12 формы
16. Максим Зудин (kasper076) 27.08.12 21:25
Оч полезная обработка. Спасибо.
17. John Doe (winterspring) 26.09.12 17:53
В форме 7 при закупках только пива, ругается что отсутствует лицензия у поставщика и вылетает по ошибке, подправьте, пожалуйста.
18. John Doe (winterspring) 05.10.12 11:39
(8) stos, А нельзя ли добавить функцию обновления xml файла? Другими словами выгрузили данные в таблицы, если нужно, что-то в таблицах подправили, и из этих данных сформировали новый xml.
19. lipetsk_transfer (intellekt48) 18.10.12 07:51
(18) winterspring, да, согласен, полезная была бы функция,
20. sdwggg (sdwggg) 12.12.12 16:31
помогите!
форму 5 нормально открывает и печатает из файла xml.
формы 6 и 7 загружает, таблицы на форме заполняются данными, но при попытке распечатать их выходит окно "Ошибка при вызове метода контекста (Заполнить)".
в 8-ке вообще не работал, не знаю где ковырять((
21. sdwggg (sdwggg) 12.12.12 16:57
вот что ещё пишет, если нажать кнопку Подробно:

{ВнешняяОбработка.ПечатьАлкогольнойДекларации420.МодульОбъекта(1296)}: Ошибка при вызове метода контекста (Заполнить)
ОблСтрока.Параметры.Заполнить(стПИ);
по причине:
Несоответствие типов (параметр номер '1')
22. Стас Алёхин (stos) 14.12.12 11:27
(21) sdwggg,
хм...,
файл декларации проходит проверку?
если да, то есть ли возможность переслать мне Ваш файл?
23. sdwggg (sdwggg) 14.12.12 11:41
(22) stos, да, проверку проходит (в Декларант-Алко)

я разобрался, вот что было:

в 6 и 7 форме есть код
ОблСтрока.Параметры.Заполнить(ТЧЛицензии.Найти(стОборот.ИдЛицензии, "Ид"));

так вот, поскольку у ИП лицензии нет, то в ТЧЛицензии не находится строчка.
я сделал просто через Попытку, и стало всё норм

Попытка
ОблСтрока.Параметры.Заполнить(ТЧЛицензии.Найти(стОборот.ИдЛицензии, "Ид"));
Исключение

КонецПопытки;

Но есть небольшой косячок - в самой печатной форме у ИП выходят данные по лицензии предыдущей строки таблицы)))
просто не знаю пока языка 8ки, и не замарачиваюсь особо
24. John Doe (winterspring) 27.12.12 13:13
При формировании 5 формы, если организация имеет обособленные подразделения в своде по организации не нужно указывать объем перемещения.
Пришлось немного подправить Функцию Печать5()
	КолСуммирования = "";
	Для Н = 7 по 24 Цикл
		КолСуммирования = КолСуммирования + "П" + Прав("000000000000" + Н, 12) + ",";
	КонецЦикла;
	КолСуммирования = Лев(КолСуммирования, СтрДлина(КолСуммирования) - 1);
	
	
	ТзОбороты = ТЧ5.Выгрузить();
	ТзОбороты.Свернуть(КолГруппировок, КолСуммирования);
	//sb-> Пересчитаем итоги по приходу и расходу
	Для Каждого ТекСтр из ТзОбороты Цикл
		ТекСтр.П000000000014=0;		//sb обнулим в сводной форме перемещения
		ТекСтр.П000000000022=0;		//sb обнулим в сводной форме перемещения
		//пересчет итогов
		ТекСтр.П000000000015 = ТекСтр.П000000000011 + ТекСтр.П000000000012 + ТекСтр.П000000000013; 
		ТекСтр.П000000000023 = ТекСтр.П000000000019 + ТекСтр.П000000000020 + ТекСтр.П000000000021;
	КонецЦикла;
	//sb<-
	ТзПоВидам = ТзОбороты.Скопировать();
	ТзПоВидам.Свернуть("П000000000003", КолСуммирования);
	
	ПечатьРаздела5(ТзПоВидам, Таб, ОблСтрока, ОблПромежИтог, ОблПодвалИтога, ТзОбороты, КолСуммирования);
...Показать Скрыть


Кроме того в формах неправильно указывается адрес обособленного подразделения, пришлось подправить
ОблЗагИтога.Параметры.ЗаголовокИтога = 
"по  месту нахождения обособленного подразделения (с указанием  КПП и адреса). КПП: " 
+ стПодр.КППЮЛ + ", Адрес местонахождения:" + стПодр.Адрес;
...Показать Скрыть


Ну и немного неправильно загружался файл 5 декларации подправил процедуру ПрочитатьОбъемОборота_5(ФайлДекларации)

стОборот.П000000000020 = одАтрибут(ФайлДекларации, одТипЧисло, "П000000000020");
стОборот.П000000000021 = одАтрибут(ФайлДекларации, одТипЧисло, "П000000000021");
стОборот.П000000000022 = одАтрибут(ФайлДекларации, одТипЧисло, "П000000000022");
25. Стас Алёхин (stos) 31.03.13 19:28
Обновил обработку:
Возможность выбора между "быстрой" и "правильной" печатью.
Возможно сравнить остатки в текущей и в предыдущей декларациях.

подробнее - в описании
26. hvv 2002 (hvv2002) 04.04.13 14:47
Добрый день ,полезная вещь. только проблема с download у нас. она для 7ки или 8ки не совсем понятно, можно обработку эту получить hvv2002собакаinbox.ru
27. hvv 2002 (hvv2002) 08.04.13 15:52
попробовал , в 5 ,6, 7, прил - не печатает адрес обособленного , хотя в файле он есть. также не понятно насчет сравнения остатков - в описании нема такого :( это же как раз про 5-е по смыслу.
28. Стас Алёхин (stos) 08.04.13 17:28
адреса поправил.

Про сравнение. Ну вот же, из описания:

Если одновременно выбрать файлы текущей декларации и декларации за прошлый период,
то можно сравнить конечные остатки прошлой декларации с начальными остатками текущей декларации.
Несоответствия записываются в ТЧОшибки. А также в ТЧ_5, ТЧ_11_1 и ТЧ_12_1 добавлена колонка "ПрошлыйОстаток",
которая как раз и заполняется данными прошлой декларации.
Таким образом, для выявления всех ошибок нужно пронализировать и ТЧОшибки, и соответствующую ТЧ (5, 11 или 12).
В интерактивном режиме различия в остатках подсвечиваются цветом, а ТЧОшибки... просто виднА.
29. Сергей Сокольский (sokolski) 10.06.13 12:33
Здравствуйте. Спасибо, очень полезная и нужная оказалась обработка.
Вот только в 11-й форме пишет, что приложение №5.
И 12-я форма вылетает с ошибкой:
{ВнешняяОбработка.ПечатьАлкогольнойДекларации420.МодульОбъекта(1668)}: Ошибка при вызове метода контекста (Свернуть)
ТзОбороты.Свернуть(КолГруппировок, КолСуммирования);
по причине:
Неверное имя колонки
30. Сергей Сокольский (sokolski) 11.06.13 10:25
И еще одна ошибка в 11-й форме обнаружилась позже: это дублирование колонок 13 и 14, хотя в оригинальной выгрузке точно нет ни одного внутреннего перемещения.
31. Данила Елистратов (CagoBHuK) 28.06.13 11:55
Не все файлы, проходящие проверку программой Декларант-Алко печатаются корректно. При применении XSLT-шаблона, суммирующего поля, итоги не сходятся с печатной формой. Разработчик, напишите в личку адрес - я пришлю пример. Все станет ясно.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа