01. DADOS GERAIS
Produto: |
TOTVS RH
|
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | RH |
Módulo: | SIGAGPE |
Função: | GPEA020 |
País: | Brasil |
Ticket: | 11243315 |
Requisito/Story/Issue (informe o requisito relacionado) : | DRHESOCP-21547 |
02. SITUAÇÃO/REQUISITO
ExecAuto da rotina GPEA020 não permite inclusão de dependentes quando há outro dependente com Plano de Saúde ativo.
03. SOLUÇÃO
Identificado uso de versão legado do execauto para a rotina de Cadastro de Dependentes GPEA020.
Disponibilizado exemplo de utilização da rotina automática utilizando a estrutura MVC.
04. DEMAIS INFORMAÇÕES
Exemplo de ExecAuto para Cadastro de Dependentes
#INCLUDE 'Protheus.CH' #INCLUDE 'TBICONN.CH' #INCLUDE 'FWMVCDEF.CH' /*/{Protheus.doc} GP020MVC Exemplo de ExecAuto do Cadastro de Dependentes GPEA020 utilizando estrutura MVC /*/ User Function GP020MVC() Local oModel Local oMdlSRB Local aLog := {} Local nCod := 0 Local nTipo := 1 //Exemplo inclusão / 2-Alteração/Exclusão Local cMat := "xxxxxx" //Matrícula correspondente para posicionamento aEval({'SRA','SRB'},{|x|CHKFILE(x)}) SRA->(DbSetOrder(1)) If SRA->(DbSeek(xFilial("SRA") + cMat)) oModel := FWLoadModel("GPEA020") oModel:SetOperation(MODEL_OPERATION_UPDATE) If (oModel:Activate()) oMdlSRB := oModel:GetModel("GPEA020_SRB") //instanciamento do modelo If nTipo == 1 //Exemplo Inclusão de novo registro if(oMdlSRB:Length() > 1) nCod := oMdlSRB:AddLine() else if(oMdlSRB:IsInserted()) nCod := 1 else nCod := oMdlSRB:AddLine() endIf endIf oMdlSRB:SetValue("RB_COD" , StrZero(nCod,2)) oMdlSRB:SetValue("RB_NOME" , "INCLUSAO DEPENDENTE") oMdlSRB:SetValue("RB_TPDEP" , "03") oMdlSRB:SetValue("RB_DTNASC" , Ctod("20/03/2010")) oMdlSRB:SetValue("RB_SEXO" , "M") oMdlSRB:SetValue("RB_GRAUPAR" , "F") oMdlSRB:SetValue("RB_TIPIR" , "1") oMdlSRB:SetValue("RB_TIPSF" , "1") oMdlSRB:SetValue("RB_LOCNASC" , "SP") oMdlSRB:SetValue("RB_CIC" , "80645187925") //Demais campos informados na inclusão conforme exemplo //Possibilita inclusão de múltiplos registros utilizando o método AddLine() ElseIf nTipo == 2 //Exemplo alteração de registro existente if(oMdlSRB:Length() >= 3) oMdlSRB:GoLine(3) //Posicionamento na linha a ser alterada endIf //Campos a serem alterados oMdlSRB:SetValue("RB_NOME" , "ALTER EXECAUTO") //Possibilita uso do método DeleteLine() para exclusão do registro posicionado EndIf If(oModel:VldData()) If (oModel:CommitData()) If nTipo == 1 ConOut("Dependente Incluido") Else ConOut("Alteracao concluida") EndIf Else aLog := oModel:GetErrorMessage() EndIf Else aLog := oModel:GetErrorMessage() EndIf If Len(aLog) > 0 aEval(aLog, {|x|conOut(x)}) EndIf EndIf Else ConOut("Funcionario nao encontrado") EndIf Return
05. ASSUNTOS RELACIONADOS
N/A.
Visão Geral
Import HTML Content
Conteúdo das Ferramentas