Nesse vídeo demonstraremos a utilização da função DbSetOrder, que serve para definir um índice utilizado para ordenação em um alias.
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas
#Include "TOTVS.ch"
/*/{Protheus.doc} User Function zExe131
Ordena uma tabela conforme o índice
@type Function
@author Atilio
@since 15/12/2022
@see https://tdn.totvs.com/display/tec/DBSetOrder
@obs
Função DbSetOrder
Parâmetros
+ nOrdem , Numérico , Número do Índice do Alias sendo que a partir da letra A no configurador passa a ser 10 (então B é 11, C é 12, D é 13 e assim por diante)
Retorno
Não possui retorno
**** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/
User Function zExe131()
Local aArea := FWGetArea()
Local cMensagem := ""
//Usa o índice 1
DbSelectArea("SB1")
SB1->(DbSetOrder(1))
//Monta a mensagem e exibe
cMensagem := "Cadastro de Produtos" + CRLF + CRLF
cMensagem += "O índice numérico é: " + cValToChar(SB1->(IndexOrd())) + CRLF
cMensagem += "E a chave do índice é: " + SB1->(IndexKey(IndexOrd())) + CRLF
FWAlertInfo(cMensagem, "Teste 1 DbSetOrder")
//Agora usa o índice 5
SB1->(DbSetOrder(5))
//Monta a mensagem e exibe
cMensagem := "Cadastro de Produtos" + CRLF + CRLF
cMensagem += "O índice numérico é: " + cValToChar(SB1->(IndexOrd())) + CRLF
cMensagem += "E a chave do índice é: " + SB1->(IndexKey(IndexOrd())) + CRLF
FWAlertInfo(cMensagem, "Teste 2 DbSetOrder")
//Agora usa o índice "C" (12)
SB1->(DbSetOrder(12))
//Monta a mensagem e exibe
cMensagem := "Cadastro de Produtos" + CRLF + CRLF
cMensagem += "O índice numérico é: " + cValToChar(SB1->(IndexOrd())) + CRLF
cMensagem += "E a chave do índice é: " + SB1->(IndexKey(IndexOrd())) + CRLF
FWAlertInfo(cMensagem, "Teste 3 DbSetOrder")
FWRestArea(aArea)
Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.