Ir para conteúdo
  • Cadastre-se

dev botao

Pequeno ajuste na função CalcularNomeArquivo


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

Recommended Posts

Boa noite  a todos 

Realizei um ajuste bem simples na função CalcularNomeArquivo presente na unit "ACBrNFeNotasFiscais.pas"  alterando a sintática do nome para facilitar a identificação do arquivo xml salvo conforme o seu modelo.
Trecho da função alterado :

De    : NomeXML := '-nfe.xml';
Para : NomeXML := IfThen(Self.FNFe.Ide.modelo=65,'-nfce.xml','-nfe.xml');


Mudança simples mas ajuda a quem armazena todos os xml processados no mesmo local quando usa o nome do arquivo gerado automaticamente pelo ACBRNFE, como eu.

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia,

Obrigada pela contribuição, adicionada para análise.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

8 horas atrás, Juliana Tamizou disse:

Bom dia,

Obrigada pela contribuição, adicionada para análise.

Att.

Boa Noite 

Estudando um pouco mais realizei outros pequenos ajustes que atendem a proposta :
 

linha 211 Alterada Ref: Create(Collection2: TCollection); 
De    : FNFe.Ide.verProc := 'ACBrNFe';
Para : FNFe.Ide.verProc := IfThen(FNFe.Ide.modelo=65,'ACBrNFCe','ACBrNFe');

linha 240 alterada  - Ref : Imprimir
De    : raise EACBrNFeException.Create('Componente DANFE não associado.')
Para : raise EACBrNFeException.Create('Componente '+ifThen(NFe.Ide.modelo=65,'DANFCE','DANFE')+' não associado.')

linha 252 alterada Ref : ImprimirPDF
De    : raise EACBrNFeException.Create('Componente DANFE não associado.')
Para : raise EACBrNFeException.Create('Componente '+ifThen(NFe.Ide.modelo=65,'DANFCE','DANFE')+' não associado.')

linha 2571 alterada Ref : GerarNFeIni
De    : raise EACBrNFeException.Create('NFe Inconsistente para gerar INI. Chave Inválida.');
Para : raise EACBrNFeException.Create(ifThen(NFe.Ide.modelo=65,'NFCe','NFe')+' Inconsistente para gerar INI. Chave Inválida.');

Citar

Obs : Acho pertinente ao gerar o nome do arquivo ini automaticamente quando ele  não seja especificado pelo programador
 usando como base a identificação do modelo, tipo : "NOME_ARQUIVO-nfe.ini" ou "NOME_ARQUIVO-nfce.ini". 
(Não implementei esta parte pois fiquei um pouco perdido ali...😭 )

linha 3460 alterada Ref : EnviarEmail
De     : NomeArq_temp := PathWithDelim(DANFE.PathPDF) + NumID + '-nfe.pdf';
Para : NomeArq_temp := PathWithDelim(DANFE.PathPDF) + NumID +ifThen(FNFe.Ide.modelo=65,'-nfce.pdf','-nfe.pdf'); 

linha 3466 alterada Ref : EnviarEmail
De    : NumID +'-nfe.xml', sReplyTo);
Para : NumID +ifThen(FNFe.Ide.modelo=65,'-nfce.xml','-nfe.xml'), sReplyTo);

Linha 3550 alterada Ref: CalcularNomeArquivo
De     : NomeXML := '-nfe.xml';
Para : NomeXML := IfThen(Self.FNFe.Ide.modelo=65,'-nfce.xml','-nfe.xml');

Linha 3786 alterada Ref: VerificarAssinatura
De    : Erros := 'Nenhuma NFe carregada';
Para : Erros := 'Nenhuma '+ifThen(Self.Items[0].FNFe.Ide.modelo=65,'NFCe','NFe')+' carregada';

Linha 3968 alterada Ref: GravarTXT
De    : TACBrNFe(FACBrNFe).Configuracoes.Arquivos.PathSalvar) + 'NFe.TXT';
Para : TACBrNFe(FACBrNFe).Configuracoes.Arquivos.PathSalvar) + TACBrNFe(FACBrNFe).GetNomeModeloDFe+'.TXT';

Realizei os testes aqui e funcionou normalmente...
Acha que devo repostar todo o conteúdo completo e deletar o post anterior ? 

Muito obrigado pela atenção.

 

ACBrNFeNotasFiscais.pas

Link para o comentário
Compartilhar em outros sites

  • Fundadores
4 horas atrás, kanedasam disse:

Linha 3786 alterada Ref: VerificarAssinatura
De    : Erros := 'Nenhuma NFe carregada';
Para : Erros := 'Nenhuma '+ifThen(Self.Items[0].FNFe.Ide.modelo=65,'NFCe','NFe')+' carregada';

Creio que aqui podemos ter um Index Bound Array error... pois se  não tem Documento carregado, Items.Count Será menor do que 1

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

3 horas atrás, Daniel Simoes disse:

Creio que aqui podemos ter um Index Bound Array error... pois se  não tem Documento carregado, Items.Count Será menor do que 1

JEDIs, como eles conseguem ver erros assim ??? 🤣🤣🤣🤣 
Realmente uma total falta de atenção da minha parte pois o indicador que iria dar erro estava logo em cima : "if Self.Count < 1 then" e mesmo assim estava considerando dentro do "IF" (01) um  documento na posição de indice (0)  zero...
Neste caso vou considerar a parametrização do componente, pois no meu entendimento quando eu for gerar, salvar, imprimir, importar, enviar e-mail,  exportar qualquer documento do ACBRNFE em qualquer formato, XML ou TXT, sou obrigado a parametrizar primeiro o meu componentes, pois no meu caso as NFe e NFSe não seguem todos os mesmos parâmetros, além dos óbvios.  

 

Citar

ERRATA 
Linha 3786 alterada Ref: VerificarAssinatura
De    : Erros := 'Nenhuma NFe carregada';
Para : Erros := 'Nenhuma '+IfThen(Self.FConfiguracoes.Geral.ModeloDF = moNFCe,'NFCe','NFe')+' carregada';


Aproveitando e te faço a mesma pergunta que fiz a "Juliana Tamizou" , devo fazer um novo post com estas mudanças propostas já corrigidas e deletar este aqui para não poluir o fórum ?

Muito obrigado pela orientação .

ACBrNFeNotasFiscais.pas

Editado por kanedasam
Link para o comentário
Compartilhar em outros sites

  • Consultores
8 horas atrás, kanedasam disse:

Aproveitando e te faço a mesma pergunta que fiz a "Juliana Tamizou" , devo fazer um novo post com estas mudanças propostas já corrigidas e deletar este aqui para não poluir o fórum ? 

Use o mesmo tópico apenas se estiver falando sobre a mesma coisa que o primeiro tópico menciona. Quando o assunto não for o mesmo, por favor, sempre crie um novo tópico.

Por exemplo, se no primeiro tópico estiver falando sobre o nome do arquivo gerado pelo ACBrNFe e o que você quer criar for sobre a geração de imposto no ACBrNFe, crie um novo tópico. Ambos são sobre NFe, mas são assuntos diferentes.

Mas nesse caso, me parece que todas as alterações estão seguindo a mesma ideia e você só está encontrando lugares diferentes a alterar. E mais, nenhuma delas foi enviada ao SVN. Então é melhor continuar usando o mesmo tópico.

[]'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.
Link para o comentário
Compartilhar em outros sites

Boa noite 
Vê por coincidência em um outro tópico que o caro colega  Italo Jurisato Junior não enxerga necessário definir a estrutura sintática do arquivo na pós identificação do id do arquivo gerado como necessário, no caso eu discordo dele. Apesar que o argumento dele citado e totalmente consistente eu encaro essa necessidade como um forma de boas pratica de programação e de normatização dos arquivos gerados automaticamente pelo ACBR, por exemplo : "-nfse.xml", "-mde.xml", "-cte.xml", "-ane.xml", "-bpe.xml", "-nfe.xml", "-nfce.xml" e outros. Isto também teria que se aplicar na geração de arquivo textos, exemplo : "-nfe.txt", "-nfce.txt" e outros... 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Olá,

Em 17/05/2019 at 18:23, kanedasam disse:

Boa noite 
Vê por coincidência em um outro tópico que o caro colega  Italo Jurisato Junior não enxerga necessário definir a estrutura sintática do arquivo na pós identificação do id do arquivo gerado como necessário, no caso eu discordo dele. Apesar que o argumento dele citado e totalmente consistente eu encaro essa necessidade como um forma de boas pratica de programação e de normatização dos arquivos gerados automaticamente pelo ACBR, por exemplo : "-nfse.xml", "-mde.xml", "-cte.xml", "-ane.xml", "-bpe.xml", "-nfe.xml", "-nfce.xml" e outros. Isto também teria que se aplicar na geração de arquivo textos, exemplo : "-nfe.txt", "-nfce.txt" e outros... 

Sobre a questão dos nomes de arquivos, boa parte dos moderadores e devs não acham apropriado alterar esses nomes. Para não criarmos uma polêmica vamos tratar nesse tópico apenas das outras alterações propostas. Se você realmente achar esse recurso muito importante, por favor, crie um novo tópico só sobre isso. Assim, poderemos pedir que tanto outros devs como usuários do ACBr de modo geral possam opinar.

Sobre as mensagens, eu enviei ao SVN na revisão 17056.

A única linha que não alterei foi a que altera "FNFe.Ide.verProc". Porque a string é ACBrNFe. Não existe ACBrNFCe. Ainda assim, deixei um comentário, caso tenhamos outros motivos para ajustar isso.

Queira por favor, atualizar e testar.

  • Curtir 1

[]'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.
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia a todos,

Procurando nos manuais da NF-e, principalmente a versão 6.00 que esta disponível no Portal Nacional da NF-e, bem como a versão 7.02 que esta disponível do Portal da NF-e SVRS, não existe nenhuma orientação sobre a troca do sufixo no nome do arquivo XML quando se tratar de NFC-e.

Tomei como base esses manuais pois eles se referem a NF-e e NFC-e.

Ultimamente as minhas consultas estão embasadas nos manuais disponibilizados no seguinte Portal: Portal dos Documentos Fiscais Eletrônicos - SVRS.

Outra coisa, o ENCAT não alterou a tag <NFe> para <NFCe> e muito menos o prefixo da chave no atributo ID de NFe para NFCe.

O layout é exatamente o mesmo, o que muda é simplesmente o valor da tag <mod> = Modelo do Documento Fiscal.

Os sufixos nos nomes dos demais documentos que você mencionou tem os seus nomes baseados nos manuais e não por eu achar que deveria ser diferente.

 

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

22 horas atrás, Italo Jurisato Junior disse:

Bom dia a todos,

Procurando nos manuais da NF-e, principalmente a versão 6.00 que esta disponível no Portal Nacional da NF-e, bem como a versão 7.02 que esta disponível do Portal da NF-e SVRS, não existe nenhuma orientação sobre a troca do sufixo no nome do arquivo XML quando se tratar de NFC-e.

Tomei como base esses manuais pois eles se referem a NF-e e NFC-e.

Ultimamente as minhas consultas estão embasadas nos manuais disponibilizados no seguinte Portal: Portal dos Documentos Fiscais Eletrônicos - SVRS.

Outra coisa, o ENCAT não alterou a tag <NFe> para <NFCe> e muito menos o prefixo da chave no atributo ID de NFe para NFCe.

O layout é exatamente o mesmo, o que muda é simplesmente o valor da tag <mod> = Modelo do Documento Fiscal.

Os sufixos nos nomes dos demais documentos que você mencionou tem os seus nomes baseados nos manuais e não por eu achar que deveria ser diferente.

 

Primeiro obrigado pelo retorno e em segundo concordo plenamente com a colocação técnica exposta por você. Realmente coloquei o meu ponto de vista sobre a questão de retorno das mensagens e dos prefixos dos nomes dos arquivos gerados automaticamente pelo ACBR sem usar como base os manuais da NFe e NFCe. Porém quando estava realizando os meus testes na NFCe achei um pouco estranho receber mensagens de referencias a NFe e não a  NFCe, como também a geração automática pelo componente dos DFs quando  o mesmo estava setado para NFCe e me gerava os arquivos com o prefixo "-nfe.xml" ou "-nfe.txt", sendo que se o prefixo reference ao tipo de documento gerado, o correto seria "-nfce.xml" ou "-nfce.txt" e por consequência as mensagens deveriam referenciar ao tipo  de DF que está sendo trabalhada no momento, isso no meu ponto de vista.

Sei que que os sufixos dos nomes estão baseados nos manuais correspondentes mas também não seria  a primeira vez que o SEFAZ cria incoerências em seus manuais e também não seria a primeira vez que os membros do ACBR, você entre eles, apontarem estas incoerências. Em suma, sei que é uma proposta de mudança  boba porém penso que apesar da NFCe e NFe usarem exatamente a mesma estrutura são documentos diferentes com objetivos distintos e no meu ver como programador, faz todo o sentido tratar mensagens e os prefixos conforme a cada DF, independente dos manuais do SEFAZ.

Mais uma vez agradeço a oportunidade oferecida por esta grande comunidade...

Link para o comentário
Compartilhar em outros sites

Em 23/05/2019 at 09:51, EMBarbosa disse:

Olá,

Sobre a questão dos nomes de arquivos, boa parte dos moderadores e devs não acham apropriado alterar esses nomes. Para não criarmos uma polêmica vamos tratar nesse tópico apenas das outras alterações propostas. Se você realmente achar esse recurso muito importante, por favor, crie um novo tópico só sobre isso. Assim, poderemos pedir que tanto outros devs como usuários do ACBr de modo geral possam opinar.

Sobre as mensagens, eu enviei ao SVN na revisão 17056.

A única linha que não alterei foi a que altera "FNFe.Ide.verProc". Porque a string é ACBrNFe. Não existe ACBrNFCe. Ainda assim, deixei um comentário, caso tenhamos outros motivos para ajustar isso.

Queira por favor, atualizar e testar.

Ok, vou elaborar um texto argumentando sobre o assunto e posta-lo no fórum para um discussão aberta aos membros neste final de semana, obrigado pela orientação... 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Consultores
5 minutos atrás, kanedasam disse:

obrigado pela orientação... 

Eu que agradeço você ter se disposto a alterar as mensagens de erro e postar aqui para benefício de todos.

Obrigado também por tentar compreender com respeito ao que não foi prontamente aplicado. Acreditamos que, quando possível, é melhor envolver a comunidade nas decisões que podem impactar diretamente sobre ela.

  • Curtir 1

[]'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.
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1770 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.