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

10.01.13

Учетные задачи - Регламентированный учет и отчетность

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

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

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

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

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

Представляемая Вашему вниманию разработка является ответвлением разработки //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).

См. также

Форма КНД 1155127 для БУ4.5

Регламентированный учет и отчетность Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Россия Бухгалтерский учет НДС Абонемент ($m)

Пример создания xml-реестра документов по форме 1155127

1 стартмани

11.10.2023    315    1    morin    0    

1

Заполнение РСВ 2023 (Расчет по страховым взносам; утвержден приказом ФНС России от 29.09.2022 № ЕД-7-11/878@)

Регламентированный учет и отчетность Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 1С:Упрощенное налогообложение 7.7 Россия Бухгалтерский учет ЕСН ФОМС, ЕФС Абонемент ($m)

Заполнение Подраздела 1 раздела 1 "Расчет сумм страховых взносов на ОПС, ОСС, нетрудоспособность, материнство, ОМС" по данным информационной базы для конфигурации 1С: Предприятие 7.7 Бухгалтерский учет 4.5 и УСН, ред. 1.3.

1 стартмани

25.04.2023    2785    3    vik80111    0    

4

Заполнение персональных данных физических лиц и сведений о суммах выплат и иных вознаграждений в их пользу

Регламентированный учет и отчетность Зарплата Кадровый учет Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Россия Бухгалтерский учет НДФЛ ФОМС, ЕФС Абонемент ($m)

Заполнение раздела "Персональных данных физических лиц и сведений о суммах выплат и иных вознаграждений в их пользу" по данным информационной базы для конфигурации 1С: Предприятие 7.7 Бухгалтерский учет 4.5.

1 стартмани

10.01.2023    3299    7    aleksandr_leiman    2    

0

Форма для сбора информации о заработной плате работников бюджетной сферы (СИоЗП) ПФР. 1С 7.7 ЗиК

Регламентированный учет и отчетность Зарплата Расчет 7.7 1С:Зарплата и кадры 7.7 Россия Бюджетный учет Абонемент ($m)

Внешний отчет-"ЗАГОТОВКА" подготовки данных для новой формы мониторинга заработной платы работников государственных и муниципальных учреждений в целях реализации поручений Президента Российской Федерации от 8 марта 2021 г. № Пр-366.

1 стартмани

09.04.2021    4966    0    Mx00    6    

2

Заполнение формы СЗВ-ТД для 1С:Предприятие 7.7

Регламентированный учет и отчетность Зарплата Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Россия Бухгалтерский учет Абонемент ($m)

Регламентированная форма СЗВ-ТД (файл ETK_SZVTD01.ert), но с возможностью заполнения данных не только для печати формы СЗВ-ТД, но и для выгрузки в формате XML. Для Бухгалтерии 7.7 и Упрощенки 7.7

1 стартмани

03.09.2020    13276    11    AndKovalchuk    0    

1

Разделение тарифов "20" и "01" в разделе 1.1 "РСВ" за 1 полугодие 2020 года

Регламентированный учет и отчетность Зарплата Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 1С:Упрощенное налогообложение 7.7 Россия Бухгалтерский учет ФОМС, ЕФС Абонемент ($m)

Доработка регламентной отчетности 7.7. Хотя в программе 1С:Бухгалтерия 7.7 и 1С:УСН 7.7 реализован учет страховых взносов для субъектов малого бизнеса, по которому они могут платить взносы 15 % с сумму заработной платы свыше 12130 руб, раздел 1.1 автоматически заполняется с ошибкой...

1 стартмани

27.07.2020    7894    12    AndKovalchuk    1    

1

Книга продаж 2020 для конфигурации 1С:Предприниматель 7.7

Регламентированный учет и отчетность Оптовая торговля Платформа 1С v7.7 Конфигурации 1cv7 Россия Бухгалтерский учет НДС Абонемент ($m)

Позволяет сформировать Книгу продаж по форме 2019 года с итоговыми суммами по ставке 20%. Если встроить данный отчет в конфигурацию вместо отчета КнигаПродаж1137, тогда будет автоматически заполняться девятый и третий раздел декларации по НДС, для тех предпринимателей, которые выставляют своих покупателям счета-фактуры и работают на общей системе налогообложения.

1 стартмани

23.07.2020    7687    6    AndKovalchuk    6    

1

Проверка обновлений форм налоговой отчетности для Казахстана (для СОНО)

Регламентированный учет и отчетность WEB-интеграция Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Казахстан Бухгалтерский учет Налоговый учет Абонемент ($m)

Обработка связывается с сервером ftp.salyk.kz проверяет наличие новых или измененных ФНО, копирует необходимые формы бухгалтеру в локальный каталог для дальнейшей загрузки в программу СОНО Будет полезна бухгалтерам, сдающим налоговую отчетность. Т.к. ФНО часто меняются и каталогов, которые создаются для обновленных ФНО очень много, становится неудобно искать обновления по серверу. Данная обработка автоматизирует процесс поиска обновленных форм и закачивает их на локальный компьютер.

1 стартмани

18.02.2019    10933    0    VladimirB    0    

0
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Dolly_EV 269 18.10.12 08:01 Сейчас в теме
23. M_W_W 30 26.01.18 12:34 Сейчас в теме
В общем, благодаря коллегам с Мисты, разобрались с проблемой. На самом деле, все там подписывается и шифруется правильно, но, выходные файлы получаются с BOM(Byte order mark), первые два символа с кодами 254 и 255. Если просматривать файлы например FAR-ом, то первые символы файла выглядят как "юя". Может быть ФСРАРовский сайт и проглотит такие файлы, не знаю, не пробовал. Но, тот-же КриптоАРМ вываливается с ошибкой "Неверный формат". Экспериментировать с подачей таких файлов в РАР возможности уже не было, пока разбирался, декларации уже все сдали. Поэтому, на будущее, решил разобраться, как записывать файлы без BOM.
Тут два варианта:
1. Написал универсальную функцию, которая вырезает эти символы из готовых файлов, код на VBS такой:

|Set objFSO = CreateObject(""Scripting.FileSystemObject"")
|Set writer = CreateObject(""Adodb.Stream"")
|Set reader = CreateObject(""Adodb.Stream"")
|reader.Open
|reader.LoadFromFile OutFileName
|writer.Mode=3
|writer.Type=1
|writer.Open
|reader.position=2
|reader.copyto writer,-1
|writer.SaveToFile OutFileName,2
|Set writer = Nothing
|Set reader = Nothing
Показать


Добавляется в конец функций подписи и шифрования. Работает нормально, КриптоАРМ открывает, расшифровывает(если конечно свой сертификат в получатели добавить), снимает подпись и сохраняет файл в исходном виде.

2. Вариант 2, более простой и красивый, предложил коллега NorthWind с Мисты:
Данные после подписи или шифрования преобразуем в массив байтов методом самого CAPICOM - BinaryStringToByteArray объекта Utilities, и потом записываем в файл как бинарный поток.
Вот код JS-скрипта шифрования, в подписи надо сделать аналогично:

ÑòðÊîäà	= "function CryptFile(FileName,Recipients,OutFileName)
		|{
		|   InStream=new ActiveXObject(""ADODB.Stream"");
		|   InStream.Type=1; // binary data
		|   InStream.Mode=3; // read/write
		|   InStream.Open();
		|   InStream.LoadFromFile(FileName);
		|   InData=InStream.Read(-1);
		|
		|   EnvelopedData=new ActiveXObject(""CAPICOM.EnvelopedData"");
		|   EnvelopedData.Content=InData;
		|   for (var i=1; i<=Recipients.Count; i++) {EnvelopedData.Recipients.Add(Recipients.Item(i));}
		|   OutEnvelopedData=EnvelopedData.Encrypt(1);
		|
		|	Util = new ActiveXObject(""CAPICOM.Utilities"");
		|	BinArr = Util.BinaryStringToByteArray(OutEnvelopedData);
		|
		|   OutStream=new ActiveXObject(""ADODB.Stream"");
		|   OutStream.Type=1; // binary data
		|   OutStream.Mode=3; // read/write
		|   OutStream.Open();
		|   OutStream.Write(BinArr);
		|   OutStream.SaveToFile(OutFileName,2);
		|   OutStream.Close();
		|
		| return(0);
		|}
		|";
Показать

После этого, тоже все красиво читается, расшифровывается КриптоАРМом и т.д.

PS Вполне возможно, что это все не обязательно, и ФСРАР проглотил бы файлы и с BOM, но, как-то так красивее и приятнее... В конце концов, тот-же рекомендованый ФСРАРом КриптоАРМ и другие программы пишут файлы без BOM, значит так будет правильнее.
2. Dolly_EV 269 18.10.12 08:12 Сейчас в теме
а xsd в Моксель положить? своим же методом http://infostart.ru/public/115930/ )))
3. andrewks 1367 18.10.12 08:51 Сейчас в теме
4. sCHTASS 49 19.10.12 09:30 Сейчас в теме
Что интересная и полезная!
В догонку предложу сохранить все внешние библиотеки в саму обработку. Было описание технологии, как хранить бинарные файлы в картинках... Вроде как даже тут на инфостарте - надо пошушукать...
5. andrewks 1367 19.10.12 09:42 Сейчас в теме
6. sCHTASS 49 19.10.12 09:49 Сейчас в теме
(5) Сорри, не вникал особливо в предыдущие коменты.
7. Ёпрст 1063 23.10.12 10:49 Сейчас в теме
Нужно только модернизировать - подписать все файлы в папке по шаблону.. и т.д.
Чтоб не каждый раз выбирать файло, а скопом.
8. andrewks 1367 23.10.12 17:33 Сейчас в теме
(7) Ёпрст, зачем? это же не самостоятельно решение типа КриптЭК-Д, а именно решение для встраивания в конфу на 1С. куда как логичнее встроить этот блок и выполнять прямо при формировании выходного xml-файла (я в своей нетленке сделал так: если выгруженный файл прошёл валидацию, я его сразу же и криптую )
9. Dionisiy 4 18.01.13 09:25 Сейчас в теме
Отличная работа, ибо эти все крипы откровенно напрягают, ведь по сути это оболочка, при желании можно через OpenSSl зашифровать все это, тот же контур представляет все эти услуги абсолютно бесплатно со своего сайта (установка полностью библиотеки криптопро, сертификаты и т.д. и т.д. все бесплатно и не отходя от кассы), только в этом квартале они запрятали интерфейс, чем побудили срочно искать альтернативные пути.
16. Bahyt 20 20.10.14 20:25 Сейчас в теме
(9) Dionisiy
Куда КОнтур запрятал интерфейс? Я понял так, что это стало теперь платным у них.
10. Угрюмый 13 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 1367 06.01.14 18:32 Сейчас в теме
(10) какие именно сообщения об ошибках выводятся?
12. Угрюмый 13 06.01.14 21:13 Сейчас в теме
Выводится только OLE.IXMLDOMParseError2
Правда функции ВалидацияХМЛпоСхеме() требовались процедуры ВывестиСообщение() и ВывестиОшибкуРазбораХМЛ(), за неимением коих пришлось вставить функцию Сообщить()
Все от непонимания, с чем работаю... Как я понимаю, validateOnParse - это внутренняя команда mxml, где можно посмотреть ее описание?
13. Угрюмый 13 06.01.14 23:56 Сейчас в теме
Пардон, разобрался, причина в длинном имени файла (или отсутствии компоненты OpenFileDialogsManager.dll). Но где взять эту самую OpenFileDialogsManager.dll?
14. Угрюмый 13 07.01.14 01:58 Сейчас в теме
Если не трудно, поясните, пожалуйста:
При создании xml файла средствами v7plus между тегами нет пробелов и mxml понимает в файле (как и текстовые редакторы/просмотрщики) две строки: "?xml version="1.0" encoding="windows-1251"" и все остальное. Соответственно, и все ошибки получаются во второй строке. Как между тегами поставить пробел или перенос строки
(как это делает Декларант Алко), чтобы легче было находить ошибки?
15. Bahyt 20 20.10.14 20:24 Сейчас в теме
17. M_W_W 30 13.01.18 00:02 Сейчас в теме
Добрый день!
Подниму старую тему...
Это вообще сейчас работает? Ничего не поменялось?
Поясню, почему возник вопрос - решил протестировать, перед тем, как реальные декларации подписывать и отправлять.
Вместо одного из двух сертификатов получателя, выбрал свой(для возможности расшифровки, предварительно добавив его в хранилище "Другие пользователи").
Подписываю/шифрую, вроде внешне все выглядит нормально, получаю файл со всеми необходимыми расширениями. Пробую расшифровать его с помощью программы КриптоАРМ, и получаю ошибку - "Не верный формат данных(0x80070057)"... Если тот-же файл зашифровать КриптоАРМом, с тем-же набором сертификатов(личный так-же добавлен в получатели) то он его потом расшифровывает, снимает подпись и сохраняет в исходном виде без проблем...
Времени с момента публикации разработки прошло много, может что-то изменилось в "свежих" сертификатах или алгоритмах КриптоПРО, что нужно еще какой-либо параметр в процедуру шифрования добавить? Понимаю, что не должно, но все-же... Проверить отправкой реальных файлов в ЛК ФСРАР пока не могу, только на следующей неделе будут реальные декларации готовы...
18. M_W_W 30 13.01.18 00:57 Сейчас в теме
Программа "Такском-КриптоЛайн" тоже не расшифровывает - пишет "Файл не зашифрован или поврежден".
Тормознул в отладчике до того, как она удаляет временные файлы, и выяснилось, что уже подпись работает не правильно, не КриптоАРМ не Такском-КриптоЛайн не открывают подписанный файл. В zip упаковывает нормально...
19. M_W_W 30 13.01.18 15:25 Сейчас в теме
Если открыть подписанный(отловленный до архивирования и шифрования) файл просто блокнотом(Notepad+), то внутри него двоичная "абракадабра", по большей части "NUL"-ами заполнен... Если открыть подписанный КриптоАРМ или КриптоЛайн, то там виден исходный текст XML, только вначале и в конце двоичные фрагменты, видимо "крипто-хвосты" самой подписи.
Что происходит с файлом при подписании, почему он "портится" - ?
Пробовал на компьютере с WIN-XP и КриптоПро 3.6, попробовал на Win-7 c VipNet-CSP, результат один и тот-же...
20. M_W_W 30 14.01.18 19:17 Сейчас в теме
Попробовал сейчас 8-рочную версию обработки, результат тот-же самый...

Единственное, что работает, и в 7.7 и в 8, это валидация файлов деклараций по схемам. Ну, конечно, схемы пришлось заменить на актуальные, в 7.7 в каталоге, а в 8 - в макете.
Но, что с подписью не так? Неужели никто не пользуется такой удобной возможностью? Или я что-то не так делаю?
21. M_W_W 30 19.01.18 21:43 Сейчас в теме
АУ!!! Автор, Вы там живы? Ответьте пожалуйста...
22. M_W_W 30 22.01.18 11:47 Сейчас в теме
На Мисте целую тему сделал - http://www.forum.mista.ru/topic.php?id=811721#7, ничего не получается... Но, сюда не переношу, так, как к сабжевой обработке это имеет уже малое отношение, там я уже переписал подписание на vbs, и прочие эксперименты проделывал... Чего-то не то с кодировкой. Это все хорошо, я надеюсь добью все-таки подписание... Но:
Мне все-таки интересно, у кого-нибудь вообще работает сабжевая разработка, в исходном виде, так сказать - "из коробки" - ???
Опубликована давно, народ скачивал... И тишина... И автор пропал...
24. Dionisiy 4 27.01.18 11:31 Сейчас в теме
Оставьте свое сообщение