Á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
  6. Medição configurado para ignorar produtos bloqueados
  7. Obtendo a lista de competências
  8. Estorno de uma medição
  9. Exclusão de uma medição
  10. Inclusão medição com multa/bonificação por planilha
  11. Inclusão medição com multa/bonificação por item da planilha
  12. Inclusão medição marcando todas as planilhas
  13. Inclusão medição marcando planilhas específicas
  14. Inclusão medição com TES informada no item
  15. Inclusão de medição com múltiplas naturezas

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 de um contrato fixo com itensInclusão medição com TES informada no item
linenumberstrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"

User Function CNT121_013()	
	Local oModel	:= Nil
	Local cCodCTR	:= "CNTA121EXEMP013"
	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'):GoLine(1) //Posiciona na linha desejada
			oModel:SetValue('CNEDETAIL', 'CNE_TES', '001')//Preenche TES - Este campo aceita tipo de entrada e saída.
			
			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


15. Inclusão de medição com múltiplas naturezas

Bloco de código
titleExemplo inclusão de medição com múltiplas naturezas
linenumberstrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"

User Function CNT121_014() 
    Local oModel    := Nil
    Local cCodCTR   := "CNTA121EXEMP014"
    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)          
            
 			/*CXO=Múltiplas naturezas | CXP = Distribuição das naturezas em CC*/
            oModel:SetValue("CXODETAIL","CXO_ITEM", StrZero(1, Len(CXO->CXO_ITEM) ))
            oModel:SetValue("CXODETAIL","CXO_NATURE", 'GCT0000001')
            oModel:SetValue("CXODETAIL","CXO_PERC"  , 50)

            oModel:SetValue("CXPDETAIL","CXP_ITEM"  , StrZero(1, Len(CXP->CXP_ITEM) ))
            oModel:SetValue("CXPDETAIL","CXP_CC"    , "GCT000001")
            oModel:SetValue("CXPDETAIL","CXP_CONTA" , "GCT00000000000000001")
            oModel:SetValue("CXPDETAIL","CXP_PERC"  , 50)
            
            oModel:GetModel('CXPDETAIL'):AddLine()
            oModel:SetValue("CXPDETAIL","CXP_ITEM"  , StrZero(2, Len(CXP->CXP_ITEM) ))
            oModel:SetValue("CXPDETAIL","CXP_CC"    , "GCT000002")
            oModel:SetValue("CXPDETAIL","CXP_CONTA" , "GCT00000000000000002")
            oModel:SetValue("CXPDETAIL","CXP_PERC"  , 50)
            
            oModel:GetModel('CXODETAIL'):AddLine()
            oModel:SetValue("CXODETAIL","CXO_ITEM"  , StrZero(2, Len(CXO->CXO_ITEM) ))
            oModel:SetValue("CXODETAIL","CXO_NATURE", 'FIN0000001')
            oModel:SetValue("CXODETAIL","CXO_PERC"  , 50)

            oModel:SetValue("CXPDETAIL","CXP_ITEM"  , StrZero(1, Len(CXP->CXP_ITEM) ))
            oModel:SetValue("CXPDETAIL","CXP_CC"    , "GCT000003")
            oModel:SetValue("CXPDETAIL","CXP_CONTA" , "GCT00000000000000003")
            oModel:SetValue("CXPDETAIL","CXP_ITEMCT", "GCT000001")
            oModel:SetValue("CXPDETAIL","CXP_CLVL"  , "GCT000001")
            oModel:SetValue("CXPDETAIL","CXP_PERC"  , 50)
            
            oModel:GetModel('CXPDETAIL'):AddLine()
            oModel:SetValue("CXPDETAIL","CXP_ITEM"  , StrZero(2, Len(CXP->CXP_ITEM) ))
            oModel:SetValue("CXPDETAIL","CXP_CC"    , "GCT000004")            
            oModel:SetValue("CXPDETAIL","CXP_PERC"  , 50)
             
            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
HTML
<!-- esconder o menu --> 


<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>