Árvore de páginas

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