Ir para conteúdo
  • Cadastre-se

Pesquisar na Comunidade

Showing results for tags 'sugestão'.

  • Search By Tags

    Digite tags separadas por vírgulas
  • Search By Author

Tipo de Conteúdo


Fóruns

  • Fórum Aberto - ACBr
    • Notícias do ACBr
    • Equipamentos testados
    • Base de Conhecimento
    • Dúvidas Gerais sobre o ACBr
    • ACBrSerial
    • ACBrSAT
    • ACBrNFe
    • ACBrDFe
    • Dúvidas sobre TEF
    • Dúvidas sobre PIX
    • ACBrMonitor PLUS
    • ACBrTXT
    • ACBrBoleto
    • ACBrDiversos
    • ACBrTCP
    • ACBrFramework
    • ACBrLIB
  • ACBr Pro
    • Dúvidas gerais
    • Duvidas Privadas
    • ACBrMonitorPLUS
    • NFe/NFCe - Nota Fiscal Eletrônica
    • DFe - Documentos Fiscais Eletrônicos
    • SAT / MFE
    • TEF
    • Boleto
    • ACBrSPED
    • ACBrTXT
    • Paf-ECF
    • Requisitos Fiscais por UF
    • ACBrLIB
  • Outros Assuntos
    • Boteco do ACBr
    • Legislação Fiscal e Tributária
    • Object Pascal - Delphi & Lazarus
    • Banco de Dados
    • Classificados
    • Dúvidas não relacionadas ao ACBr

Categorias

  • ACBr Pro
    • ACBrLib - PRO
    • ACBrMonitorPLUS - PRO
    • Utilitários - PRO
    • Dia do ACBr 1a edição
    • Dia do ACBr 2a edição
  • Download Livre
    • ACBrLib - DEMO
    • ACBrMonitorPLUS - DEMO
    • Demos / Testes / Utilitários
    • Apresentações - Palestras

Calendários

  • Eventos - Palestras - Webinars
  • Prazos SEFAZ
  • Calendário da Comunidade
  • ACBr Papo Pro
  • Feriados Nacionais

Find results in...

Find results that contain...


Data de Criação

  • Início

    End


Data de Atualização

  • Início

    End


Filter by number of...

Data de Registro

  • Início

    End


Grupo


Website URL

Encontrado 7 registros

  1. Seguindo a orientação recebida no Discord, estou criando este tópico para relatar um problema de layout que diagnosticamos, detalhar a solução de contorno encontrada e, principalmente, propor uma sugestão de melhoria para o componente ACBrNFeDANFEFR. 1. Descrição do Problema Enfrentamos um problema onde o texto no "Quadro de Identificação do Emitente" do DANFE era cortado na última linha (em anexo). O mais intrigante é que o problema ocorria apenas em máquinas de um cliente específico (tanto em Windows 7 quanto em Windows 10), mas não em nosso ambiente de desenvolvimento, mesmo utilizando o mesmo executável, mesmo template .fr3 e os mesmos dados exatos do emitente. 2. Diagnóstico e Causa Raiz Após um diagnóstico exaustivo e metódico, descartamos as seguintes causas comuns: DPI Scaling: Todas as máquinas envolvidas estavam configuradas em 100%. Drivers de Impressora: O problema persistia mesmo utilizando o "Microsoft XPS Document Writer" como impressora padrão. Inconsistência de Arquivos: o template .fr3 era idêntico em todos os ambientes. 3. Solução de Contorno Aplicada Para resolver o problema de forma imediata para o cliente, editamos diretamente o template NotaFiscalEletronica.fr3 no FastReport Designer. A solução foi alterar a propriedade LineSpacing do objeto TfrxMemoView do emitente, reduzindo seu valor de 2 para 1. Isso fez com que o texto coubesse perfeitamente no campo, resolvendo 100% o problema visual. Estou anexando a este tópico o arquivo .fr3 com esta modificação para análise. 4. Sugestão de Implementação de Nova Feature Embora a edição do template resolva o problema, ela cria a necessidade de manter um arquivo .fr3 customizado, o que pode complicar a manutenção e a distribuição do software a longo prazo, especialmente quando se lida com múltiplos clientes que podem ter necessidades pontuais. Minha sugestão é a implementação de uma nova funcionalidade no componente ACBrNFeDANFEFR que permita o acesso e a manipulação de propriedades de objetos do relatório FastReport em tempo de execução, diretamente via código Delphi. Algo do tipo: ACBrNFeDANFEFR 1.MemoEmitente.LineSpacing := 1; 5. Conforme pedido pelo @Victor H. Gonzales - Panda, algumas variáveis para reprodução: Razão Social (ACBrNFe1.NFe.Emit.xNome): 44 caracteres Linha do Endereço (...enderEmit.xLgr, nro): 30 caracteres E-mail (...enderEmit.email): 20 caracteres Informação Adicional (utilizando a propriedade ACBrNFe1.DANFE.Site): 44 caracteres NotaFiscalEletronica.rar
  2. Debugando para entender por quê o número da Agencia se repetia na impressão do boleto no campo "Agência/Código do Beneficiário" percebi que nesse trecho há uma concatenação, da Agencia+Conta sendo preenchido no campo Código do Cedente unit ACBrBoleto; function TACBrBancoClass.MontarCampoCodigoCedente(const ACBrTitulo: TACBrTitulo): String; begin Result := ACBrTitulo.ACBrBoleto.Cedente.Agencia+'-'+ ACBrTitulo.ACBrBoleto.Cedente.AgenciaDigito+'/'+ ACBrTitulo.ACBrBoleto.Cedente.Conta+'-'+ ACBrTitulo.ACBrBoleto.Cedente.ContaDigito; end; E o código da Agencia já tem seu campo própio. unit ACBrBoletoFCFR; FieldByName('Nome').AsString := Cedente.Nome; FieldByName('CodigoCedente').AsString := Banco.MontarCampoCodigoCedente(Titulo); // Cedente.CodigoCedente; FieldByName('CodigoTransmissao').AsString := Cedente.CodigoTransmissao; FieldByName('Agencia').AsString := Cedente.Agencia; FieldByName('AgenciaDigito').AsString := Cedente.AgenciaDigito; Sendo assim eu alterei os Reports, removendo a agencia, já que a informação já está vindo junto com o código do Cedente. Antes estava assim: [Cedente."Agencia"]/[Cedente."CodigoCedente"] Deixei assim: [Cedente."CodigoCedente"] Caso concordem que está certo, atualizar os reports no repositório para colaboração geral. Boleto.fr3 BoletoFatura.fr3 BoletoFR.fr3
  3. Boa tarde. Gostaria de sugerir uma melhoria no código do ACBr na unidade ACBrNFeWebServices e método TNFeRetRecepcao.TratarRespostaFinal. As vezes ao Assinar a nota, ocorre erros que não são exibido. Só me retorna "Nota(s) não confirmadas: 301 =>". Debuggando o processo vi que é retornado o Cstat e que através dele é possível apurar melhor o erro. Hoje eu me deparei com o erro referente ao Status 866 - "Ausência de troco quando o valor dos pagamentos informados for maior que o total da nota". Só consegui resolver o problema porque eu fui debuggando onde era montada esta mensagem e verifiquei o cstat. A alteração poderia ficar tipo o exemplo abaixo: if AInfProt.Count > 0 then begin FChaveNFe := AInfProt.Items[0].chNFe; FProtocolo := AInfProt.Items[0].nProt; FcStat := AInfProt.Items[0].cStat; end; //Montando a mensagem de retorno para as notas nao confirmadas for I := 0 to FNotasFiscais.Count - 1 do begin if not FNotasFiscais.Items.Confirmada then FPMsg := FPMsg + IntToStr(FNotasFiscais.Items.NFe.Ide.nNF) + '->' + FNotasFiscais.Items.Msg + LineBreak + 'CStat: ' + IntToStr(FcStat) + ObtemDescricaoRejeicao(FcStat) ; end;
  4. Olá. Fiz alguns ajustes no ACBrNFSe para permitir a integração com o WebService da NotaBlu. O Layout era muito similar a nota NFSe de SP, mas identifiquei alguns pontos que necessitaram ajustes. Estou anexado um patch com a sugestão de ajustes aplicados a revisão 13431 do ACBr além de um outro zip com os fontes alterados. Além dos ajustes em alguns fontes, foi necessário ajuste nos INI Cidades.INI e a criação do provedor NotaBlu.INI. Por favor, se puderem avaliar os ajuste e verificar se existe possibilidade de aplicar ao repositório, Obrigado e fico no aguardo. @Italo Jurisato Junior @André Ferreira de Moraes FontesAlteradosRev-13431.7z Patch-NotaBlu-Rev_ACBr-13431.patch
  5. Saudações, Faz aproximadamente 1 mês que estou trabalhando com a integração do ACBrMonitor PLUS (SAT) em meu ERP e até o momento, graças a ajuda da comunidade, estou obtendo êxito em gerar/cancelar cupons fiscais porém, tenho que fazer varias adaptações a partir do sistema para obter as informações necessárias do .INI/.TXT de saída, sendo elas: Retirar o OK: ou alinhar para ficar em cima do [ENVIO] (não encontrei uma solução para que o OK: seja ignorado quando é necessário localizar a seção [ENVIO] para se obter as chaves); Script (gambia) para pegar as mensagens entre " | ", exemplo: |06000|0000|Emitido com sucesso + conteúdo notas|| para exibir os erros aos clientes, e varias outras "gambias" que poderiam ser evitadas se fosse seguido um outro formato de .INI/.TXT de saída. Nossa sugestão: Acredito que esse novo formato de saída facilitaria muito as nossas vidas pois as consultas do .INI seriam muito mais fáceis e livres de adaptações. Obrigado.
  6. Olá a todos. Utilizo o componente ACBrNFSe e as vezes preciso de algumas "alterações" para atender as minhas necessidades e de meus clientes. Decidi criar o tópico, não sei se é o correto, mas com o objetivo de sugerir algumas dessas alterações, para quem sabe for útil para mais algum ou para que alguém também coloque aqui alguma alteração que possa me ajudar. Só ressaltando, é apenas sugestão, pois sei que algumas alterações não seria aplicada a todos os servidores e poderiam complicar a manutenção do componente. Seguem duas alterações que precisei fazer para poder me atender: 1ª - Não estava preenchendo a lista de NFSe's no método ACBrNFSe1.ConsultarNFSe ficando em um loop infinito e travando a aplicação; 2ª - Essa já dava briga desde o trunk2 mas no meu caso preciso: Quebra de linha com #13 nas NFSe. Parece bobagem mas tem cliente que quer emitir a nota e só mandar o link para o cliente também poder realizar a impressão só que por exemplo, no caso do servidor ISSCuritiba, ao fazer a impressão por meio do site da prefeitura, sem essa alteração sai tudo em uma só linha e com um monte de ;;;; mesmo alterando o ISSCuritiba.ini. Espero que possa ajudar mais alguém e que me desculpem se estiver criando tópicos desnecessários. Obrigado. 1ª Sugestão.zip 2ª Sugestão.zip
  7. Boa tarde. No componente atual da acbr ta dando erro pra imprimir a tag doc anterior, eu ajustei o componente fazendo umas mudanças no indice da variavel e deu certo, segue mudanças para analise se é possível arrumar no componente. procedure TdmACBrCTeFR.CarregaDocumentoAnterior; // Adicionado por NCC - 04/04/2014 IMPRESSÃO DOC ANTERIOR - ROTINA ACBrCTeDACTEFRDM.PAS procedure TdmACBrCTeFR.CarregaDocumentoAnterior; // Adicionado por NCC - 04/04/2014 var i,ii,iii:integer; begin with cdsDocAnterior do begin Close; FieldDefs.Clear; FieldDefs.Add('CNPJCPF', ftString, 18); FieldDefs.Add('xNome', ftString, 60); FieldDefs.Add('UF', ftString, 2); FieldDefs.Add('IE', ftString, 14); FieldDefs.Add('Tipo', ftString, 33); FieldDefs.Add('Serie', ftString, 3); FieldDefs.Add('nDoc', ftString, 20); FieldDefs.Add('dEmi', ftString, 10); FieldDefs.Add('Chave', ftString, 44); CreateDataSet; {$IFDEF PL_200} for i := 0 to CTe.infCTeNorm.docAnt.emiDocAnt.Count - 1 do begin with CTe.infCTeNorm.docAnt.emiDocAnt.Items[i] do begin {$ELSE} for i := 0 to CTe.infCTeNorm.emiDocAnt.Count - 1 do begin with CTe.infCTeNorm.emiDocAnt.Items[i] do begin {$ENDIF} for ii := 0 to idDocAnt.Count - 1 do begin for iii := 0 to idDocAnt.Items[ii].idDocAntPap.Count-1 do begin with idDocAnt.Items[ii].idDocAntPap.Items[iii] do begin Append; FieldByName('CNPJCPF').AsString:=CNPJCPF; FieldByName('xNome').AsString:=xNome; FieldByName('UF').AsString:=UF; case tpDoc of daCTRC: FieldByName('Tipo').AsString:='CTRC'; daCTAC: FieldByName('Tipo').AsString:='CTAC'; daACT: FieldByName('Tipo').AsString:='ACT'; daNF7: FieldByName('Tipo').AsString:='NF 7'; daNF27: FieldByName('Tipo').AsString:='NF 27'; daCAN: FieldByName('Tipo').AsString:='CAN'; daCTMC: FieldByName('Tipo').AsString:='CTMC'; daATRE: FieldByName('Tipo').AsString:='ATRE'; daDTA: FieldByName('Tipo').AsString:='DTA'; daCAI: FieldByName('Tipo').AsString:='CAI'; daCCPI: FieldByName('Tipo').AsString:='CCPI'; daCA: FieldByName('Tipo').AsString:='CA'; daTIF: FieldByName('Tipo').AsString:='TIF'; daOutros: FieldByName('Tipo').AsString:='OUTROS'; end; // correção PADILHA TROCADO INDICE VARIAVEL "ii" para "iii" FieldByName('Serie').AsString:=idDocAnt.Items[i].idDocAntPap.Items[iii].serie; // correção PADILHA TROCADO INDICE VARIAVEL "ii" para "iii" FieldByName('nDoc').AsString:=intToStr(idDocAnt.Items[i].idDocAntPap.Items[iii].nDoc); // correção PADILHA TROCADO INDICE VARIAVEL "ii" para "iii" FieldByName('dEmi').AsString:=FormatDateTime('dd/mm/yyyy',idDocAnt.Items[i].idDocAntPap.Items[iii].dEmi);// correção PADILHA TROCADO INDICE VARIAVEL "ii" para "iii" end; post; end; for iii := 0 to idDocAnt.Items[ii].idDocAntEle.Count-1 do begin Append; FieldByName('CNPJCPF').AsString:=CNPJCPF; FieldByName('xNome').AsString:=xNome; FieldByName('UF').AsString:=UF; with idDocAnt.Items[ii].idDocAntEle.Items[iii] do begin FieldByName('Tipo').AsString:='CT-e'; FieldByName('Chave').AsString:=chave; FieldByName('Serie').AsString:=copy(chave,23,3); FieldByName('nDoc').AsString:=copy(chave,26,9); FieldByName('dEmi').AsString:=copy(chave,5,2)+'/'+copy(chave,3,2); end; post; end; end; end; end; end; end;
×
×
  • 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.

The popup will be closed in 10 segundos...