Можете прочитать файл 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).
В интерактивном режиме различия в остатках подсвечиваются цветом, а ТЧОшибки… просто виднА.





Для титульного листа нужно выбирать обособленное подразделение или нет
xml схемы вы из ДА берите?
А где описание 4.20 можно взять?
(1) sergb1979,
Нет, подразделение выбирать не нужно.
Ведь декларация представляется целиком от организации,
а на втором листе указываются места осуществления деятельности — то бишь подразделения.
(2) sergb1979,
xml схемы — да, из Декларант-Алко.
Качаю обновление ДА с ФСРАР, и там — последние их редакции.
Отдельно ведь их не выкладывают (или я не нашел)
(3) kirillkr,
описание 4.20 можно взять
требуется регистрация.
Но и не забываем, что пока это только проект, но который грозит приобрести статус официального.
Здесь я подразумеваю, что 4.20 и 4.02 — одно и то же.
на сайте 1с появились розничные алкогольные декларации (тестовые), там сделано иначе. Может интересно будет Вам.
(7) sergb1979,
О, спасибо, а ссылку можно?
Конечно, мне будет интересно.
Данная обработка родилась, когда клиенту сделал формирование деклараций в формате XML,
а потом встал вопрос: а как печатать?
Сначала думал — выгружу в таблицы ДА, а он уже рапечатает как надо.
А тут бац — файл ДА зашифровали, данные в него не загрузить.
Поискал, м.б. есть обработка, подобная моей, — увы, не нашел.
И решил: выгрузка у меня есть, файл XML формируется, а дай сделаю печать форм по готовому файлу XML.
И мне самому потом пригодится для другого клиента, где правила сбора данных ой какие непростые.
Но файл-то XML так таковым и останется.
(6) форматы отличаются. Формат 4.02 не проходит проверку по 4.20. Вот хочу посмотреть, что ж там поменялась.
Раз еще это только проект, то пока останусь на 4.02.
(8) конечно можно ссылку. все в открытом доступе на сайте 1с, если нет доступа, то могу отправить по почте.
Подозреваю что формат 4.02 и 4.20 одно и тоже, только от разных источников. 4.02 ТОЖЕ ПРОЕКТ.
актуальная разработка, когда в планах 11,12 формы?
(12) zarius, думаю, неделя-полтры
Добавил 6 и 7 формы
Обновил обработку.
Теперь 5,6,7,11,12 формы
Оч полезная обработка. Спасибо.
В форме 7 при закупках только пива, ругается что отсутствует лицензия у поставщика и вылетает по ошибке, подправьте, пожалуйста.
(8) А нельзя ли добавить функцию обновления xml файла? Другими словами выгрузили данные в таблицы, если нужно, что-то в таблицах подправили, и из этих данных сформировали новый xml.
(18) winterspring, да, согласен, полезная была бы функция,
помогите!
форму 5 нормально открывает и печатает из файла xml.
формы 6 и 7 загружает, таблицы на форме заполняются данными, но при попытке распечатать их выходит окно «Ошибка при вызове метода контекста (Заполнить)».
в 8-ке вообще не работал, не знаю где ковырять((
вот что ещё пишет, если нажать кнопку Подробно:
{ВнешняяОбработка.ПечатьАлкогольнойДекларации420.МодульОбъекта(1296)}: Ошибка при вызове метода контекста (Заполнить)
ОблСтрока.Параметры.Заполнить(стПИ);
по причине:
Несоответствие типов (параметр номер ‘1’)
(21) sdwggg,
хм…,
файл декларации проходит проверку?
если да, то есть ли возможность переслать мне Ваш файл?
(22) да, проверку проходит (в Декларант-Алко)
я разобрался, вот что было:
в 6 и 7 форме есть код
ОблСтрока.Параметры.Заполнить(ТЧЛицензии.Найти(стОборот.ИдЛицензии, «Ид»));
так вот, поскольку у ИП лицензии нет, то в ТЧЛицензии не находится строчка.
я сделал просто через Попытку, и стало всё норм
Попытка
ОблСтрока.Параметры.Заполнить(ТЧЛицензии.Найти(стОборот.ИдЛицензии, «Ид»));
Исключение
КонецПопытки;
Но есть небольшой косячок — в самой печатной форме у ИП выходят данные по лицензии предыдущей строки таблицы)))
просто не знаю пока языка 8ки, и не замарачиваюсь особо
При формировании 5 формы, если организация имеет обособленные подразделения в своде по организации не нужно указывать объем перемещения.
Пришлось немного подправить Функцию Печать5()
Показать
Кроме того в формах неправильно указывается адрес обособленного подразделения, пришлось подправить
Ну и немного неправильно загружался файл 5 декларации подправил процедуру ПрочитатьОбъемОборота_5(ФайлДекларации)
Обновил обработку:
Возможность выбора между «быстрой» и «правильной» печатью.
Возможно сравнить остатки в текущей и в предыдущей декларациях.
подробнее — в описании
Добрый день ,полезная вещь. только проблема с download у нас. она для 7ки или 8ки не совсем понятно, можно обработку эту получить hvv2002собакаinbox.ru
попробовал , в 5 ,6, 7, прил — не печатает адрес обособленного , хотя в файле он есть. также не понятно насчет сравнения остатков — в описании нема такого 🙁 это же как раз про 5-е по смыслу.
адреса поправил.
Про сравнение. Ну вот же, из описания:
Если одновременно выбрать файлы текущей декларации и декларации за прошлый период,
то можно сравнить конечные остатки прошлой декларации с начальными остатками текущей декларации.
Несоответствия записываются в ТЧОшибки. А также в ТЧ_5, ТЧ_11_1 и ТЧ_12_1 добавлена колонка «ПрошлыйОстаток»,
которая как раз и заполняется данными прошлой декларации.
Таким образом, для выявления всех ошибок нужно пронализировать и ТЧОшибки, и соответствующую ТЧ (5, 11 или 12).
В интерактивном режиме различия в остатках подсвечиваются цветом, а ТЧОшибки… просто виднА.
Здравствуйте. Спасибо, очень полезная и нужная оказалась обработка.
Вот только в 11-й форме пишет, что приложение №5.
И 12-я форма вылетает с ошибкой:
{ВнешняяОбработка.ПечатьАлкогольнойДекларации420.МодульОбъекта(1668)}: Ошибка при вызове метода контекста (Свернуть)
ТзОбороты.Свернуть(КолГруппировок, КолСуммирования);
по причине:
Неверное имя колонки
И еще одна ошибка в 11-й форме обнаружилась позже: это дублирование колонок 13 и 14, хотя в оригинальной выгрузке точно нет ни одного внутреннего перемещения.
Не все файлы, проходящие проверку программой Декларант-Алко печатаются корректно. При применении XSLT-шаблона, суммирующего поля, итоги не сходятся с печатной формой. Разработчик, напишите в личку адрес — я пришлю пример. Все станет ясно.