01. DADOS GERAIS
Produto: | Solucoes_totvs_parceirosexptotvs |
---|
|
|
---|
Linha de Produto: | |
---|
Segmento: | |
---|
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.
Bloco de código |
---|
title | Exemplo de ExecAuto para Cadastro de Dependentes |
---|
linenumbers | true |
---|
|
#INCLUDE "Protheus.CH"
#iNCLUDE 'TBICONN.CH'
#Include 'FWMVCDef.ch'
//MVC
User Function GP20INCMVC()
Local oModel
Local oMdlSRB
Local aLog := {}
Local cFili := "D MG 01 "
Local cMat := "215470"
Local nCod := 0
RpcSetType(3)
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL cFili MODULO "GPE"
aEval({'SRA','SRB'},{|x|CHKFILE(x)})
SRA->(DbSetOrder(1))
If SRA->(DbSeek(cFili + cMat))
oModel := FWLoadModel("GPEA020")
oModel:SetOperation(MODEL_OPERATION_UPDATE)
//Inclusão de novo registro
If (oModel:Activate())
oMdlSRB := oModel:GetModel("GPEA020_SRB")
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" , "INCLU PRIMEIRODEP")
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")
If(oModel:VldData())
If (oModel:CommitData())
ConOut("Dependente Incluido")
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
RESET ENVIRONMENT
Return(.T.)
//Alteracao existente
User Function GP20ALTMVC()
Local oModel
Local oMdlSRB
Local aLog := {}
Local cFili := "D MG 01 "
Local cMat := "215470"
RpcSetType(3)
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL cFili MODULO "GPE"
aEval({'SRA','SRB'},{|x|CHKFILE(x)})
SRA->(DbSetOrder(1))
If SRA->(DbSeek(cFili + cMat))
oModel := FWLoadModel("GPEA020")
oModel:SetOperation(MODEL_OPERATION_UPDATE)
//Inclusão de novo registro
If (oModel:Activate())
oMdlSRB := oModel:GetModel("GPEA020_SRB")
if(oMdlSRB:Length() > 3)
oMdlSRB:GoLine(3) //Registro a ser alterado
endIf
//Campos a serem alterados
oMdlSRB:SetValue("RB_NOME" , "ALTER EXECAUTO COMLGP")
If(oModel:VldData())
If (oModel:CommitData())
ConOut("Alteracao concluida")
Else
aLog := oModel:GetErrorMessage()
EndIf
Else
aLog := oModel:GetErrorMessage()
EndIf
If Len(aLog) > 0
aEval(aLog, {|x|conOut(x)})
EndIf
EndIf
Else
ConOut("Funcionário nao encontrado")
EndIf
RESET ENVIRONMENT
Return(.T.) |
05. ASSUNTOS RELACIONADOS
N/A.