× Linguagem de Programação ADVPL

Perguntas Preencher NF de entrada com 9 digitos

Mais
11 anos 2 meses atrás #16992 por renan_tec
Ola amigos,

sou novo em ADVPL e preciso de uma ajuda de algum colega.

Nas NF de entrada eu gostaria de colocar um ponto de entrada ou um gatilho ainda não sei como fazer para preencher as NF do tipo "SPED" com 9 dígitos, pois caso o usuário digite uma quantidade inferior à "9" ele preencha o restante com "0".

Alguém poderia me dar uma força de como fazer isso? não sei fazer :(

Obrigado galera.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 2 meses atrás #16996 por andre_rocha
O P.E. que você deve utilizar é o MT100TOK.

Abra sua rotina de documento de entrada, identifique qual o nome do campo do número da NF através da tecla F1. Deve ser CALGUMACOISA.

Seu PE deve ter um codigo que altere a variável M->CALGUMACOISA onde está digitado o numero da NF.

A função pra fazer o que voce quer deve ser mais ou menos assim:

Right('000000000'+Alltrim(CALGUMACOISA),9)

Espero ter ajudado.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 1 mês atrás #17258 por jean.luckesi
Tenho uma funcao em um ponto de entrada que preenche pra voce os 9 digitos com zero a esquerda depois que confirma. Se tiver 1234 ele vai gravar 000001234.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 1 mês atrás #17298 por kenazfs
Opa, boa tarde

segue código para fazer o que você esta precisando.

VALIDAÇÃO COM PREENCHIMENTOS DE ZEROS NO NUMERO DA NOTA FISCAL DE ENTRADA
 
Eval({|| cNFiscal := If(Val(cNFiscal) > 0, StrZero(Val(cNFiscal), TamSXG("018")[1]), CriaVar("F1_DOC", .F.)), .T.})
 
Acessar o modulo do configurador e copiar essa string para a validação do usuário, nos campos F1_DOC e F1_ESPECIE;

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 1 mês atrás #17309 por Victor
Respondido por Victor no tópico Preencher NF de entrada com 9 digitos
Brother segue o ponto de entrada ja montado para você.

#include 'Protheus.ch'

User Function VldF1Doc()

cNfiscal := strzero(val(m->cnfiscal),TamSX3("F1_DOC")[1])
cSerie := strzero(val(m->cserie),TamSX3("F1_SERIE")[1])


Return(.t.)

nos campos F1_DOC E F1_SERIE, no inicializador padrão chame o u_VldF1Doc()


abraços !

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.089 segundos
Joomla templates by a4joomla