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 |
Segmento Executor | Saúde | ||
Projeto | M_SAU_PLS004 | IRM | PCREQ-8066 |
Requisito | PCREQ-8068 | Subtarefa | SAU_DEV-3711 |
Release de Entrega Planejada | 12.1.9 | Réplica | Não |
País | (X) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. |
Objetivo
Estabelecer as regras de negócio e demais informações para que seja desenvolvido o requisito que apresentará mensagem com os documentos relacionados ao cadastro de corpo clínico da RDA.
Definição da Regra de Negócio
<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
Protótipo de Tela
<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.
Protótipo 01
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: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>.
Este requisito consiste na exibição de mensagem contendo os documentos necessários relacionados ao corpo clínico da RDA.
Para que essas informações sejam corretamente obtidas, realizar as seguintes alterações:
No webservice WSPLSXFUN, criar nova estrutura de documentos:
Bloco de código language delphi title Struct no webservice linenumbers true collapse true //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ //³Definicao da estruturas de dados de documento ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ WSSTRUCT SDocs WSDATA DocSeq AS String OPTIONAL // Código do documento WSDATA DocDesc AS String OPTIONAL // Descrição do documento WSDATA DocObrig AS String OPTIONAL // Obrigatoriedade do documento ENDWSSTRUCT
Criar também o novo atributo no objeto que receberá um array dos dados acima citados:
Bloco de código language delphi title Novo atributo do objeto linenumbers true collapse true WSDATA Documentos AS Array of SDocs OPTIONAL
Criar novo método que irá retornar as informações dos documentos:
Bloco de código language delphi title Método que recupera os documentos linenumbers true collapse true WSMETHOD GetDocCorpoCli WSRECEIVE UserCode WSSEND Documentos WSSERVICE PLSXFUN Local lRetorno := .T. Local cCodMot := GetNewPar("MV_MOTCORP","") Local nI := 1 Default WSNULL := "" If PrtChkUser( ::UserCode, "PLSXFUN", "GetDocCorpoCli" ) if !Empty(cCodMot) ::Documentos := {} cCodMot := AllTrim(cCodMot) B9X->(DbSetOrder(3)) //B9X_FILIAL+B9X_CODINT+B9X_CODMOT+B9X_SEQMOT If(B9X->(MsSeek(xFilial("B9X") + PlsIntPad() + cCodMot))) While !B9X->(Eof()) .and. B9X->B9X_CODMOT == cCodMot aadd(::Documentos, WsClassNew("SDocs")) //Add novo item na lista de documentos ::Documentos[nI]:DocSeq := AllTrim(B9X->B9X_SEQMOT) ::Documentos[nI]:DocDesc := AllTrim(B9X->B9X_DOCMOT) ::Documentos[nI]:DocObrig := AllTrim(B9X->B9X_OBRIG) B9X->(dbSkip()) nI++ EndDo EndIf ::WSNULL := IIF(len(::Documentos) > 0, "true|", "false|") else ::WSNULL := "false|" EndIf else lRetorno := .F. SetSoapFault( "", "Não autorizado a utilização do método" ) ::WSNULL := "false|" EndIf Return lRetorno
Na web function PPLCORPOCLI (localizado no PPLMFUN), adicionar chamada para a função do webservice que irá recuperar os documentos:
Bloco de código language delphi title Alteração na webfunction linenumbers true collapse true PRIVATE aDocs := {} //Carregar documentos cadastrados para o corpo clínico oObj := WSPLSXFUN():New() WsChgURL( @oObj, "PLSXFUN.APW" ) oObj:cUSERCODE := "MSALPHA" If oObj:GetDocCorpoCli() aDocs := oObj:OWSGETDOCCORPOCLIRESULT:OWSSDOCS EndIf
Na rotina PPLCORPOCLI.APH alterar a montagem do HTML incluindo o alert bootstrap:
Bloco de código language delphi title Alteração no PPLCORPOCLI.APH linenumbers true collapse true //--------------------------------------------------------- // Adicionando alert BS para mensagem //--------------------------------------------------------- oLiABS := WCLine():new() if len(aDocs) > 0 oAlertBS := WCComponent():new("ABS", "alert_receita") oAlertBS:setCss("warning") oAlertBS:setDisplay(.T.) if len(aDocs) == 1 cTexto := "<strong>Atenção: </strong>Anexe o seguinte documento: <br> - " cTexto += aDocs[1]:cDocDesc else cTexto := "<strong>Atenção: </strong>Anexe um arquivo compactado contendo os seguintes documentos:" while nI <= len(aDocs) cTexto += "<br> - " cTexto += aDocs[nI]:cDocDesc nI++ enddo endif oAlertBS:setText(cTexto) oLiABS:setAddcomp(oAlertBS) endif
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
WSPLSXFUN.PRX | Alteração | - | 1, 2 e 3 |
PPLMFUN.PRW | Alteração | - | 4 |
PPLCORPOCLI.APH | Alteração |
| 5 |
Protótipo de Tela
Protótipo 01 - Rotina Corpo Clínico com exibição dos documentos na mensagem
Fluxo do Processo
Dicionário de Dados
1.Criação de parâmetro no arquivo SX6 – Parâmetros:
Nome | MV_MOTCORP |
Tipo | Caracter |
Descrição | Codigo do motivo dos documentos relacionados ao corpo clínico. Esse código é obtido na rotina "Motivo de Alteração/Solicitação Contratual". |
Opcional
Dicionário de Dados
Arquivo ou Código do Script: AAA – Negociação Financeira / *Versao=CP.2014.12_03*/
Índice | Chave |
01 | <FI9_FILIAL+FI9_IDDARF+FI9_STATUS> |
02 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_EMISS+FI9_IDDARF> |
03 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_PREFIX+FI9_NUM+FI9_PARCEL+FI9_TIPO> |
Campo
<AAA_PERESP>
Tipo
<N>
Tamanho
<6>
Valor Inicial
<Varia de acordo com o tipo informado. Por exemplo, quando o campo “tipo” for date, neste campo pode ser informado uma data>.
Mandatório
Sim ( ) Não ( )
Descrição
<Referência Mínima para Cálculo>
Título
<Ref.Calc.>
Picture
<@E999.99>
Help de Campo
<Informar o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação>
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|