StrZero em ADVPL — Como Formatar Zeros à Esquerda

Tempo de leitura: 2 minutos

No desenvolvimento de rotinas no ERP Protheus, a padronização de códigos e documentos é um requisito constante. Seja para gerar uma chave de nota fiscal ou formatar um código de produto, a função StrZero em ADVPL é a ferramenta nativa essencial para converter números em strings com preenchimento fixo, sendo um pilar fundamental de Fundamentos do ADVPL.

 

Neste guia objetivo, você aprenderá a dominar a sintaxe da StrZero e como aplicá-la na Conversão de Dados para garantir a integridade das suas customizações.

 

O que é a função StrZero e para que serve?

A função StrZero em ADVPL converte um valor numérico para uma string, inserindo automaticamente zeros à esquerda até atingir o tamanho total definido. Diferente da função Str comum, ela já entrega o dado formatado para campos que exigem máscara numérica fixa.

 
 

🚀 Quer evoluir no ADVPL de verdade?

Receba conteúdos práticos, códigos prontos e dicas que você 

 não aprende na documentação oficial

✔ Funções essenciais do ADVPL
✔ Exemplos reais usados no Protheus
✔ Dicas de debug e performance

🔐 Seu email está seguro. Sem spam.

 


Sintaxe:

StrZero(nNum,nTam,nDec)

 

Argumento(s):

 

Retorno:

 

Exemplo:

StrZero(1000,9,2) -> “001000.00”

No exemplo acima utilizamos a função StrZero e informamos como parâmetro à função o valor Numérico 1000 e o retorno é uma String formata de tamanho 9 e com 2 casas decimais, com o seguinte formato “001000.00”.

 

Exemplo da função StrZero em ADVPL:

#include 'protheus.ch'

/*{Protheus.doc} User Function fStrZero
    (Essa função tem por finalidade mostrar a função de Conversões de Tipos de Dados StrZero em ADVPL)
    @type  Function
    @author Adilio Costa
    @since 09/07/2023
    @version 1.0
@?Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@?Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@?Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@?Conheça os Cursos e Formações do ProtheusAdvpl:
https://cursos-e-formacoes-protheusadvpl.gr-site.com/

|Se esse conteúdo foi útil pra você nos ajude divulgando
ele e nossas redes sociais!!|
*/
User Function fStrZero()
    Local nNum := 1000
    Local cVar := ""

    // Converte o número 1000 para uma string de 8 posições
    cVar := StrZero(nNum, 8) // Resultado: "00001000"

    MsgAlert("Resultado da conversão: " + cVar, "Função StrZero")

Return


Domine Cenários Avançados

Para dominar este conceito em cenários complexos, com aulas em vídeo e suporte especializado, conheça o Portal ProtheusAdvpl. Lá, exploramos a fundo a arquitetura por trás desta função e suas aplicações em grandes projetos de integração e arquivos magnéticos.

 

Conclusão

A função StrZero em ADVPL simplifica a organização de dados e evita erros de formatação em campos críticos do Protheus. Ao utilizá-la, você garante que seus dados numéricos sigam o padrão exigido pelo SQL e Banco de Dados e pelas regras de negócio do ERP.

 

Links de referência(s):

 

Conteúdos relacionados

 
🚀 Quer evoluir no ADVPL de verdade?

Receba conteúdos práticos, códigos prontos e dicas que você 

 não aprende na documentação oficial

✔ Funções essenciais do ADVPL
✔ Exemplos reais usados no Protheus
✔ Dicas de debug e performance

🔐 Seu email está seguro. Sem spam.

 

É isso aí, finalizamos aqui o post sobre a função ADVPL StrZero, caso tenha ficado alguma dúvida deixe seu comentário ou me envie um email para adiliocosta@protheusadvpl.com.br, até um próximo post, grande abraço e fica com Deus.

 

🚀 Quer dominar o Protheus de verdade?
Entre para o ProtheusAdvpl e receba conteúdos exclusivos sobre desenvolvimento, infraestrutura, módulos e carreira no Protheus

✔ Conteúdos organizados por categorias (Programação, Framework, Backoffice e RH)
✔ Dicas práticas usadas no dia a dia do Protheus
✔ Acesso a materiais, post e atualizações do Blog
🔐 Seu email está seguro. Sem spam. Só conteúdo profissional.