Рассказали, как автоматизировать процесс подписания документов и получить уже подписанный документ в самой 1С, исключая алгоритмы печати, подписи и сканирования.
Подписание документов — довольно часто встречающаяся процедура. Заключение трудовых отношений с сотрудником, выдача товарно-материальных ценностей, оформление счетов на оплату и выполнение других операций требует печати документов с подписью. Мы решили автоматизировать данный процесс и получить уже подписанный документ в самой 1С, исключая алгоритмы печати, подписи и сканирования документов.
В нашем примере рассматривается графический планшет One by Wacom S-size. Его можно подключить к компьютеру, и он совместим с устройствами на основе Windows (версии 7 и выше) и Mac OS (версии 10.10 и выше).
Детализируем суть нашей доработки:
- Пользователь со своего рабочего места выводит на печать документ.
- В момент формирования табличного документа мы предоставляем клиенту возможность «нарисовать» свою подпись на графическом планшете. Изображение отобразится в отдельном окне формы.
- Мы получаем картинку с подписью в виде двоичных данных и подставляем ее в любое удобное место печатной формы.
- Вот и все: мы получили полностью готовый документ для вывода на печать, либо для сохранения в базе 1С.
Алгоритм захвата подписи будем рассматривать на примере создания внешней обработки. Для начала создадим форму обработки и добавим в нее реквизит типа «Строка» (неограниченной длины), назовем его «ПолеHTML» и разместим на форме:
Чтобы предоставить возможность пользователю «рисовать» на форме, необходимо присвоить данному реквизиту некоторое значение. Обратимся к событию «ПриСозданииНаСервере», в котором зададим значение реквизита «ПолеHTML», написанное на языке JavaScript. Сделать это можно напрямую, но для удобства можно использовать макет обработки, например, «Текстовый документ». Мы воспользовались вторым способом.
Создадим макет обработки типа «Текстовый документ» и разместим в нем код:
Мы создали некое подобие графического редактора в 1С. Теперь при нажатии и перетаскивании курсора мыши в «Поле HTML» мы можем рисовать в самой платформе.
Сейчас все, что нам осталось сделать — «захватить» нарисованную нами подпись и получить ее изображение в виде двоичных данных. Это позволит нам работать с подписью, как с обычным рисунком, имеющим прозрачный фон, который в дальнейшем мы будем использовать при формировании табличного документа и вывода документов на печать.
Для этого создадим команду на форме и пропишем для нее действие, с директивой компиляции «&НаКлиенте»:
Данный кейс мы реализовали для заказчика. Обработка позволила исключить множество манипуляций различного характера: первичная печать документов, роспись на листе бумаге и последующее сканирование документов (если необходимо хранить печатные документы в базе).
Остались вопросы?
Проконсультируйтесь с нашими специалистами