gifts2017

Подписываем и шифруем алкогольные декларации (опт и розница) прямо в 1С 7.7

Опубликовал andrewks в раздел Печать - Регламентированная отчетность

Подготавливаем (подписываем и шифруем) алкогольные декларации (все формы) прямо в 1С 7.7 (минуя программы-"посредники" типа КриптЭК-Д, КриптоАРМ и т.п.)!

Данная разработка предназначена, в первую очередь, для тех, кто формирует алкогольные декларации непосредственно в 1С. Ведь, после того, как дело сделано и сформирован выходной xml-файл, его нужно подписать и зашифровать, чтобы можно было отправлять на портал гос.органов (ФСРАР и орган субъекта (для розничных деклараций)). Для этого приходится проделывать целую кучу лишних манипуляций с каждым файлом - закачать его в другую программу, нажать кучу кнопок, чтобы в итоге получить готовый к отправке файл. И всё бы ничего, если бы эти программы обеспечивали транспорт до принимающего органа, но, по неким неведомым широкой общественности причинам, алкогольные декларации подаются только через отдельный портал, вручную.

При таком положении вещей использование этих программ только ради подписи и шифрования файла кажется мне чрезмерным и неудобным.

Представляемая Вашему вниманию разработка является ответвлением разработки http://infostart.ru/public/156416/ с целевой платформой 1С 7.7. Разработка позволяет подготовить файл к передаче прямо в 1С, с удобным минималистическим интерфейсом и сохранением настроек (сертификатов передающей и принимающих сторон), позволяющим подписать и зашифровать файл буквально в два-три клика мыши.

 

Технические детали:

1) Перед подписью файла рекомендую воспользоваться проверкой файла по схеме прямо в этой же обработке, чтобы исключить ошибки.

2) Сохранение настроек (указанных сертификатов декларанта и получателей) сохраняется в разрезе ИНН декларанта (берётся из имени файла) и вида деклараций (розничные/прочие) после каждой их успешного указания. Соответственно, если настройки для конкретного декларанта и типа декларации былы указаны один раз, потом можно сразу жать "Подписать ЭЦП" без выбранной галки "Показывать настройки" - получим подготовку файла к передаче в один клик.

3) Подпись и шифрование реализованы через интерфейс CAPICOM. На компьютере должен быть установлен криптопровайдер, предоставляющий разрешённые ФСРАР ГОСТовские алгоритмы подписи и шифрования (я из таких знаю только КриптоПро CSP, но, вполне возможно, есть и другие, на сайте ФСРАР не нашёл конкретного закрытого перечня разрешённых крпитопровайдеров). При наличии установленного КриптоПро CSP, библиотека CAPICOM должна быть доступна на компьютере, но если по каким-то неведомым причинам её, всё-таки, у Вас нет (что мне кажется весьма маловероятным), её можно скачать по ссылке http://www.microsoft.com/ru-ru/download/details.aspx?id=25281 (вместе с примерами использования).

4) В обработке используется компонента OpenFileDialogsManager.dll для устранения проблемы с "обрезанием" имени файла длиной более 63 символов в диалоге выбора файла.

5) В обработке используется компонента 1CPP.dll версии 3.2.3.20 для подфункции упаковки файла в ZIP-архив. Упаковка в данном способе производится штатным упаковщиком 1С 7.7 - zlibeng.dll. Если у вас уже используется компонента 1CPP.dll более ранних версий ( < 3.2.2.x ) - рекомендую либо обновить её до указанной версии, либо переписать подфункцию упаковки файла УпаковатьФайл() с использованием других средств (например, с использованием компоненты dialmail.dll, или вызовом внешнего упаковщика, например, 7z.exe).

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

Наименование Файл Версия Размер Кол. Скачив.
ПроверкаПодписьАлкоДекларации.zip
.zip 786,89Kb
17.10.12
58
.zip 786,89Kb 58 Скачать

См. также

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

Комментарии

1. Евгений Долиновский (Dolly_EV) 18.10.12 08:01
2. Евгений Долиновский (Dolly_EV) 18.10.12 08:12
а xsd в Моксель положить? своим же методом http://infostart.ru/public/115930/ )))
3. andrewks 18.10.12 08:51
4. Станислав Шепталов (sCHTASS) 19.10.12 09:30
Что интересная и полезная!
В догонку предложу сохранить все внешние библиотеки в саму обработку. Было описание технологии, как хранить бинарные файлы в картинках... Вроде как даже тут на инфостарте - надо пошушукать...
5. andrewks 19.10.12 09:42
6. Станислав Шепталов (sCHTASS) 19.10.12 09:49
(5) Сорри, не вникал особливо в предыдущие коменты.
7. Епрст (Ёпрст) 23.10.12 10:49
Нужно только модернизировать - подписать все файлы в папке по шаблону.. и т.д.
Чтоб не каждый раз выбирать файло, а скопом.
8. andrewks 23.10.12 17:33
(7) Ёпрст, зачем? это же не самостоятельно решение типа КриптЭК-Д, а именно решение для встраивания в конфу на 1С. куда как логичнее встроить этот блок и выполнять прямо при формировании выходного xml-файла (я в своей нетленке сделал так: если выгруженный файл прошёл валидацию, я его сразу же и криптую )
9. dionisiy (Dionisiy) 18.01.13 09:25
Отличная работа, ибо эти все крипы откровенно напрягают, ведь по сути это оболочка, при желании можно через OpenSSl зашифровать все это, тот же контур представляет все эти услуги абсолютно бесплатно со своего сайта (установка полностью библиотеки криптопро, сертификаты и т.д. и т.д. все бесплатно и не отходя от кассы), только в этом квартале они запрятали интерфейс, чем побудили срочно искать альтернативные пути.
10. Александр Несмеянов (Угрюмый) 06.01.14 17:28
Добрый день! Заинтересовался проблемой проверки сформированной декларации по схеме непосредственно в 1С. Не имея возможности скачать данную обработку (не дорос мой кошелек по $m...), нашел в сети функцию из данной обработки: http://www.forum.mista.ru/topic.php?id=642503 , "воткнул" ее к себе, в результате получаю:
При проверке по схеме файла D:\xml\D6_2920014706_093_06112013_D3C8794C-4F4E-41C3-A8F3-A9CDE21927FE выявлены ошибки!
OLE.IXMLDOMParseError2
Но, этот файл в декларанте проверяется без ошибок... Понимаю, что что-то не так, но что?

Если кто знает в чем проблема, буду очень благодарен!
Операционка Windows 8; парсер msxml6_x64.msi скачал и установил...
11. andrewks 06.01.14 18:32
(10) какие именно сообщения об ошибках выводятся?
12. Александр Несмеянов (Угрюмый) 06.01.14 21:13
Выводится только OLE.IXMLDOMParseError2
Правда функции ВалидацияХМЛпоСхеме() требовались процедуры ВывестиСообщение() и ВывестиОшибкуРазбораХМЛ(), за неимением коих пришлось вставить функцию Сообщить()
Все от непонимания, с чем работаю... Как я понимаю, validateOnParse - это внутренняя команда mxml, где можно посмотреть ее описание?
13. Александр Несмеянов (Угрюмый) 06.01.14 23:56
Пардон, разобрался, причина в длинном имени файла (или отсутствии компоненты OpenFileDialogsManager.dll). Но где взять эту самую OpenFileDialogsManager.dll?
14. Александр Несмеянов (Угрюмый) 07.01.14 01:58
Если не трудно, поясните, пожалуйста:
При создании xml файла средствами v7plus между тегами нет пробелов и mxml понимает в файле (как и текстовые редакторы/просмотрщики) две строки: "?xml version="1.0" encoding="windows-1251"" и все остальное. Соответственно, и все ошибки получаются во второй строке. Как между тегами поставить пробел или перенос строки
(как это делает Декларант Алко), чтобы легче было находить ошибки?
15. Андрей Чернов (Bahyt) 20.10.14 20:24
16. Андрей Чернов (Bahyt) 20.10.14 20:25
(9) Dionisiy
Куда КОнтур запрятал интерфейс? Я понял так, что это стало теперь платным у них.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа