01. Apresentação

Este documento tem por objetivo apresentar os passos necessários para disponibilizar no DataServer da linha RM a integração com o Totvs Assinatura Eletrônica. 

02. Configuração

Para configurar o RM x Totvs Assinatura Eletrônica é necessário informar nos parâmetros globais o caminho das API's do Totvs Assinatura Eletrônica.

03. Habilitar Meu DataServer

Para habilitar a utilização do Totvs Assinatura Eletrônica basta informar a propriedade "AllowTotvsSign" com o valor "True" na Action equivalente ao dataServer desejado.
Sendo assim, será disponibilizado a opção do Totvs Assinatura Eletrônica em sua funcionalidade.

using RM.Imb.Parametros;
using RM.Imb.Recursos;
using RM.Lib.Client;
using RM.Lib.WinForms;
 
partial class ImbContratoLocAction
  {
    /// <summary>
    /// Inicialização da action de contrato de locação    
    /// </summary>
    private void InitializeComponent()
    {
      components = new System.ComponentModel.Container();
      DataServerName = "ImbContratoLocData";     
      FormName = "ImbContratoLocForm";     
      AllowTotvsSign = true; 
     }
  }

Resultado:

04. Vinculo Processos

Após habilitar a utilização do Totvs Assinatura Eletrônica, é possível condicionar a execução de processo de acordo com o status do documento anexado a entidade principal.

Exemplo

Imagine que temos um contrato de locação de imóvel em elaboração e o usuário do sistema, enviou o "documento / contrato" para o locatário assinar via Totvs Assinatura eletrônica. 
E o usuário do RM, pode efetivar o contrato no RM antes mesmo do locatário assinar o documento.

Demanda:

Como devo codificar, para condicionar o sucesso do processo de "Efetivação do Contrato" com a assinatura do documento. Ou seja,  preciso que seja a apresentando mensagem de erro tratado para o usuário do RM caso ele tente efetivar o contrato para o documento não assinado.

04.1 Disponibilização dos processos

Para disponibilizar os processo para o usuário possa vincular com o documento, basta preencher a propriedade "ProcessValidationTotvsSignActions"

using RM.Imb.Parametros;
using RM.Imb.Recursos;
using RM.Lib.Client;
using RM.Lib.WinForms;

namespace RM.Imb.Aluguel.ContratoLoc
{
  partial class ImbContratoLocAction
  {
    /// <summary>
    /// Inicialização da action de contrato de locação    
    /// </summary>
    private void InitializeComponent()
    {
      components = new System.ComponentModel.Container();

      DataServerName = "ImbContratoLocData";
      FormName = "ImbContratoLocForm";
      // Libera o Totvs Assinatura eletrônica para o dataServer
      AllowTotvsSign = true;

      // Processo de efetivar contrato de locação
      ProcessActions.Add("ImbEfetivarContLocAction", true);


      //Disponibilização de processo na tela de envio de documento do Totvs Assinatura
      ProcessValidationTotvsSignActions.Add(new RMSProcessTotvsSignInfo()
      {
        ActionName = nameof(ImbEfetivarContLocAction),
        LabelProcess = Properties.Resources.SImbCaptinEfetivacaoContratoTotvsSign
      });

      ProcessValidationTotvsSignActions.Add(new RMSProcessTotvsSignInfo()
      {
        ActionName = nameof(ImbContratoLocEscalonamentoAction),
        LabelProcess = Properties.Resources.SImbCaptinEfetivacaoEscalonamentoTovsSign
      });

      ProcessValidationTotvsSignActions.Add(new RMSProcessTotvsSignInfo()
      {
        ActionName = nameof(ImbEfetivarAditivoContLocBaseAction),
        LabelProcess = Properties.Resources.SImbCaptinEfetivacaoAditivoTovsSign
      });

      ProcessValidationTotvsSignActions.Add(new RMSProcessTotvsSignInfo()
      {
        ActionName = nameof(ImbEncerrarContLocAction),
        LabelProcess = Properties.Resources.SImbCaptinEfetivacaoEncerramentoTovsSign
      });
    }


Resultado:

Os processo que foram preenchidos na action na lista ProcessValidationTotvsSignActions são apresentando no cadastro do documento.

Observação:

Caso a "action" não possua processos definidos não será exibido a página de seleção, os processos marcados para validar assinatura eletrônica serão gravados na tabela GINTEGRACAOTOTVSSIGNRESTRICAO


04.2 Validação dos processos