01. DADOS GERAIS
Produto: | |
---|
Linha de Produto: | |
---|
Segmento: | |
---|
Módulo: | GESTÃO DE PESSOAS (SIGAGPE) |
---|
Função: | GPEA133 |
---|
Ticket: | 17693922 |
---|
Issue: | DRHROTPRT-11655 |
---|
02. SITUAÇÃO/REQUISITO
Verificada necessidade de ajuste na pré-validação do modelo GPEA133 no instanciamento MVC sem interface.
03. SOLUÇÃO
Efetuado tratamento conforme uso de interface na função de pré-validação do modelo principal, ao manipular os submodelos sem uso do método GetModel.
A rotina de Atualização e Cálculo de Benefícios - VT, VR e VA segue arquitetura MVC, possibilitando uso de rotina automática e PEs padrão vide exemplo e links abaixo:
#INCLUDE "FWMBROWSE.CH"
#INCLUDE "FWMVCDEF.CH"
User Function MyTest133()
Local oModel
Local oSubMdl
Local cMatric := "000044" //matrícula SRA para posicionamento
RpcSetEnv("T1","M PR 01 ")
dbSelectArea("SRA")
dbSetOrder(1)
If SRA->(MsSeek(xFilial() + cMatric))
CONOUT("Inicio: "+TIME())
oModel := FWLoadModel("GPEA133")
oModel:SetOperation(MODEL_OPERATION_UPDATE)
oModel:Activate()
oSubMdl := oModel:GetModel("GPEA133_MSM70") //Substituir Id do subModelo utilizado para tabela SM7 conforme necessidade
/*---nomenclatura conforme as opções do tipo de vale (M7_TPVALE)
GPEA133_MSM70: Vale Transporte
GPEA133_MSM71: Vale Refeição
GPEA133_MSM72: Vale Alimentação ---*/
//Para inclusão de nova linha quando já houver dados
oSubMdl:Addline() //devido ao uso da operação UPDATE, sem este método, atualizará linha atual
//Para inclusão/alteração informar campos SM7 e respectivos conteúdos
oSubMdl:SetValue("M7_QDIAINF", 2) //-- Quantidade vales dia útil
oSubMdl:SetValue("M7_CODIGO", "001") //-- Código
//Para exclusão, posicionar na linha desejada
oSubMdl:SeekLine({{"M7_CODIGO", "002"}})
oSubMdl:DeleteLine()
If oModel:VldData()
oModel:CommitData()
Else
VarInfo("",oModel:GetErrorMessage())
EndIf
oModel:DeActivate()
CONOUT("Fim: "+TIME())
EndIf
RpcClearEnv()
Return
05. ASSUNTOS RELACIONADOS