Árvore de páginas

01. DADOS GERAIS

Produto:

TOTVS Backoffice

Linha de Produto:

Linha Protheus

Segmento:

Backoffice

Módulo:Gestão de Contratos
Função:

CNTA121 - Medições

Ticket:

13668943

Issue:

DMANMAT02-37318


02. SITUAÇÃO/REQUISITO

O sistema realizava alterações nos dados da medição(CND) mesmo após a gravação do modelo de dados, dessa forma sobrescrevendo alterações que por ventura tivessem sido realizadas pelo cliente utilizando os pontos de entrada MVC.

03. SOLUÇÃO

O sistema foi corrigido para gerar as alçadas e atualizar a situação da medição(CND_SITUAC) antes da gravação do modelo de dados, dessa forma possibilitando que o cliente realize as customizações sem o risco de ter suas alterações sobrescritas.

04. DEMAIS INFORMAÇÕES

Abaixo um exemplo da utilização dos pontos de entrada MVC para modificar a situação(CND_SITUAC) da medição:

Exemplo
#include "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"

User Function CNTA121()
    Local aParam    := PARAMIXB
    Local xRet      := .T.
    Local oModelCND := Nil    
    Local cIdPonto  := ''
    Local cIdModel  := ''
    Local lIsInsert	:= .F.
 
    If aParam <> NIL        
        cIdPonto:= AllTrim(aParam[2])
        cIdModel:= aParam[3]		
		If (cIdPonto == "FORMCOMMITTTSPRE" .And. cIdModel == "CNDMASTER")//FORMCOMMITTTSPRE: Antes da gravação da tabela do formulário.
			oModelCND	:= aParam[1]			
			lIsInsert	:= aParam[4]
			
			If lIsInsert .And. AllTrim(oModelCND:GetValue("CND_SITUAC")) == "B"
				oModelCND:LoadValue("CND_SITUAC", "A")
 				oModelCND:LoadValue("CND_ALCAPR", "L") 
		    EndIf
		ElseIf (cIdPonto == "FORMCOMMITTTSPOS" .And. cIdModel == "CNDMASTER")//FORMCOMMITTTSPOS: Após a gravação da tabela do formulário.
			//Lógica remoção dos registros das alçadas
		EndIf       
    EndIf
Return xRet



05. ASSUNTOS RELACIONADOS