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

23.12.19

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

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

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

Наименование Файл Версия Размер
Подпись PDF в новой версии 8.3.16:
.epf 12,85Kb
60
.epf 12,85Kb 60 Скачать

Всем привет! В версии платформы 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С 8.3.24)

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

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

1 стартмани

18.03.2024    2664    0    John_d    8    

53

GUID в 1С 8.3 - как с ними быть

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

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

12.02.2024    4595    atdonya    22    

45

Переоткрытие внешних обработок

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

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

30.11.2023    3956    ke.92@mail.ru    16    

61

Валидация JSON через XDTO (включая массивы)

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

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

28.08.2023    8803    YA_418728146    6    

141

Печать непроведенных документов для УТ, КА, ERP. Настройка печати по пользователям, документам и печатным формам

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

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

2 стартмани

22.08.2023    2071    21    progmaster    7    

3

Расширение: Быстрые отборы через буфер [Alt+C] Копировать список, [Alt+V] Вставить список, [Ctrl+C] Копировать из файлов

Инструментарий разработчика Универсальные функции Платформа 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    16140    133    sapervodichka    112    

129

Система контроля ведения учета [БСП]

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

В данном материале рассмотрим типовой алгоритм подсистемы контроля учета БСП в конфигурациях на примерах.

18.07.2022    7242    quazare    8    

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

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

как там в рекламе по ящику
"..но если бы не мой редактор, то я бы не написала эту феерическую чушь..."
4. capitan 2466 23.12.19 18:06 Сейчас в теме
Это конечно круто, может я конечно что-то пропустил. А кто примет такую подпись, есть прецеденты когда просят подписать pdf ?
5. kolya_tlt 86 24.12.19 12:57 Сейчас в теме
(4) стараюсь пока избегать юридических аспектов данного направления, так как оно развивается очень быстро. Единственный вариант когда это можно применить, как мне видится - это конкретные требования участников обмена документами по передачи именно формата PDF по открытым каналам, причем удобство заключается в том, что подпись находится внутри документа и он точно закрыт от редактирования, т.е. вам не нужно проверять документ на изменение.
6. Silenser 592 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
Сообщение было скрыто модератором.
...
Оставьте свое сообщение