.. _configuringsign: Настройка подписания электронных документов =========================================== Подписание документов производится с помощью сертификатов электронной подписи. Ведение сертификатов пользователей в системе SAP осуществляется в настроечной таблице ``/TRL/XDE_V_CERT``. Настройка типа подписания ------------------------- Для подписания электронных документов может использоваться: * Серверное подписание – сертификат для подписания определяется в системе SAP, подписание ЭП производится на сервере ИМ. * Локальное подписание – подписание ЭП производится на локальной машине пользователя-подписанта. Серверное подписание используется, если в настроечной таблице с сертификатами (``/TRL/XDE_V_CERT``) пользователю *присвоен* сертификат для соответствующего оператора ЭДО (о настройке сертификата см. раздел :ref:`sert-user`). Локальное подписание используется *по умолчанию*, если в настроечной таблице с сертификатами (``/TRL/XDE_V_CERT``) пользователю *присвоен* сертификат с установленным флагом "Локальный сертификат" для соответствующего оператора ЭДО (о настройке сертификата см. раздел :ref:`sert-user`) или вообще *не присвоен* сертификат для соответствующего оператора ЭДО. Таким образом, при использовании серверного типа подписания документов таблица ``/TRL/XDE_V_CERT`` *должна содержать записи* для данного пользователя по данному оператору ЭДО и запись должна иметь выключенный флаг "Локальный сертификат". Чтобы изменить тип подписания с серверного на локальное, достаточно либо удалить запись с сертификатом пользователя по данному оператору, либо создать новую запись и указать, что это "Локальный сертификат" в соответствующем поле ракурса ведения. После этого подписание документов будет осуществляться локальной подписью. Для исключения подписей из выборки локальных сертификатов можно использовать кастомный функциональный модуль, который необходимо внести в настройку ``/TRL/XDE_CUST-SIGN.LOCAL.FM_CHECK_CERT_INFO``. Если внутри данного функционального модуля вызвать исключение, то текущий сертификат не попадет на экран выбора подписей. Функциональный модуль для примера ``/TRL/XDE_EXMPL_CHECK_CERT_INFO``. .. _sert-user: Назначение сертификатов пользователям для серверного подписания --------------------------------------------------------------- Для настройки серверного подписания каждому пользователю в системе SAP необходимо назначить сертификат, с помощью которого он будет осуществлять подписание. Для настройки сертификатов выполните следующие действия. #. Запустите транзакцию ``SM30``. .. image:: ris37.png :scale: 84 :align: center :alt: Запуск транзакции ``SM30`` #. Откроется страница ``Ведение ракурса таблицы: первый экран``. Введите имя таблицы ``/TRL/XDE_V_CERT`` и нажмите ``Ведение``. .. image:: ris122.png :scale: 79 :align: center :alt: Открытие таблицы со списком сертификатов #. Откроется страница со списком уже назначенных сертификатов. Для добавления новой записи о сертификате нажмите кнопку ``Новые записи``. .. image:: media/img259.png :scale: 86 :align: center :alt: Переход к добавлению нового сертификата #. Откроется страница ``Новые записи: добавленные/подробно`` с набором параметров, указанных в таблице. .. table:: Данные о сертификате :align: center :widths: 10 20 +---------------------+-------------------------------------------------------------------------------------------------------------------+ | Имя поля | Описание | +=====================+===================================================================================================================+ | Пользователь | Логин SAP-пользователя | +---------------------+-------------------------------------------------------------------------------------------------------------------+ | Код оператора ЭД | Уникальный идентификатор оператора ЭДО, присвоенный ФНС, для которого будет использоваться сертификат | +---------------------+-------------------------------------------------------------------------------------------------------------------+ | БЕ | Балансовая единица, для которой будет использоваться сертификат | +---------------------+-------------------------------------------------------------------------------------------------------------------+ | Кредитор | Код кредитора в системе SAP | +---------------------+-------------------------------------------------------------------------------------------------------------------+ | Дебитор | Код дебитора в системе SAP | +---------------------+-------------------------------------------------------------------------------------------------------------------+ | Сертификат ФизЛица | Флаг, указывающий на то, что данный сертификат принадлежит физическому лицу | +---------------------+-------------------------------------------------------------------------------------------------------------------+ | Сертификат ЛокПодпис| Флаг, указывающий на то, что данный сертификат содержит данные локального сертификата | +---------------------+-------------------------------------------------------------------------------------------------------------------+ | Отпечаток серт-та | Отпечаток (номер) сертификата электронной подписи (об извлечении отпечатка подробнее см. раздел :ref:`Thumbrint`) | +---------------------+-------------------------------------------------------------------------------------------------------------------+ | Имя | Значения полей заполнятся автоматически по отпечатку введенного сертификата в момент сохранения | +---------------------+ + | Отчество | | +---------------------+ + | Фамилия | | +---------------------+ + | ИНН | | +---------------------+ + | Должность | | +---------------------+ + | Организация | | +---------------------+ + | Действует с | | +---------------------+ + | Действует по | | +---------------------+-------------------------------------------------------------------------------------------------------------------+ Для настройки нового сертификата заполните поля в соответствии с правилами, указанными в разделе `Заполнение полей при заведении нового сертификата`_, и нажмите |save|. .. image:: media/img260.png :scale: 100 :align: center :alt: Заполнение полей для нового сертификата .. note:: Для одного и того же пользователя в системе может быть заведено несколько сертификатов электронных подписей. Например, для отправки через разных операторов ЭДО или для подписания документов разными подписями в разных БЕ. Заполнение полей при заведении нового сертификата ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ При заполнении полей следуйте следующим правилам. * Поля «Пользователь», «Код оператора ЭД» и «Отпечаток серт-та» являются обязательными для заполнения. * Поля «БЕ», «Кредитор», «Дебитор», "Сертификат ФизЛица" и "Сертификат ЛокПодпис" не являются обязательными. При этом в Продукте применяется следующий алгоритм поиска номера сертификата (см. таблицу ниже): #. Сначала осуществляется поиск номера сертификата по полному соответствию логина пользователя в SAP-системе, идентификатора ОЭД, кода БЕ, кода кредитора, кода дебитора. #. Если на шаге 1 номер сертификата не определен – осуществляется поиск по следующим ограничениям: логин пользователя в SAP-системе, идентификатор ОЭД, код БЕ, код кредитора, **пустое значение** поля для кода дебитора (для любого дебитора). #. Если на шаге 2 номер сертификата не определен – осуществляется поиск по следующим ограничениям: логин пользователя в SAP-системе, идентификатор ОЭД, код БЕ, **пустое значение** поля для кода кредитора (для любого кредитора), **пустое значение** поля для кода дебитора (для любого дебитора). #. Если на шаге 3 номер сертификата не определен – осуществляется поиск по следующим ограничениям: логин пользователя в SAP-системе, идентификатор ОЭД, **пустое значение** поля для кода БЕ (для любой БЕ), **пустое значение** поля для кода кредитора (для любого кредитора), **пустое значение** поля для кода дебитора (для любого дебитора). #. Если на шаге 4 номер сертификата не определен – выдается сообщение об ошибке. .. list-table:: Алгоритм поиска сертификата :widths: 20 20 20 10 20 20 :header-rows: 1 * - - Пользователь - Код оператора ЭД - БЕ - Кредитор - Дебитор * - Шаг 1 - X - X - X - X - X * - Шаг 2 - X - X - X - X - 0 * - Шаг 3 - X - X - X - 0 - 0 * - Шаг 4 - X - X - 0 - 0 - 0 .. note:: Если сертификат для серверного подписания не был найден - производится поиск по аналогичному алгоритму сертификата с флагом "Локальный сертификат". * Значения полей «Имя», «Отчество», «Фамилия», «Должность», "ИНН", «Организация», «Действует с», «Действует по» заполнятся автоматически по отпечатку введенного сертификата в момент сохранения. Однако, нужно учитывать, что заполнение для отпечатка подписи физического лица происходит из таблицы, отличной от обычных сертификатов. .. image:: media/img261.png :scale: 100 :align: center :alt: Автоматическое заполнение полей по отпечатку сертификата .. important:: Модуль xDE для SAP ERP запрашивает информацию о сертификате (имя, фамилия и т.д.) из ИМ. При этом данная информация используется в модуле xDE для SAP ERP при формировании формализованных документов. Поэтому для корректной работы необходимо, чтобы данная информация была получена из ИМ для всех настроенных сертификатов. Если ИМ в момент сохранения недоступен, информация не будет получена. Чтобы получить ее для ранее сохраненного сертификата, необходимо выделить строку с записью о соответствующем сертификате и нажать кнопку |cert_update| (Обновить сертификаты). .. image:: ris126.png :scale: 85 :align: center :alt: Обновление сертификата .. _Thumbrint: Извлечение отпечатка сертификата ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Чтобы скопировать отпечаток сертификата, выполните следующие действия. #. Откройте оснастку ``Certificates (Сертификаты)``. Выберите в левой области окна ``Console Root (Корень консоли)``, щелкните узел ``Сертификаты – текущий пользователь``, последовательно разверните папки ``Personal\ Registry\ Certificates (Личные\ Реестр\ Сертификаты)`` и откройте нужный сертификат из списка сертификатов в правом окне. .. image:: ris127.png :scale: 64 :align: center :alt: Выбор сертификата #. Перейдите на вкладку ``Details (Состав)``, выберите параметр ``Thumbrint (Отпечаток)`` и скопируйте отобразившиеся в текстовом поле значение. .. image:: ris128.png :scale: 100 % :align: center :alt: Отпечаток сертификата .. note:: В отпечатке сертификата регистр символов и наличие/отсутствие пробелов значения не имеют. Просмотр, изменение и удаление сертификатов --------------------------------------------------------------------- Для просмотра или изменения назначенного сертификата, выделите соответствующую запись в таблице ``/TRL/XDE_V_CERT`` и нажмите |search2|. .. image:: ris129.png :scale: 84 :align: center :alt: Просмотр/изменение сертификата Для перехода между режимами просмотра/изменения используйте кнопку |edit2|. Чтобы удалить запись с сертификатом, выделите соответствующую строку в таблице ``/TRL/XDE_V_CERT`` и нажмите |delete|. .. image:: ris130.png :scale: 82 :align: center :alt: Удаление сертификата для серверного подписания .. _configuringsign-indcert: Ведение списка сертификатов физических лиц ------------------------------------------- Таблица ``/TRL/XDE_CERT_F`` является источником тех данных для заполнения информации о подписанте в xml-файле формализованного документа, которые не содержатся в сертификате электронной подписи физического лица, например – должность. Для настройки сертификата выполните следующие действия. #. Запустите транзакцию ``SM30``. .. image:: indcert-1.png :scale: 49 :align: center :alt: Запуск транзакции ``SM30`` #. Откроется страница ``Ведение ракурса таблицы: первый экран``. Введите имя таблицы ``/TRL/XDE_V_CERT`` и нажмите ``Ведение``. .. image:: ris122.png :scale: 79 :align: center :alt: Открытие таблицы со списком сертификатов #. Для добавления новой записи о сертификате нажмите кнопку ``Новые записи``. .. image:: indcert-3.png :scale: 49 :align: center :alt: Переход к добавлению нового сертификата #. Откроется страница ``Новые записи: обзор добавленных`` с набором параметров, указанных в таблице. .. list-table:: Данные о сертификате физического лица :header-rows: 1 :align: center :widths: 10 20 * - Имя поля - Описание * - Отпечаток серт-та - Уникальный идентификатор (отпечаток) сертификата электронной подписи подписанта * - Код оператора ЭД - Уникальный идентификатор оператора ЭДО, присвоенный ФНС * - БЕ - Балансовая единица системы SAP * - Кредитор - Код кредитора в системе SAP * - Дебитор - Код дебитора в системе SAP * - Должность - Наименование должности, которую занимает подписант * - ИНН организации - ИНН организации, к которой относится подписант * - Название организации - Наименование организации, к которой относится подписант #. В случае если для подписания документов используется сертификат электронной подписи, выпущенный на физическое лицо, необходимо в таблицe ``/TRL/XDE_V_CERT`` установить флаг "Сертификат ФизЛица". При этом будут открыты на редактирование поля "Должность", "ИНН", "Организация". .. image:: media/img263.png :scale: 100 :align: center :alt: Заполнение полей для нового сертификата #. Заполните поля и нажмите |save|. .. _configuringsign-loccert: Ведение списка сертификатов локального подписания -------------------------------------------------- Для локального подписания не обязательно каждый раз производить вызов Ole-объекта для получения данных и вывода окна с выбором имеющихся локальных сертификатов. Для добавления локального сертификата в настройки для пользователя нужно выполнить следующие шаги. #. Запустите транзакцию ``SM30``. .. image:: indcert-1.png :scale: 49 :align: center :alt: Запуск транзакции ``SM30`` #. Откроется страница ``Ведение ракурса таблицы: первый экран``. Введите имя таблицы ``/TRL/XDE_V_CERT`` и нажмите ``Ведение``. .. image:: ris122.png :scale: 79 :align: center :alt: Открытие таблицы со списком сертификатов #. Для добавления новой записи о сертификате нажмите кнопку ``Новые записи``. .. image:: indcert-3.png :scale: 49 :align: center :alt: Переход к добавлению нового сертификата #. Для поиска отпечатка сертификата локальной подписи необходимо включить флаг "Сертификат ЛокПодпис", затем установить курсор на поле отпечатка и вызвать средство поиска с помощью клавиши F4 либо нажатия левой кнопкой мыши на знак вызова средства поиска. В этом случае будет вызван Ole-объект и появится экран со всеми локальными сертификатами, установленными на вашем рабочем месте. .. image:: media/img262.png :scale: 100 :align: center :alt: Автоматическое заполнение полей по отпечатку сертификата #. На появившемся экране выберите подходящий сертификат и дважды кликните по нему левой кнопкой мыши. .. image:: media/img264.png :scale: 100 :align: center :alt: Выбор сертификата для локального подписания #. Если хотите посмотреть данные по сертификату - нажмите на клавишу "Enter". Либо нажмите на кнопку сохранения |save| и данные по сертификату заполнятся автоматически. .. |save| image:: save.png :width: 29 :height: 27 .. |cert_update| image:: cert_update.png :width: 109 :height: 30 .. |search2| image:: search2.png :width: 42 :height: 36 .. |edit2| image:: edit2.png :width: 22 :height: 26 .. |delete| image:: delete.png :width: 23 :height: 23 .. _configuringsign-certinf: Хранение данных сертификатов в таблице ---------------------------------------- В Продукте предусмотрено хранение данных сертификатов в следующих случаях: #. при добавлении новых сертификатов через ракурс ведения ``/TRL/XDE_V_CERT``; #. при получении данных сертификата вместе с входящим документом; #. при выборе локального сертификата через OLE-объект. Для этого существует таблица ``/TRL/XDE_CERTINF``. .. list-table:: Описание полей таблицы /TRL/XDE_CERTINF :widths: auto :header-rows: 1 * - Поле - Ключ - Тип - Описание * - MANDT - X - MANDT - Мандант * - THUMBPRINT - X - /TRL/XDE_ED_THUMBPRINTANDT - Отпечаток сертификата * - FNAME - - /TRL/XDE_ED_NAME_FIRST - Имя * - NAME - - /TRL/XDE_ED_NAME_MID - Отчество * - SNAME - - /TRL/XDE_ED_NAME_LAST - Фамилия * - POSIT - - /TRL/XDE_ED_POSIT - Должность * - INNUL - - /TRL/XDE_ED_INNUL - ИНН юрлица * - INN_FL - - /TRL/XDE_ED_INNFL - ИНН физического лица * - ORGANIZAT_NAME - - /TRL/XDE_ED_ORG_NAME - Название организации * - SNILS - - /TRL/XDE_ED_SNILS - Cтраховой номер индивидуального лицевого счета * - EMAIL - - /TRL/XDE_ED_EMAIL - Адрес электронной почты * - DEPARTMENT - - /TRL/XDE_ED_DEPARTMENT - Подразделение * - CITY - - /TRL/XDE_ED_CITY - Название города * - STREET - - /TRL/XDE_ED_STREET - Название улицы * - OGRN - - /TRL/XDE_ED_OGRN - Основной государственный регистрационный номер * - OGRN_IP - - /TRL/XDE_ED_OGRNIP - ОГРН индивидуального предпринимателя * - REGION - - /TRL/XDE_ED_REGION - Название региона * - LOCALE - - /TRL/XDE_ED_LOCALE - Язык * - RNSFSS - - /TRL/XDE_ED_RNSFSS - Регистрационный номер страхователя (ФСС) * - VALIDFROM - - /TRL/XDE_ED_VALIDFROM - Дата выпуска сертификата * - VALIDTO - - /TRL/XDE_ED_VALIDTO - Дата окончания действия сертификата * - SERIALNUMBER - - /TRL/XDE_ED_SERIALNUMBER - Серийный номер * - SIGN_ALGORITHM - - /TRL/XDE_ED_SIGNATURE_ALGORITH - Алгоритм подписи * - KEY_ALGORITHM - - /TRL/XDE_ED_KEY_ALGORITHM - Алгоритм ключа * - VERSION - - /TRL/XDE_ED_VERSION - Версия * - ISSUER_SIMPLE_NAME - - /TRL/XDE_ED_ISSUER_SIMPLE_NAME - Имя выдавшего сертификат * - CERTIFICATE_TYPE - - /TRL/XDE_ED_CERTIFICATE_TYPE - Тип сертификата .. important:: Следует обратить внимание, что ИНН юридического лица и ИНН физического лица попадают в разные поля. Кроме того, для сертификатов индивидуальных предпринимателей ОГРН попадает в отдельное поле ``OGRN_IP``.