2 378 документов
← К списку

Подписать

страница

Подписывает данные, возвращает подпись и добавляет подпись в объект, если указано. Общий подход к обработке значений свойств с типом ОписаниеОповещения в параметре ОписаниеДанных. При выполнении обработки оповещения в нее передается структура параметров, в которой всегда есть свойство "Оповещение" типа ОписаниеОповещения, обработку которого нужно выполнить для продолжения. Кроме того, в структуре всегда есть свойство ОписаниеДанных, полученное при вызове процедуры. При вызове оповещения в качестве значения должна передаваться структура. Если в процессе асинхронного выполнения возникает ошибка, тогда в эту структуру нужно вставить свойство ОписаниеОшибки типа Строка.

Синтаксис

Процедура Подписать(ОписаниеДанных, Форма = Неопределено, ОбработкаРезультата = Неопределено, ПараметрыПодписи = Неопределено) Экспорт

Параметры

  • ОписаниеДанных — Структура:
    • Операция - Строка - заголовок формы подписания данных, например Подписание файла.
    • ЗаголовокДанных - Строка - заголовок элемента или набора данных, например Файл.
    • СообщитьОЗавершении - Булево - (необязательный) - если Ложь, то не будет показано оповещение о успешном завершении операции для представления данных, указанного рядом с заголовком.
    • ПоказатьКомментарий - Булево - (необязательный) - разрешает ввод комментария в форме подписания данных. Если не указан, значит Ложь.
    • ОтборСертификатов - Массив - (необязательный) - содержит ссылки на элементы справочника. СертификатыЭлектроннойПодписиИШифрования, которые могут быть выбраны пользователем. Отбор блокирует возможность выбора других сертификатов из личного хранилища.
    • Структура:
    • Организация - ОпределяемыйТип.Организация - содержит ссылку на организацию, по которой будет установлен отбор в списке сертификатов пользователя.
    • БезПодтверждения - Булево - (необязательный) - пропустить подтверждение пользователя, если в свойстве ОтборСертификатов только один сертификат и: а) либо для сертификата указано "Вводить пароль в программе электронной подписи"; б) либо пользователь запомнил пароль к сертификату на время сеанса; в) либо пароль установлен ранее методом УстановитьПарольСертификата. Если в процессе подписания возникла ошибка, тогда будет открыта форма с возможностью указать пароль. Параметр ПоказатьКомментарий игнорируется.
    • ПередВыполнением - ОписаниеОповещения - (необязательный) - описание обработчика дополнительной подготовки данных после выбора сертификата, которым будут подписаны данные. В этом обработчике можно заполнить параметр Данные, если он зависит от сертификата, который в момент вызова уже вставлен в ОписаниеДанных как ВыбранныйСертификат (смотри ниже). Также можно переопределить параметр ВыбраннаяДоверенность в ОписаниеДанных. Следует учесть общий подход (смотри выше).
    • ВыполнятьНаСервере - Неопределено
    • Булево - (необязательный) - когда не указан или Неопределено, тогда выполнение будет определено автоматически: если есть сервер, то сначала на сервере, потом (при неудаче) на клиенте, потом сообщение о двух ошибках. Когда Истина: если разрешено выполнение на сервере, тогда выполнение только на сервере, при неудаче одно сообщение об ошибке на сервере. Когда Ложь: выполнение только на клиенте, как будто нет сервера.
    • ПараметрыДополнительныхДействий - Произвольный - (необязательный) - если указан, то передается на сервер в процедуру ПередНачаломОперации общего модуля ЭлектроннаяПодписьПереопределяемый как ВходныеПараметры.
    • КонтекстОперации - Неопределено - (необязательный) - если указан, тогда в свойство будет установлено определенное значение произвольного типа, которое позволяет выполнить действие с тем же сертификатом повторно (у пользователя не запрашивается ни пароль, ни подтверждение действия). В случае ошибки после вызова процедуры, повторное действие, выполненное с полученным контекстом, может быть также ошибочно.
    • Произвольный - (необязательный) - если определено, то действие будет выполнено с тем же сертификатом без запроса пароля или подтверждения. Параметр БезПодтверждения считается равным Истина. Параметры Операция, ЗаголовокДанных, ПоказатьКомментарий, ОтборСертификатов и ВыполнятьНаСервере игнорируются, их значения остаются такими же, как при первом вызове. Параметр ПараметрыДополнительныхДействий игнорируется. Процедура ПередНачаломОперации не вызывается. Если передать контекст, возвращенный процедурой Расшифровать, тогда пароль, введенный для сертификата, может быть использован, как если бы пароль был сохранен на время сеанса. В остальном контекст игнорируется.
    • ПрекратитьВыполнение - Произвольный - если свойство существует и в процессе асинхронного выполнения возникает ошибка, выполнение прекращается без отображения формы операции или с закрытием этой формы, если она была открыта. Вариант 1.
    • Данные - ДвоичныеДанные - данные для подписания.
    • Строка - адрес временного хранилища, содержащего двоичные данные.
    • ОписаниеОповещения - обработчик получения данных, который возвращает их в свойстве Данные (смотри выше общий подход). В момент вызова в ОписаниеДанных уже вставлен параметр ВыбранныйСертификат (смотри ниже).
    • Структура:
    • Структура:
    • ДвоичныеДанные - двоичные данные для подписания.
    • Объект - ЛюбаяСсылка - (необязательный) - ссылка на объект , к которому нужно добавить подпись. Если не указан, то подпись не требуется добавлять.
    • ОписаниеОповещения - (необязательный) - обработчик добавления подписи в регистр сведений ЭлектронныеПодписи. Следует учесть общий подход (смотри выше). В момент вызова в ОписаниеДанных уже вставлен параметр СвойстваПодписи. В случае параметра НаборДанных, в ОписаниеДанных вставляется свойство ТекущийЭлементНабораДанных, содержащее параметр СвойстваПодписи.
    • ВерсияОбъекта - Строка - (необязательный) - версия данных объекта для проверки и блокировки объекта перед добавлением подписи.
    • Представление - ЛюбаяСсылка - (необязательный), если параметр не указан, тогда представление вычисляется по значению свойства Объект.
    • Строка
    • Структура: ** Значение - ЛюбаяСсылка
    • ОписаниеОповещения - для открытия. ** Представление - Строка - представление значения. Вариант 2.
    • НаборДанных - Массив - структуры со свойствами, описанными в Варианте 1.
    • ПредставлениеНабора - Строка - представления нескольких элементов набора данных, например, "Файлы (%1)". В это представление в параметр %1 заполняется количество элементов. По гиперссылке можно открыть список. Если в наборе данных 1 элемент, тогда используется значение в свойстве Представление свойства НаборДанных, если не указано, тогда представление вычисляется по значению свойства Объект элемента набора данных.
    • СписокПредставлений - СписокЗначений
    • Массив - (необязательный) - произвольный список элементов или массив со значениями, как у свойства Представление, которые сможет открыть пользователь. Если не указан, то заполняется из свойств Представление или Объект в свойстве НаборДанных.
  • Форма — ФормаКлиентскогоПриложения - форма, из которой нужно получить уникальный идентификатор, который будет использоваться при блокировке объекта.
    • УникальныйИдентификатор - уникальный идентификатор, который будет использоваться при блокировке объекта.
    • Неопределено - использовать стандартную форму.
  • ОбработкаРезультата — ОписаниеОповещения - Требуется для нестандартной обработки результата, например, если не указан параметр Объект и/или Форма. В результат передается входной параметр ОписаниеДанных, который в успешном случае дополняется свойствами:

    Успех - Булево - Истина, если все прошло успешно. Если Успех = Ложь, то частичное завершение

    определяется по наличию свойства СвойстваПодписи. Если есть, то шаг выполнен.

    Отказ - Булево - Истина, если пользователь отменил операцию интерактивно.

    ПользовательНажалКнопкуПодписать - Булево - если Истина, то пользователь хотя бы раз

    нажал на кнопку Подписать. Используется для сценариев, когда для продолжения бизнес-процесса достаточно простой подписи (намерения установить подпись), а установка квалифицированной подписи является дополнением, которое можно реализовать позднее, если возникли технические проблемы.

    ВыбранныйСертификат - Структура - содержит свойства сертификата:

    Ссылка - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования - ссылка на сертификат.

    Отпечаток - Строка - отпечаток сертификата в формате строки Base64.

    Данные - Строка - адрес временного хранилища, содержащего двоичные данные сертификата.

    ВыбраннаяДоверенность - ЛюбаяСсылка

    СвойстваПодписи = Строка - адрес временного хранилища, содержащего описанную ниже структуру,

    если подписание произошло на сервере. = Структура:
    • ТипПодписи - ПеречислениеСсылка.ТипыПодписиКриптографии
    • СрокДействияПоследнейМеткиВремени - Дата, Неопределено - заполняется только с помощью менеджера криптографии.
    • ДатаПодписиИзМетки - Дата, Неопределено - самый ранний штамп времени
    • НеподтвержденнаяДатаПодписи - Дата - неподтвержденная дата подписи.
    • Сертификат - ДвоичныеДанные - сертификат для проверки подписи.
    • Отпечаток - Строка - отпечаток сертификата в формате строки Base64.
    • КомуВыданСертификат - Строка - представление субъекта, полученное из двоичных данных сертификата. При передаче параметра НаборДанных, свойство нужно проверять в нем.
  • ПараметрыПодписи — см. НовыйТипПодписи

Пример вызова

ЭлектроннаяПодписьКлиент.Подписать(ОписаниеДанных, Форма, ОбработкаРезультата, ПараметрыПодписи)

Доступность

Тонкий клиент, Толстый клиент