Визуализация электронной подписи на исходящих документах в соответствии с ГОСТ Р 7.0.97-2016. Финальная версия

26.01.21

Функциональные - Документооборот и делопроизводство (СЭД)

Начиная с версии 1С:Документооборот 2.1.13.28 появилась возможность визуализации документов, подписанных электронной подписью по ГОСТу Р 7.0.97-2016. Хочу рассмотреть реализацию этого механизма и предложить готовый вариант его использования.

Скачать исходный код

Наименование Файл Версия Размер
Визуализация электронной подписи на исходящих документах в соответствии с ГОСТ Р 7.0.97-2016. Финальная версия., используем PDFTK:
.cfe 265,34Kb
70
.cfe 265,34Kb 70 Скачать
Визуализация электронной подписи на исходящих документах в соответствии с ГОСТ Р 7.0.97-2016. Финальная версия., не используем PDFTK:
.cfe 265,36Kb
98
.cfe 265,36Kb 98 Скачать

На момент написания этой статьи, алгоритм визуализации электронной подписи не изменился и остаётся актуальным для версий 2.1.15.4 и 2.1.16.1. Кому интересно, прошу под спойлер.

 
Алгоритм визуализации ЭЦП

Алгоритм визуализации следующий. В общем макете «ШаблонОтметкиЭП»содержится картинка, в которую с помощью ImageMagick впечатываются данные о серийном номере сертификата, субъекте и сроке действия сертификата.

Тут сразу 2 нюанса хочу отметить:

  1. ImageMagick нужен свежий, который запускается не командой «convert.exe», а «magick.exe convert», причём ошибку о несоответствии версий вы получить только если в персональных настройках работы с файлами вы не меняли имя программы по умолчанию, оставив «convert.exe»;
  2. у сертификатов, выданных на организацию, в качестве имени субъекта (CN, Соммon Name) указывается организация, а вот в полях фамилия (SN), имя и отчество (GN) , как раз то, что нам надо для выполнения п. 5.23 ГОСТа. Если в тексте файла есть метка «ВставитьЭП», то вместо неё вставляется полученная картинка, а если этой метки нет, то картинка вставляется в документ в угол, который указан в настройках.

За вставку отвечает соответственное содержимое двух общих макетов «ВставкаИзображенияВместоТегаВDocx» и «ВставкаИзображенияЭПСУказаниемПоложенияDocx».

Вернёмся ещё к ImageMagick. Координаты текстовых элементов для вставки в шаблон указываются в функции «СоздатьОтметкуЭП()» общего модуля «РаботаСЭП» относительно левого верхнего угла изображения. Там же указывается размер шрифта надписей (последний параметр функции «НаложитьСтроки()» общего модуля «РаботаСКартинками»). Цвет текста можно поменять в параметре -fill функции «НаложитьСтроки()». Также хочу отметить, что геометрические размеры изображения после вставки в MS Word определяются элементами cx и cy, которые выражены в каких-то странных единицах, которые в коде 1С называются EMU (English Metrick Units). Я уже всё посчитал и подогнал, так что если размер шаблона не будет изменён, то всё будет красиво.

Без дополнительных доработок визуализация ЭЦП, предложенная 1С по умолчанию не жизнеспособна. При общении по электронной почте, в письмо вставляется не файл с подписью, а его визуализированная версия. Т.е. документ в редактируемом формате со штампом ЭП. Вашему контрагенту ничего не мешает дописать нужную информацию (допустим в договор) и отправить документ дальше. Когда обман вскроется, вы, конечно, сможете доказать, что отправляли документ с другим содержанием, но учитывая российские реалии это можно доказывать долго. Некоторые серьёзные министерства (Минкомсвязь и Минпромторг например) печатают в штампе надпись не «Документ подписан электронной подписью» (как указано в ГОСТе), а «Подлинник электронного документа подписанного ЭП хранится в ...». Наверное догадываются о чём-то.

Что можно сделать? Предлагаю формировать визуализацию документа в формате Adobe PDF и накладывать на него защиту. Я сразу оговорюсь, мне известно, что если у документа Adobe PDF разрешена печать, то снять с него защиту можно путём печати на виртуальном pdf-принтере, но есть несколько мыслей:

  1. в моём варианте разрешена только черновая печать, так что документы будут различаться;
  2. при некоторых вариантах документооборота, можно запретить печать;
  3. для злоумышленников это дополнительное лишнее действие, которое невозможно совершить по ошибке и оно подтверждает преступный умысел.

Попробуем наложить ограничения на использование файла визуализации. Мы вынуждены разрешить печать документа с визуализацией подписи, так как предполагаем, что документ у корреспондента может рассматриваться руководством в бумажном виде. Воспользуемся для этого бесплатным программным обеспечением PDFTK Free.

 
Установка и лицензионное использование PDFTK Free

Программа (на момент написания статьи версии 2.02) представляет из себя консольную утилиту и графическую оболочку. В описании к данной утилиты сказано, что опытные пользователи (power users) могут использовать консольную утилиту. Мы естественно опытные, какие же ещё.

Среди публикаций на нашем сайте я находил обёртку для консольной утилиты PDFTK на 1С, в виде внешней обработки, там исполняемый файл лежал в макете и выгружался во временную папку для использования. Очень удобно, но запрещено текущим лицензионным соглашением. Может раньше было можно, не знаю.

Так что качаем программу с официального сайта, ставим на компьютер, где осуществляется визуализация подписываемых документов. Если процедура визуализации не сможет найти утилиту pdftk.exe, то файл в формате Adobe PDF будет всё равно создан, но пользователю будет выведено предупреждение о невозможности наложить дополнительную защиту. Путь к утилите зашит прямо в коде, т. к. по умолчанию инсталлятор ставит программу в одну папку: «C:\Program Files (x86)\PDFtk\bin» для 64-х битных систем.

Расширение проверено на конфигурации 1С:Документооборот государственного учреждения 2.1.15.4 и 2.1.16.1. Нет под рукой КОРП версии, но почти уверен, что взлетит.

 

Учитывая спорность наложения защиты, выкладываю два варианта расширения — с поддержкой pdftk и без. В версии без наложения защиты код просто закомментирован и его можно активировать.

 
Для тех, у кого LibreOffice

Его тоже можно заставить создавать файлы PDF. Для этого используется параметр командной строки --convert-to. В расширении убираем весь код, от момента получения файла до запуска утилиты pdftk.

Я тестировал, у меня запустилось с такой строкой: C:\Program Files (x86)\LibreOffice\program\soffice.exe --headless --convert-to pdf:writer_pdf_Export "ТУТ_ИМЯ_ИСХОДНОГО_ФАЙЛА" --outdir "ТУТ_ДИРЕКТОРИЯ_ДЛЯ РЕЗУЛЬТАТА"

Как формировать и запускать консольные команды и проверять результат выполнения можно подсмотреть тут же в коде для утилиты PDFTK.

 

P.S. некоторые идеи, реализованные в расширении предложены пользователем ignor (они отмечены в тексте).

 

UPD: Механизм визуализации можно использовать совместно с возможностями отправки и приёма файлов с ЭЦП по почте.

 

UPD 26.01.2021: исправлены некоторые ошибки, проверена работоспособность на версии 2.1.27.1

 

ЭЦП Документооборот Визуализация защита PDF

См. также

1С:Документооборот - цена на лицензии КОРП, ПРОФ и ДГУ

Документооборот и делопроизводство (СЭД) Типовые Платформа 1С v8.3 Управленческий учет Платные (руб)

Организуйте правильный оборот документов на вашем предприятии в 1С. Ведение учета и хранения документов. Управление потоками документации между подразделениями. Работа с договорами в компании. Автоматизация процессов подготовки, согласования и подписания документов. Сократите время и объем ошибок с 1С:ДО!

48500 руб.

19.02.2016    107406    105    5    

87

1С:Архив

Документооборот и делопроизводство (СЭД) Платформа 1С v8.3 Платные (руб)

"1С:Архив" – это универсальная система, обеспечивающая надежное долговременное хранение документов с гарантией юридической значимости на неограниченный срок. "1С:Архив" разработан на основе нормативно-правовых актов по архивному делу, поддерживает операции хранения документов – от попадания в архив до уничтожения – и не имеет ограничений на объем хранимых данных. "1С:Архив" сопровождается методологической поддержкой в виде организационных документов по хранению, входящих в состав "Комплекта нормативных документов" к "Методике управления документами и совместной работой", разработанной специалистами фирмы "1С". Использование "1С:Архива" позволяет организовать единое хранилище всех бумажных и электронных документов из разных информационных систем, вести архивный учет в соответствии с требованиями Росархива и снизить нагрузку на учетные системы. Продукт подходит для малых, средних, крупных предприятий и учреждений любых отраслей.

90000 руб.

24.10.2022    5000    5    1    

5

Таймлист (1С:Совещание, Таймлист Лайт)

Документооборот и делопроизводство (СЭД) Конфигурации 1cv8

«Таймлист» – экосистема сервисов («Таймлист Лайт», «1C:Совещание», «Таймлист Recorder»), основанная на искусственном интеллекте Таймлист, который позволяет эффективно работать с легкими поручениями за счет фиксации всех важных идей при расшифровке и последующем формировании автопротокола встречи. Сервисы, в которые интегрирован ИИ, позволяют работать с задачами (поручениями), полученными из автопротокола.

10000 руб.

06.12.2023    1574    0    0    

7

SALE! 30%

Распознавание и загрузка сканов в 1С "одним нажатием": УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.

Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Учет документов Распознавание документов и образов Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная программа для распознавания ЛЮБЫХ СКАНОВ ИЛИ ФОТО ТОВАРНЫХ ДОКУМЕНТОВ в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML и т.д.) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

6000 5520 руб.

04.06.2019    102564    299    173    

315

Легкий документооборот (+чат-бот для Telegram)

Документооборот и делопроизводство (СЭД) Мессенджеры и боты Учет документов Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 Платные (руб)

Расширение для согласования справочников и документов в конфигурациях "1С: Бухгалтерия 3.0", "Управление нашей фирмой", "1С ERP Управление предприятием", "Бухгалтерия государственного учреждения". Ролевая адресация, условная маршрутизация, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Версия для 1cfresh.com. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    28269    27    48    

59

ЭДО: организация архива оригиналов первичных документов, комплексный отчет по ошибкам

Документооборот и делопроизводство (СЭД) ЭДО и ОФД Учет документов Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Мощный, единый инструмент для решения всех проблем, связанных с переходом на ЭДО. Экономит бумагу и время - организует архив оригиналов первичных документов прямо в базе 1С, в прикрепленных файлах к соответствующим документам. С помощью комплексного отчета по ошибкам в ЭДО позволяет выявить и исправить все возможные ошибки - ошибочно сопоставленные документы, не подписанные документы, подписанные, но не загруженные в 1С документы. Автоматически сопоставляет не сопоставленные между собой документы. Может работать по расписанию и присылать отчет о состоянии архива/по ошибкам на почту. Взаимодействует напрямую с сервисами Диадок/СБИС, имеет интуитивно понятный интерфейс и учитывает 3-х летний опыт 40+ клиентов.

14880 руб.

17.12.2018    44605    59    51    

73

1С:Бухгалтерия 3.0 ПРОФ + 1С:Документооборот. Модуль интеграции 1С:БП и 1С:ДО (ПРОФ или КОРП)

Перенос данных 1C Документооборот и делопроизводство (СЭД) Учет документов Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Бесшовная связь с 1С:Документооборот (КОРП или ПРОФ) - вот что обеспечит Вам и Вашим сотрудникам оперативный доступ и продуктивную работу с документами в учётной системе 1С на базе "1С:Бухгалтерия предприятия 3.0 ПРОФ". Интеграция позволяет экономить до 60% времени на поиск и согласование первичной документации (актов, счетов-фактур, накладных), не говоря уже о других полезных функциональных возможностях: создании и запуске бизнес-процессов, работе с электронной почтой, штрихкодировании документов и многом другом.

30000 руб.

23.05.2017    54318    34    67    

41

Шаблоны.doc - документы Word из 1С (1С:Совместимо!)

Печатные формы Документооборот и делопроизводство (СЭД) Учет документов Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет Управленческий учет Платные (руб)

Приложение для быстрого создания макетов печатных документов, заполняемых из 1С:Предприятие, без привлечения программистов и запуска конфигуратора. Шаблон готовится в редакторе MS Word, отлично освоенном офисными служащими. Так, на подготовку нового шаблона договора купли продажи со спецификацией потребуется 25 минут. Приложение будет полезно, если Вы работаете со множеством Word-шаблонов или если Вам надо часто создавать новые шаблоны. Есть сертификат "1С: Совместимо!". Версия ПРОФ доступна в виде расширения.

2000 руб.

05.09.2017    90887    62    82    

97
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
95. soulner 365 10.09.21 16:35 Сейчас в теме
(94) Не сразу догадался я из какой области вопрос. Вы ставите штамп на файл PDF, я затачивал это расширение на работу с MS Word, а для PDF делал другое вот ссылка (чтобы ГОСТ соблюдать). Так вот ImageMagick берёт цветовое пространство из первого изображения, соответственно если вы совмещаете ч/б рисунок и цветной, то в итоге получаете ч/б. Чтобы такого не было в команду convert надо добавить параметр -colorspace sRGB, который принудительно установит цветовое пространство.
96. Night_Trap 15.09.21 12:58 Сейчас в теме
(95) Параметр не помог.
Решил иначе.

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

Информацию подчерпнул в этой публикации https://infostart.ru/1c/articles/1324348/
Спасибо большое за помощь и участие.
108. emcya 4 18.05.23 19:01 Сейчас в теме
(95)
-colorspace sRGB

Мне помогла добавка параметра -colorspace sRGB в команде composite (в функции НаложитьШтамп() общего модуля РаботаСКартинками - штамп по итогу цветной
#Вставка
Параметры = СтрШаблон("composite -colorspace sRGB -dissolve 80 -gravity %1 -geometry %2%3 %4 %5 %6",
	ПоложениеШтампаСтрока,
	ОтступX,
	ОтступY,
	ИмяФайлаШтампа,
	ПутьPng,
	ПутьНовогоФайла);
#КонецВставки
#Удаление
	Параметры = СтрШаблон("composite -dissolve 80 -gravity %1 -geometry %2%3 %4 %5 %6",
	ПоложениеШтампаСтрока,
	ОтступX,
	ОтступY,
	ИмяФайлаШтампа,
	ПутьPng,
	ПутьНовогоФайла);
#КонецУдаления
Показать

(95)
97. user1436907 01.10.21 09:02 Сейчас в теме
Уважаемые коллеги, подскажите пожалуйста--как настроить прорисовку ЭЦП на последней странице---просто у меня это на каждом листе, а нам нужно вконце документа (файл подписываем pdf).
98. user1667389 26.10.21 07:35 Сейчас в теме
Почему не написана Функция СведенияОВнешнейОбработке ?
Не импортируется в документооборот 8.3.17
99. user1667389 26.10.21 13:07 Сейчас в теме
Ошибка Ошибка при попытке открыть файл (C:\...\0eede4cd-02f1-4354-9dda-affda4aa6a68\b18dff09-32a2-4a79-b057-064f905aa009\App\W\Шаблон Письмо.docx)!
Возможно имя файла указано не верно или указан файл другого формата.
почему ?
101. 1c_borsch 18.03.22 14:49 Сейчас в теме
Добрый день.
Подскажите, можно ли вывести в штамп ЭП название организации в кавычках? Если да, то как это правильно сделать? При печати с кавычками выходит ошибка при попытки запуска приложения "Ошибка при вызове ImageMagick с командной строкой, Возможно нарушена структура командной строки".
102. emcya 4 31.03.22 23:03 Сейчас в теме
У меня создание файла визуализации не срабатывает. Вызывается исключение в модуле объекта справочника Файлы в процедуре ПередЗаписью на проверке
НовыйВладелецФайлаЭтоДокумент = ДелопроизводствоКлиентСервер.ЭтоДокумент(ВладелецФайла);
Если НовыйВладелецФайлаЭтоДокумент Тогда
НовыйВладелецФайлаПодписанЭП = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ВладелецФайла, "ПодписанЭП");
Если НовыйВладелецФайлаПодписанЭП Тогда
ВызватьИсключение НСтр("ru = 'Нельзя установить владельцем файла подписанный документ.'");
КонецЕсли;
КонецЕсли;
Не сталкивались с таким?
Документооборот государственного учреждения, редакция 2.1 (2.1.28.14)
104. lamer19 54 27.11.22 14:45 Сейчас в теме
Два года прошло и всё забыл вчистую как и не знал
105. ignor 236 27.11.22 14:47 Сейчас в теме
В смысле я забыл. У меня тут две учетки
106. ignor 236 28.12.22 00:42 Сейчас в теме
Коллеги, более менее освежил в памяти, но у меня вопрос. Мне необходимо в штамп вставить логотип. А как его вставить и как масштабировать размеры картинки логотипа до квадратика вставляемого в штамп
107. ignor 236 29.12.22 02:31 Сейчас в теме
109. user1959588 15.06.23 12:56 Сейчас в теме
Добрый день, в 1С выгружаю документ с визуализацией ЭЦП, но даты на самом штампе ЭЦП, когда подписан документ нет, дату видно только в 1С в разделе ЭП, а нам для размещения в ЕИС (закупки.гов.ру) акта выполненных работ для казначейства необходимо указание даты когда мы приняли выполненные работы, т.е. дата подписания Заказчиком, как сделать чтобы в визуализации была видна дата подписания?
113. soulner 365 26.12.23 12:30 Сейчас в теме
(112) Я не могу понять в чём ваш вопрос. После подписи документа при первом просмотре создаётся визуализация, моё расширение просто корректирует штамп под требования ГОСТа. А потом появляется команда по созданию визуализации в формате Adobe PDF, которая добавляет в карточку документа новый файл со штампом в формате PDF. Всё, больше расширение ничего не делает. Вы можете использовать мой код для своих разработок.
Оставьте свое сообщение