Использование в шаблонах

 

Для разработчика шаблона доступно две функции, для работы с подписями:

  function plx_get.signer_by_bill(bill_id_ in integer, sign_code_ in varchar2) return integer;
  function plx_fmt.signer(signer_id_ in integer, fmt_ in varchar2 default def_signer,
        personal_fmt_ in varchar2 default def_personal_name) return varchar2;

 

Первая функция по bill_id документа определяет группу подписывающих лиц (верхняя часть справочника подписей), а по sign_code выбирает подпись и возвращает signer_id – id из таблицы signers (нижняя часть справочника подписей), причём тут учитывается дата документа (поле bill_date из таблицы bills).

Вторая функция форматирует выбранную подпись signer_id в соответствии с заданным форматом fmt_, по умолчанию формат такой:

 

 def_signer constant varchar2(1024) := '{P}{s{ r}}';

 

Здесь можно использовать такие параметры подстановки:

 

  -- подписывающий сотрудник
  -- S - должность
  -- P - сотрудник в должности
  -- s - подписывающее лицо (вместо сотрудника)
  -- r - право на подпись
  -- если в строке форматирования указано и 'P' и 's', то 's' имеет приоритет
  -- (не имеет смысла в одной строке выводить и то и другое)

 

Параметр personal_fmt_ задаёт формат для ФИО сотрудника, см. функцию plx_fmt.personal.