Nesse vídeo demonstraremos a utilização da função RegToMemory, que serve para colocar uma tabela em memória.
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas #Include "TOTVS.ch" /*/{Protheus.doc} User Function zExe406 Deixa uma tabela em memória para edição (M->) @type Function @author Atilio @since 28/03/2023 @see https://tdn.totvs.com/pages/releaseview.action?pageId=6814879 @obs Função RegToMemory Parâmetros + cAlias , Caractere , Alias da Tabela + lInc , Lógico , .T. se for inclusão ou .F. se for alteração + lDic , Lógico , .T. se irá se basear no dicionário de dados da SX3 + lInitPad , Lógico , .T. se irá iniciliazar os campos em uma operação de inclusão baseado no lDic + cStack , Caractere , Compatibilidade / Reservado Retorno Função não tem retorno **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao **** /*/ User Function zExe406() Local aArea := FWGetArea() Local cCampo := "" //Inicia o controle de transações Begin Transaction //Joga a tabela para a memória (M->) RegToMemory(; "SA1",; // cAlias - Alias da Tabela .T.,; // lInc - Define se é uma operação de inclusão ou atualização .F.; // lDic - Define se irá inicilizar os campos conforme o dicionário ) //Preenche o estado e o código da cidade M->A1_EST := "SP" M->A1_COD_MUN := "06003" //Chama gatilho caso exista cCampo := "A1_COD_MUN" If ExistTrigger(cCampo) RunTrigger( ; 1,; //nTipo (1=Enchoice; 2=GetDados; 3=F3) Nil,; //Linha atual da Grid quando for tipo 2 Nil,; //Não utilizado ,; //Objeto quando for tipo 1 cCampo; //Campo que dispara o gatilho ) EndIf //Mostra a cidade preenchida conforme gatilho disparado FWAlertInfo("Cidade: " + M->A1_MUN, "Teste de ExistTrigger e RunTrigger") //Cancela a transação para não incluir nenhum registro DisarmTransaction() End Transaction FWRestArea(aArea) Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.