Histórico da Página
01. DADOS GERAIS
| Linha de Produto: | Microsiga Protheus® |
|---|---|
| Segmento: | BackOffice |
| Módulo: | Gestão de Contratos |
| Função: | CNTA121/CNTA120 - Medições |
| Ticket: | 8604688 |
| Issue: | DMANMAT02-27379 |
02. SITUAÇÃO/REQUISITO
O cliente solicita uma função que retorne as competências de determinado contrato, de forma que possa escolher qual competência ira medir no modelo MVC do CNTA121.
03. SOLUÇÃO
Disponibilizamos a função CtrCompets, que retorna um vetor contendo todas as competências passíveis de medição de determinado contrato.
O vetor contêm as competências no formato MM/AAAA, exemplo: { '11/2020', '12/2020', '01/2021' }. Veja Utilizando o modelo do CNTA121 para mais detalhes.
Exemplo prático:
| 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
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 |
04. DEMAIS INFORMAÇÕES
Não há.
05. ASSUNTOS RELACIONADOS
| HTML |
|---|
<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;
}
.aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after {
background: #FF9900; !important
}
.menu-item.active-tab {
border-bottom: none !important;
}
</style>
|
Import HTML Content
Visão Geral
Conteúdo das Ferramentas