Á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
  16. Inclusão de autorização de fornecimento

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


16. Inclusão de autorização de fornecimento



Bloco de código
firstline1
titleExemplo Autorização de Fornecimento
linenumberstrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"

User Function CNT121_015()
    Local oModel    := Nil
    Local cCodCTR   := "CNTA121EXEMP015"
    Local cNumMed   := ""
    Local aMsgDeErro:= {}
    Local lRet      := .F.
      
    CN9->(DbSetOrder(1))
          
    If CN9->(DbSeek(xFilial("CN9") + cCodCTR))//Posicionar na CN9 para realizar a inclusão

        Cn121GAutF(.T., .T.) // Ativa o modo Autorização de Fornecimento(precisa ser antes do FwLoadModel)

        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         
            
            oModel:GetModel('CXNDETAIL'):GoLine(2)
            oModel:SetValue("CXNDETAIL","CXN_CHECK" , .T.) //Marca segunda planilha
           
              
            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

        Cn121GAutF(.F., .T.)//Restaura propriedade do CNTA121
    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>