Ir para conteúdo
  • Cadastre-se

Luis Ricardo

Membros Pro
  • Total de ítens

    118
  • Registro em

  • Última visita

Posts postados por Luis Ricardo

  1. Boa tarde!

    Seguinte, estou desenvolvendo um sistema mobile para a emissão de NFC-e. O cenário é o seguinte, o meu cliente precisa da aplicação para realizar vendas fora da empresa, ou seja, ele carrega o caminhão e sai realizando vendas de porta em porta. É necessário que a emissão do NFC-e aconteça, porque é no estado do RN, mas dependendo do local onde ele estiver, não haverá conexão alguma com a internet, talvez uma conexão de 3g, mas nem é bom contar com isso. Até então, consegui resolver tudo pelo tablet, geração, emissão do cupom, tudo de forma offline. Entretanto, agora chegou a hora de colocar o certificado digital no qrcode. A pergunta, eu consigo realmente realizar a emissão de forma offline, ou é necessário de fato estar pareado com um computador? Pergunto porque existem certificados mobile, mas não sei exatamente como funciona.

    Obrigado.

  2. Bom dia,

    Através do ACBrNFe já estou gravando os XML das Nota na Base de Dados (Firebird) conforme o comando abaixo:

    F_DMdados2.sdsXMLDanfe.ParamByName('XMLDANFE').AsMemo := F_DMdados.ACBrNFe1.NotasFiscais.Items[0].XMLOriginal;

    até ai tudo bem, verifiquei na Base é esta todos lá

    Agora estou com dificuldade de recuperar e mesmo XML através do ACBrNFe, assim eu posso imprimir enviar para o cliente sem ter que estar no PC onde fica o certificado e os XML salvo em pastas

    quem puder ajudar um grande abraço. 

  3. Boa tarde,

    Pelo que entendi até agora e que está dando rejeição quando é informado as Placa do veículo e Estado ex: “CUE-4066” “SP” e a placa do reboque quando for o caso, no meu sistema no estado de são Paulo está validando sem estas duas informações (das Placas dos veículos) mas somente em transporte próprio, quando é transportadora está validando com as placas dos veículos normalmente.

    Ou estou enganado ?

  4. Bom dia, a balança Toledo sempre vai precisar hardkey, isso nas rodoviárias,  vc vai ter que testar no cliente ou fazer como eu fiz, pedi uma mesa no cliente e fiquei até resolver.

    desculpa, tinha esquecido, em outro cliente tem uma toledo rodoviária mas na serial, foi pedido para toledo colocar uma placa serial no mostrador de peso, assim utilizei o ACBrbal com alguns ajuste não precisei da  hardkey, mas foi a mesma coisa fui até o cliente e terminei o desenvolvimento lá.

  5. Bom dia,

    Italo, a dica do josé foi fundamental, no caso especifico que o emitente(Vendedor de Mercadorias) não era o mesmo transportador mas o próprio cliente e quem transportava a compra no meu código estava omitindo o campo do xml  tpTransp = 2

    mas deu certo

     

     

    • Curtir 1
  6. Em 01/02/2017 at 15:06, Annio disse:

    Mesmo não mostrando o schemas, quando envio pelo certificado dar rejeição 454 dizendo que o proprietário deve ser TAC,  mas ele já está como tac (independente = 1). O que poderia ser ?

    Estou com o mesmo problema o que pode ser, no meu caso a empresa esta vendendo mercadoria e quem vem buscar a carga e o cliente que comprou(Distribuidor) o veículo e dele mesmo, a atualizei o schemas e os dados esta tudo certo.

     

    35171008006379000230580010000000211609960313-mdfe.xml

  7. Bom dia,

    quanto ao Titulo.CodigoMora := '1';  deu certo esta preenchendo na posição correta

    mas quanto a posição 107-108 estou tentando carregar com :

    Titulo.EspecieDoc := '23';

    informando desta forma no arquivo de remessa as posição fica em branco.

  8. Estou implementando uma cobrança automática em um sistema, onde gera boletos e arquivo de remessa, e retorno baixa automática, o problema esta dando inconsistência conforme e-mail do teste do banco.

    conteúdo do e-mail,

    1.    Analisamos o arquivo enviando mas o sistema reportou a mesma inconsistência.

    2.    Por favor, verifique que a linha correspondente ao seguimento P possui 239 colunas, quando deveria ter 240.

    3.    Finalizando, colocamo-nos a disposição para demais esclarecimentos.

     

    segue o arquivo do banco de orientação, creio que o problema seja na posição 107 e 108 

    e também o arquivo de remessa enviado para teste

     

     

    remessa Sicoob.png

    CB200916.REM

  9. bom dia,

    Italo seguindo sua orientação fiz algumas pesquisa, mudei a forma de pegar o status de retorno e realmente creio que estava mascarando o erro verdadeiro

    a forma de pegar o status de retorno que mudei está correto.

    segue abaixo copia do código que utilizo:

    procedure TF_Damdfe.lb_enviarClick(Sender: TObject);
    var
      aChaveMDF, aRecibo, aProtocolo, aMotivo, aDThora, aCancelada, aXml, NomeArq:String;
      StatusRetorno,cancelada,aStatusDAMDFE, aStatus, aEncerrado: string;
      controle:Integer;
    begin
      lb_enviar.Enabled := False;
      controle := 0;
      Me_Retorno.Clear;
      aStatus := 'DG';

      try
        F_DMdados.ACBrMDFe1.Enviar(CurrToStr(ce_numero.Value));

        aChaveMDF  := F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].chMDFe;
        aProtocolo := F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].nProt;
        aMotivo    := F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].xMotivo;
        aRecibo    := F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.nRec;
        aDThora    := DateToStr(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].dhRecbto);
    //    aStatusDAMDFE := IntToStr(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].cStat);
    //    StatusRetorno := IntToStr(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].cStat);

        //mudei para forma abaixo
        F_DMdados.ACBrMDFe1.WebServices.Recibo.Recibo := aRecibo;
        F_DMdados.ACBrMDFe1.WebServices.Recibo.Executar;
        aStatusDAMDFE := IntToStr(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].cStat);
        StatusRetorno := IntToStr(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].cStat);

        aCancelada := 'N';
        aEncerrado := 'N';

        if (StatusRetorno = '100') then
          begin
            aStatus    := 'TR';
            controle   := 1;
            F_Damdfe.GravaChaveMDF(aChaveMDF,conexao,aMotivo,aProtocolo,aRecibo,aDThora,aCancelada,aStatusDAMDFE,aStatus,aEncerrado);

            ShowMessage('Dados de Retorno da MDF-e salvo com Sucesso !');

            lb_Fechar.Enabled := True;
            lb_Fechar.SetFocus;
          end;
      except
        on E:Exception do
          begin
            aStatus    := 'DG';

            Me_Retorno.Clear;
            Me_Retorno.Lines.Add(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].chMDFe);
            Me_Retorno.Lines.Add(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].nProt);
            Me_Retorno.Lines.Add(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].xMotivo);
            Me_Retorno.Lines.Add(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.nRec);
            Me_Retorno.Lines.Add(DateToStr(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].dhRecbto));

            F_DMdados.ACBrMDFe1.WebServices.Recibo.Recibo := aRecibo;
            F_DMdados.ACBrMDFe1.WebServices.Recibo.Executar;
            Me_Retorno.Lines.Add(IntToStr(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].cStat));
            Me_Retorno.Lines.Add(IntToStr(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].cStat));
          end;
      end;

      if (StatusRetorno = '204') or (StatusRetorno = '220') then  // esta assim antes if (status = 'DG') then
        begin                                                     // creio que era isso, ele entrava novamente efetuava a consulta e omitia o erro 
          try
            XML := ed_chave.Text+ed_dv.Text+'-mdfe.xml';
            dire := Trim('C:\MDF_SAT\');
            MapeiaDiretorio(dire);

            F_DMdados.ACBrMDFe1.Manifestos.Clear;
            F_DMdados.ACBrMDFe1.Manifestos.LoadFromFile(arq_xml);
            F_DMdados.ACBrMDFe1.Consultar;

            aChaveMDF  := F_DMdados.ACBrMDFe1.WebServices.Consulta.protMDFe.chMDFe;
            aProtocolo := F_DMdados.ACBrMDFe1.WebServices.Consulta.protMDFe.nProt;
            aMotivo    := F_DMdados.ACBrMDFe1.WebServices.Consulta.protMDFe.xMotivo;
            aRecibo    := F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.nRec; // F_DMdados.ACBrNFe1.WebServices.Retorno.Recibo;// '';
            aDThora    := DateToStr(F_DMdados.ACBrMDFe1.WebServices.Consulta.protMDFe.dhRecbto);
            aCancelada := 'N';
            aEncerrado := 'N';
            aStatusDAMDFE := IntToStr(F_DMdados.ACBrMDFe1.WebServices.Consulta.protMDFe.cStat);
            StatusRetorno := IntToStr(F_DMdados.ACBrMDFe1.WebServices.Consulta.protMDFe.cStat);

            if (aChaveMDF <> '') then  // foi retirada vamos agusrdar
              begin
                aStatus    := 'TR';
                controle   := 1;
                F_Damdfe.GravaChaveMDF(aChaveMDF,conexao,aMotivo,aProtocolo,aRecibo,aDThora,aCancelada,aStatusDAMDFE,aStatus,aEncerrado);

                ShowMessage('Dados de Retorno da MDF-e salvo com Sucesso !');

                lb_Fechar.Enabled := True;
                lb_Fechar.SetFocus;
              end;
          except
            on E:Exception do
              begin
                ShowMessage('Erro ao Salvar os Dados da MDF-e Verifique!!! ' + E.Message);

                Me_Retorno.Clear;
                Me_Retorno.Lines.Add(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].chMDFe);
                Me_Retorno.Lines.Add(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].nProt);
                Me_Retorno.Lines.Add(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].xMotivo);
                Me_Retorno.Lines.Add(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.nRec);
                Me_Retorno.Lines.Add(DateToStr(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].dhRecbto));

                F_DMdados.ACBrMDFe1.WebServices.Recibo.Recibo := aRecibo;
                F_DMdados.ACBrMDFe1.WebServices.Recibo.Executar;
                Me_Retorno.Lines.Add(IntToStr(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].cStat));
                Me_Retorno.Lines.Add(IntToStr(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].cStat));

                lb_Fechar.Enabled := True;
                lb_Fechar.SetFocus;
              end;
          end;
        end;

      if (controle = 0) then
        begin
          F_DMdados2.cdsRegrasMDF.Close;
          F_DMdados2.cdsRegrasMDF.CommandText := 'SELECT * FROM NFE_REGRASVAL WHERE CODMSG = :CODMSG';
          F_DMdados2.cdsRegrasMDF.Params[0].AsInteger := StrToInt(StatusRetorno);
          F_DMdados2.cdsRegrasMDF.Open;

          if (F_DMdados2.cdsRegrasMDF.RecordCount <> 0) then
            begin
              try
                aChaveMDF  := F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].chMDFe;
                aProtocolo := F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].nProt;
                aMotivo    := F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].xMotivo;
                aRecibo    := F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.nRec;
                aDThora    := DateToStr(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].dhRecbto);

                F_DMdados.ACBrMDFe1.WebServices.Recibo.Recibo := aRecibo;
                F_DMdados.ACBrMDFe1.WebServices.Recibo.Executar;
                Me_Retorno.Lines.Add(IntToStr(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].cStat));
                Me_Retorno.Lines.Add(IntToStr(F_DMdados.ACBrMDFe1.WebServices.Retorno.MDFeRetorno.ProtMDFe.Items[0].cStat));

                aCancelada := 'N';
                aEncerrado := 'N';            
                aStatus    := 'DG';

                F_Damdfe.GravaChaveMDF(aChaveMDF,conexao,aMotivo,aProtocolo,aRecibo,aDThora,aCancelada,aStatusDAMDFE,aStatus,aEncerrado);

                ShowMessage('Dados de Retorno da MDF-e salvo com Sucesso !');
              except
                on E:Exception do
                  begin
                    ShowMessage('Erro ao Gravar dados de Retorno - Rejeição: Uso Denegado !!! ' + E.Message);

                    lb_Fechar.Enabled := True;
                    lb_Fechar.SetFocus;
                  end;
              end;
            end // deixar assim por enquanto 22/02/2015 agusrda
           else
            begin
              lb_Fechar.Enabled := True;
              lb_Fechar.SetFocus;
            end;
        end;


    end;

     

  10. Bom dia, 

    estou com o seguinte problema, tenho alguns clientes que precisa emitir de vez em quando MDFe, mas o problema que são Produtores Rurais, e a conexão da internet geralmente e via-Radio, e em alguns casos estão tento perda do protocolo (retorno)., a minha dificuldade e capturar este protocolo quando tenta transmitir e retorno erro de rejeição em duplicidade. estou tentando fazer assim :

    ACBrMDFe1.Manifestos.Clear;

    ACBrMDFe1.Manifestos.LoadFromFile(XML);

    ACBrMDFe1.Manifestos.Consultar;

     

    apos isso creio que deveria salvar o XML com o protocolo e já autorizado o uso

    ou será que estou fazendo algo errado 

     

    grato

     

     

     

  11. Obrigado! Barbosa, já deu certo.

    ate o momento onde usam o emissor da NF-e são produtor Rural, não existe vendas para consumidor final, então segundo o seus contadores não a necessidade de colocar, mas sempre tem um podem,  ai eu deixo para o usuário para decidir se coloca ou não as informações na NF-e, no futuro não podem dizer que o sistema não tinha a opção.  

  12. Bom dia!

    Juliomar, no fim de semana, quebrei a cabeça, como o sistema e usado para produtor rurais, para ser exato granja de ovos, tem que constar algumas informações padrão e dependendo do faturamento, acrescentar mais, este e o ultimo campo que o usuário vai preencher a medida que vai passando as fase de preenchimento da NF-e o sistema ja vai acrescentando em um campo memo, e no final caso precise colocar algo mais alem do padrão e finaliza a NF-e para criar o xml e transmitir. 

    o que estava ocorrendo que no meu caso as NF-e fica pendente para transmissão, se precisar alterar algo que faltou na nf-e o usuário pede fazer, a cada revisão e a validação e criação do xml e peço para visualizar a NF-e sem efeito fiscal (sem estar autorizada) e cria este espaço no campo obs.

    O mais interessante é que ex: o usuário pode transmitir mesmo assim, sem problema, ai na impressão da nf-e ja autorizada mas no mesmo modulo ainda sai a mesma coisa conforme imagem postada, mas no meu sistema tem um atalho para vc imprimir a qquer tempo as NF-e neste caso o campo sai perfeito tudo certinho.

    era isso que estava acontecendo.

    R E S O L V I D O

    Alterei meu código onde já vou colocando  as informações nos dados adicionais ex:

    var dadosinss

    estava assim:   dadosinss := ´O valor de R$ 265,00 da Contribuição do INSS 2,3% será recolhido pelo destinatário ´;

    agora fiz assim:  dadosinss := Trim(´O valor de R$ 265,00 da Contribuição do INSS 2,3% será recolhido pelo destinatário ´); 

    após isso não esta criando mais este espaço em branco.

    obrigado pela atenção

    mais uma duvida sobre este campo, gostaria de saber se tem como alterar o tamanha da fonte somente deste campo.

    mais uma vez obrigado.  

     

    • Curtir 1
  13. Bom dia,

    Estou com um problema nos dados adicionais complementares da NF-e, isso ocorre quando, termino de validar o XML e visualizo na Tela a impressão da DANFE ante de enviar para o Sefaz, assim o usuário pode verificar se deu tudo certo ou não, os dados adicionais não sai todo o de foi digitado.

    Mas mesmo que o usuário efetue a transmissão e de tudo certo, e neste impressão após a transmissão os dados adicionais complementares continua a não Sair.

    Mas depois do processo de transmissão e enviar por e-mail do xml ao cliente.

    No meu caso criei uma opção para que o usuário possa imprimir a Danfe a qquer momento, mas somente a transmissão e NF-e autorizadas.

    Como em um passe de magica todos os dados adicional complementar aparece.

    O problema e que os usuários estão reclamando pq na reimpressão sai e em outro não Sai.

    Grato

    NF.png

  14. Boa Tarde!

    Estou ajustando meu Sistema de NF-e que era usado apenas por Produtor Rural, em relação aos impostos aproximados a ser calculado, no caso dos clientes que tenho hoje, nenhum vende seus produtos a consumidor final, neste caso estaria desobrigado a devida informação na NF-e.

    Mas na versão anterior eu já tinha deixa campos caso alguém quisesse colocar a informação.

    Neste Ajuste estou automatizado deixando mais automático esta opção, porque devo abrir para outros tipos de atividade.

    Com o ACBrNFe e a Tabela do IBPT surgiram algumas duvidas. EX: ImpFed, ImpImportacao, ImpEst e ImpMunicial

    Tudo vai depender da origem do produto ex: estou revendendo produto de origem Nacional

    Devo calcular, ImpFederal, e Estadual.

    Ex: estou vendendo produto de origem Importados:

    Devo calcular ImpImportacao e Estadual.

    Ex: se for uma prestação de Serviços :

    Devo Calcular ImpFed e ImpMunicipal.

    Nesses ex. foi o que entendi, se não por favor fiquem a vontade para criticas

    grato

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