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
01. VISÃO GERAL
Objetivo desse documento é exemplificar a utilização do ExecAuto da nova rotina de Medições(CNTA121).
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
Static Function CNT121_006()
Local oModel := Nil
Local cCodCTR := "CNTA121EXEMP006"
Local aCompets := {}
Local nCompet := 0
Local cNumMed := ""
Local aMsgDeErro:= {}
Local lRet := .F.
CN9->(DbSetOrder(1))
If CN9->(DbSeek(xFilial("CN9") + cCodCTR))//Posicionar na CN9 para realizar a inclusão
/* <CtrCompets> retorna a lista de competências possíveis para o contrato, deve-se estar posicionado no contrato(CN9).
O array é composto pelas competências no formato MM/AAAA, exemplo:
{
'05/2020',
'06/2020',
'07/2020'
}
O campo <CND_RCCOMP> recebe o índice desse vetor correspondente a competência à ser medida, porém o índice deve ser convertido para caractere.
No exemplo acima, caso se deseje medir a competência '05/2020', cujo índice no vetor é um(1), deve-se passar o valor '1'(caractere) para o campo <CND_RCCOMP>.
*/
aCompets := CtrCompets()
nCompet := aScan(aCompets, {|x| AllTrim(x) == '05/2020' })
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" , cValToChar(nCompet))//Selecionar competência
oModel:SetValue("CXNDETAIL","CXN_CHECK" , .T.)//Marcar a planilha(nesse caso apenas uma)
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 |
08. Estorno de uma medição
Bloco de código | ||||
---|---|---|---|---|
| ||||
Static Function CNT121_007()
Local cCodCTR := "CNTA121EXEMP007"
Local cMedErro := ""
Local lRet := .F.
CND->(DbSetOrder(1))
If CND->(DbSeek(xFilial("CND") + cCodCTR))//Posicionar na CND para realizar o estorno
CN121Estorn(.T.,/*lAprRev*/, @cMedErro)
lRet := Empty(cMedErro) //Vazio caso nao ocorra nenhum erro
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> |
Import HTML Content
Visão Geral
Conteúdo das Ferramentas