Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

 

 

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                                      

  

Informações Gerais

 

 

Especificação

Produto 

Microsiga Protheus

Módulo 

SIGAPLS - Plano de Saúde

Segmento Executor

 Saúde

Projeto1 

M_SAU_PLS002

IRM1 

PCREQ-5680

Requisito1 

PCREQ-6218

Subtarefa1

 

Chamado2

PCSFL-179

Release de Entrega Planejada 

12.1.8

Réplica

 Não

País

(  x) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

<Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>.

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 

Objetivo

Conforme o item 1.6 da MIT-044 Especificação e Detalhamento do Reembolso, esta especificação visa detalhar o processo de criação dos Pontos de Entrada

A presente especificação visa detalhar o processo de criação de novos pontos de entrada na gravação, abertura e menudef da rotina de solicitação de reembolso

Objetivo

 

<Nesta etapa informar o objetivo da especificação do requisito, ou seja, o que a funcionalidade deve fazer. Exemplo: Permitir que o usuário defina o percentual mínimo em espécie (dinheiro), a referência mínima para calculo dos débitos do aluno e o período de validade do parâmetro de negociação>.

Definição da Regra de Negócio


Pontos de entrada para desenvolvimento específico:

 

<Regra de negócio é o que define a forma de fazer o negócio, o processo definido e/ou as regras que devem ser contempladas. Devem ser descritas restrições, validações, condições e exceções do processo. Caso necessário, incluir neste capítulo também regras de integridade que devem ser observadas no momento do desenvolvimento>.

 

<Na tabela abaixo informe quais são as rotinas envolvidas, o tipo de operação, a opção de menu e se necessário uma breve descrição das regras de negócio relacionadas a rotina>.

 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

[ACAA040 – Parâmetros]

[Alteração]

[Atualizações -> Acadêmico-> Tesouraria]

-

[ACAA050 – Negociação Financeira]

[Envolvida]

[Atualizações -> Acadêmico-> Tesouraria]

-

[ACAA060 – Cadastro de Pedidos]

[Criação]

[Atualizações -> Acadêmico-> Cadastros]

-

 

Exemplo de Aplicação:

  • Criar o campo “% Mínimo Espécie” (AAA_PERESP) onde o usuário informará o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação.
  • Criar o campo “Referência Mínima para Cálculo” (AAA_REFCAL) onde o usuário informará um dos 4 valores disponíveis para pagamento das mensalidades  como a referência mínima para calcular o débito total do aluno.
  • Criar o parâmetro MV_ACPARNE que definirá se as informações de “% Mínimo Espécie” e “Referência Mínima para Cálculo” serão obrigatórias.
  • O parâmetro MV_ACPARNE deve ter as seguintes opções: 1=Obrigatório e 2=Opcional. Deve ser inicializado como opcional>.

 

Tabelas Utilizadas

  • SE2 – Cadastro de Contas a Pagar
  • FI9 – Controle de Emissão de DARF>.

Opcional

Fluxo do Processo

 

<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo:

I) Para Alteração das opções do menu Outras Ações da janela da rotina (aButtons)

  • No Fonte PLSA001A, Função PLBOWMOV
  • Após a adição dos botões padrão:

Aadd(aButtons,{"MotGlo",{||VisMotExc()  },"Mot. Glosa"})

  • Adicione o bloco a seguir:

If ExistBlock("ABTN001A")

      ExecBlock("ABTN001A",.F.,.F.,{@aButtons})

EndIf

  • O ponto de entrada irá receber o Array aButtons por referência, com isso o usuário terá a possibilidade de trabalha-lo e retorna-lo no formato esperado.

II) Para Alteração das opções do menu Outras Ações do Browse (aRotina)

  • Já existe um ponto de entrada para atender a demanda (No Fonte PLSA001A, Função PLSA001A)

      If ExistBlock("PLBOWBTADD")

            aBtAdd:=ExecBlock("PLBOWBTADD",.F.,.F.,{aRotina})

            If ValType(aBtAdd)=="A"

                  AEval(aBtAdd,{|x|AAdd(aRotina,x)})

            EndIf

      EndIf


III) Para Gravação do protocolo de reembolso (Protheus)

  • No Fonte PLSA001A, Função PBOWFinal
  • Após a finalização da gravação (Histórico):

      If lRet.AND.nOpc<>K_Excluir

PLGRVBOX(BOW->BOW_PROTOC,BOW->BOW_MATRIC,BOW->BOW_STATUS,/*cNumMov*/,/*cNumCC*/,/*dDtBaix*/,BOW->BOW_OBS,/*cLocate*/,/*cCodPeg*/,/*cOrigem*/,BOW->BOW_NPROCE)

      EndIf

  • Adicione o Bloco a seguir:

      If ExistBlock("PLGRVBOW")

            ExecBlock("PLGRVBOW",.F.,.F.,{BOW->(Recno())})

      Endif

  • O ponto de entrada irá receber o RECNO posicionado da BOW (que é o que acabou de ser criado/alterado pela gravação) com isso é possível recuperar as informações necessárias para chegar nos registros vinculados à ele e dar o tratamento pretendido)

 

IV) Para Gravação do protocolo de reembolso (Portal)

  • No WebService WSPLSXFUN, Método PutReembBen
  • Após a finalização da gravação (Itens):

            BOW->(MsUnlock())

            PlsGrvB1N(cProtocolo,::ItensReemb,aNomBen)

            ConfirmSX8()

  • Adicione o Bloco a seguir:

            If ExistBlock("PLWEBBOW")

                  ExecBlock("PLWEBBOW",.F.,.F.,{BOW->(Recno())})

            Endif

  • O ponto de entrada irá receber o RECNO posicionado da BOW (que é o que acabou de ser criado/alterado pela gravação) com isso é possível recuperar as informações necessárias para chegar nos registros vinculados à ele e dar o tratamento pretendido)

 

V) Para Validação do Protocolo de Reembolso (Remote)

  • No fonte PLSA001A, Função PBOWVld
  • Após a finalização da validação padrão

                  If lAviso.AND.lRet

                        If M->BOW_STATUS=='3'

                             If !MsgYesNo(STR0173)

                                   lRet:=.F.

                             EndIf

                        EndIf

                  EndIf

            EndIf

      Endif

EndIf

  • Adicione o Bloco a seguir:

If ExistBlock("PLVLD01A")

      lRet:=ExecBlock("PLVLD01A",.F.,.F.,{lRet,oEncAuto,nOpc})

EndIf

  • O ponto de entrada irá receber o parâmetro lógico de retorno (lRet), objeto com os dados (oEncAuto) e o tipo de operação realizada (nOpc). Com essas informações é possível realizar as validações específicas e retornar para variável lRet o resultado esperado.

 

VI) Para Validação do Protocolo de Reembolso (Portal)

  • No WebService WSPLSXFUN, método PutReembBen
  • Após a finalização da validação do WebService

      If BA3->BA3_REEWEB<>"1".OR.BA3->BA3_PODREM<>"1".AND.lOK

::WSNULL:="false|Beneficiário sem permissão para solicitação de reembolso!"      

             lOK:=.F.                  

      EndIf

  • Adicione o bloco a seguir:

      If ExistBlock("PLVLWEBA")

lOk:=ExecBlock("PLVLWEBA",.F.,.F.,{lOk,aNomBen,::DatDoc,aDadCli,::NomRdaNRef,::VlrApr,::ItensReemb})

      EndIf

  • O ponto de entrada irá receber o parâmetro lógico (lOk) e os demais parâmetros recebidos pelo WebService, tornando possível que o usuário faça a customização da validação pretendida.

VII) Para Abertura da rotina no Protocolo de reembolso (Protheus)

  • No fonte PLS001A, Função PLBOWMOV
  • Antes da ativação da Dialog:
    ACTIVATE MSDIALOG oDlg ON INIT Eval({ || EnchoiceBar(oDlg,bOK,bCancel,.F.,aButtons)  })
  • Adicione o bloco a seguir:
    If ExistBlock("AOPN001A")
           ExecBlock("AOPN001A",.F.,.F.,{@oBrwPro})
    EndIf

  • O ponto de entrada irá receber o oBjeto com os dados da Dialog, para que seja manipulado conforme a necessidade da customização.


Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>.

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

PLSA001A

Alteração

Atualizações -> Atendimento -> Protocolo de Reembolso

 

WSPLSXFUNAlteração-
 

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.