Ir para conteúdo
  • Cadastre-se

MSOFT

Membros
  • Total de ítens

    43
  • Registro em

  • Última visita

Posts postados por MSOFT

  1. Caro Tiago boa noite!

    Você de pegar o exemplo que segue o acbrnfe e ver os passo que você tem que seguir primeiro. Veja no exemplo primeiro Gerar NFe é neste momento que você vai preencher os campos do componente com seu dados da sua base de dados como os dados da venda e de seus respectivos itens, impostos e formas de pagamento.

    Depois disso e validar, assinar e enviar a NFe ou NFCe que você gerou no componente.

  2. Caro Fabrício vá ate a propriedade Gera > ExibirErroSchema do componente ACBRNFe coloque false.

    se não ele não vai cair na exeção nunca. Dai você pode criar uma variável para guardar o estado do retorno do webservice para poder tratar o erro de acordo com o número do erro retornado.

     try
            cChaveNFCe := Copy( dm.ACBrNFe.NotasFiscais.Items[0].NFe.infNFe.ID, 4, 44 );
            dm.ACBrNFe.Enviar( pNumNota, True, False );
          except
            vNFCeStatus  := DM.ACBrNFe.WebServices.Retorno.cStat;

            case vNFCeStatus of
              100 ://nota fiscal autorizada dentro do prazo de 24 horas
              begin
                // NOTA FISCAL AUTORIZADA PARA USO
              end;
              150 ://nota fiscal autorizada fora do prazo de 24 horas
              begin

                end;

              204, 539 : //duplicidade da nfce
              begin

                end;
              end;
            end;
            Mensagem := Trim(
            Format('Chave:%s'#13'Protocolo: %s'#13'Recibo: %s'#13'Nº Nota: %d ', [
            dm.acbrnfe.NotasFiscais.Items[0].NFe.procNFe.chNFe,
            dm.acbrnfe.NotasFiscais.Items[0].NFe.procNFe.nProt,
            formatdatetime('dd/mm/yyyy hh:mm:ss', dm.acbrnfe.NotasFiscais.Items[0].NFe.procNFe.dhRecbto ),
            dm.acbrnfe.NotasFiscais.Items[0].NFe.Ide.cNF
              ] )
            );

    Dependendo do erro você poderá tratar de acordo o mesmo. Espero que tenha ajudado. Contribuir de verdade tem que ser nosso lema

    • Curtir 2
  3. Antônio e Celso muito obrigado pelas dicas. Mas, o problema esta sendo que quando coloco:

    try

    ACBRNFe.enviar( pLote, true );

    except

    Aqui como pegar o status do retorno da nota que não vem nada quando ocorre algum erro na conexão?

    //minha rotina para colocar caso senha duplicidade

    //minha rotina em caso de aceita

    //minha rotina em caso já esta na sefaz

    end;

  4. Boa tarde galera!

    Feliz de esta aqui participando junto a todos. Estou com uma dúvida que venho tentando resolver a um bom tempo que é o erro de duplicidade na NFCe, há momentos em que o componente não recebe o retorno da cefaz onde tento emitir novamente daí ja da o erro de duplicidade.

    Já procurei li bastante no fórum onde percebi que há muitas discussões em na verdade nenhuma definição de como resolver. Alguém poderia ajudar a quem esta com esta dúvida por favor e principalmente a mim.

    Caso esta dúvida já tenha postado no forum me desculpe é que estou desde ontem a procura da mesma e não obtive sucesso em minha pesquisa.

    Atenciosamente,

    Maurício R. Costa

  5. Os schemas do seu sistema esta atualizado. Deverá ser apenas isto. Aconteceu comigo quando migrei.

    Dentro da pasta onde vc baixou o trunck2 do acbr procure ...Exemplos\ACBrDFe\Schemas\NFe, dentro desta peque os novos esquemas e coloque dentro da pasta schemas de seus sistema que acho que resolverá.

    Atenciosamente,

    Maurício R. Costa

  6. Se alguém tiver este problema vou posta a qui a minha solução. Não é obrigado fazer instalação de nenhum componente.

    Na cláusula uses coloque pngimage e o código ficou assim:

    var
      Stream: TMemoryStream;
     png: TPngImage;
    begin
      Stream:= TMemoryStream.Create;
      try
        dmnfe.acbrcnsltcnpj.Captcha(Stream);

        png:= TPngImage.Create;
        try
          png.LoadFromStream(Stream);
          Image1.Picture.Assign(png);

          EditCaptcha.Clear;
          EditCaptcha.SetFocus;
        finally
          png.Free;
        end;
      finally
        Stream.Free;
      end;

  7. Esta acontecendo comigo do mesmo jeito. Quando configuramos para uma porta virtual da impressora dá ok exemplo COM4, menos o espaçamento entre linhas na bemtech mp-4200 não muda mas, quando vc configura para um compartilhamento exemplo \\caixa\imp-mp4200, funciona a largura entre linhas mas quando vc imprime uma impressão exemplo conta para conferência ele imprime lentamente e as vezes perde a impressão ou seja imprime pela mentade. No EscPos ele não imprime em rede.

    Outra coisa que percebi é o alinhamento a direita que não imprime de jeito nenhum, já tentei de tudo.

  8. A tag de alinhamento a direita não esta funcionando no ACBrPosPrinter. Mesmo no demo já teste de várias maneiras e só imprime alinhado a esquerda.

    No exemplo esta errado a tag de alinhamento a direita pois a mesma esta assim:

    </fn></ad>ALINHADO A DIREITA

    Se esta correto não esta funcionando. Ou estou fazendo algo errado! Alguém teve o mesmo problema?

  9. Galera pesquisei bastante também pelo fórum e nada.

    Daí fiz da seguinte maneira mas, mesmo assim percebo que não esta 100%.

    Cinto que o pessoal fica omitindo esclarecer certos assuntos aqui no fórum. Na verdade omitindo. Não entendo se este é feito para compartilhar conhecimentos.

    Na verdade acho que utilizam de má fé.

    Desculpa galera. Acadei desabafando e não postei o código:

                  vChaveNFCE := Copy( dm.ACBrNFe.NotasFiscais.Items[0].NFe.infNFe.ID, 4, 44 );
                  QryNumNota.ParamByName('idvenda').AsInteger      := pIdVenda;
                  QryNumNota.ParamByName('chave_nfce').AsString    := vChaveNFCE;
                  QryNumNota.ParamByName('dt_emis_nfce').AsDate    := dm.ACBrNFe.NotasFiscais.Items[0].Nfe.Ide.dEmi;
                  QryNumNota.ParamByName('hr_emis_nfce').AsTime    := dm.ACBrNFe.NotasFiscais.Items[0].Nfe.Ide.hSaiEnt;
                  QryNumNota.ParamByName('hr_gerou_nfce').AsTime   := DM.ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.dhRecbto;
                  QryNumNota.ParamByName('dt_gerou_nfce').AsDate   := DM.ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.dhRecbto;
                  //verificar como pegar o retorno
                  QryNumNota.ParamByName('num_recibo').AsString    := datetimetostr( dm.ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.dhRecbto );
                  QryNumNota.ParamByName('num_protocolo').AsString := dm.ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.nProt;
                  //verificar como pegar o retorno
                  QryNumNota.ParamByName('status_nfce').AsString   := inttostr( dm.ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.cStat );
                  QryNumNota.ParamByName('desc_status').AsString   := '';
                  QryNumNota.ParamByName('ambiente_nfce').AsString := TpAmbToStr( dm.ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.tpAmb );
                  QryNumNota.ParamByName('modelo').AsString        := inttostr( dm.ACBrNFe.NotasFiscais.Items[0].Nfe.Ide.modelo );
                  QryNumNota.ParamByName('serie').AsString         := inttostr( dm.ACBrNFe.NotasFiscais.Items[0].Nfe.Ide.serie );
                  QryNumNota.ParamByName('resposta').AsString      := dm.ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.xMotivo;
                  QryNumNota.ParamByName('contingencia').AsString  := 'C';//nota confirma e online
                  QryNumNota.ParamByName('num_nfce').asinteger     := pNumNota;
                  //salvar o path do xml
                  vPathXml := dm.ACBrNFe.Configuracoes.Arquivos.PathNFe + fCNPJEmp + '\NFCe\' + formatdatetime('yyyymm', now) + '\NFCe\' + vChaveNFCE + '-nfe.xml' ;
                  QryNumNota.ParamByName('path_xml').AsString      := vPathXml;//nota off line e não enviada
                  //fim o path no bando de dados
                  QryNumNota.ExecSQL( false );
                  dm.GravaXmlNFe( pIdVenda,  dm.ACBrNFe );//guardar o xml no banco de dados

  10. Galera boa tarde!

    Após migrar para um trunck2, fui compilar minha aplicação desenvolvida em delphi xe esta dando erro em uma função PosEx que esta na unit acbrdevice. A função dá como não identificada. Mas percebo que esta contem na unit ACBrUtil. Já vi vários tópicos encontrei o do amigo que comentava que retirou a função desta unit e colocou em uma unit que ele criou no seu próprio projeto com funções peculiares. Não o fiz porque acho que compromete os demais componentes acbr.

    Alguém esta passando ou passou por este problema após migrar para o trunck2?

  11. Galera boa tarde!

    Após migrar para um trunck2, fui compilar minha aplicação desenvolvida em delphi xe esta dando erro em uma função PosEx que esta na unit acbrdevice. A função dá como não identificada. Mas percebo que esta contem na unit ACBrUtil. Já vi vários tópicos encontrei o do amigo que comentava que retirou a função desta unit e colocou em uma unit que ele criou no seu próprio projeto com funções peculiares. Não o fiz porque acho que compromete os demais componentes acbr.

    Alguém esta passando ou passou por este problema após migrar para o trunck2?

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