Á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

01. VISÃO GERAL

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

...

Bloco de código
titleExcluindo uma medição
linenumberstrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"

User Function CNT121_008()
    Local oModel    := Nil
    Local cCodCTR   := "CNTA121EXEMP008"
    Local aMsgDeErro:= {}
    Local lRet      := .F.
     
    CND->(DbSetOrder(1))
         
    If CND->(DbSeek(xFilial("CND") + cCodCTR))//Posicionar na CND para realizar a exclusão
        oModel := FWLoadModel("CNTA121")
         
        oModel:SetOperation(MODEL_OPERATION_DELETE)
        If(oModel:CanActivate())           
            oModel:Activate()
            If (oModel:VldData()) /*Valida o modelo como um todo*/
                oModel:CommitData()
            EndIf
        EndIf
        
        lRet := !(oModel:HasErrorMessage())
        If(!lRet)
            aMsgDeErro := oModel:GetErrorMessage()
        EndIf
    EndIf  
Return lRet

10. Inclusão medição com multa/bonificação por planilha

Bloco de código
titleExcluindo uma medição
linenumberstrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"

User Function CNT121_009()
    Local oModel    := Nil
    Local cCodCTR   := "CNTA121EXEMP009"
    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('CNRDETAIL1'):GoLine(1)//<CNRDETAIL1> é o submodelo das multas da planilha(CNA)
            oModel:SetValue("CNRDETAIL1","CNR_TIPO"     , '1')//1=Multa/2=Bonificação
            oModel:SetValue("CNRDETAIL1","CNR_DESCRI"   , 'TESTE MULTA')
            oModel:SetValue("CNRDETAIL1","CNR_VALOR"    , 100)
            
            oModel:GetModel('CNRDETAIL1'):AddLine()            
            oModel:SetValue("CNRDETAIL1","CNR_TIPO"     , '2')//1=Multa/2=Bonificação
            oModel:SetValue("CNRDETAIL1","CNR_DESCRI"   , 'TESTE BONIFICACAO')
            oModel:SetValue("CNRDETAIL1","CNR_VALOR"    , 101)
             
            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>