Validar se uma Grid esta Vazia em um Ponto de Entrada em MVC | Ti Responde 0187

No vídeo de hoje, vamos demonstrar em como validar se uma grid foi preenchida num ponto de entrada em MVC.

A dúvida de hoje, nos perguntaram, se seria possível em um ponto de entrada em MVC, validar se uma grid foi preenchida, por exemplo na função CTBA020 se a grid da CVD (Plano de Contas Referencial) foi populada.

 

Pensando nisso, montamos um exemplo, onde vamos mostrar em como usar o método IsEmpty dentro do FORMPOS em um ponto de entrada MVC.

 

Segue abaixo o vídeo exemplificando:

 

E abaixo o código fonte desenvolvido:

//Bibliotecas
#Include "Totvs.ch"

/*/{Protheus.doc} User Function CTBA020
Plano de Contas
@author Atilio
@since 28/06/2024
@version 1.0
@type function
@obs Codigo gerado automaticamente pelo Autumn Code Maker
     *-------------------------------------------------*
     Por se tratar de um p.e. em MVC, salve o nome do 
     arquivo diferente, por exemplo, CTBA020_pe.prw 
     *-----------------------------------------------*
     A documentacao de como fazer o p.e. esta disponivel em https://tdn.totvs.com/pages/releaseview.action?pageId=208345968 
@see http://autumncodemaker.com
/*/

User Function CTBA020()
	Local aArea := FWGetArea()
	Local aParam := PARAMIXB 
	Local xRet := .T.
	Local oObj := Nil
	Local cIdPonto := ""
	Local cIdModel := ""
    Local oModelCtb
    Local oModelCVD
	
	//Se tiver parametros
	If aParam != Nil
		
		//Pega informacoes dos parametros
		oObj := aParam[1]
		cIdPonto := aParam[2]
		cIdModel := aParam[3]
		
		//Na validacao total do formulario 
		If cIdPonto == "FORMPOS" 
			xRet := .T. 
			
            //Pega o modelo ativo
            oModelCtb := FWModelActive()

            //Pega o modelo da tabela CVD (Plano de Contas Referencial)
            oModelCVD := oModelCtb:GetModel("CVDDETAIL")

            //Se o modelo tiver vazio (não tiver nenhuma informação nele)
            If oModelCVD:IsEmpty()
                ExibeHelp("Help_CTBA020", "É obrigatório o preenchimento do Plano de Contas Referencial (tabela CVD)", "Insira pelo menos 1 linha no Plano de Contas Referencial")
                xRet := .F.
            EndIf
		EndIf
		
	EndIf
	
	FWRestArea(aArea)
Return xRet

Bom pessoal, por hoje é só.

 

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação