Realizando a troca de empresa e filial com a OpenFile – Maratona AdvPL e TL++ 376

Nesse vídeo demonstraremos a utilização da função OpenFile, que serve para trocar de empresa e filial em tempo de execução.

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

//Bibliotecas
#Include "TOTVS.ch"

/*/{Protheus.doc} User Function zExe376
Realiza a abertura de uma empresa em memória (para poder usar as tabelas)
@type Function
@author Atilio
@since 28/03/2023
@obs 

    Função OpenFile
    Parâmetros
        Recebe o número da empresa sendo formado pelo código da empresa + código da filial (variável pública cNumEmp)
    Retorno
        Função não tem retorno

    **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/

User Function zExe376()
    Local aArea      := FWGetArea()
    Local cEmpBkp    := ""
    Local cFilBkp    := ""
    Local cNumEmpBkp := ""

    //1. Faz o backup das variáveis públicas
    cEmpBkp := cEmpAnt
    cFilBkp := cFilAnt
    cNumEmpBkp := cNumEmp
    
    //2. Altera as variáveis públicas
    cEmpAnt := "99" //"01"
    cFilAnt := "01" //"0201"
    cNumEmp := cEmpAnt + cFilAnt
    
    //3. Chama a função OpenFile para a nova filial
    OpenFile(cNumEmp)
    
    //4. Aqui você faz as suas customizações / tratativas
    // ...
    // ...
    // ...
    
    //5. Volta o backup das variáveis
    cEmpAnt := cEmpBkp
    cFilAnt := cFilBkp
    cNumEmp := cEmpAnt + cFilAnt
    
    //6. Chama a função OpenFile para voltar para a filial de origem
    OpenFile(cNumEmp)

    FWRestArea(aArea)
Return

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