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 | ||||||
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})
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. |
---|