01. DADOS GERAIS

Linha de Produto:Microsiga Protheus®
Segmento:BackOffice
Módulo:Gestão de Contratos 
Função:CNTXFUN - Função Genéricas de Contratos 
Ticket:8040830
Issue:DMANMAT02-25327


02. SITUAÇÃO/REQUISITO

Rotina não executa ponto de entrada MVC ao realizar o estorno da medição. 

03. SOLUÇÃO

Feito ajuste para que seja possível utilizar o ponto de entrada MVC, ao executar a função de estorno da medição. 

04. DEMAIS INFORMAÇÕES

Segue exemplo de como o ponto de entrada deve ser desenvolvido. 

Obs.: Para garantir a eficiência do ponto de entrada, faça o tratamento conforme a função GetTypeRet do retorno da função xRet para que não ocorra erros caso o ponto de entrada não seja executado. 


#include 'protheus.ch'
#include 'parmtype.ch'

User Function CNTA121()

Local oMdl       := Nil
Local cStage     := ""
Local xRet       := Nil


If ValType( PARAMIXB ) <> "U"

	oMdl	:= PARAMIXB[1]
	cStage	:= PARAMIXB[2]
	xRet	:= GetTypeRet( cStage , xRet )

    If FwIsInCallStack('CN121Estorn') //Garante que o ponto só será utilizado no estorno da medição
            If cStage == "MODELVLDACTIVE"
                Alert("Estornado com sucesso")
                xRet := .T.
            Else
                xRet := .F.
                Alert("Não foi é possível realizar o estorno")
        EndIf
    EndIf 

EndIf 

Return xRet


//Função para tratamento da variavel xRet para que não ocorra erro caso o ponto de entrada não seja executado
Static Function GetTypeRet( cStage , xRet )

Default xRet	:= Nil
Default cStage	:= ""

If cStage + "|" $ "MODELPRE|MODELPOS|FORMPRE|FORMPOS|FORMLINEPRE|FORMLINEPOS|FORMCANCEL|MODELVLDACTIVE|MODELCANCEL|"
	xRet := .T.
ElseIf cStage == "BUTTONBAR"
	xRet := {}
EndIf

Return ( xRet )

05. ASSUNTOS RELACIONADOS


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