Ir para conteúdo
  • Cadastre-se

MSOFT

Membros
  • Total de ítens

    43
  • Registro em

  • Última visita

Posts postados por MSOFT

  1. Bom tarde galera estou enfretando o seguinte problema ao tentar gerar uma nota em modo homologação mas infelizmente esta dando este erro.

     

    image.png.db5ce776e08e6fe7a0a83b3efec02ee9.png

    Pelo que entendo esta dando erro nas seguintes tags:

      InfoPgto.indPag := ipVista;
      InfoPgto.tPag   := fpDinheiro;

    Mas estou passando certinho é tanto que esta no xmls conforme em anexo. Alguém poderia me ajudar por favor.

     

    25200314915137000180550010000000021737453211-nfe.xml

  2. Boa noite galera. Só pra deixar claro a situação foi resolvida problema no meu código com relação ao estado de emissão da nota. Ao tentar fazer alguns testes tinha colocado a opção offline como defult e na nota colocava online o negócio pirou meu cabeção aqui. bem, esta tudo ok com relação a isso. Obrigado pela atenção de todos aqui.

    • Curtir 2
  3. Gente estou enfrentando um problema no sistema após atualização do acbr. Bem, após atualização no dm.ACBrNFe.Enviar sempre gera uma exeção quando a nota é enviada em modo online;

    Já quando faço de modo offline vai normal. Depois utilizando a mesma rotina de enviar a nota esta indo ok não vem nenhuma exceção.

    Pega o recibo o status vem 100 tudo ok.

    Todas que tendo enviar online vem com exceção o xmls vem todo ok com estatus da nota 100 tudo perfeito mais o componente entra na exeção.

    Ao enviar offline vai udo ok não dá erro algum como comentei acima. Depois vou em reenviar e tudo ok.

  4. O erro de memória esta ocorrendo quando fecho o sistema e esta dando o erro no momento que passa nesta linha

    destructor TACBrNFeDANFCeFortes.Destroy;
    begin
      FFonteLinhaItem.Free;
      inherited Destroy ;
    end;

    Estou tentando ver o que posso para poder repassar e ajudar Daniel blz!

    Na verdade nesta aqui

    destructor TACBrNFeDANFCeFortes.Destroy;
    begin
      FFonteLinhaItem.Free;
      inherited Destroy ;
    end;

  5. Daniel começou a aparecer erro de memória depois que instalei a nova versão do acbr. Outra coisa toda nota que envio vai xml volta tudo ok nota enviada estatus 100 mais o componente trás status 103 como lote recebido? Mas no xmls estatus 100.

    Vários teste toda nota esta acontecendo isso! XML tudo ok mas o componente retorna status 103.

  6. Galera atualizei o acbr e antes estava tudo ok. Após atualização do acbr o sistema começou a dar uma exeção porta não definida que não dava isso antes.

    Toda NFC-e q8ue tendo emitir da este erro. Vejo o xmls esta tudo ok enviada e status 100. O sistema da a exeção e não conlcui a nota só na segunda tentativa que eu tinha tratado e vejo que a nota ja existe daí consulto e gravo os dados.

  7. Após concluir a pré homologação galera fui testar o sistema no cliente e no meu computador que possui o emulador do sitef esta tudo ok. Já no cliente quando chega na função ACBRTED.CRT() lógico com seus parâmetros corretos não abre o formulário com as formas de recebimentos que estão disponíveis no demo e dá a mensagem Sitef sem conexão.

    Aguém já passou por isso?

  8. Boa noite Tiago. Vou te passar como uso aqui caso não te ajude pode entrar em contato que posso tentar lhe ajudar pois o ruim e ficar sem ajuda. O que vou te passar abaixo e como faço caso não entende é só teclar cara.

    function TDM.ConfiguraNFCe_PosPrinter( pMiniImpr,
      pAbreGaveta: boolean): boolean;//nfce
    begin
      if ( pMiniImpr = true ) then
      begin
        if not DM.acbrpsprntr.Ativo then
        begin
          try
            ACBrNFeDANFeESCPOS.ACBrNFe := acbrnfe;
            {DM.acbrpsprntr.Modelo          := TACBrPosPrinterModelo( strtoint( fModeloImp ) );//0 texto - 1 epson -2 Bematech -3 Daruma -4 elgin -5 Diebold
            DM.acbrpsprntr.Device.Porta    := fPortaImp;
            DM.acbrpsprntr.Device.Baud     := StrToInt( fBaudeImp );
            DM.acbrpsprntr.IgnorarTags     := false;}
            //faz com que o componente abra e feche a porta conforme a necessidade automaticamente
            //novo para teste
            DM.acbrpsprntr.Modelo                     := TACBrPosPrinterModelo( strtoint( fModeloImp ) );
            DM.acbrpsprntr.Porta                      := fPortaImp;
            DM.acbrpsprntr.Device.Porta               := fPortaImp;
            DM.acbrpsprntr.ArqLOG                     := '';
            DM.acbrpsprntr.LinhasBuffer               := 0;
            DM.acbrpsprntr.LinhasEntreCupons          := fLinEntreCupom;
            DM.acbrpsprntr.EspacoEntreLinhas          := fEspEntreLinha;
            DM.acbrpsprntr.ColunasFonteNormal         := fNumColunas;
            DM.acbrpsprntr.ControlePorta              := false;
            DM.acbrpsprntr.TraduzirTags               := true;
            DM.acbrpsprntr.IgnorarTags                := false;
            DM.acbrpsprntr.CortaPapel                 := true;
            DM.acbrpsprntr.PaginaDeCodigo             := TACBrPosPaginaCodigo( 2 );//TACBrPosPaginaCodigo( cbxPagCodigo.ItemIndex );
            //gaveta
            if ( fECFGaveta = true ) then
            begin
              DM.acbrpsprntr.ConfigGaveta.SinalInvertido:= fECFSinalInvert;
              DM.acbrpsprntr.ConfigGaveta.TempoON       := 50;
              DM.acbrpsprntr.ConfigGaveta.TempoOFF      := 200;
            end;
            //gaveta
            DM.acbrpsprntr.ConfigBarras.MostrarCodigo := false;//cbHRI.Checked;
            DM.acbrpsprntr.ConfigBarras.LarguraLinha  := 0;//seBarrasLargura.Value;
            DM.acbrpsprntr.ConfigBarras.Altura        := 0;//seBarrasAltura.Value;
            DM.acbrpsprntr.ConfigBarras.Margem        := 0;//seBarrasAltura.Value;
            DM.acbrpsprntr.ConfigBarras.MostrarCodigo := false;

            DM.acbrpsprntr.ConfigQRCode.Tipo          := 2;//seQRCodeTipo.Value;
            DM.acbrpsprntr.ConfigQRCode.LarguraModulo := 4;//seQRCodeLarguraModulo.Value;
            DM.acbrpsprntr.ConfigQRCode.ErrorLevel    := 0;//seQRCodeErrorLevel.Value;

            DM.acbrpsprntr.ConfigLogo.KeyCode1        := 32;//seLogoKC1.Value;
            DM.acbrpsprntr.ConfigLogo.KeyCode2        := 32;//seLogoKC2.Value;
            DM.acbrpsprntr.ConfigLogo.FatorX          := 1;//seLogoFatorX.Value;
            DM.acbrpsprntr.ConfigLogo.FatorY          := 1;//seLogoFatorY.Value;
            DM.acbrpsprntr.ConfigLogo.IgnorarLogo     := true;//seLogoFatorY.Value;
            //fin novo para teste
            DM.acbrpsprntr.Ativar;   //novo para teste
            //novo para teste
          except
            on E: Exception do
              application.MessageBox( pchar('erro nao ativar o impressãio ' + E.Message), pchar('Atenção!'), mb_ok + MB_ICONERROR);
          end;
        end;
        if ( ( pAbreGaveta = true ) and ( pMiniImpr = true ) ) then
          DM.acbrpsprntr.AbrirGaveta;
      end;
    end;


    function TDM.ConfigurarNFCe_Imp( pOffiLine, pAbreGaveta : boolean ): boolean;
    var
      vIngTagsForm, vImpUmaLinha, ImpDescAcres,
      vDANFERes : boolean;
      cNumVisas : smallint;
    begin
      try
        cNumVisas := 1;
        result := false;
        try

            if ( pMiniImpr = true ) then
            begin
              dm.PosPrinterConfigurarPorta;
              //dm.PosPrinterConfigurarPorta;
              {DM.acbrpsprntr.Modelo          := TACBrPosPrinterModelo( strtoint( fModeloImp ) );//0 texto - 1 epson -2 Bematech -3 Daruma -4 elgin -5 Diebold
              DM.acbrpsprntr.Device.Porta    := fPortaImp;
              DM.acbrpsprntr.Device.Baud     := StrToInt( fBaudeImp );
              DM.acbrpsprntr.IgnorarTags     := vIngTagsForm;
             //faz com que o componente abra e feche a porta conforme a necessidade automaticamente
              DM.acbrpsprntr.ControlePorta   := false;}
              if pOffiLine = true then
              begin
                while cNumVisas <= 2 do
                begin
                  DM.ACBrNFe.DANFE.ImprimirItens              := vDANFERes;
                  DM.ACBrNFeDANFeESCPOS.ImprimeEmUmaLinha     := vImpUmaLinha;
                  DM.ACBrNFeDANFeESCPOS.ImprimeDescAcrescItem := ImpDescAcres;

                  if ( cNumVisas = 1 ) then
                    DM.ACBrNFeDANFeESCPOS.ViaConsumidor       := true
                  else
                    DM.ACBrNFeDANFeESCPOS.ViaConsumidor       := false;

                  DM.ACBrNFeDANFeESCPOS.vTroco                := dm.vVlParaTroco;
                  DM.ACBrNFe.NotasFiscais[0].Imprimir;
                  cNumVisas := cNumVisas + 1;
                end;
              end
              else
              begin
                DM.ACBrNFe.DANFE.ImprimirItens              := vDANFERes;
                DM.ACBrNFeDANFeESCPOS.ImprimeEmUmaLinha     := vImpUmaLinha;
                DM.ACBrNFeDANFeESCPOS.ImprimeDescAcrescItem := ImpDescAcres;
                DM.ACBrNFeDANFeESCPOS.ViaConsumidor         := false;
                DM.ACBrNFeDANFeESCPOS.vTroco                := dm.vVlParaTroco;
                DM.acbrpsprntr.Ativar;
                DM.ACBrNFe.NotasFiscais[0].Imprimir;
              end;
              if ( ( pAbreGaveta = true ) and ( pMiniImpr = true ) ) then
                DM.acbrpsprntr.AbrirGaveta;
            end;

          end;
          qryConfNFeImp.close;
          result := true;
        except
          result := false;
        end;
      finally
        DM.acbrpsprntr.Desativar;
      end;
    end;

  9. Quando se quer fazer em uma mesma aplicação do SpedFiscal e o PisCofins usando os respectivos componentes do ACBR no momento da versão do ACBRPisCofins ele não aceita as versões do mesmo pois as units ACBrEFDBlocos e ACBrEPCBlocos estão na uses e daí o projeto só aceita as versões do fiscal.

    Atenciosamente,

    Maurício R. Costa

  10. Antes de enviar coloque estes dois códigos que concerteza resolverá seu problema.

      // validar o schema da NFCe
      try
        ACBrNFe1.NotasFiscais.Validar;
      except
        on E: Exception do
        begin
          raise Exception.Create(
            IfThen(
              ACBrNFe1.NotasFiscais.Items[0].ErroValidacao <> '',
              ACBrNFe1.NotasFiscais.Items[0].ErroValidacao,
              E.Message
            )
          );
        end;
      end;

      // validação das regras de negócio, as validações seguem o manual da NFCe
      ACBrNFe1.NotasFiscais.ValidarRegrasdeNegocios(ErrosRegraNegocio);
      if ErrosRegraNegocio <> '' then
        raise Exception.Create(ErrosRegraNegocio);

  11. Obrigado Juliomar pela sua atenção mais uma vez!

    Vi o vídeo e gostei bastante, mas agora fiquei com uma dúvida?

    É melhor tratar o duplicidade como geralmente todos até o momento fazem no exeption do enviar verificamos o retorno do webservice caso não haja consultar e verificar o retorno da consulta para daí tomar a decisão de reenviar ou de guardar os dados consultados e ou agora fazer o que o André mostra no vídeo que é coisa nova pois, cheguei dá uma olhada nos exemplos que segue nos componentes e nenhum tem o tratamento no evento que ele mostra no vídeo.

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