Histórico da Página
...
- Visão Geral
- Medição com itens
- Medição sem Itens
- Medição com Rateio pré-configurado
- Medição com Rateio
- Medição configurado para ignorar produtos bloqueados
- Obtendo a lista de competências
- Estorno de uma medição
- Exclusão de uma medição
- Inclusão medição com multa/bonificação por planilha
- Inclusão medição com multa/bonificação por item da planilha
- Inclusão medição marcando todas as planilhas
- Inclusão medição marcando planilhas específicas
- Inclusão medição com TES informada no item
- Inclusão de medição com múltiplas naturezas
- Inclusão de autorização de fornecimento
- Inclusão de medição com desconto
01. VISÃO GERAL
Objetivo desse documento é exemplificar a utilização do ExecAuto da nova rotina de Medições(CNTA121).
| Informações | ||
|---|---|---|
| ||
Para alternativas para os pontos de entrada, acessar a página CNTA121 - Exemplos pontos de entrada MVC Para uma lista com o De/Para dos pontos de entrada do CNTA120 para o CNTA121, acessar a página GCT0084_Nova_Medição_CNTA121 |
02. Medição com itens
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
User Function CNT121_002()
Local oModel := Nil
Local cCodCTR := "CNTA121EXEMP002"
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)
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 |
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
User Function CNT121_004()
Local oModel := Nil
Local cCodCTR := "CNTA121EXEMP004"
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)
oModel:SetValue( 'CNEDETAIL' , 'CNE_QUANT' , 1)
/*Os rateios abaixo serao incluidos pra corrente do modelo da CNE*/
oModel:SetValue("CNZDETAIL","CNZ_PERC" , 50)
oModel:SetValue("CNZDETAIL","CNZ_CC" , '000000001')
oModel:SetValue("CNZDETAIL","CNZ_CONTA" , '01234')
oModel:SetValue("CNZDETAIL","CNZ_ITEMCT" , '0000000')
oModel:SetValue("CNZDETAIL","CNZ_CLVL" , '000001')
oModel:AddLineGetModel('CNZDETAIL')
:AddLine()
oModel:SetValue("CNZDETAIL","CNZ_ITEM" , '02')
oModel:SetValue("CNZDETAIL","CNZ_PERC" , 50)
oModel:SetValue("CNZDETAIL","CNZ_CC" , '000000002')
oModel:SetValue("CNZDETAIL","CNZ_CONTA" , '01235')
oModel:SetValue("CNZDETAIL","CNZ_ITEMCT", '00001')
oModel:SetValue("CNZDETAIL","CNZ_CLVL" , '000002')
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 |
...
10. Inclusão medição com multa/bonificação por planilha
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
#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(CXN)
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 |
11. Inclusão medição com multa/bonificação por item da planilha
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
User Function CNT121_010()
Local oModel := Nil
Local cCodCTR := "CNTA121EXEMP010"
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 no item da medicao desejada
oModel:GetModel('CNRDETAIL2'):GoLine(1)//<CNRDETAIL2> é o submodelo das multas dos itens da planilha(CNE)
oModel:SetValue("CNRDETAIL2","CNR_TIPO" , '1')//1=Multa/2=Bonificação
oModel:SetValue("CNRDETAIL2","CNR_DESCRI" , 'TESTE MULTA')
oModel:SetValue("CNRDETAIL2","CNR_VALOR" , 100)
oModel:GetModel('CNRDETAIL2'):AddLine()
oModel:SetValue("CNRDETAIL2","CNR_TIPO" , '2')//1=Multa/2=Bonificação
oModel:SetValue("CNRDETAIL2","CNR_DESCRI" , 'TESTE BONIFICACAO')
oModel:SetValue("CNRDETAIL2","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 |
12. Inclusão medição marcando todas as planilhas
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
User Function CNT121_011()
Local oModel := Nil
Local cCodCTR := "CNTA121EXEMP011"
Local cNumMed := ""
Local aMsgDeErro:= {}
Local lRet := .F.
Local nX := 0
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
For nX := 1 To oModel:GetModel("CXNDETAIL"):Length() //Marca todas as planilhas
oModel:GetModel("CXNDETAIL"):GoLine(nX)
oModel:SetValue("CXNDETAIL","CXN_CHECK" , .T.)
Next nX
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 |
13. Inclusão medição marcando planilhas específicas
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
User Function CNT121_012()
Local oModel := Nil
Local cCodCTR := "CNTA121EXEMP012"
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
//Marca planilha de acordo com a linha informada
oModel:GetModel("CXNDETAIL"):GoLine(1) //Marca planilha 000001
oModel:SetValue("CXNDETAIL","CXN_CHECK" , .T.)
oModel:GetModel("CXNDETAIL"):GoLine(2) //Marca planilha 000002
oModel:SetValue("CXNDETAIL","CXN_CHECK" , .T.)
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 |
14. Inclusão medição com TES informada no item
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
#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 | ||||
|---|---|---|---|---|
| ||||
#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 | ||||||
|---|---|---|---|---|---|---|
| ||||||
#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 |
17. Inclusão de medição com desconto
| Bloco de código | ||||||
|---|---|---|---|---|---|---|
| ||||||
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH" User Function CNT121_016()
Local oModel := Nil
Local cCodCTR := "CNTA121EXEMP016"
Local cNumMed := ""
Local aMsgDeErro:= {}
Local lRet := .F.
Local oDescontos := Nil
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
oDescontos := oModel:GetModel("CNQDETAIL")
oDescontos:SetValue("CNQ_TPDESC","0001")//Adiciona um desconto
oDescontos:SetValue("CNQ_VALOR" ,100)
oDescontos:AddLine()
oDescontos:SetValue("CNQ_TPDESC","0002")//Adiciona um desconto
oDescontos:SetValue("CNQ_VALOR" ,51)
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>
|
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas