Ir para conteúdo
  • Cadastre-se

Túlio de Pádua

Membros
  • Total de ítens

    106
  • Registro em

  • Última visita

Posts postados por Túlio de Pádua

  1. Não Juliana. Mas não é a mesma coisa, pois são dois exes diferentes. Seria o mesmo que eu executar minha aplicação por duas vezes diferentes para testar os comprovantes, e isso me daria um teste positivo. O problema é quando dois tipos são gerados em sequência, o segundo sai estragado.

    Vou tentar gerar um exe com apenas a geração dos comprovantes e ver se ocorre o problema.

    • Curtir 1
  2. Olá,

     

    há algumas semanas após atualizar os fontes do ACBr, meu sistema passou a gerar Invalid Barcode onde deveria ser impresso o código de barras do DAMDFe em Fast Report, e também no DACTe em Fast.

     

    1828733302_Anotao2020-05-04110201.jpg.3c09d9296eb0ccd6c6b1b4c900140ad0.jpg

     

    Se após a abertura do sistema, for gerado um DAMDFe, ele é gerado corretamente, e vai dar problema com os DACTes.

    Se após a abertura do sistema, for gerado um DACTe, ele é gerado corretamente, e vai dar problema com os DAMDFes.

    Ou seja, o segundo modelo de comprovante é o que vai ser gerado com problemas.

    O que já fiz: removi e reinstalei os fontes do ACBr; removi e instalei os fontes mais novos do ACBr; removi e reinstalei meu Fast Report. Nada deu certo.

    Não consigo achar uma lógica para isso ocorrer, se alguém já passou por algo assim, ou tenha alguma ideia.

     

  3. Olá,

     

    estou com um problema após atualizar o ACBr, fazia uns meses desde a última atualização.

    A instalação do ACBr ocorre corretamente, seja manual pacote a pacote ou pelo instalador. Entretanto, ao tentar dar build na minha aplicação é gerado esse erro.

    Inicialmente gerava dizendo que o pacote 'ACBr_DFeComum' deveria ser recompilado. Cheguei a apagar no meu fonte o uso do componente ACBrNFe, deixando apenas o ACBrMail, e ao tentar recompilar é gerado dizendo que o 'ACBr_TCP' deve ser recompilado.

    Ou seja, o primeiro componente encontrado declarado na uses ele gera no erro.

    Já reinstalei o ACBr várias vezes, inclusive baixei hoje novamente. Ao reinstalar marco as opções de copiar as dlls e de apagar os arquivos antigos, mas na minha aplicação sempre dá esse erro. Voltando pra última versão que usava, tudo funciona corretamente.

    Já revisei o libray path do Delphi pa conferir se não tinha caminho inválido ou levando pra alguma pasta que pudesse causar isso, mas está tudo certo.

    Utilizo Delphi 7. Se alguém já passou por isso ou tem alguma sugestão pra dar, obrigado.

  4. Percebi que o DANFCe em Fortes A4 não estava exibindo a chave de acesso para notas em contingência off-line. No local da chave era exibida a frase "NFC-E NÃO ENVIADA PARA SEFAZ".

    No fonte a verificação para a impressão desse label está incorreta:

    procedure TfrmACBrDANFCeFortesFrA4.RLLabel37BeforePrint(Sender: TObject;
      var Text: string; var PrintIt: Boolean);
    begin
      Text := FormatarChaveAcesso(OnlyNumber(self.FACBrNFeDANFCeFortesA4.FpNFe.infNFe.ID));
    
      if FACBrNFeDANFCeFortesA4.FpNFe.procNFe.cStat = 0 then
      begin
        Text  := ACBrStr('NFC-E NÃO ENVIADA PARA SEFAZ');
        RLLabel37.Font.Color := clRed;
      end;
    end;

    Está verificando apenas o cStat. Adaptei para ficar conforme os demais modelos, onde verifica também o tipo de emissão:

    procedure TfrmACBrDANFCeFortesFrA4.RLLabel37BeforePrint(Sender: TObject;
      var Text: string; var PrintIt: Boolean);
    begin
      Text := FormatarChaveAcesso(OnlyNumber(self.FACBrNFeDANFCeFortesA4.FpNFe.infNFe.ID));
    
      if (FACBrNFeDANFCeFortesA4.FpNFe.Ide.tpEmis = teNormal) and (FACBrNFeDANFCeFortesA4.FpNFe.procNFe.cStat = 0) then
      begin
        Text  := ACBrStr('NFC-E NÃO ENVIADA PARA SEFAZ');
        RLLabel37.Font.Color := clRed;
      end;
    end;

    Arquivo em anexo.

    ACBrDANFCeFortesFrA4.pas

    • Curtir 1
  5. 54 minutos atrás, BigWings disse:

    É realmente necessário um arquivo fr3 separado?

    Vi que teve outras alterações no fr3 além dos dados do modal aquaviário

     

    Não precisaria não, esse tem o que os outros possuem, eu não removi nada nem acrescentei nada que o deixaria inconsistente. Foram alterações do aquaviário e algumas melhorias na exibição do seguro da carga também.

  6. Olá,

    ao gerar alguns CTes cujo destinatário é do exterior, em alguns casos eu obtinha rejeição de validação do schema, pois o município e UF do endereço do destinatário estavam em branco.

    Após algumas pesquisas encontrei esse tópico aqui no fórum, e ele trata do mesmo problema que estou enfrentando:

    https://www.projetoacbr.com.br/forum/topic/38258-utilização-de-typed-constants-nos-componentes/?tab=comments#comment-251004

    O tópico é antigo, de 2017 e não teve nenhum comentário. Apliquei a solução que foi proposta na época e funcionou corretamente. Declarar as constantes apenas com o nome e valor, sem a tipagem.

    Resolvi alterar os arquivos PCN dos documentos fiscais e colocar aqui, caso se ache a correção satisfatória eles podem ser mesclados no SVN.

    As constantes necessárias para determinação da cidade/uf do exterior eram desse modo:

      CMUN_EXTERIOR: Integer = 9999999;
      XMUN_EXTERIOR: String  = 'EXTERIOR';
      UF_EXTERIOR: String    = 'EX';

    Após a alteração ficaram desse modo:

      CMUN_EXTERIOR = 9999999;
      XMUN_EXTERIOR = 'EXTERIOR';
      UF_EXTERIOR   = 'EX';

     

    pcnBPe.pas pcnNF3e.pas pcnNFe.pas pcteCTe.pas pmdfeMDFe.pas pnfsNFSe.pas

    • Curtir 1
  7. Olá,

    percebi que o modelo de DANFCe em FortesReport bobina está com a margem direita incorreta. Isso faz com que haja uma quebra de linha onde não deveria.

    Anexei duas imagens, a 'DANFCe_Antes'  foi impressa com o ACBr atual e mostra esse problema, se observarem no grupo dos itens, há um espaço à direita não utilizado.

    A imagem 'DANFCe_Depois' foi impressa após eu fazer a correção. Observem que o a linha do item é impressa até o final.

    Apenas alterei o arquivo dfm desse relatório (ACBrDANFCeFortesFr) colocando a RightMargin da band 'rlbDetItem' igual a zero, antes estava com valor oito.

    Se alguém puder validar e incorporar nos fontes. Não fiz alteração para Lazarus pois não trabalho com ele, se alguém puder implementar e testar, é uma mudança simples.

     

    Grato. 

    DANFCe_Antes.jpg

    DANFCe_Depois.jpg

    ACBrDANFCeFortesFr.dfm

    • Curtir 3
  8. 7 minutos atrás, BigWings disse:

    Obrigado pelo interesse em contribuir.

    Não me pareceu correto ignorar descontos e acréscimo no valor a pagar.

    O mais correto seria usar a tag vNF como valor a pagar, da mesma forma como é feito no DANFE em EscPos. A soma de vProd + vServ seria o valor total.

    @BigWings, erro meu, você está certo. Eu citei que havia feito conforme o DANFCe em EscPos mas está diferente. O EscPos gera o valor a pagar com o vNF. Alterei para ficar igual.

    A ideia é justamente essa, deixar igual ao EscPos, que busca o valor da tag, em vez de fazer conta e correr risco de deixar a soma diferente do XML.

    Anexei com essa alteração.

    Obrigado.

    ACBrNFeDANFEFRDM.pas

    • Curtir 2
  9. Olá, realizei algumas alterações no layout do DANFCe bobina desenvolvido em Fast. Renomeei o arquivo para "DANFeNFCe5_00.fr3", o adaptando conforme o Manual de Padrões versão 5.0, o último liberado pelo Encat.

    Foram necessárias algumas alterações na unit ACBrNFeDANFEFRDM.pas também. No seguintes locais:

    1) Na geração do valor a pagar, conforme:

    Antes:

    FieldByName('ValorApagar').AsFloat  := VProd - VDesc - vICMSDeson + VOutro;

    Agora:

    FieldByName('ValorApagar').AsFloat  := VProd + FNFe.Total.ISSQNtot.vServ;

    Deixei como já está no modelo EscPos, que imagino ser o mais usado e consequentemente o mais apurado. Não concordo com fazer cálculos na impressão do Danfe, os cálculos já devem ser feitos ao gerar o XML.

    2) No preenchimento do nome do cliente:

    Antes:

    if EstaVazio(FieldByName('CNPJCPF').AsString) then
      FieldByName('Consumidor').AsString := ACBrStr('CONSUMIDOR NÃO IDENTIFICADO')
    else
      FieldByName('Consumidor').AsString := IfThen(Length(CNPJCPF) = 11, 'CPF: ', 'CNPJ: ') + Trim(FieldByName('CNPJCPF').AsString) + ' ' + trim(FieldByName('XNome').AsString);

    Agora:

    if EstaVazio(FieldByName('CNPJCPF').AsString) then
      FieldByName('Consumidor').AsString := ACBrStr('CONSUMIDOR NÃO IDENTIFICADO')
    else
      FieldByName('Consumidor').AsString := IfThen(Length(CNPJCPF) = 11, 'CONSUMIDOR CPF: ', 'CONSUMIDOR CNPJ: ') + Trim(FieldByName('CNPJCPF').AsString) + ' ' + trim(FieldByName('XNome').AsString);

    Apenas inseri o prefixo "CONSUMIDOR" antes do CPF ou do CNPJ do cliente.

    3) Na geração do texto da área de mensagem fiscal:

    Antes:

    if (FNFe.Ide.Modelo = 65) then
    begin
      FieldByName('DEmi').AsString := FormatDateTimeBr(FNFe.Ide.DEmi);
      if FNFe.Ide.TpAmb = taHomologacao then
        FieldByName('MensagemFiscal').AsString := ACBrStr('EMITIDA EM AMBIENTE DE HOMOLOGAÇÃO - SEM VALOR FISCAL')
      else
      begin
        if (FNFe.Ide.tpEmis <> teNormal) and EstaVazio(FNFe.procNFe.nProt) then
          FieldByName('MensagemFiscal').AsString := ACBrStr('EMITIDA EM CONTINGÊNCIA'+LineBreak+'Pendente de autorização')
        else
          FieldByName('MensagemFiscal').AsString := ACBrStr('ÁREA DE MENSAGEM FISCAL');
      end;
    
     . . . .

    Agora:

    if (FNFe.Ide.Modelo = 65) then
    begin
      FieldByName('DEmi').AsString := FormatDateTimeBr(FNFe.Ide.DEmi);
    
      if (FNFe.Ide.tpEmis <> teNormal) and EstaVazio(FNFe.procNFe.nProt) then
        FieldByName('MensagemFiscal').AsString := ACBrStr('EMITIDA EM CONTINGÊNCIA'+LineBreak+'Pendente de autorização');
    
      if FNFe.Ide.TpAmb = taHomologacao then
        FieldByName('MensagemFiscal').AsString := FieldByName('MensagemFiscal').AsString+LineBreak+LineBreak+ACBrStr('EMITIDA EM AMBIENTE DE HOMOLOGAÇÃO - SEM VALOR FISCAL');
    
      if EstaVazio(FieldByName('MensagemFiscal').AsString) then
        FieldByName('MensagemFiscal').AsString := ACBrStr('ÁREA DE MENSAGEM FISCAL');
    
    . . . . 

    Alterei para que a frase "EMITIDA EM CONTINGÊNCIA Pendente de autorização" seja gerada sempre que a NFCe estiver pendente, independente do ambiente utilizado (produção ou homologação)

     

    Se alguém puder validar e encaminhar ao repositório.

    ACBrNFeDANFEFRDM.pas DANFeNFCe5_00.fr3

  10. Fui implementar o modelo de DANFCe em Fast DANFeNFCe4_20, e obtive o erro abaixo ao tentar visualizá-lo:

    "Script Error at 22:9: Undeclared identifier: 'Memo25' "

    Não sei se alguém está utilizando esse layout, mas o erro se deve ao trecho abaixo no fonte desse modelo:

    Citar

    procedure PageHeader1OnBeforePrint(Sender: TfrxComponent);
    begin
      ChildContingenciaCabecalho.Visible := <Identificacao."TpEmis"> = 9;
      ChildContingenciaIdentificacao.Visible := ChildContingenciaCabecalho.Visible;
      Memo25.Visible := not(ChildContingenciaCabecalho.Visible);
    end;

    A última linha se refere a um componente que não existe, "Memo25". Remvi a linha, fiz algumas impressões e não constatei algum componente que correspondesse (talvez o componente existisse mas apenas o nome estava errado).

    Enfim, estou anexando o arquivo, se alguém puder dar uma olhada e subir.

     

    Grato.

    DANFeNFCe4_20.fr3

    • Curtir 1
  11. Ontem final da tarde a Sefaz/MG parece ter consertado esse problema. 

    Se enviar o XML dentro dos requisitos (CST 060 e não consumidor final) continua dando a rejeição 938.

    Mas ao gerar as tags zeradas (alterei meu fonte do ACBr pra isso), a Nfe foi aceita corretamente.

    Ou seja, me parece que o fonte do ACBr deverá ser alterado retirando essas regras, e o programador deverá colocar no seu ERP essas validações para gerar quando necessário.

    Mais alguém conseguiu sucesso e concorda com essa minha suposição?

  12. 14 minutos atrás, Adair Filho disse:

    Boa tarde PessoALL.

    Estava com o mesmo problema e consegui resolver, removendo os certificados da "Autoridade Certificadora" da raiz confiavel e instalando o pacote novamente. Sem mexer o certificado do cliente.

    Link que utilizei para download: http://redeicp.blob.core.windows.net/downloads/InstaladorCadeiaV2.exe

    é Necessário ter o Framework 3.5 instalado no Windows 10 para instalar este pacote de Cadeia.

    Até mais, espero tambem ajudar à voces!

    Exato. Fazendo isso deu certo.

    Testado com A1 e também com A3. Não alterei meu sistema, continua usando capicom.

    Valeu pessoal.

    • Curtir 1
    • Obrigado 1
  13. 15 minutos atrás, Gerson Crisostomo disse:

    Teria como informar quais atualizações do windows fez?
    Estamos com varios clientes com o mesmo erro (28/03/2019), e todos no Win10, acredito que e por causa de alguma atualização automatica feita pelo proprio Windows10.

    N histórico de atualizações tenho essas:

    KB4483452
    KB4486553
    KB4489907
    KB4489899

    Tentei removê-las mas não deu certo de voltar a funcionar não.

×
×
  • 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.