Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  1. Visão Geral
  2. Medição com itens
  3. Medição sem Itens
  4. Medição com Rateio pré-configurado
  5. Medição com Rateio

01. VISÃO GERAL

Objetivo desse documento é exemplificar a utilização do ExecAuto da nova rotina de Medições(CNTA121). 

...

Bloco de código
titleMedição com rateio pré-configurado
linenumberstrue
Static Function CNT121_003()	
	Local oModel	:= Nil
	Local cCodCTR	:= "CNTA121EXEMP003"
	Local cNumMed	:= ""
	Local aMsgDeErro:= {}
	Local lRet		:= .F.
	Local aRatPreCfg:= {}
	
	CN9->(DbSetOrder(1))
		
	If CN9->(DbSeek(xFilial("CN9") + cCodCTR))//Posicionar na CN9 para realizar a inclusão
		oModel := FWLoadModel("CNTA121")
		
		oModel:SetOperation(MODEL_OPERATION_INSERT)
		If(oModel:CanActivate())			
			oModel:Activate()
			oModel:SetValue("CNDMASTER","CND_CONTRA"	,CN9->CN9_NUMERO)
			oModel:SetValue("CNDMASTER","CND_RCCOMP"	,"1")//Selecionar competência
			
			oModel:SetValue("CXNDETAIL","CXN_CHECK"	, .T.)//Marcar a planilha(nesse caso apenas uma)			
			oModel:GetModel('CNEDETAIL'):GoLine(1)
			oModel:SetValue( 'CNEDETAIL' , 'CNE_QUANT' 	, 1)
			
			aAdd(aRatPreCfg,{'CTJ_FILIAL', xFilial("CTJ")})
			aAdd(aRatPreCfg,{'CTJ_RATEIO', 'GCT001'})
		
			CN121RatP(oModel, Nil, aRatPreCfg)//Importa rateio pre-configurado
			
			If (oModel:VldData()) /*Valida o modelo como um todo*/
				oModel:CommitData()
			EndIf
		EndIf
		
		If(oModel:HasErrorMessage())
			aMsgDeErro := oModel:GetErrorMessage()
		Else
			cNumMed := CND->CND_NUMMED			
			oModel:DeActivate()			
			lRet := CN121Encerr(.T.) //Realiza o encerramento da medição					
		EndIf
	EndIf	
Return lRet


05. Medição com rateio


Bloco de código
titleMedição com rateio manual
linenumberstrue
Static Function CNT121_004()	
	Local oModel	:= Nil
	Local cCodCTR	:= "CNTA121EXEMP004"
	Local cNumMed	:= ""
	Local aMsgDeErro:= {}
	Local lRet		:= .F.
	Local aRatPreCfg:= {}
	
	CN9->(DbSetOrder(1))
		
	If CN9->(DbSeek(xFilial("CN9") + cCodCTR))//Posicionar na CN9 para realizar a inclusão
		oModel := FWLoadModel("CNTA121")
		
		oModel:SetOperation(MODEL_OPERATION_INSERT)
		If(oModel:CanActivate())			
			oModel:Activate()
			oModel:SetValue("CNDMASTER","CND_CONTRA"	,CN9->CN9_NUMERO)
			oModel:SetValue("CNDMASTER","CND_RCCOMP"	,"1")//Selecionar competência
			
			oModel:SetValue("CXNDETAIL","CXN_CHECK"	, .T.)//Marcar a planilha(nesse caso apenas uma)			
			
			oModel:GetModel('CNEDETAIL'):GoLine(1)
			oModel:SetValue( 'CNEDETAIL' , 'CNE_QUANT' 	, 1)

			/*Os rateios abaixo serao incluidos pra corrente do modelo da CNE*/
			oModel:SetValue("CNZDETAIL","CNZ_PERC"	, 50)
			oModel:SetValue("CNZDETAIL","CNZ_CC"		, '000000001')
			oModel:SetValue("CNZDETAIL","CNZ_CONTA"	, '01234')
			oModel:SetValue("CNZDETAIL","CNZ_ITEMCT"	, '0000000')
			oModel:SetValue("CNZDETAIL","CNZ_CLVL"	, '000001')
		
			oModel:AddLine('CNZDETAIL')
			oModel:SetValue("CNZDETAIL","CNZ_ITEM"	, '02')
			oModel:SetValue("CNZDETAIL","CNZ_PERC"	, 50)
			oModel:SetValue("CNZDETAIL","CNZ_CC"	, '000000002')
			oModel:SetValue("CNZDETAIL","CNZ_CONTA"	, '01235')
			oModel:SetValue("CNZDETAIL","CNZ_ITEMCT", '00001')
			oModel:SetValue("CNZDETAIL","CNZ_CLVL"	, '000002')
			
			If (oModel:VldData()) /*Valida o modelo como um todo*/
				oModel:CommitData()
			EndIf
		EndIf
		
		If(oModel:HasErrorMessage())
			aMsgDeErro := oModel:GetErrorMessage()
		Else
			cNumMed := CND->CND_NUMMED			
			oModel:DeActivate()			
			lRet := CN121Encerr(.T.) //Realiza o encerramento da medição					
		EndIf
	EndIf	
Return lRet

...