Tempo de leitura: 1 minuto
Olá, no post de hoje falaremos de uma das Funções de Controle de Numeração(SXE) no Protheus, a função GetSXENum. GetSXENum tem por objetivo obter o número sequencial do Alias especificado no parâmetro, através da referência aos arquivos de sistema SXE/SXF ou ao servidor de numeração(TOTVS License Server Virtual), quando esta configuração está habilitada no ambiente Protheus. a função GetSXENum trabalha em conjunto com a função ConfirmeSX8, que auxilia na confirmação da numeração automática e a função RollBackSX8, que desfaz toda a operação, voltando a numeração anterior.
Sintaxe:
GetSXENum(cAlias, cCampo, cAliasSXE, nOrdem)
Parâmetro(s):
Retorno:
Exemplo da função GetSXENum em ADVPL:
#include 'protheus.ch'
#include "tbiconn.ch"
/*{Protheus.doc} User Function fGetSXENum
(Essa função tem por finalidade mostrar a função fGetSXENum)
@type Function
@author Adilio Costa
@since 23/06/2023
@version 12.1.2210
Acesse e se inscreva no Blog/Site ProtheusAdvpl para receber conteúdo:
www.protheusadvpl.com.br
Se inscreva no Canal do ProtheusAdvpl para receber vídeos:
https://wwww.youtube.com/protheusadvpl
Siga-nos no Instagram:
http://https://www.instagram.com/protheusadvpl
Siga a página do ProtheusAdvpl no Facebook:
https://www.facebook.com/protheusadvpl2
Conheça o Portal ProtheusAdvpl:
https://hotmart.com/pt-br/marketplace/produtos/portal-protheusadvpl/O10336806O
Post:GetSXENum
*/
User Function fGetSXENum()
Local cCodFor := ""
DBSelectArea("SA2")
DBSetOrder(1)
cCodFor := GetSXENum("SA2","A2_COD")
If(MsgYesNo("Deseja confirmar o código "+cCodFor+"?", "Confirmação"))
//Trava a tabela para inserir um registro
RecLock("SA2",.T.)
A2_FILIAL := xFilial()
A2_COD := cCodFor
A2_NOME := "ProtheusAdvpl"
//Destrava a tabela
MsUnLock()
//Utiliza a função ConfirmSX8() para confirmar a próxima numeração
ConfirmSx8()
Else
//Utiliza a função RollBackSX8() para desfazer toda a operação e voltar para numeração anterior
RollBackSX8()
EndIf
Return
Bem, finalizamos mais um post aqui do blog, espero que tenha entendido. Qualquer dúvida deixe seu comentário abaixo ou nos envie um e-mail para adiliocosta@protheusadvpl.com.br. Nos ajude compartilhando esse conteúdo nos grupos de Protheus e ADVPL/TL++ que participa. Grande abraço e fica com Deus.