Подпись PDF в новой версии 8.3.16

23.12.19

Разработка - Универсальные функции

Проверяем новую возможность платформы 1С:Предприятие 8 по формированию подписей в PDF.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Подпись PDF в новой версии 8.3.16:
.epf 12,85Kb
63
63 Скачать (1 SM) Купить за 1 850 руб.

Всем привет! В версии платформы 8.3.16 мы получили интересную возможность формировать подписи в PDF, которую сразу захотелось попробовать. Перед прочтением рекомендую ознакомиться со статьей //infostart.ru/public/809967/ в которой раскрыты базовые понятия. Итак, нам потребуется:

  1. Платформа 8.3.16, тестировал на версии 8.3.16.1063.
  2. Конфигурация без режима совместимости, взял для примера УТ 11.
  3. Сертификат, ну а как же без него? :) я взял тестовый сертификат с портала КриптоПро https://www.cryptopro.ru/certsrv/certrqma.asp 
  4. Криптопровайдер, логично что я использовал, а именно сертифицированную КриптоПро CSP 4.0 R4. у продукта есть бесплатная временная лицензия. В программе у вас вас не должно быть ошибок на закладке Программы   
  5. КриптоПро PDF, который необходим про просмотра подписей
  6. Добавить сертификат в программу. Далее для своего удобства я сделал константу со ссылкой на данный сертификат 
  7. Раз уж я и так включил возможность редактирования конфигурации, то не стал использовать расширения, пока нет у меня к ним доверия вовсе и доработал форму "Печать документов". В этой форме уже сформирована печатная форма, которую можно сохранить и подписать. На форму добавлена команда, ниже её код 
     

     

  8. Результат должен выглядеть как на скрине ниже. Данный файл прикрепится к документу. Проверка подписи может не происходить если метод подписания установлен по умолчанию не КриптоПро PDF (В Adobe Acrobat Reader DC Редактирование - Установки - Подписи - Проверка 

К данному функционалу можно добавить подписание несколькими пользователями и просмотр имеющийся подписей в файле программе.

PS сильно не пинайте, моя первая статья за такое время нахождения ИС :)

См. также

Универсальные функции Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

21.05.2024    20116    dimanich70    81    

144

Универсальные функции Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    4090    3    John_d    11    

57

Универсальные функции Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    18049    atdonya    24    

56

Универсальные функции Программист Платформа 1С v8.3 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    5501    ke.92@mail.ru    16    

65

WEB-интеграция Универсальные функции Механизмы платформы 1С Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    14728    YA_418728146    7    

166

Пакетная печать Печатные формы Адаптация типовых решений Универсальные функции Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Абонемент ($m)

Расширение для программ 1С:Управление торговлей, 1С:Комплексная автоматизация, 1С:ERP, которое позволяет распечатывать печатные формы для непроведенных документов. Можно настроить, каким пользователям, какие конкретные формы документов разрешено печатать без проведения документа.

2 стартмани

22.08.2023    3578    56    progmaster    8    

4

Инструментарий разработчика Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

Копирует в буфер значения из списков, из ячеек отчетов, таблиц, настроек списков, других отборов и вставляет в выбранную настройку отбора. Работает с Объект не найден. Работает как в одной так и между разными базами 1С. Использует комбинации [Alt+C] Копировать список, [Alt+V] Вставить список. Также для копирования данных используется стандартная [Ctrl+C] (например из открытого xls, mxl, doc и т.п. файла скопировать список наименований)

1 стартмани

13.10.2022    18476    171    sapervodichka    112    

135
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. VmvLer 23.12.19 11:15 Сейчас в теме
картинки не видны. новый браузер и расширение ставить не буду.
наверное я так никогда и не узнаю эту чудо-технологию
2. kolya_tlt 88 23.12.19 11:17 Сейчас в теме
(1)
картинки не видны. новый браузер и расширение ставить не буду.
наверное я так никогда и не узнаю эту чудо-технологию

использовал редактор прикрепления картинок ИС, используя гугл хром. для ознакомления с технологий можно только прочитать код.
3. VmvLer 23.12.19 11:23 Сейчас в теме
(2) ну раз это ваша первая статья, то виноват модератор, что я на ретро-браузере ничего не вижу в вашей теме.

как там в рекламе по ящику
"..но если бы не мой редактор, то я бы не написала эту феерическую чушь..."
4. capitan 2507 23.12.19 18:06 Сейчас в теме
Это конечно круто, может я конечно что-то пропустил. А кто примет такую подпись, есть прецеденты когда просят подписать pdf ?
5. kolya_tlt 88 24.12.19 12:57 Сейчас в теме
(4) стараюсь пока избегать юридических аспектов данного направления, так как оно развивается очень быстро. Единственный вариант когда это можно применить, как мне видится - это конкретные требования участников обмена документами по передачи именно формата PDF по открытым каналам, причем удобство заключается в том, что подпись находится внутри документа и он точно закрыт от редактирования, т.е. вам не нужно проверять документ на изменение.
6. Silenser 612 10.01.20 09:51 Сейчас в теме
(4) Например, при внутреннем документообороте внутри холдинга, когда обмениваются разные юрлица в рамках одного подчинения. Для юридически не значимых документов - вполне нормальное решение, вроде как подпись с минимальной защитой есть, автор подписи известен в рамках холдинга и этого вполне достаточно.
7. user1300601 12.08.20 11:22 Сейчас в теме
не совсем понял в чем новизна?
у нас сейчас 1С:Предприятие 8.3 (8.3.14.1779) тоже ставит подписи в PDF
8. user1310411 13.10.20 13:55 Сейчас в теме
Данная процедура не изменяет файл pdf.
&НаСервере
Процедура ПодписатьНаСервере()
	ПараметрыСертификата = Новый Структура("Сертификат, СертификатКриптографии, Пароль, МенеджерКриптографии");
	ПараметрыСертификата.СертификатКриптографии = ПолучитьСертификатКриптографии();
	
	ПараметрыСертификата.Пароль = "111111";
	
	МенеджерКрипто = Новый МенеджерКриптографии("Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider","",80);
	МенеджерКрипто.ПарольДоступаКЗакрытомуКлючу = "111111";
	
	ПараметрыСертификата.МенеджерКриптографии = МенеджерКрипто;

	Штамп = СформироватьШтамп();
	
	ПодписьPDF = Новый ОписаниеПодписиPDF;
	ПодписьPDF.Имя = "Подпись6";
	ПодписьPDF.Сертификат = ПараметрыСертификата.СертификатКриптографии;
	ПодписьPDF.ТипПодписи = ТипПодписиPDF.Утверждающая;
	ПодписьPDF.БлокировкаДокумента = Истина;
	ЗаписьPDF = Новый ЗаписьPDF(ПутьКФайлу);
	ПодписьPDF.РазрешенияДоступаИзменения = 
	ЗаписьPDF.ЗаписатьПодпись(ПараметрыСертификата.МенеджерКриптографии, ПодписьPDF, Штамп);
	
	ЗаписьPDF.Закрыть();


	ДвоичныеДанныеФайла = Новый ДвоичныеДанные(ПутьКФайлу);
	
КонецПроцедуры
Показать


После выполнения данной процедуры не происходит изменения файла PDF.
Ни каких ошибок не возникает. Все переменные заполняются.
Вручную этим сертификатом через Акробат Ридер удается подписать этот же файл.
Что не так?
Прикрепленные файлы:
9. baydaalexey 15.12.20 21:01 Сейчас в теме
(8)
этим сертификатом через Акробат Ридер удается подписать этот же файл.
Что не так?

Скорее всего ваш файл PDF не имеет описания полей TrimBox и CropBox(обещают исправить ошибку в версии 8.3.16.1840 и версиях выше от 05.12.2020), при подписании файла без указанных полей не происходит, ошибок 1С тоже не возвращает, для проверки наличия подписи можно использовать функцию ПолучитьОписанияПодписей объекта ЧтениеPDF.

Также, если есть необходимость в подписании PDF файлов средствами 1С, можно предварительно конвертировать файлы в PDF, содержащие описание полей TrimBox и CropBox, например посредством печати в XPS и потом созданием PDF на основе XPS
10. D1ca 09.02.21 13:54 Сейчас в теме
(9)
Скорее всего ваш файл PDF не имеет описания полей TrimBox и CropBox


А как-то можно добавить описание этих полей в пдф файл?
11. baydaalexey 20.02.21 00:39 Сейчас в теме
(10) Средствами 1С ни как, оптимальным вариантом является либо ожидать исправление данной проблемы в вашей версии, либо делать переход на версию, в которой данная проблема исправлена например 8.3.17.1989, так же, как альтернатива, генерировать PDF самостоятельно, если переход на новую версию исключен. Если интересует вариант генерации pdf то пишите
12. ddima_052 20.02.21 14:01 Сейчас в теме
13. baydaalexey 21.02.21 14:05 Сейчас в теме
(12) Отправил вам заявку "в друзья" с целью детального осуждения проблемы,
15. пользователь 23.02.21 14:17
Сообщение было скрыто модератором.
...
16. пользователь 23.02.21 14:23
Сообщение было скрыто модератором.
...
14. пользователь 23.02.21 14:06
Сообщение было скрыто модератором.
...
17. пользователь 23.02.21 19:19
Сообщение было скрыто модератором.
...
18. user1667389 26.10.21 07:37 Сейчас в теме
Почему отсутствует Функция СведенияОВнешнейОбработке ???
Допишите пожалуйста код
19. пользователь 08.02.24 00:09
Сообщение было скрыто модератором.
...
20. evgeniyasm 16.05.24 11:16 Сейчас в теме
Добрый день. А для БГУ можно сделать, чтобы работало? Очень сильно нужно
Оставьте свое сообщение