Рассмотрим кейс в котором стоит задача подписывать в 1С наборы документов подготовленных для различных контрагентов, а контрагенты подписывают эти документы на мобильных телефонах.
Этот кейс по реализации ЭЦП в 1С с внешними контрагентами был разработан совместно с нашими партнёрами из компании Jumis Bar, специализирующимися на цифровом подборе, бесплатном обучении профессиональным навыкам и гарантированном трудоустройстве. Более подробную информацию о сотрудничестве и предлагаемых услугах можно найти на сайте компании.
Особенности данного кейса:
со стороны организации документы формируются и подписываются в толстом клиенте 1С;
при этом за раз подписывается большое количество (сотни) однотипных документов для разных контрагентов;
взаимодействие с контрагентами осуществляется с помощью мобильного приложения;
контрагенты используют eGov mobile для того, чтобы подписывать документы со своей стороны.
Для реализации данного кейса мы предоставляем:
KAZTOKEN desktop, взаимодействие с ним из 1С осуществляется через HTTP API;
API SIGEX для проверки подписей, подписания в eGov и формирования Карточек.
Высокоуровневая схема взаимодействия выглядит следующим образом:
graph TD
s[SIGEX]
1cs[Сервер 1С]
1cc[Клиент 1С]
mas[Сервер приложения]
mac[Мобильное приложение]
kd[KAZTOKEN desktop]
eg[eGov mobile/business]
subgraph Десктоп
1cc <-->|1. Подписание набора документов| kd
end
1cc ---->|2. Передает подписи и документы| 1cs
1cs <-->|3. Регистрация документов и подписей| s
1cs -->|4. Передает документы и их идентификаторы| mas
mas <-->|5. Подписание через eGov mobile/business| s
mas -->|6. Передает документ и диплинк| mac
subgraph Смартфон
mac -->|7. Пользователь кликает на диплинк, попадает в eGov mobile | eg
end
s <-->|8. Передача документа, получение подписи| eg
eg -->|9. Пользователь согласует подписание| eg
mas -->|10. Регистрация подписи под документом| s
mas <-->|11. Формирование Карточки| s
Рассмотрим детали, начнем с 1С, это этапы 1-3:
sequenceDiagram
participant s as SIGEX
participant 1cs as Сервер 1С
box Десктоп
participant 1cc as Клиент 1С
participant kd as KAZTOKEN desktop
participant p as Пользователь
end
1cc->>kd: регистрация операции мультиподписания (kd1)
kd-->>p: отображает интерфейс выбора ключа
activate p
p-->>kd: выбирает ключи и подтверждает подписание набора документов
deactivate p
kd->>1cc: идентификатор операции и куки (kd1)
loop Для каждого документа
1cc->>1cc: формирует PDF документа
1cc->>kd: передает документ на подпись (kd2)
kd->>1cc: возвращает подпись (kd2)
1cc->>1cs: передает документ и подпись на проверку и регистрацию
1cs->>s: регистрирует документ и подпись (s1)
s->>s: проверяет подпись
s->>1cs: возвращает идентификатор документа в SIGEX (s1)
1cs->>s: регистрирует документ и подпись (s2)
s->>s: проверяет целостность документа, фиксирует хеши
s->>1cs: возвращает подтверждение целостности (s2)
1cs->>1cs: сохраняет документ, помечает его как подписанный
1cs->>1cc: документ и подпись приняты
end
После того как все документы были подписаны, подписи проверены и зарегистрированы, Сервер 1С передает документы их идентификаторы Серверу приложения для того, чтобы их подписали контрагенты на мобильных устройствах.
Теперь рассмотрим процесс взаимодействия с пользователем на мобильном устройстве:
sequenceDiagram
participant s as SIGEX
participant mas as Сервер приложения
box Смартфон
participant mac as Мобильное приложение
participant eg as eGov mobile/business
participant p as Пользователь
end
mas->>mac: передает документ
activate mac
mac-->>p: отображает документ пользователю для ознакомления
activate p
p-->>mac: подтверждает готовность подписать документ
deactivate p
mac->>mas: запрос инициализации процедуры подписания
mas->>s: инициализация процедуры подписания (s3)
s->>mas: идентификатор процедуры подписания и диплинк (s3)
mas->>s: документ на подпись (s4)
mas->>mac: диплинк
mac-->>p: отображает диплинк в виде кнопки или ссылки
activate p
p-->>mac: кликает на кнопку или ссылку с диплинком
deactivate p
deactivate mac
activate eg
mac--)eg: автоматический запуск приложения
eg->>s: запрос на получение документа
s->>eg: документ
eg-->>p: отображает документ и запрос на подписание
activate p
p-->>eg: согласует подписание
deactivate p
eg->>s: подпись под документом
p--)mac: пользователь переключается обратно в приложение
deactivate eg
activate mac
mas->>s: запрос подписи (s5)
s->>mas: подпись (s5)
mas->>s: регистрирует вторую подпись под документом (s6)
s->>s: проверяет подпись
s->>mas: возвращает подтверждение регистрации (s6)
mas->>mas: помечает документ как подписанный с обеих сторон
mas->>mac: информирует пользователя об успешном подписании
deactivate mac
mas->>s: запрос формирования Карточки (s7)
s->>mas: Карточка (s7)
У Вас есть какие-либо вопросы по этому кейсу или Вы хотели бы обсудить свою задачу? Свяжитесь с нами, будем рады помочь! Контакты здесь.
Портал SIGEX использует файлы cookie и другие технологии хранения данных в браузере только для персонализации пользовательского опыта: отображения уведомлений, напоминаний и подсказок, а так же хранения некоторых настроек.
Мы не используем этих технологий для слежения за своими пользователями, сбора о них информации или отображения рекламы и не предоставляем подобных возможностей третим сторонам.
Детали изложены в Политике конфиденциальности.
Бесплатные вебинары по ЭЦП
Мы проводим вебинары про электронные документы, ЭЦП и юридическую значимость.