Árvore de páginas

Versões comparadas

Chave

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

...

Objetivo desse documento é exemplificar a utilização do ExecAuto da nova rotina de Documentos(CNTA171). 

02.

...

Inclusão de um novo documento


Bloco de código
titleExemplo medição inclusão de um contrato fixo com itensnovo documento
linenumberstrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"  

/*Exemplo de inclusão de um novo documento*/
User Function CNT121_002Exemplo001()	
	    Local oModel	    := NIL
    Local oMdlCNK   := Nil
    Local oMdlCXR   := Nil
	Local cCodCTR	    Local cContra   := "CNTA121EXEMP002TREINAMENTO1954"
	Local cNumMed	    Local cChave    := xFilial("CN9"
	Local aMsgDeErro) + cContra
    Local aErro     := {}
	    Local lRet		cNumero   := .F.	
	
	""

    CN9->(DbSetOrder(1))
		
	If    if CN9->(DbSeek(xFilial("CN9") + cCodCTR))//Posicionar na CN9 para realizar a inclusão
		cChave))
        oModel := FWLoadModelFwLoadModel("CNTA121CNTA171")
		
		        oModel:SetOperation(MODEL_OPERATION_INSERT)
		If(
        if oModel:CanActivateActivate())			
			oModel:Activate()
			oModel
            oMdlCNK := oModel:GetModel("CNKMASTER")

            oMdlCNK:SetValue("CNDMASTERCNK_DESCRI"	,"CND "DOC 001 - INCLUSAO")
            oMdlCNK:SetValue("CNK_CONTRA"	, CN9->CN9_NUMERO)
			oModel            oMdlCNK:SetValue("CNDMASTER","CND_RCCOMPCNK_TPDOC"	, "1001")//Selecionar competência
			
			oModel
            oMdlCNK:SetValue("CNK_DTEMIS"	, dDatabase)
            oMdlCNK:SetValue("CXNDETAILCNK_DTVALI"	,"CXN_CHECK"	, .T.)//Marcar a planilha(nesse caso apenas uma)			
			oModel:GetModel('CNEDETAIL'):GoLine(1)
			oModel:SetValue( 'CNEDETAIL' , 'CNE_QUANT' 	, 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 dDatabase+30)
            oMdlCNK:SetValue("CNK_OBS"	    , "Exemplo inclusão")

            if AliasInDic('CXR')
                oMdlCXR := oModel:GetModel("CXRDETAIL")
                cNumero := StrZero(oMdlCXR:Length(), GetSx3Cache('CXR_ITEM','X3_TAMANHO'))
                oMdlCXR:SetValue("CXR_ITEM"	, cNumero)
                oMdlCXR:SetValue("CXR_NOME"	, "Responsavel XPTO")
                oMdlCXR:SetValue("CXR_EMAIL", "[email protected]")

                oMdlCXR:AddLine()
                oMdlCXR:SetValue("CXR_ITEM"	, Soma1(cNumero))
                oMdlCXR:SetValue("CXR_NOME"	, "Auxiliar XPTO")
                oMdlCXR:SetValue("CXR_EMAIL", "[email protected]")

            endif
            
            If oModel:VldData()
                oModel:CommitData()
            EndIf

        endif

        if oModel:HasErrorMessage()
            aErro := aClone(oModel:GetErrorMessage())
        endif

        If oModel:IsActive()
            oModel:DeActivate()
        EndIf
        FreeObj(oModel)

        If !Empty(aErro)
            VarInfo('Erro apresentado:', aErro)            
        EndIf
    endif

Return
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>