Rosemir Postado 21 Agosto, 2018 Postado 21 Agosto, 2018 Bom dia a todos... Sempre utilizei o fortes no formato retrato para impressão do DANFe, porém, agora um cliente solicitou que fosse impresso no formato paisagem. Fácil configurar, porém me deparei com uma dificuldade. Meu sistema controla a geração do endereço de retirada e de entrega nas informações complementares da nota fiscal, ou seja, o sistema gera a informação na TAG "InfAdic.infCpl". Para o formato "Retrato" funciona certinho pois é impresso apenas o que está no XML, mas no formato paisagem, há uma implementação que verifica se no arquivo xml tem o endereço de retirada e de entrega preenchido nos campos próprios e preenche novamente o endereço no momento que está gerando o DANFe. Ou seja, imprime as informações complementares diferente do que está no arquivo XML. Eu poderia implementar um parâmetro para isso no componente, mas antes de qualquer coisa gostaria da opinião dos demais colegas do fórum: 1) Remover esta funcionalidade do layout paisagem, sendo que esta informação não foi para o arquivo xml (o que pode ter um agravante pois deve ter alguém que utiliza dessa forma). Aqui ainda fica a dúvida, se alguém utiliza dessa forma, utiliza somente no formato paisagem? 2) Criar um parâmetro de configuração para o endereço de entrega e de retirada e implementar também no layout retrato para que fique padrão (o que também poderia ter alguns agravantes, pois quem utiliza no formato retrato, talvez já faça como eu, enviar as informações de retirada e de entrega já no arquivo xml, onde a impressão ocorre normalmente e se implementada dessa forma irá duplicar as informações). Implementação na unit "ACBrNFeDANFeRLPaisagem.pas" no método "procedure TfrlDANFeRLPaisagem.DadosAdicionais;" onde é chamado os métodos a seguir: InsereLinhas(EnderecoRetirada, iLimiteCaracteresLinha, rlmDadosAdicionaisAuxiliar); InsereLinhas(EnderecoEntrega, iLimiteCaracteresLinha, rlmDadosAdicionaisAuxiliar); Fico no aguardo da opinião de mais alguém. Grato!
Moderadores hleorj Postado 21 Agosto, 2018 Moderadores Postado 21 Agosto, 2018 @Rosemir Post Arquivo Xml ou Pdf , demostrando a sua dificuldade. Para facilitar a tomada de decisão. Henrique LeonardoAjude o Projeto ACBr crescer - Assine o SAC Tecnólogo em processamento de dados E-mail [email protected] - Skype : hleorj
Rosemir Postado 21 Agosto, 2018 Autor Postado 21 Agosto, 2018 @hleorj Segue PDF e um print mostrando a duplicidade da informação. No caso dessa nota é apenas o endereço de entrega, mas o mesmo se aplica ao endereço de retirada. A primeira informação de entrega que aparece é colocada automaticamente pelo componente ACBr. A segunda informação de entrega é montada pelo meu sistema e enviada junto no arquivo xml na TAG infCpl. Att. Rosemir 42180876344407000106550020000215641000215640-nfe.pdf
Moderadores hleorj Postado 21 Agosto, 2018 Moderadores Postado 21 Agosto, 2018 E na Danfe Retrato ? Henrique LeonardoAjude o Projeto ACBr crescer - Assine o SAC Tecnólogo em processamento de dados E-mail [email protected] - Skype : hleorj
Moderadores hleorj Postado 21 Agosto, 2018 Moderadores Postado 21 Agosto, 2018 Post pdf da danfe retrato Henrique LeonardoAjude o Projeto ACBr crescer - Assine o SAC Tecnólogo em processamento de dados E-mail [email protected] - Skype : hleorj
Rosemir Postado 21 Agosto, 2018 Autor Postado 21 Agosto, 2018 Segue o PDF em formato retrato... 42180876344407000106550020000215641000215640-nfe (retrato).pdf
Moderadores hleorj Postado 21 Agosto, 2018 Moderadores Postado 21 Agosto, 2018 O ideal seria ter uma propriedade para dar mas liberdade. Mas novas propriedades estão sofrendo uma grande crítica dos desenvolvedores do acbr. Sugiro que mantenha o padrão do ACBR. Podeira enviar o arquivo de xml. Pois não vi a impressão dos dados de retirada ( igual a entrega ) no pdf. Henrique LeonardoAjude o Projeto ACBr crescer - Assine o SAC Tecnólogo em processamento de dados E-mail [email protected] - Skype : hleorj
Rosemir Postado 21 Agosto, 2018 Autor Postado 21 Agosto, 2018 Para manter o padrão, teria que ser desenvolvida a mesma funcionalidade no formato retrato, ou remover do formato paisagem, pois como está, os 2 layouts estão se comportando de forma diferente. A única questão e que não concordo, é gerar na informação complementar do DANFe, um texto que não foi enviado no arquivo XML. Para dar mais liberdade, na minha humilde opinião, é que se desejar imprimir o local de retirada e de entrega, envia junto no arquivo xml, e será impresso normalmente. Dessa forma não teria que ficar criando parâmetros de configuração (mais um entre tantos, rsss). Alguém mais concorda?
Moderadores hleorj Postado 21 Agosto, 2018 Moderadores Postado 21 Agosto, 2018 Sim e não, Existem funcionalidades que são impressas automaticamente em informações adicionais ex procedure TfrlDANFeRLRetrato.DadosAdicionais; var sProtocolo, sSuframa : String; begin rlmDadosAdicionaisAuxiliar.Lines.BeginUpdate; rlmDadosAdicionaisAuxiliar.Lines.Clear; // Protocolo de autorização, nos casos de emissão em contingência if (FNFe.Ide.tpEmis in [teContingencia, teFSDA]) and (FNFe.procNFe.cStat = 100) then begin sProtocolo := ACBrStr('PROTOCOLO DE AUTORIZAÇÃO DE USO: ') + FNFe.procNFe.nProt + ' ' + DateTimeToStr(FNFe.procNFe.dhRecbto); InsereLinhas(sProtocolo, iLimiteCaracteresLinha, rlmDadosAdicionaisAuxiliar); end; // Inscrição Suframa if FNFe.Dest.ISUF > '' then begin sSuframa := ACBrStr('INSCRIÇÃO SUFRAMA: ') + FNFe.Dest.ISUF; InsereLinhas(sSuframa, iLimiteCaracteresLinha, rlmDadosAdicionaisAuxiliar); end; InsereLinhas( TACBrNFeDANFeRL(Owner).ManterDocreferenciados( FNFe,FImprimirDadosDocReferenciados ) + ManterInfAdFisco + ManterObsFisco + ManterProcreferenciado + ManterInfContr + ManterInfCompl , iLimiteCaracteresLinha, rlmDadosAdicionaisAuxiliar); rlmDadosAdicionaisAuxiliar.Lines.EndUpdate; end; Que não sofrem críticas dos usuários Caso , deseje enviar uma sugestão para manter o padrão entre as danfes ( retrato e paisagem ), será de boa ajuda. 22 minutos atrás, Rosemir disse: Para manter o padrão, teria que ser desenvolvida a mesma funcionalidade no formato retrato, ou remover do formato paisagem, pois como está, os 2 layouts estão se comportando de forma diferente. A única questão e que não concordo, é gerar na informação complementar do DANFe, um texto que não foi enviado no arquivo XML. Para dar mais liberdade, na minha humilde opinião, é que se desejar imprimir o local de retirada e de entrega, envia junto no arquivo xml, e será impresso normalmente. Dessa forma não teria que ficar criando parâmetros de configuração (mais um entre tantos, rsss). Alguém mais concorda? Envie o arquivo xml. para facilitar alguns testes. 1 Henrique LeonardoAjude o Projeto ACBr crescer - Assine o SAC Tecnólogo em processamento de dados E-mail [email protected] - Skype : hleorj
Rosemir Postado 21 Agosto, 2018 Autor Postado 21 Agosto, 2018 Para resolver o meu problema, a sugestão seria remover a geração do local de retirada e entrega no layout paisagem, embora fico aqui me preocupando com quem precisa dessa funcionalidade. Mas retirando e deixando a critério de cada um decidir como implementar esse texto, deixaria mais flexível a todos. Se observar abaixo, a única diferença para o método "DadosAdicionais" do retrato, é a questão dos endereços. procedure TfrlDANFeRLPaisagem.DadosAdicionais; var sProtocolo, sSuframa : String; begin rlmDadosAdicionaisAuxiliar.Lines.BeginUpdate; rlmDadosAdicionaisAuxiliar.Lines.Clear; // Protocolo de autorização, nos casos de emissão em contingência if (FNFe.Ide.tpEmis in [teContingencia, teFSDA]) and (FNFe.procNFe.cStat = 100) then begin sProtocolo := ACBrStr('PROTOCOLO DE AUTORIZAÇÃO DE USO: ') + FNFe.procNFe.nProt + ' ' + DateTimeToStr(FNFe.procNFe.dhRecbto); InsereLinhas(sProtocolo, iLimiteCaracteresLinha, rlmDadosAdicionaisAuxiliar); end; // Inscrição Suframa if FNFe.Dest.ISUF > '' then begin sSuframa := ACBrStr('INSCRIÇÃO SUFRAMA: ' ) + FNFe.Dest.ISUF; InsereLinhas(sSuframa, iLimiteCaracteresLinha, rlmDadosAdicionaisAuxiliar); end; //InsereLinhas(EnderecoRetirada, iLimiteCaracteresLinha, rlmDadosAdicionaisAuxiliar); //InsereLinhas(EnderecoEntrega, iLimiteCaracteresLinha, rlmDadosAdicionaisAuxiliar); InsereLinhas( TACBrNFeDANFeRL(Owner).ManterDocreferenciados(FNFe, FImprimirDadosDocReferenciados ) + ManterInfAdFisco + ManterObsFisco + ManterProcreferenciado + ManterInfContr + ManterInfCompl , iLimiteCaracteresLinha, rlmDadosAdicionaisAuxiliar); rlmDadosAdicionaisAuxiliar.Lines.EndUpdate; end; Mas por outro lado, se colocar a implementação no layout retrato, também pode afetar quem utiliza somente este layout. Posso realizar a alteração, mas ainda não cheguei a conclusão qual seria a melhor forma de resolver: remover no paisagem ou acrescentar no retrato? Por mim seria remover do paisagem, mas claro que precisamos analisar e ver se mais alguém tem algum ponto de vista diferente.
Moderadores hleorj Postado 21 Agosto, 2018 Moderadores Postado 21 Agosto, 2018 Siga o padrão ACBr, será melhor para sua aplicação. Mesmo havendo diferenças nas danfes. 1 Henrique LeonardoAjude o Projeto ACBr crescer - Assine o SAC Tecnólogo em processamento de dados E-mail [email protected] - Skype : hleorj
Recommended Posts
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 contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora