Olá pessoal…
Hoje vou mostrar para vocês uma função que criei para preencher zeros a esquerda em um campo (por exemplo, número do Documento de Entrada).
Essa função deve ser colocada dentro do Valid do campo, nesse caso em específico do valid do campo F1_DOC, porém se você quiser adaptar o fonte, basta alterar qual é o campo no fonte, e como no Documento de Entrada é tratado com a variável cNFiscal, ela também não existirá.
Essa função funciona assim, caso tenha nota fiscal preenchida na variável cNFiscal, é retirado os espaços em branco, e é adicionado o caracter ‘0’ a esquerda conforme tamanho do campo. Depois a tela é atualizada com GetDRefresh.
//Bibliotecas
#Include "Protheus.ch"
/*/{Protheus.doc} zF1Doc
Função que preenche os zeros a esquerda do documento de uma nota de entrada
@author Atilio
@since 17/12/2017
@version 1.0
@type function
/*/
User Function zF1Doc()
Local aArea := GetArea()
Local nTamanho := TamSX3('F1_DOC')[01]
Local lRet := .T.
//Se tiver nota fiscal digitada
If !Empty(cNFiscal)
//Tira os espaços, depois, adiciona zeros a esquerda conforme tamanho do campo
cNFiscal := Alltrim(cNFiscal)
cNFiscal := PadL(cNFiscal, nTamanho, '0')
M->F1_DOC := cNFiscal
//Dá um Refresh nos campos da Tela
GetDRefresh()
EndIf
RestArea(aArea)
Return lRet
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Opa Dani
Um STRZERO também não resolveria ?
Boa noite Rafinha.
O StrZero até funcionaria, mas apenas para números, ou seja, se tivesse alguma letra, não funcionaria.
Um grande abraço.
Boa tarde povo, tudo bem…tem outra função que descobri que é nativa do protheus, soh colocar no campo que funciona…segue FG_StrZero(“CNFISCAL”,9), coloca no campo F1_DOC VAL.USUÁRIO…
Boa noite Edson.
Rapaz, dessa eu não sabia.
Obrigado pela dica, um grande abraço.
Maravilha!
Depois devo colocar o nome da função no valid do campo?
Boa noite Jony.
Sim, basta colocar na validação do usuário do campo.
Bom dia, informe este comando FG_StrZero(“CNFISCAL”,9),