Á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

 

Não aplicável

Especificação

Produto

Microsiga Protheus

Módulo

SIGAPLS - Plano de Saúde

Segmento Executor

Saúde

Projeto

M_SAU_PLS002

IRM

PCREQ-5680

Requisito

PCREQ-6218

Subtarefa

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

.

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.

Definição da Regra de Negócio


Pontos de entrada para desenvolvimento específico:

 

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.


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.