Validando se uma linha esta apagada numa grid com a LinDelet – Maratona AdvPL e TL++ 327

Nesse vídeo demonstraremos a utilização da função LinDelet, que serve para validar se uma linha esta apagada em uma grid antiga (com aHeader e aCols).

Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:

//Bibliotecas
#Include "TOTVS.ch"

/*/{Protheus.doc} User Function zExe327
Função que verifica se a linha esta apagada
@type  Function
@author Atilio
@since 12/03/2023
@obs 

    Função LinDelet
    Parâmetros
        Recebe um array com a linha atual
    Retorno
        Retorna .T. se a linha esta apagada ou .F. se não
    
    **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/

User Function zExe327()
    Local aArea      := FWGetArea()
    Local nLinha     := 1
    Local cApagadas  := ""

    //Se a pergunta for confirmada
    If FWAlertYesNo("Deseja validar todas as linhas?", "Continua")
        //Percorre as linhas digitadas na grid
        For nLinha := 1 To Len(aCols)

            //Se a linha atual estiver apagada
            If LinDelet(aCols[nLinha])
                cApagadas += "+ Linha " + cValToChar(nLinha) + CRLF
            EndIf
        Next

        //Se a variavel estiver vazia, apenas mostra mensagem, senão mostra quais foram as linhas
        If Empty(cApagadas)
            FWAlertSuccess("Não há linha(s) apagada(s)", "Sucesso")
        Else
            FWAlertError(cApagadas, "Linhas Excluidas")
        EndIf
    EndIf

    FWRestArea(aArea)
Return

/*/{Protheus.doc} User Function A410CONS
Ponto de Entrada para adicionar botões no Outras Ações dentro do Pedido de Venda
@type  Function
@author Atilio
@since 12/03/2023
@see https://tdn.totvs.com/pages/releaseview.action?pageId=6784033
/*/

User Function A410CONS()
    Local aArea   := FWGetArea()
    Local aBotoes := {}

    aAdd(aBotoes, {'DBG07', {|| u_zExe327()}, "* Ver Linhas Apagadas", "* Apagadas"} )

    FWRestArea(aArea)
Return aBotoes

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