Á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

01. VISÃO GERAL

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

...

Bloco de código
titleExemplo medição sem itens
linenumberstrue
Static Function CNT121_001()	
	Local oModel	:= Nil
	Local cCodCTR	:= "CNTA121EXEMP001"
	Local cNumMed	:= ""
	Local aMsgDeErro:= {}
	Local lRet		:= .F.	
	
	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'):LoadValue('CNE_ITEM', PadL("1", CNE->(Len(CNE_ITEM)), "0"))//Adiciona um item a planilha			
			oModel:SetValue( 'CNEDETAIL' , 'CNE_PRODUT'	, 'GCT000000000000000000000000002')
			oModel:SetValue( 'CNEDETAIL' , 'CNE_QUANT' 	, 1000)
			oModel:SetValue( 'CNEDETAIL' , 'CNE_VLUNIT' , 1 )
			
			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


04. Medição com rateio pré-configurado


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

...