Несколько подписей в документе

Тема в разделе "Lotus - Программирование", создана пользователем motogarri, 19 май 2010.

  1. motogarri

    motogarri Well-Known Member

    Регистрация:
    17 фев 2010
    Сообщения:
    188
    Симпатии:
    4
    Сорри, что поднимаю старую тему. По форуму читал, но не все понял.

    Есть БД, где документ проходит несколько этапов. С прохождением каждого этапа изменяется значение в поле Status. В зависимости от этого значения, документ отображается в разных видах.
    На предпоследнем этапе, документ должны завизировать три человека. Тут получается, либо ставят подпись, либо отсылают док на один из предыдущих этапов.

    Как я понял, если использовать ЭЦП, документ подписывается весь целиком, и следующие подписи заменяют предыдущую. А мне надо хранить три подписи. Или я что-то неправильно понял?
     
  2. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
  3. motogarri

    motogarri Well-Known Member

    Регистрация:
    17 фев 2010
    Сообщения:
    188
    Симпатии:
    4
    Читал. Не хватает меня пока чтобы разобраться. В первом примере опять все сходится ко второй ссылке, а там снова непонятно.
    А где находится Библиотека LotusScript SignatureDocumentPart в которую нужно помещать:
    Public Class SignatureDocumentPart
    ....
    .....
    Или это Declarations ?
    А, нашел. Нужно сосздать библиотеку с именем SignatureDocumentPart.
     
  4. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Честно говоря, библиотеку SignatureDocumentPart не использовал, тестировал базу топикстартера вышеприведённой темы. Но в принципе ничего сложного, создаёте LS библиотеку "SignatureDocumentPart", в раздел (Declarations), кидаете код класса "SignatureDocumentPart", сохраняете и используете в своём коде по мере надобности.
     
  5. motogarri

    motogarri Well-Known Member

    Регистрация:
    17 фев 2010
    Сообщения:
    188
    Симпатии:
    4
    Сделал, как описано в той теме. Действительно подписываются разные поля в документе.
    Проверка говорит "Signed"
    If item.IsSigned Then
    Messagebox "Signed"
    Else
    Messagebox "Not signed"
    End If

    Но тут проблема возникла. Я подписываю поле, перехожу на другую учетку и спокойно его (подписанное) изменяю. Разве оно не должно блокироваться для всех, кроме автора?
    Код (LotusScript):
    Sub Click(Source As Button)

    Dim session As New NotesSession
    Dim uiworkspace As New NotesUIWorkspace
    Dim doc As NotesDocument
    Dim item As NotesItem
    Set doc = uiworkspace.CurrentDocument.Document
    Set item = doc.GetFirstItem("Sign1")

    item.IsSigned="true"
    doc.Sign1 = session.CommonUserName
    Call doc.Sign
    Call doc.Save( False, True )
    Messagebox "Подписали содержание"

    End Sub
     
  6. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Подпись лишь подтверждает, что данные были введены/изменены тем-то. Для защиты от изменения части документа есть несколько вариантов:
    computed-for-display поле, отображаемое вместо редактируемого по формулам скрытия, свойство поля Input Enabled, секции с управляемым доступом, вычисляемые подформы, диалоги.
     
  7. motogarri

    motogarri Well-Known Member

    Регистрация:
    17 фев 2010
    Сообщения:
    188
    Симпатии:
    4
    Спасибо, именно это и хотел узнать, а то боялся, что не так что-то сделал.
    Сделал "Вычисляемую при открытии" секцию с формулой @IsNotMember( "[NachOtd]"; @UserRoles ). Теперь документ не открывается, говорит несовместимый тип данных. Внутри секции, подписываемое текстовое поле и кнопка.

    И еще вопрос. В заголовке раздела пишется кем и когда подписано поле. Можно ли этот заголовок форматировать, чтобы после ФИО и даты не писалось имя домена?
     
  8. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    В формуле секции должно получаться, кто имеет право на редактирование (список имён, ролей). @IsNotMember возвращает числовое значение, поэтому ошибка несоответствия типа. Д.б. "[NachOtd]".
    Для форматирования имён есть функция @Name, например, @Name([CN]; @UserName) вернёт просто ФИО.

    Хотя не совсем понял "В заголовке раздела пишется кем и когда подписано поле" — это о чём?
     
  9. motogarri

    motogarri Well-Known Member

    Регистрация:
    17 фев 2010
    Сообщения:
    188
    Симпатии:
    4
    Все работает, как надо. nvy, спасибо.

    После того, как подписываю поле, в заголовке раздела появляется надпись: > Подписано ФИО\Имя домена 19.05.2010 16:00:05\имя домена
     
  10. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Не могу воспроизвести. Получаю аналогичную надпись только в строке состояния. В заголовке раздела только то, что я туда руками в дизайнере ввёл. Если напрягает, заголовок можно вообще скрыть.
     
  11. motogarri

    motogarri Well-Known Member

    Регистрация:
    17 фев 2010
    Сообщения:
    188
    Симпатии:
    4
    Не напрягает)) Наоборот это очень кстати. Просто не пойму как его форматировать. Да и ладно, это сейчас не горит, просто интересно.
    [​IMG]
     
  12. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    А какая версия клиента? У меня 8.0.1 — показывает (условно) только "Начальник отдела", хотя в строку состояния информацию о подписи выводит. Никаких свойств у раздела по настройке вывода информации о подписи не нашёл. Хотелось бы узнать, как добиться подобного результата — может пригодится в будущем.
     
  13. motogarri

    motogarri Well-Known Member

    Регистрация:
    17 фев 2010
    Сообщения:
    188
    Симпатии:
    4
    Версия 8.5. Я тоже никаких настроек раздела не нашел по этому поводу.
     
  14. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Похоже, это особенность версии 8.5.
     
Загрузка...
Похожие Темы - Несколько подписей документе
  1. lionk
    Ответов:
    8
    Просмотров:
    155
  2. mrktwn1
    Ответов:
    0
    Просмотров:
    71
  3. M1shop
    Ответов:
    0
    Просмотров:
    372
  4. lionk
    Ответов:
    1
    Просмотров:
    594
  5. JohnLemon
    Ответов:
    6
    Просмотров:
    1.179

Поделиться этой страницей