Как стать автором
Обновить

Внедрение ЭЦП в торговой сети

Хочу рассказать, как мы внедряли электронно-цифровую подпись в сети супермаркетов.

Наша торговая сеть — региональная, всего 10 магазинов. Ассортимент в основном продукты питания, часть из которых являются собственным производством. Для передачи сырья в производство и получения готовой продукции используются два документа — М-11 и МХ-18. С этих документов было решено начать внедрение ЭЦП. Основная цель работы с ЭЦП — освободить пространство, занятое документами в бумажном виде и ускорить процесс подписания документов.

Основная учетная система в нашей торговой сети построена на базе 1С 7.7, следовательно вышеупомянутые документы должны создаваться на основании информации, внесенной в нашу учетную систему. Было принято решение сами документы подписывать и хранить в формате pdf. Таким образом, схема получается следующая: формируем документ в 1С 7.7, сохраняем в mxl (1С 7.7 не умеет сохранять файлы в pdf) (почему в mxl, а не в xls, например, станет понятно дальше) в специально отведенную для этого дела папку, затем преобразовываем его в pdf, и последним шагом все ответственные лица подписывают документ (создают файл подписи).

Так как мы начали проект по переходу на новую учетную систему на базе 1С 8.3, то было решено именно это ПО использовать для преобразования сохраненного файла (документа М-11 или МХ-18) в формат pdf, благо в отличии от семерки 1С 8.3 это умеет. Кроме этого 1С 8.3 умеет подписывать файлы, если на компьютере установлено КриптоПРО и сертификат ЭЦП. В случае выбора 1С 8.3 не требуется установка ПО КриптоАРМ (для интерактивного подписания электронных документов).

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

После обсуждения с юристами пришли к выводу, что всех устроит следующий вариант: у нас есть сертификат подтвержденный в удостоверяющем центре на директора организации, и если мы создадим сертификаты (сертификаты создаются с помощью ПО КриптоАРМ) на каждого сотрудника и подпишем сертификатом директора, то будет все юридически верно.

Приступаем к реализации:

  1. Из 1С 7.7 документы М-11 и мх-18 формировались и раньше с тем лишь отличием, что после формирования распечатывались, а не сохранялись в сетевую папку, поэтому здесь не потребовалось много дорабатывать систему.
  2. В 1с 8.3 создаем процедуру, которая открывает mxl файл и сохраняем его в pdf, после чего создается задача (объект метаданных в 1с 8 задача), внутри которой хранится путь к файлу — электронному документу. Эту процедуру закрепляем в регламентное задание. С этим тоже не пришлось испытывать особых проблем.
  3. Все созданные задачи отправляются сотрудникам, которые должны подписывать документы. При выполнении задачи каким-то сотрудником файлы записанные в виде путей в задаче должны подписаться. Таким образом на выполнение задачи вешаем событие — поиск файла и подписание.
  4. Теперь немного подробнее про подписание средствами 1С 8.3. Для подписания файла необходимо, чтобы сертификат был установлен на компьютере или на флешке, а флешка вставлена на компьютер; также нужны двоичные данные сертификата. Мы используем 1С ERP, там есть справочник сертификатов, в котором уже создан реквизит для хранения двоичных данных. При создании сертификата, нужно не забывать добавлять его в справочник 1С. При подписании документа нужно знать элемент справочника, соответствующий сертификату сотрудника, осуществляющего подпись, поэтому выбор элемента справочника из списка будет предложено выбрать сотруднику.

Кроме этого нужно, чтобы пользователь, осуществляющий подписание документа сообщил (ввел) системе пароль от сертификата. На основании этих данных создается некоторый менеджер криптографии (объект 1с), с помощью которого и подписывается файл.

...
Менеджер = Новый МенеджерКриптографии(ИмяПрограммы, "", ТипПрограммы);
// ИмяПрограммы - строка с названием программы, в нашем случае КриптоПРО
// ТипПрограммы - число, для КриптоПРО - 73
...
Сертификат = Новый СертификатКриптографии(ДвоичныеДанныеСертификата);
...
Менеджер.Подписать(ПутьКФайлуДляПодписи, ПутьКФайлуПодписи, Сертификат);
...

Еще раз, в целом, схема работы следующая: оператор ПК создает и сохраняет электронные документы из 1С 7.7 в формате mxl, раз в полчаса запускается 1С 8.3 и преобразовывает документ mxl в файл с расширением pdf. Также восьмерка создает задачи всем ответственным лицам, которые должны подписать документы. Когда создается задача и направляется исполнителю, происходит оповещение по электронной почте. После этого пользователь открывает 1с 8 и выполняет задачу. При выполнении выпадает список сертификатов, занесенных в 1С, пользователь выбирает свой (он уже установлен на компьютере в реестр), вводит пароль от сертификата, после чего файлы подписываются, а задача выполняется.

О подробностях готов рассказать в комментариях.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.