Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 5019 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Olá pessoal!

Eu gerei um arquivo no PVA, fiz uma comparação com o ACBrEFD e encontrei uma pequena divergência no bloco 0.

É que o fone e o fax o PVA trata como uma string e o ACBrEFD está tratando como um número. Desta forma o ACBrEFD está preenchendo com zeros.

A mudança é bem simples. Basta tirar o parâmetro 10 de LFill (por exemplo LFill(FONE, 10)).

Mudei em apenas 4 lugares.

Tomei a liberdade de fazer a modificação e estou enviando o arquivo em anexo.

Agradeço se alguém com autonomia para tal puder avaliar as mudanças e fazer um merge no SVN.

ACBrEFDBloco_0_Class.pas

  • Consultores
Postado

Olá,

Eu verifiquei isso, mas parece que o campo tem mesmo tamanho agora, veja a nota no Ato Cotepe 09/08

http://www.fazenda.gov.br/confaz/confaz ... 009_08.htm

Nova redação dada ao tamanho do campo NUM pelo Ato COTEPE/ICMS 46/10, efeitos a partir de 15.12.10.

Nº Campo Descrição Tipo Tam Dec

05 NUM Número do imóvel. C 010 -

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Postado

Olá Elton!

Na realidade o problema está no fato do ACBrEFD estar preenchendo com zeros. Como você citou, no manual descreve um campo do tipo "C" com 10.

Se você fizer um exemplo no PVA e exportá-lo para TXT você verá que o PVA não completa com zeros tal campo.

Gostaria de salientar que o campo que você descreveu eu não olhei. Os testes que eu fiz foram com os campos Fone e Fax. Mas pela sua lógica faz todo o sentido Fone e Fax não serem preenchidos com zeros, pois o campo "Num" que você descreveu é do tipo "C" e o ACBrEFD não o exporta preenchido por zero (veja a comparação das linhas 393 e 396 na unit em questão).


389:        Add( LFill('0005') +

390:            LFill(FANTASIA) +

391:             LFill(CEP, 8) +

392:             LFill(ENDERECO) +

393:             LFill(NUM) +

394:             LFill(COMPL) +

395:             LFill(BAIRRO) +

396:             LFill(FONE, 10) +

397:             LFill(FAX, 10) +

398:             LFill(EMAIL) ) ;

Obrigado por responder e continuo na torcida pelo merge.

Um grande abraço.

  • Consultores
Postado

Olá,

Obrigado pela resposta. Desculpe ainda não ter feito a alteração, mas é que estou analisando aqui. Quando fiz o merge do seu arquivo com o atual no SVN acho que ele indicou diferença no campo NUM, foi daí que eu me confundi. Me desculpe :oops:

Mas então, agora que eu entendi melhor o que você quis dizer, fiquei com uma dúvida... o campo FONE e o campo FAX estão definidos com tamanho fixo de 10 Caracteres. Note que há um asterisco ao lado do tamanho do campo.

08 FONE Número do telefone. C 10* -

Agora veja o item 2.3.1 em especial a letra a):

2.3.1- Os campos com conteúdo numérico nos quais se faz necessário registrar números ou códigos de identificação (CNPJ, CPF, CEP, dentre outros) deverão seguir a regra de formação definida pelo respectivo órgão regulador. Estes campos deverão ser informados com todos os dígitos, inclusive os zeros (0) à esquerda. As máscaras (caracteres especiais de formatação, tais como: ".", "/", "-", etc) não devem ser informadas.

a) Os campos numéricos com tamanho definido e com “*” (asterisco) deverão conter exatamente a quantidade de caracteres indicada.”“.

Pelo que eu entendi: Se você preencher o campo com telefone completo digamos AA-BBBB-CCCC ficariam dez números preenchidos corretamente "|AABBBBCCCC|". Se você não colocar nada o componente deveria fazer como vazio "||". Mas se colocar parcialmente o número, omitindo por exemplo o DDD da localidade, o número ficaria preenchido com zeros. Exemplo: TEL := "1234-5678" ficaria "|0012345678|".

Me ajude a esclarecer, pois estou tentando dar uma mão ao Isaque mas não posso alterar nada sem ter certeza.

Obrigado pela paciência e boa disposição em ajudar. :)

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Postado

Olá Elton!

Fiz os seguintes testes:

1. Tentei cadastrar no PVA um fone com menos de 10 caracteres. Ele não permitiu. Parece que fones diferentes de 10 dígitos ele considera inválido.

2. Peguei um arquivo válido, mudei o fone dele na mão para ter menos de dez dígitos e tentei importar o PVA. A importação não passa. Diz que o fone é inválido.

3. Criei no PVA um registro com o fone em branco. Ele exporta em branco.

4. Criei no PVA um registro com fone somente com zeros. Ele exporta como zeros.

Minha conclusão:

Acho que o ACBr poderia tratar este campo como um texto (assim como está descrito no manual da EFD). Assim passamos a responsabilidade para o aplicativo usuário validar ou não o fone.

Aguardo considerações e agradeço a atenção.

  • Consultores
Postado

Olá mais uma vez,

Eu fiz verificação em campos com definições parecidas (ex.: SUFRAMA do Bloco 0 Registro 0000) e notei que em todos os que eu verifiquei o componente estava fazendo como você sugeriu. Então vou fazer a alteração hoje mesmo. :)

EDIT: Alterado em Registro 0005 e Registro 0100.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Este tópico foi criado há 5019 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.