- Criado por Vinicius Santos Nascimento, última alteração em 26 jul, 2023
CONTEÚDO
- Visão Geral
- Exemplo de utilização
01. VISÃO GERAL
Exemplo de utilização da rotina automática ATFA271 - Grupos de Bens.
02. EXEMPLO DE UTILIZAÇÃO
MyATF271Inc - INCLUSÃO Expandir origem
#INCLUDE "PROTHEUS.CH" #INCLUDE "FWMVCDEF.CH" #INCLUDE "rwmake.ch" #include 'totvs.ch' #include 'tbiconn.ch' Static __oModelAut := NIL //variavel oModel para substituir msexecauto em MVC User Function MyATF271Inc() Local oSNGMASTER Local oFNGDETAIL Local lRet := .T. Local nX := 0 Local aLog := {} Local cLog := "" Local cNG_GRUPO := "ATF4" Local cNG_DESCRIC := "Grupo ATF01- CT001" Local dNG_DTBLOQ := CtOD("01/01/2020") Local cNG_CCUSTO := "CTB000000" Local cNG_SUBCTA := "CTB000003" Local cNG_CLVL := "CTB000000" Local cNG_TPSALDO := "1" Local cNG_TPDEPR := "1" //Contas Contábeis Local cNG_CCONTAB:= "CTB00000000000000000" Local cNG_CDEPREC:="CTB00000000000000001" Local cNG_CCDEPR:="CTB00000000000000002" Local cNG_CDESP:="CTB00000000000000003" Local cNG_CCORREC:="CTB00000000000000004" //Centros de Custo Local cNG_CUSTBEM:="CTB000001" Local cNG_CCDESP :="CTB000002" Local cNG_CCCDEP :="CTB000003" Local cNG_CCCDES :="CTB000004" Local cNG_CCCORR :="CTB000005" //Itens Contábeis Local cNG_SUBCCON:="CTB000003" Local cNG_SUBCDEP:="CTB000004" Local cNG_SUBCCDE:="CTB000005" Local cNG_SUBCDES:="CTB000006" Local cNG_SUBCCOR:="CTB000007" //Classes de Valor Local cNG_CLVLCON:="CTB000001" Local cNG_CLVLDEP:="CTB000002" Local cNG_CLVLCDE:="CTB000003" Local cNG_CLVLDES:="CTB000004" Local cNG_CLVLCOR:="CTB000005" //Aba Outros Local cNG_TAXAPAD:="ATF001" Local cNG_DETPATR:="03" Local cNG_UTIPATR:="2" //GRID Local cFNG_TIPO:="01" Local cFNG_HISTOR:="CT001" PREPARE ENVIRONMENT EMPRESA 'T1' FILIAL 'D MG 01' TABLES 'SNG','FNG' MODULO 'ATF' If __oModelAut == Nil //somente uma unica vez carrega o modelo __oModelAut := FWLoadModel( 'ATFA271' ) EndIf __oModelAut:SetOperation(MODEL_OPERATION_INSERT) __oModelAut:Activate() oSNGMASTER := __oModelAut:GetModel('SNGMASTER') //-- Aba principal oSNGMASTER:SetValue('NG_GRUPO',cNG_GRUPO) oSNGMASTER:SetValue('NG_DESCRIC',cNG_DESCRIC) oSNGMASTER:SetValue('NG_DTBLOQ',dNG_DTBLOQ) oSNGMASTER:SetValue('NG_CCUSTO',cNG_CCUSTO) oSNGMASTER:SetValue('NG_SUBCTA',cNG_SUBCTA) oSNGMASTER:SetValue('NG_CLVL',cNG_CLVL) oSNGMASTER:SetValue('NG_TPSALDO',cNG_TPSALDO) oSNGMASTER:SetValue('NG_TPDEPR',cNG_TPDEPR) //-Aba outros oSNGMASTER:SetValue('NG_TAXAPAD',cNG_TAXAPAD) oSNGMASTER:SetValue('NG_DETPATR',cNG_DETPATR) oSNGMASTER:SetValue('NG_UTIPATR',cNG_UTIPATR) //Contas contábeis oSNGMASTER:SetValue('NG_CCONTAB',cNG_CCONTAB) oSNGMASTER:SetValue('NG_CDEPREC',cNG_CDEPREC) oSNGMASTER:SetValue('NG_CCDEPR',cNG_CCDEPR) oSNGMASTER:SetValue('NG_CDESP',cNG_CDESP) oSNGMASTER:SetValue('NG_CCORREC',cNG_CCORREC) //Centros de Custo oSNGMASTER:SetValue('NG_CUSTBEM',cNG_CUSTBEM ) oSNGMASTER:SetValue('NG_CCDESP',cNG_CCDESP ) oSNGMASTER:SetValue('NG_CCCDEP',cNG_CCCDEP) oSNGMASTER:SetValue('NG_CCCDES',cNG_CCCDES) oSNGMASTER:SetValue('NG_CCCORR',cNG_CCCORR) //Item contábil oSNGMASTER:SetValue('NG_SUBCCON',cNG_SUBCCON) oSNGMASTER:SetValue('NG_SUBCDEP',cNG_SUBCDEP) oSNGMASTER:SetValue('NG_SUBCCDE',cNG_SUBCCDE) oSNGMASTER:SetValue('NG_SUBCDES',cNG_SUBCDES) oSNGMASTER:SetValue('NG_SUBCCOR',cNG_SUBCCOR) //Classe de valor oSNGMASTER:SetValue('NG_CLVLCON',cNG_CLVLCON) oSNGMASTER:SetValue('NG_CLVLDEP',cNG_CLVLDEP) oSNGMASTER:SetValue('NG_CLVLCDE',cNG_CLVLCDE) oSNGMASTER:SetValue('NG_CLVLDES',cNG_CLVLDES) oSNGMASTER:SetValue('NG_CLVLCOR',cNG_CLVLCOR) //GRID oFNGDETAIL := __oModelAut:GetModel('FNGDETAIL') oFNGDETAIL:SetValue('FNG_TIPO',cFNG_TIPO) oFNGDETAIL:SetValue('FNG_HISTOR',cFNG_HISTOR) If __oModelAut:VldData() //validacao dos dados pelo modelo __oModelAut:CommitData() //gravacao dos dados Else aLog := __oModelAut:GetErrorMessage() //Recupera o erro do model quando nao passou no VldData //laco para gravar em string cLog conteudo do array aLog For nX := 1 to Len(aLog) If !Empty(aLog[nX]) cLog += Alltrim(aLog[nX]) + CRLF EndIf Next nX lMsErroAuto := .T. //seta variavel private como erro AutoGRLog(cLog) //grava log para exibir com funcao mostraerro mostraerro() lRet := .F. //retorna false Endif __oModelAut:DeActivate() //desativa modelo Return( lRet )
MyATF271Alt - ALTERAÇÃO Expandir origem
#INCLUDE "PROTHEUS.CH" #INCLUDE "FWMVCDEF.CH" #INCLUDE "rwmake.ch" #include 'totvs.ch' #include 'tbiconn.ch' Static __oModelAut := NIL //variavel oModel para substituir msexecauto em MVC User Function MyATF271Alt() Local oSNGMASTER Local lRet := .T. Local nX := 0 Local aLog := {} Local cLog := "" Local lFound := .F. Local cNG_GRUPO := "ATF4" Local cNG_DESCRIC := "Grupo ATF4- TESTE" Local dNG_DTBLOQ := CtOD("02/02/2020") PREPARE ENVIRONMENT EMPRESA 'T1' FILIAL 'D MG 01' TABLES 'SNG','FNG' MODULO 'ATF' While SNG->(!Eof()) .AND. lFound == .F. SNG->(dbSetOrder(1)) lFound := SNG->(dbSeek(SNG->NG_FILIAL+cNG_GRUPO)) If lFound Loop else SNG->( dbSkip() ) Endif Enddo If __oModelAut == Nil //somente uma unica vez carrega o modelo __oModelAut := FWLoadModel( 'ATFA271' ) EndIf __oModelAut:SetOperation(MODEL_OPERATION_UPDATE) __oModelAut:Activate() oSNGMASTER := __oModelAut:GetModel('SNGMASTER') //-- Aba principal oSNGMASTER:SetValue('NG_DESCRIC',cNG_DESCRIC) oSNGMASTER:SetValue('NG_DTBLOQ',dNG_DTBLOQ) If __oModelAut:VldData() //validacao dos dados pelo modelo __oModelAut:CommitData() //gravacao dos dados Else aLog := __oModelAut:GetErrorMessage() //Recupera o erro do model quando nao passou no VldData //laco para gravar em string cLog conteudo do array aLog For nX := 1 to Len(aLog) If !Empty(aLog[nX]) cLog += Alltrim(aLog[nX]) + CRLF EndIf Next nX lMsErroAuto := .T. //seta variavel private como erro AutoGRLog(cLog) //grava log para exibir com funcao mostraerro mostraerro() lRet := .F. //retorna false Endif __oModelAut:DeActivate() //desativa modelo Return( lRet )
MyATF271Del - EXCLUSÃO Expandir origem
#INCLUDE "PROTHEUS.CH" #INCLUDE "FWMVCDEF.CH" #INCLUDE "rwmake.ch" #include 'totvs.ch' #include 'tbiconn.ch' Static __oModelAut := NIL //variavel oModel para substituir msexecauto em MVC User Function MyATF271Del() Local lRet := .T. Local nX := 0 Local aLog := {} Local cLog := "" Local lFound := .F. Local cNG_GRUPO := "ATF4" PREPARE ENVIRONMENT EMPRESA 'T1' FILIAL 'D MG 01' TABLES 'SNG','FNG' MODULO 'ATF' While SNG->(!Eof()) .AND. lFound == .F. SNG->(dbSetOrder(1)) lFound := SNG->(dbSeek(SNG->NG_FILIAL+cNG_GRUPO)) If lFound Loop else SNG->( dbSkip() ) Endif Enddo If __oModelAut == Nil //somente uma unica vez carrega o modelo __oModelAut := FWLoadModel( 'ATFA271' ) EndIf __oModelAut:SetOperation(MODEL_OPERATION_DELETE) __oModelAut:Activate() If __oModelAut:VldData() //validacao dos dados pelo modelo __oModelAut:CommitData() //gravacao dos dados Else aLog := __oModelAut:GetErrorMessage() //Recupera o erro do model quando nao passou no VldData //laco para gravar em string cLog conteudo do array aLog For nX := 1 to Len(aLog) If !Empty(aLog[nX]) cLog += Alltrim(aLog[nX]) + CRLF EndIf Next nX lMsErroAuto := .T. //seta variavel private como erro AutoGRLog(cLog) //grava log para exibir com funcao mostraerro mostraerro() lRet := .F. //retorna false Endif __oModelAut:DeActivate() //desativa modelo Return( lRet )
05. TABELAS UTILIZADAS
- SNG
- FNG
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas