Визуализация электронной подписи на исходящих документах в соответствии с ГОСТ Р 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
97
.cfe 265,36Kb 97 Скачать

На момент написания этой статьи, алгоритм визуализации электронной подписи не изменился и остаётся актуальным для версий 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С:Документооборот!

42500 руб.

19.02.2016    106995    103    5    

84

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

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

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

10000 руб.

06.12.2023    1258    0    0    

5

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    101355    296    173    

312

1С:Архив

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

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

90000 руб.

24.10.2022    4853    4    1    

4

Легкий документооборот (+чат-бот для 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    27785    25    48    

57

Групповая выгрузка и загрузка файлов XML для ЭДО в каталог по приказу №820 ФНС (для УТ 10.3/11, КА2, ERP2, БП3, УНФ, УПП1.3, Розница2.3). Поддержка маркировки. Прослеживание товаров.

Документооборот и делопроизводство (СЭД) ЭДО и ОФД Файловый обмен (TXT, XML, DBF), FTP Обмен с ГосИС Платформа 1С v8.3 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Платные (руб)

Групповая выгрузка файлов XML для ЭДО в каталог по приказу №820 ФНС для Контур.Диадок, СБИС и других провайдеров ЭДО. Поддержка УНФ 1.6, УНФ 3.0 Поддержка УТ 10.3, УПП 1.3 Поддержка Розница 2.3 Добавлена выгрузка непосредственно из документа

18000 руб.

15.12.2022    6423    106    25    

14

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

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

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

14880 руб.

17.12.2018    44280    56    51    

71

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

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

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

30000 руб.

23.05.2017    53771    34    67    

41
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Steelvan 302 15.01.20 18:48 Сейчас в теме
"... но учитывая российские реалии это можно доказывать долго. "


Фу. Бытие определяет сознание и мировосприятие. По таким вставкам про автора все ясно.
hoyo; Sindbad_M; +2 2 Ответить
2. soulner 359 15.01.20 22:26 Сейчас в теме
(1) Вам, просто повезло. Пессимист часто это хорошо информированный оптимист.
pavelpribytkin96; user1150141; Plotks2017; raystlin; mrChOP93; +5 Ответить
3. sikvel2012 96 16.01.20 09:54 Сейчас в теме
Если честно я не могу понять сокральный смысл данных визуализаций. Есть присоединенная ЭП. Она и так визуализированна.
Есть отсоединенная, проверяется отчётом, и проверять ее должно лицо получившее документ. Мы такие визуализированна документы отправляем назад контрагентам и требуем от них исходный файл + подпись (sig).
4. soulner 359 16.01.20 12:29 Сейчас в теме
(3) Вы категорически правы. Смысл данных визуализаций имеется только в том случае, если нет возможности отправить документ и подпись и принять от него документ с подписью, проверить её и сформировать подписанный входящий документ. Но 1С:Документооборот такой возможности не предоставляет при использовании внутренней почты (поправьте меня если это не так). У меня в планах такую возможность реализовать, но времени совсем нет. И вот тогда визуализация будет только вспомогательным механизмом.
5. susumanin 1 16.01.20 13:32 Сейчас в теме
Объясните такой момент, если не сложно.
Вот подняли мы Microsoft Enhanced CryptoProvide, выпустили сертификат, настроили 1С Документооборот.
Подписали под юзером какой-нибудь документв в 1С.
Правильно я понимаю: теперь из 1С можно выгрузить саму подпись и сам вордовский файл. При этом в самом вордовском файле нет никакой инфы (кроме штампа) что он подписан, т.е. его можно поменять.
Вопрос: можно ли как-то првоерить что файл ворд был изменен имея в наиличие ps7 файл выгруженный из 1С?
Спасибо.
TigerS74; +1 Ответить
6. soulner 359 16.01.20 21:02 Сейчас в теме
(5) Сейчас опишу, как с выгрузкой подписанных файлов дело обстоит:
1. при первом просмотре подписанного файла 1С:Документооборот создаёт версию, в которую помещает штамп для визуализации ЭП, файл при этом меняется и уже не соответствует подписи;
2. при выгрузке вместе с ЭП (это отдельная команда в меню) выгружается оригинальный файл и подпись (или много) к нему;
3. откреплённая подпись, выгружаемая из программы, соответствует стандарту PKCS#7 и может быть проверена где угодно (единственный момент, расширение лучше поменять на sig, это привычней), подпись, выданную авторизованным УЦ можно проверить, например, тут gosuslugi.ru/pgu/eds;
4. Вы можете взять документ, загрузить в 1С, потом отдельно загрузить подпись и если на рабочей станции (или на сервере) настроена цепочка для проверки сертификата, то данная подпись будет признана действительной, если документ не был изменён.

Я по этому и предлагаю слать pdf-с визуализацией, т.к. документ MS Word могут отредактировать, а средства для проверки подлинности документа остаются только на нашей стороне. 1С не умеет отправлять файл и подпись при использовании механизма внутренней почты. Вроде как умеет через лёгкую. Но у меня не получилось на одном рабочем месте запустить и такую и такую.

Думаю, что сами 1С эту функцию не внедрят т.к. она частично отнимет хлеб у сервиса 1С:ЭДО в части пересылки произвольных документов.
1c_borsch; TigerS74; susumanin; +3 Ответить
7. susumanin 1 17.01.20 12:51 Сейчас в теме
110. purkua 25.12.23 15:31 Сейчас в теме
(6)
Добрый день, коллеги. Помогите разобраться. Сделал вывод собственного ШтампаЭПЦ в ворд. После подписания, если открыть документ, штамп виден в ворде. Когда скачиваем документ вместе с подписью ЭЦП, то в ворде штампа нет. При попытке создать ПДФ из подписанного вордовского - такая же беда, штампа нет. Помогите, люди добрые. Что не так? Куда копать?
111. soulner 359 25.12.23 17:04 Сейчас в теме
(110) Добрый день. Первая часть поведения системы правильная. Вы подписываете документ без штампа, подпись подтверждает неизменность документа после подписания. Соответственно, когда вы скачиваете документ с подписью, получаете документ без штампа и подпись. А дальше программа делает визуализацию подписанного документа, она может быть нужна. чтобы в дело подшить или начальнику отнести.
А вы ПДФ из подписанного документа создаёте в ДО или просто из Ворда?
112. purkua 25.12.23 17:44 Сейчас в теме
(111)
А вы ПДФ из подписанного документа создаёте в ДО или просто из Ворда?

В ДО, программно, средствами Ворда


(111)
А дальше программа делает визуализацию подписанного документа, она может быть нужна. чтобы в дело подшить или начальнику отнести.

Когда именно? При открытии на форме документа?
Руководитель хочет следующее: ему в Задачи мне прилетает док-т на согласование или утверждение, в нем находятся Вордовские док-ты, при нажатии Согласовать или Утвердить, он хочет, чтоб подписались Ворды и создались и также подписались ПДФки, самое главное со штампами. Так вот, сделал на тестовой кнопку, принудительно подписываю Ворды, и создаю ПДФки, но штампы как ветром сдуло.
8. ignor 235 19.01.20 15:14 Сейчас в теме
Посоветуйте что делать в случае когда подписантов может быть у нас несколько и когда требуется поставить штампики на последнюю страницу. У Вас в коде doc/docx как я понимаю преобразуется в pdf,а уже на него ставится штамп и накладывается защита? А не подскжете ли как быть в случае если в документообороте хранится уже файл pdf?
10. soulner 359 19.01.20 17:26 Сейчас в теме
(8) Разработчики 1С с своём решении отклонились от требований п.п. "а" п. 5.23 ГОСТа и сделали вывод всех печатей в один штамп. В данной публикации я не меняю алгоритм формирования штампа, только дизайн. Как будут выглядеть штамп с несколькими подписями, я не знаю т.к. нет возможности проверить.
Штамп ставится непосредственно в документ MS Word, и уже потом он преобразуется в PDF и накладывается защита.
Место, куда ставится штамп, определяется или настройками положения ЭП (Общие настройки - настройки электронной подписи - вкладка Штамп ЭП) или наличием в документе текстовой метки "ВставкаЭП" (эта метка может быть на любой странице)
9. ignor 235 19.01.20 15:26 Сейчас в теме
Кроме того у Вас указано

Тут сразу 2 нюанса хочу отметить:
ImageMagick нужен свежий, который запускается не командой «convert.exe», а «magick.exe convert», причём ошибку о несоответствии версий вы получить только если в персональных настройках работы с файлами вы не меняли имя программы по умолчанию, оставив «convert.exe»;



а в коде 1с стоит convert
11. soulner 359 19.01.20 17:34 Сейчас в теме
(9) Нет, в коде стоит
ПолныйПуть = Константы.ПутьКПрограммеКонвертацииPDF.Получить();
потом идёт проверка, что написано в этом полном пути
Если ПолныйПуть = "convert.exe" Тогда
    УдалитьВременныеФайлы(ФайлыКУдалению);
    ВызватьИсключение НСтр("ru = 'В настройках программы указан полный путь к устаревшей версии ImageMagick (convert.exe).'");
КонецЕсли;

В переменной ПолныйПуть должен быть путь к файлу magick.exe, потом к нему добавляется команда convert и параметры -pointsize %1 -draw ""%2"" %3 %4.
Это делается в 2-х процедурах общего модуля "РаботаСКартинками": НаложитьСтроки - параметры и ЗапуститьImageMagick - непосредственно запуск.
12. ignor 235 20.01.20 09:35 Сейчас в теме
Наверное надо будет как-то совместить Ваше решение с указанным https://infostart.ru/public/830374/
13. soulner 359 20.01.20 14:44 Сейчас в теме
(12) Я пробовал, механизм достаточно прост, но в общем случае нереализуем.
Причина в том, что необходимо указать координаты штампа в документе. Документ PDF имеет слой с изображением, но разрешение его заранее не известно и координаты штампа и его масштаб посчитать не получается, соответственно простой путь, а именно подготовить с помощью ImageMagic pdf-файл со штампом и прозрачным фоном, а потом с помощью утилиты pdftk.exe с ключом stamp их слепить вместе не катит.
Есть второй путь:
1. нарезаем файл pdf полистно с использованием утилиты pdftk и команды burst;
2. все листы с помощью ImageMagik переводим в формат jpeg (тут появляется возможность прочитать их свойства и понять размеры);
3. с помощью ImageMagik формируем печать и масштабируем её под размер листа;
4. с помощью ImageMagik ставим печать куда надо (тут основной вопрос);
5. с помощью ImageMagik из файлов jpeg делаем pdf.
Я пометил основную проблему данного алгоритма. Куда ставить штамп? Когда используется текстовый редактор, то есть текстовая метка, а какая метка может быть на картинке?
14. ignor 235 20.01.20 22:05 Сейчас в теме
Я пробовал решать проблему через для pdf через Adobe Acrobat DC по OLE (благо его можно арендовать как и офис 365), Но моё владение английским для целей чтения технической документации на данный момент оставляет желать лучшего:
У нас на предприятии есть два пожелания к вставке штампа в исторически хранящийся PDF
По положению штампов в документе: Вставлять штамп/штампы вниз на последнюю страницу. Насколько я понимаю в нашей ситуации речь идёт об отсканированных подписанных договорах, то есть это всегда А4. Отсюда можно взять некий стандартный размер штампа за основу и раскинуть их скажем на генерируемую PDF страницу с неким шагом снизу вверх. Я не думаю что ЭЦП может быть столько что мы перекроем лист формата А4
По прозрачности штампа/штампов: Крайне желательно чтобы сквозь штампы проглядывался бы оригинальный документ.
По эксплуатации: Хотелось бы, но данное требование не обязательное, чтобы пользователь мог сам двигать в некоей программе просмотра (отсюда и интерес к Adobe Acrobat DC) штампы располагая их как ему удобнее.
Что единственное что у меня получилось в PDF так это адаптировать код написанный в SDK на VBA к 1С
gApp = Новый COMОбъект("AcroExch.App");
gApp.CloseAllDocs();
gPDDoc = Новый COMОбъект("AcroExch.PDDoc");
Если gPDDoc.Open(PDFIN) Тогда

jso = gPDDoc.GetJSObject();

Page = gPDDoc.AcquirePage(0);
pageRect = Page.GetSize(); //' now use pageRect.x and/or pageRect.y for stamp placement

stampRect = Новый COMSafeArray("VT_I4", 4);
stampRect.SetValue(0,100); //' taking a shortcut here
stampRect.SetValue(1,100);
stampRect.SetValue(2,200);
stampRect.SetValue(3,200);

annot = jso.AddAnnot();

props = annot.getprops();
props.Type = "Stamp";
annot.setProps(props);

props = annot.getprops();
props.Page = 0;
props.rect = stampRect;
props.Author = "My Name";
props.contents = "My Contents";
props.AP = "Approved";// ' this would be your own AP string - "Approved" uses one of the standard stamps
annot.setProps(props);


КонецЕсли;
и это дало вставку их штампа с их предзашитой текстовкой
Прикрепленные файлы:
user591389_aska_rabota; +1 Ответить
74. soulner 359 11.11.20 10:16 Сейчас в теме
(14) Сделал впечатывание в PDF регистрационного штампа https://infostart.ru/public/1324348/ На том-же принципе можно и визуализацию впечатывать, но всё равно не понятно как размещать штампы.
103. emcya 4 05.04.22 22:50 Сейчас в теме
(14) Штамп можно сделать прозрачным, добавив альфа канал и удалив белый цвет в графическом редакторе
15. ignor 235 20.01.20 22:12 Сейчас в теме
Поначалу я выходной файл открывал в Adode Acrobat DC, но потом как то пытаясь заставить его открывать указанный документ на просмотр пользователю предварительно закрыв все ранее открытые поломал это функционал в своём коде. Мне бы по вашему описанию схемку бы и чертёж на предмет опсианного
"подготовить с помощью ImageMagic pdf-файл со штампом и прозрачным фоном, а потом с помощью утилиты pdftk.exe с ключом stamp их слепить вместе"
16. ignor 235 20.01.20 22:43 Сейчас в теме
В случае кстати А4 и последней страницы я могу создать пустой docx файл и раскидав по нему печати (по ситранице) сохранить его как pdf/ для целей объединения его с Основным документом с помощью команды pdftk Весь вопрос вот только как ему прозрачность приставить
17. soulner 359 21.01.20 18:17 Сейчас в теме
(16) Очень крутое решение, а главное изящное и без заморочек с ImageMagick!
Да, так можно.
1. Делаем документ MS Word или LibreOffice, размещаем штампы, как нам надо.
2. Перед листом со штампами делаем нужное количество пустых листов - это важно!
3. Сохраняем этот документ в формате PDF.
4. Команда выглядит так:
pdftk.exe ИМЯ_ВХОДНОГО_ФАЙЛА multistamp ИМЯ_ФАЙЛА_СО_ШТАМПАМИ output ИМЯ_ВЫХОДНОГО_ФАЙЛА

P.S.параметр stamp накладывает одностраничный pdf на каждую страницу входного документа, а нам надо один раз в нужное место, по этому используем multistamp.
18. ignor 235 22.01.20 15:31 Сейчас в теме
Можно кстати ещё ради универсальности в Adobe Reader перебирать страницы на входе и генерировать разделы пустые страницы с теми же размерами в Winword на выходе Часть функционала по OLE доступна и у Adobe Reader.

А ещё хотел Вас коллега спросить ан предмет видели ли Вы тут нижеследующую публикацию и что Вы по её поводу думаете если видели
https://infostart.ru/public/1171681/
19. Profenix 17 23.01.20 12:03 Сейчас в теме
А нельзя сбросить ссылку на ImageMagick?
я под винду не нахожу magick.exe convert
Прикрепленные файлы:
20. soulner 359 23.01.20 14:29 Сейчас в теме
(19) Вы всё правильно нашли. Convert - параметр консольного приложения magick. Примеров использования в сети масса, нужно забить в поиск фразу "imagemagick примеры". Часть примеров будет для Linux, но это не важно.
45. user1114234 29.07.20 13:45 Сейчас в теме
(19)
magick.exe

У меня и с просто magick.exe заработало.
21. KRaSH13 28.01.20 17:41 Сейчас в теме
Уважаемый автор, не очень понимаю смысл всей этой "визуализации". По сути это картинка (файл), на которую вставлена еще одна картинка (штамп). Необходимо для понимания пользователем/контрагентом, что исходный файл (именно файл, а не этот образ со штампом) ранее был подписан ЭП. Никакой юридической силы не несет уж точно. Если нужно обменяться с контрагентом, то либо исходником+файлом подписи, либо уж вообще исходником без подписи и прочих красивых штампов.

В целом, спасибо за пояснения по работе с ImageMagic, полезно.
22. soulner 359 28.01.20 20:45 Сейчас в теме
(21) Уважаемый коллега! Смысл визуализации документа с ЭП описан в том, что электронный документ - это информация и ЭП - это информация, а если вам нужно исходящий документ зашить в дело, что вы будете делать? Это указано в ГОСТе. А вот пересылка визуализированных файлов - это другая песня. Я уже вверху писал, что это очень порочная практика, но пока иначе никак.
24. KRaSH13 29.01.20 00:45 Сейчас в теме
(22)
если вам нужно исходящий документ зашить в дело, что вы будете делать?

Наверное, надо доводить до функционального заказчика идею, что для документов, подписанных электронно и архив должен быть электронный. А уж если надо на бумагу, в дело и в железный шкаф на 50 лет - тогда будьте добры, возьмите ручку и поставьте подпись, а потом и в дело можно. Хотя букву закона в эту сторону изучать не приходилось, руководствуюсь только собственной логикой. У нас - электронный архив, pdf со штампами хранятся только для успокоения пользователей, что документ подписан и с ним все хорошо. А сами документы лежат рядом вместе с отпечатками.
25. soulner 359 29.01.20 14:14 Сейчас в теме
(24) Ну, давайте изучим букву закона.
Федеральный закон от 22.10.2004 N 125-ФЗ (ред. от 28.12.2017) "Об архивном деле в Российской Федерации" в ст. 3 говорит нам что такое архивный документ. Оказывается это материальный носитель с информацией. Отлично. Идём в ст. 22 и смотрим сколько лет нам нужно хранить материальные носители. Видим там цифры 20, 75 и даже 100 лет. Далее ищем материальные носители, которые могут гарантированно хранить информацию 100 лет. И что? Теоретически такие есть. Есть оптические накопители, которые вроде могут, есть сведения, что твердотельные накопители могут, если их не трогать. Но гарантию сохранности информации на государственном уровне никто не даёт.
Вот так. Значит бумага.
Прикрепленные файлы:
23. spiteful41 5 28.01.20 21:34 Сейчас в теме
Вашему контрагенту ничего не мешает дописать нужную информацию (допустим в договор) и отправить документ дальше. Вы серьезно? ))) Вы думаете эта картиночка на документе несёт какую-то юридическую силу?)) У вас в базе лежит документ без штампа и подпись, внутри подписи хеш подписанного документа, сертификат подписанта и время подписи. Визуализация нужна только для ваших внутренних целей, например, распечатать и показать руководителю, что он подписан, либо как то в программе по печатной форме вывести информацию о подписании! О какой пересылке контрагенту идёт речь и кому он там что-то перешлёт?)))))
26. soulner 359 29.01.20 16:55 Сейчас в теме
(23) Коллега, это не я думаю, а методисты 1С так думают. Я просто немного облагородил существующую технологию, но не изменил её. Попробуйте послать документ, подписанный ЭП без моего расширения и вы увидите, как это реализовано.
Моя публикация называется "Визуализация ЭП" и ни на что большее я не претендую, о чём выше писал.
А то, что по электронной и бумажной почте ходят документы просто со штампом ЭП - это факт, его можно отрицать, но он от этого на исчезнет.
Я в этой реальности живу и работаю, если вы живёте в другой, где документы пересылаются только с ЭП, а вы на своей стороне в своей информационной системе их проверяете, то я за Вас очень рад.
user1785149; user1114234; +2 Ответить
27. ignor 235 03.02.20 19:38 Сейчас в теме
К вопросу о выработанном изящном алгоритме к pdf....
Его наверное можно улучшить, хотя и замедлить за счёт версии ворда который умеет читать pdf
Прочитали им оригинальный pdf и записав его как docx наставили штампов
Сохранили как вспомогательный pdf и опцией мультиштамп пдфтк получили выходной pdf со штампами в нужных местах
28. Profenix 17 06.03.20 14:25 Сейчас в теме
Добрый день. А можно использовать свой тэг для вставки ЭП?
Например в шаблонах ДО.
Т.е. у нас есть шаблон автоматически заполняющийся из ДО, там же ставится тэг и на него потом натягивается ЭП
29. soulner 359 06.03.20 16:26 Сейчас в теме
(28) Добрый день! Всё возможно, но нужно будет самому переопределить тэг. Он указывается при вызове функции "ВставитьВизуализациюЭПВместоТэга()" общего модуля "ВизуализацияЭПКлиентСервер". Найдите использование этой функции и поменяйте тэг. Там будет 2 процедуры.
30. Profenix 17 10.03.20 09:54 Сейчас в теме
(29)
ВставитьВизуализациюЭПВместоТэга

А не подскажете, как вставить этот самый тэг средствами Word, я как понял код идет из КЭП_ВставкаИзображенияВместоТегаВDocx.
31. soulner 359 10.03.20 10:07 Сейчас в теме
Тэг это просто текст. Программа читает xml по узлам (содержимое документа MS Word описано в формате XML), находит тэг и заменяет его вставкой их шаблона. В данном расширении этого механизма нет, т.к. он поддерживается конфигурацией, а тут (https://infostart.ru/public/1006925/) я его реализовывал сам. Тут (http://forum.infostart.ru/forum8/topic210811/message2174320/#message2174320) прямо код замены приведён.
32. Profenix 17 10.03.20 13:51 Сейчас в теме
(31) Спасибо решено, действительно достаточно вставить текст "ВставитьЭП"
И в коде поправить с ВставкаИзображенияВместоТегаВDocx на КЭП_ВставкаИзображенияВместоТегаВDocx.
Сейчас отлично все работает еще раз спасибо!
33. Profenix 17 10.03.20 16:44 Сейчас в теме
(31)
У меня странная ситуация с PDF пишет что:
Magick с командной строкой:
"C:\Program Files\ImageMagick-7.0.9-Q16\magick.exe" convert -strip -density 150 -quality 0 C:\Users\USR1CV82\AppData\Local\Temp\v8_C819_2c\src.pdf C:\Users\USR1CV82\AppData\Local\Temp\v8_C819_2c\res.png

Это все тянется из функции ПреобразоватьPdfВPng
34. soulner 359 10.03.20 17:05 Сейчас в теме
(33) Не понял, что пишет? Это ошибка? Тогда в чём она?
35. Profenix 17 10.03.20 17:18 Сейчас в теме
(34)Да ошибка если пдф подписываешь.
Прикрепленные файлы:
36. Profenix 17 10.03.20 18:09 Сейчас в теме
(34) Извиняюсь заморочил голову, в целом на пдф не имеет смысл визуализации, я просто убрал ограничения у этой обработки. С Word в pdf нормально работает.
100. Suslik_Johns 19.02.22 21:56 Сейчас в теме
(36) Извините, а как вы справились с той ошибкой и почему она вышла? у меня такая же вдруг
37. Dinchic 08.04.20 14:40 Сейчас в теме
Дорогие друзья, не подскажите как уменьшит сам штамп ЭП, уже всё перепробовала что могла(
38. soulner 359 08.04.20 17:44 Сейчас в теме
(37) За размер печати отвечают параметры cx и cy в xml-вставках, которые находятся в общих макетах "КЭП_ВставкаИзображенияЭПСУказаниемПоложенияDocx" и "КЭП_ВставкаИзображенияВместоТегаВDocx" (в 2-х местах). Но они там указаны в загадочных единицах EMU (English Metrick Units). Предполагаю, что 1 мм равен 35995 EMU.
39. Dinchic 09.04.20 08:21 Сейчас в теме
(38) Огромнейшее спасииибо
40. ligsht 12 14.04.20 13:24 Сейчас в теме
После установки расширения и подписания документа 1с просто виснет и блокируется документ. Разблокировать удается только перезапуском агента. Подскажите в чем проблема?
41. ligsht 12 14.04.20 13:30 Сейчас в теме
(40)
Решилась проблема. Ошибка в пути к ImageMagick.
46. user1114234 29.07.20 13:55 Сейчас в теме
(40)
(41)
У меня такое было при отсутствии прав учётки запуска Агента 1с на папки ImageMagic и GhostScript (учётка НЕ системная)
42. DEG156 28 23.07.20 11:59 Сейчас в теме
Добрый день !

Скачал. Ознакомился. Вопрос - у нас многие пользователи используют формат DOC.

Планируете доработать ваши функции для работы с этим форматом ?
43. soulner 359 23.07.20 12:36 Сейчас в теме
(42) Добрый день.
Там в коде должна быть вставка, рекомендованная коллегой http://forum.infostart.ru/forum8/topic210811/message2355347/#message2355347, если нет, то впишите самостоятельно.
44. DEG156 28 23.07.20 15:59 Сейчас в теме
47. user1263334 06.08.20 07:07 Сейчас в теме
Доброго времени суток. Как изменить текст в самом штампе ЭП?
48. user1263334 06.08.20 07:10 Сейчас в теме
Доброго времени суток. Как изменить текст в самом штампе ЭП?
Прикрепленные файлы:
TigerS74; +1 Ответить
49. soulner 359 06.08.20 12:32 Сейчас в теме
(48) Добрый день. Рисунок штампа в формате png лежит в общем макете КЭП_ШаблонОтметкиЭП. Редактируйте любым графическим редактором, только имейте ввиду, что координаты, куда впечатываются данные, рассчитаны именно для этого штампа.
50. user1263334 07.08.20 19:17 Сейчас в теме
51. user1263334 07.08.20 19:18 Сейчас в теме
После обновления вылезла ошибка, может кто подскажет в чем может быть проблема?
Прикрепленные файлы:
52. user1263334 07.08.20 19:23 Сейчас в теме
С версии 2.1.12.2 до версии 2.1.23.10 (Платформа 8.3.17.1496)
53. soulner 359 09.08.20 12:39 Сейчас в теме
(52) Добрый день! Попробуйте отключить расширение и проверить без него. Если ошибка сохранится, то я не виноват. А если нет, то будем исправлять. Сам планирую обновление ДО, если при этом буду менять расширение, обновлю файл и вам сообщу.
54. user1263334 10.08.20 08:42 Сейчас в теме
Помогла очистка кэша.
55. user1300601 12.08.20 12:56 Сейчас в теме
Сергей, подскажите пожалуйста, возможно ли ставить штамп ЭП в файле PDF на определенном месте и на определенной странице?
56. soulner 359 12.08.20 19:21 Сейчас в теме
(55) посмотрите мою переписку с пользователем ingor в этой ветке, сообщения с 13 по 16.
57. user1079243 14.09.20 08:56 Сейчас в теме
Добрый день!
При нажатии на пункт меню "ЭП и шифрование - Создать файл визуализации" выходит сообщение "Файл не получен на клиент, работа не возможна". Подскажите пжл, как исправить?
58. soulner 359 14.09.20 21:57 Сейчас в теме
(57) Добрый день!
А у вас остальные файлы нормально открываются?
Дело в том, что я файл на клиент передаю общей процедурой РаботаСФайламиКлиент.ПолучитьФайлВерсииВРабочийКаталог(), ей все файлы передаются. Проверьте настройки рабочего каталога, может там месте нет. У меня нет других мыслей.
69. user1079243 21.09.20 15:37 Сейчас в теме
(58)
Добрый день!
Сообщение возникает при работе через веб-браузер. В тонком клиенте такого сообщения не возникло, но возникла ошибка, описанная в сообщении 60. Я применил рекомендацию из сообщения 64. Но мой квест на этом не закончился, см сообщение 68.

Продублирую сообщение 68 тут. Может подскажете, что мне проверить?

После нажатия на пункт меню "Создать файл визуализации" проходит несколько секунд, затем в правом нижнем углу появляется сообщение "Идет сохранение файла ИмяФайла.pdf. Пожалуйста, подождите...". Но сообщение пропадает, а pdf-файла в карточке не появляется. Подскажите пжл, у вас была такая проблема с созданием pdf-файла?
70. soulner 359 21.09.20 16:28 Сейчас в теме
(69) Добрый день! Я не тестировал данный механизм при работе через браузер. Вообще считаю это порочной практикой, т.к. в большинстве случаем можно поставить тонкий клиент и подключить его к web-серверу. Исключением является работа в 1С с планшета, но там трудно работать с ЭП (только на стороне сервера) и возможно будем выходом использовать RDP-клиент.
71. user1079243 21.09.20 17:12 Сейчас в теме
(70)
По веб-клиенту понял, спасибо за ответ.
А по ситуации, когда pdf-файл не появляется после нажатия на "Создать файл визуализации" сможете подсказать? Здесь речь идет о тонком клиенте.
72. soulner 359 22.09.20 09:16 Сейчас в теме
(71) Доброе утро. Нашёл один недочёт в коде, но он может проявиться, если на клиенте стоит MS Office 2007 без пакета сохранения в формат Adobe PDF. Но это не похоже на вашу ошибку.
А вам надо проверить вот что:
- последней командой моего расширения является вызов функции ДобавитьИзФайловойСистемыСРасширениемСинхронно() общего модуля РаботаСФайламиКлиент.
- там есть команда формирования текста уведомления, которое вы видите и вывод этого текст командой Состояние(ТекстСостояния);
- дальше начинается непосредственная передача файла на сервер и создание карточки файла.
Вот тут вам надо пройтись отладчиком и посмотреть выполнение и не забыть заглянуть в журнал регистрации, т.к. код работы с хранилищем и создания версии находится внутри оператора "Попытка... Исключение" и если ошибка там, то вы увидите её в журнале.
59. garant1c 17.09.20 08:42 Сейчас в теме
Добрый день!
Документооборот 8 КОРП, редакция 2.1 (2.1.24.1), 1С:Предприятие 8.3 (8.3.16.1224)
Использую обработку:
Визуализация электронной подписи на исходящих документах в соответствии с ГОСТ Р 7.0.97-2016. Финальная версия., не используем PDFTK:
В расширении изменил режим совместимости на 8.3.14
Указал использование magick.exe. типовой штамп вставляется

В демо-базе имеется исходящий документ, подписанный ЭЦП (1 - 02\14). Подпись оставил только у файла.
При создании документа визуализации выдается ошибка:

Произошла исключительная ситуация (Microsoft Word): Приложению Word не удалось сохранить данный файл, так как он используется другим процессом.
(C:\...\Договор аренды оборудования.docx)
{КоррекцияЭП ОбщийМодуль.КЭП_ВизуализацияЭЦПКлиент.Модуль(70)}: WordДокумент.SaveAs(ВременныйФайлDocx, 16);
{ОбщийМодуль.РаботаСФайламиКлиент.Модуль(2371)}: ВыполнитьОбработкуОповещения(Обработчик, Результат);
{ОбщийМодуль.РаботаСФайламиКлиент.Модуль(2983)}: ВернутьРезультат(ПараметрыВыполнения.ОбработчикРезультата, ПараметрыВыполнения);
{ОбщийМодуль.РаботаСФайламиКлиент.Модуль(2930)}: ПолучитьССервераИЗарегистрироватьВЛокальномКэшеФайловЗаверше­ние(ПараметрыВыполнения);
{ОбщийМодуль.РаботаСФайламиКлиент.Модуль(2842)}: ПолучитьССервераИЗарегистрироватьВЛокальномКэшеФайловПередач­аФайла(ПараметрыВыполнения);
{ОбщийМодуль.РаботаСФайламиКлиент.Модуль(2691)}: ПолучитьССервераИЗарегистрироватьВЛокальномКэшеФайловПродолж­ение(ПараметрыВыполнения);
{ОбщийМодуль.РаботаСФайламиКлиент.Модуль(2617)}: ПолучитьССервераИЗарегистрироватьВЛокальномКэшеФайловЗапуск(ПараметрыВыполнения);
{ОбщийМодуль.РаботаСФайламиКлиент.Модуль(2504)}: ПолучитьССервераИЗарегистрироватьВЛокальномКэшеФайлов(
{ОбщийМодуль.РаботаСФайламиКлиент.Модуль(2480)}: ПолучитьФайлВерсииВЛокальныйКэшФайловЗапуск(ПараметрыВыполнения);
{ОбщийМодуль.РаботаСФайламиКлиент.Модуль(706)}: ПолучитьФайлВерсииВЛокальныйКэшФайлов(
{КоррекцияЭП ОбщийМодуль.КЭП_ВизуализацияЭЦПКлиент.Модуль(31)}: РаботаСФайламиКлиент.ПолучитьФайлВерсииВРабочийКаталог(
{КоррекцияЭП Справочник.ИсходящиеДокументы.Форма.ФормаЭлемента.Форма(45)}: КЭП_ВизуализацияЭЦПКлиент.СоздатьВизуализациюЭЦП(ЭтаФорма);

по причине:
Произошла исключительная ситуация (Microsoft Word): Приложению Word не удалось сохранить данный файл, так как он используется другим процессом.
(C:\...\Договор аренды оборудования.docx)
60. garant1c 17.09.20 09:04 Сейчас в теме
(59) Удалил все сеансы. Теперь ошибка:
Произошла исключительная ситуация (Microsoft Word): Метод или свойство недоступны, поскольку эту команду нельзя использовать в режиме чтения.
{КоррекцияЭП ОбщийМодуль.КЭП_ВизуализацияЭЦПКлиент.Модуль(98)}: МСВорд.Documents.Close();
{ОбщийМодуль.РаботаСФайламиКлиент.Модуль(2371)}: ВыполнитьОбработкуОповещения(Обработчик, Результат);
{ОбщийМодуль.РаботаСФайламиКлиент.Модуль(2983)}: ВернутьРезультат(ПараметрыВыполнения.ОбработчикРезультата, ПараметрыВыполнения);
{ОбщийМодуль.РаботаСФайламиКлиент.Модуль(2930)}: ПолучитьССервераИЗарегистрироватьВЛокальномКэшеФайловЗаверше­ние(ПараметрыВыполнения);
{ОбщийМодуль.РаботаСФайламиКлиент.Модуль(2842)}: ПолучитьССервераИЗарегистрироватьВЛокальномКэшеФайловПередач­аФайла(ПараметрыВыполнения);
{ОбщийМодуль.РаботаСФайламиКлиент.Модуль(2691)}: ПолучитьССервераИЗарегистрироватьВЛокальномКэшеФайловПродолж­ение(ПараметрыВыполнения);
{ОбщийМодуль.РаботаСФайламиКлиент.Модуль(2617)}: ПолучитьССервераИЗарегистрироватьВЛокальномКэшеФайловЗапуск(ПараметрыВыполнения);
{ОбщийМодуль.РаботаСФайламиКлиент.Модуль(2504)}: ПолучитьССервераИЗарегистрироватьВЛокальномКэшеФайлов(
{ОбщийМодуль.РаботаСФайламиКлиент.Модуль(2480)}: ПолучитьФайлВерсииВЛокальныйКэшФайловЗапуск(ПараметрыВыполнения);
{ОбщийМодуль.РаботаСФайламиКлиент.Модуль(706)}: ПолучитьФайлВерсииВЛокальныйКэшФайлов(
{КоррекцияЭП ОбщийМодуль.КЭП_ВизуализацияЭЦПКлиент.Модуль(31)}: РаботаСФайламиКлиент.ПолучитьФайлВерсииВРабочийКаталог(
{КоррекцияЭП Справочник.ИсходящиеДокументы.Форма.ФормаЭлемента.Форма(45)}: КЭП_ВизуализацияЭЦПКлиент.СоздатьВизуализациюЭЦП(ЭтаФорма);

по причине:
Произошла исключительная ситуация (Microsoft Word): Метод или свойство недоступны, поскольку эту команду нельзя использовать в режиме чтения.
61. garant1c 17.09.20 09:07 Сейчас в теме
(60)
итуация (Microsoft Word): Метод или свойство недоступны, поскольку эту команду нельзя использовать в режиме чтения.
{КоррекцияЭП ОбщийМодуль.КЭП_ВизуализацияЭЦПКлиент.Модуль(98)}: МСВорд.Docum


При открытии файла Word штамп с макетом из расширения добавляется
62. soulner 359 17.09.20 10:55 Сейчас в теме
(61) Добрый день! Ваша первая ошибка похожа на ситуацию, когда ставится штамп в файл, который открыт в Ворде. Вторая ошибка не понятна.
63. garant1c 17.09.20 14:45 Сейчас в теме
(62)
Закомментировал:
// закрываем Ворд
//МСВорд.Documents.Close();
Теперь работает )
64. soulner 359 17.09.20 16:27 Сейчас в теме
65. garant1c 17.09.20 18:45 Сейчас в теме
(64)
Проблема была в том, при получении данных исходного файла для выгрузки в каталог, устанавливался параметр - только на чтение. Исправил:
ДанныеФайла.НаЧтение = Ложь;
РаботаСФайламиКлиент.ПолучитьФайлВерсииВРабочийКаталог(...........................

Проблема ушла.

Небольшое замечание - остаются три временных файла: два pdf и docx. Добавил в код их удаление после добавления к карточке документа.
68. user1079243 21.09.20 14:45 Сейчас в теме
(65)
Добрый день!
У меня возникла аналогичная ошибка и описанный Вами способ (ДанныеФайла.НаЧтение = Ложь;) помог ее устранить. Спасибо!

Но ошибка исчезла, а pdf-файл так и не появился.
После нажатия на пункт меню "Создать файл визуализации" проходит несколько секунд, затем в правом нижнем углу появляется сообщение "Идет сохранение файла ИмяФайла.pdf. Пожалуйста, подождите...". Но сообщение пропадает, а pdf-файла в карточке не появляется. Подскажите пжл, у вас была такая проблема с созданием pdf-файла?
66. garant1c 18.09.20 18:56 Сейчас в теме
И еще вопрос:
Очень смущает пункт:
1. при первом просмотре подписанного файла 1С:Документооборот создаёт версию, в которую помещает штамп для визуализации ЭП, файл при этом меняется и уже не соответствует подписи;
Можно ли как-то сделать так, чтобы в файл .docх, прикрепленный к документу, штамп ЭП не вставлялся, а вносился только в файл pdf.

Предполагается отправлять контрагенту письмом три файла: файл подписи, подписанный файл .docх и pdf со штампом.
Хотелось бы оставить возможность контрагенту на своей стороне проверить соответствие подписи и файла.
TigerS74; +1 Ответить
67. soulner 359 19.09.20 11:00 Сейчас в теме
Вы не беспокойтесь, разработчики всё предусмотрели. Всегда можно выгрузить файл и корректную подпись к нему через соответствующий пункт меню.
Но я написал расширение, которое делает это автоматически https://infostart.ru/public/1210399/
Есть ещё автоматический приём письма с ЭЦП https://infostart.ru/public/1231374/
73. it_redstar 21.10.20 13:04 Сейчас в теме
День добрый! Подскажите, пожалуйста, как быть? Пытаюсь установить ваше расширение, выдает ошибку на скриншоте 1. Режим совместимости в моей конфигурации 8.3.14, если меняю его на режим вашего расширения 8.3.12, то база не запускается, выдается ошибка на скриншоте 2.. Версия платформы 1С:Предприятие 8.3 (8.3.17.1549), конфигурация Документооборот 8 КОРП, редакция 2.1 (2.1.25.5)
Прикрепленные файлы:
75. development 1 02.12.20 07:46 Сейчас в теме
Добрый день! Будет ли работать расширение с конфигурацией ПРОФ редакция 2.1.26.2
76. Vasvas05 22 26.01.21 18:57 Сейчас в теме
(0) 1. в расширение целесообразнее использовать РаботаСЭППереопределяемый вместо РаботаСЭП
2. если документ подписан, то файл не вставляется. Файл надо вставлять в служебные файлы или как новую версию файла.
3. файлы пдф обходит стороной.
странно размещать три обработки с разными не доработками добавляя в конце префиксы финальная версия, полная автоматизация и тд
77. soulner 359 26.01.21 20:26 Сейчас в теме
(76) 1. Переопределяемые модули используются для внесения изменения в конфигурацию (https://its.1c.ru/db/v8std/content/553/hdoc) а я меняю процедуру расширением.
2. Это не правда или я вас не правильно понял
3. Так и должно быть. В сообщении № 13 я описал проблему вставки подписи в PDF. Сейчас я знаю, как её решить, но мне особо не нужно и по этому руки не доходят.
"Обработки" принципиально разные (версия 2 и 3.1), за неповторяемостью следят модераторы (по этому нет версии 3)
78. pavel_m 15.02.21 14:55 Сейчас в теме
Для корректной работы на Linux сервере необходимо значение цвета параметра -fill в вызове magick заключить в кавычки. В противном случае вся дальнейшая строка будет считать комментарием и команда не отработает корректно.
Enclose the color specification in quotation marks to prevent the "#" or the parentheses from being interpreted by your shell.

For example,

-fill blue
-fill "#ddddff"
-fill "rgb(255,255,255)"
88. soulner 359 07.09.21 15:18 Сейчас в теме
(78) Очень важное замечание, обязательно поправлю в коде. Спасибо
79. Dezor 16.02.21 12:14 Сейчас в теме
Жаль данное расширение в PDF визуализацию не вставит
82. user1651984 24.08.21 15:19 Сейчас в теме
(79)
Жаль данное расширение в PDF визуализацию не вставит
+

(79) Коллега, тоже ищу решение которое вставляет штамп в PDF, при этом PDF оставалась бы машиночитаемой, нашли решение?
84. soulner 359 07.09.21 14:50 Сейчас в теме
(82) Повторю ответ коллеге. Есть расширение, которое вставит и в PDF https://infostart.ru/public/1432008/
но документ не будет после этого машиночитаемым, т.к. библиотека imagemagick делает из документа набор рисунков. Я подумаю, есть куда расти.
83. soulner 359 07.09.21 14:47 Сейчас в теме
80. maksa2005 530 18.08.21 14:25 Сейчас в теме
Документооборот 8 ПРОФ, редакция 2.1 (2.1.28.14) не взлитело
85. soulner 359 07.09.21 14:51 Сейчас в теме
(80) А что пишет. Хочется понять это какой-то косяк с моей стороны или потому что ПРОФ?
86. maksa2005 530 07.09.21 14:52 Сейчас в теме
(85)не знаю чей, но на проф не взлетело
81. Night_Trap 22.08.21 12:46 Сейчас в теме
Отличное решение. Благодарю. На его основе сделал визуализацию Внутренних документов. Все работает!
Но вот какое дело. Если в качестве основы брать документ word без картинок внутри (только текст) - печать выходит черно-белая. Достаточно вставить картинку в этот же документ - печать цветная.
Подскажите пожалуйста, как сделать, чтобы ВСЕГДА была цветная? Не первый день исследую код .... никак не могу разгадать :(
Прикрепленные файлы:
87. maksa2005 530 07.09.21 14:54 Сейчас в теме
(81)у меня не заработало. скажите какая версия у вас?
89. soulner 359 07.09.21 15:19 Сейчас в теме
(87) Документооборот государственного учреждения, редакция 2.1 (2.1.28.12). Это КОРП с небольшими изменениями.
90. maksa2005 530 07.09.21 15:43 Сейчас в теме
(89)я ставил на
Документооборот 8 ПРОФ, редакция 2.1 (2.1.28.14) (http://v8.1c.ru/doc8/)
Copyright © ООО "1C-Софт", 2009-2020. Все права защищены
(http://www.1c.ru)

не заработало. Вы можете поделиться cf или расширением тем что ставили?
91. Night_Trap 07.09.21 18:41 Сейчас в теме
(87) Документооборот 8 КОРП, редакция 2.1 (2.1.27.1)
Я на внутренние документы переделал. Проблем не было.
92. maksa2005 530 08.09.21 05:55 Сейчас в теме
(91)Вы через расширение сделали? можете поделится?
93. soulner 359 08.09.21 12:09 Сейчас в теме
(81) Давайте попробуем по шагам (у меня не получилось воспроизвести):
1. Есть у меня в расширении в модуле РаботаСЭП функция КЭП_СоздатьОтметкуЭП(), она возвращает путь к изображению штампа ЭП, надо начать смотреть цвет отсюда;
2. Далее файл изображения гуляет в виде двоичных данных и в процедуре СохранитьИзображениеВоВнутреннейСтруктуреDocx() общего модуля ВизуализацияЭПВызовСервера записывается на диск во временную папку с распакованными данными файла docx по пути /word/media/image_последний номер.jpeg.
Думаю, что после строки
КартинкаШК.Записать(ВременнаяПапкаДляРазархивирования + "/word/media/Image" + Строка(ИДкартинки + 1) + ".jpeg");

надо остановить выполнение и посмотреть на этот файл, цветной ли он.
3. В конце функции КЭП_ВставитьИзображениеЭПВФайлDocxСУказаниемПоложения() из расширения общего модуля ВизуализацияЭПВызовСервера нужно проверить файл MS Word, цветная ли там печать.
4. В процедуре ПоказатьДокументСЭЦППродолжение() общего модуля расширения КЭП_ВизуализацияЭЦПКлиент смотрим как сформировался файл PDF.
5. В той же процедуре проверяем работу утилиты pdftk (если устанавливали).

Напишите на каком этапе теряется цвет у штампа, будем думать дальше.
94. Night_Trap 08.09.21 14:07 Сейчас в теме
(93) Цвет теряется в РаботаСКартинками.НаложитьШтамп() после соединения 2х изображений в imagemagick.
Я модифицировал расширение и с начала конвертирую ворд в пдф и после этого подписываем файл.
Следовательно используются функции наложения штампа в пдф, а не ворд.

Т.е. именно на стороне imagemagick происходит потеря цвета.
Оставьте свое сообщение