Histórico da Página
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 | ||||||
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 | Não aplicável. |
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})
EndIfO 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 |
|
WSPLSXFUN | Alteração | - |
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|