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),