Печать алкогольной декларации 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
331
.epf 97,72Kb 331 Скачать

См. также

Лучшие комментарии

10. sergb1979 07.06.2012 09:57
(8) stos, конечно можно ссылку. все в открытом доступе на сайте 1с, если нет доступа, то могу отправить по почте.

http://users.v8.1c.ru/version.jsp?id=Accounting20_82&ver=2.0.36.4
+ 1 [ vimpelplus; ]
# Ответить

Комментарии

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

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

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

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

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

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

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

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

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

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

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

Но есть небольшой косячок - в самой печатной форме у ИП выходят данные по лицензии предыдущей строки таблицы)))
просто не знаю пока языка 8ки, и не замарачиваюсь особо
# Ответить
24. winterspring (файл скачал) 27.12.2012 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.2013 19:28
Обновил обработку:
Возможность выбора между "быстрой" и "правильной" печатью.
Возможно сравнить остатки в текущей и в предыдущей декларациях.

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

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

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






IE 2016