Ir para conteúdo
  • Cadastre-se

wagner_fix

Membros
  • Total de ítens

    218
  • Registro em

  • Última visita

Tudo que wagner_fix postou

  1. Italo bom dia... Explico: As vezes (não é todos meus clientes), ele vai enviar o CT-e para o sefaz ele envia, mas não retorna o XML com o protocolo e da Timeout. O que acontece no meu sistema? Quando ele envia e me da o retorno de sucesso... Eu atualizo o meu banco de dados falando que foi enviado com protocolo, chave e etc... Mas quando da timeout (sem me retornar o xml atualizado do sefaz), o meu banco de dados não atualiza e ele fica pronto para enviar novamente, ai quando o usuário vai tentar enviar novamente (nesse momento ele gera um novo XML) e quando retorna o status de cte duplicado e eu tento corrigir pelo o consultar ele fala que o DigestValue está diferente. Consegui explicar? Grato, Wagner
  2. Italo realmente foi isso que aconteceu... Então no caso se o sistema fizer uma nova tentativa de envio para ele checar o status (ele vai gerar um novo XML). O LoadFromFile e Consultar não vai funcionar né? Grato, Wagner
  3. Bom dia a todos eu estou com o mesmo problema... E alguns minutos atrás recebi mais um e-mail de cliente falando que o contador reclamou de xml sem o número de protocolo... Eu segui a dica do Italo para fazer manualmente, funcionou perfeitamente aqui AbrirCte.Title := 'Selecione o CTe'; AbrirCte.DefaultExt := '*-cte.xml'; AbrirCte.Filter := 'Arquivos CTe (*-cte.xml)|*-cte.xml|Arquivos XML (*.xml)|*.xml|Todos os Arquivos (*.*)|*.*'; AbrirCte.InitialDir := PathMensal; if AbrirCte.Execute then begin ACBrCTe1.Conhecimentos.Clear; ACBrCTe1.Conhecimentos.LoadFromFile(AbrirCte.FileName); ACBrCTe1.Consultar; end; Só que se eu quiser que o meu sistema detecta que está com o status 204 duplicidade e peço para o sistema arrumar sozinho ele dá um erro DigestValue do documento número do cte não confere. Alguém pode me dar uma dica como eu arrumo isso? Grato, Wagner
  4. Bom dia Italo, obrigado pela resposta... Pois é, os cliente colocam um padrão na empresa e para não perdemos temos que dar novas opções... Tive que fazer isso via programação fora do componente... Abraço, Wagner
  5. wagner_fix

    Nome do Arquivo XML e PDF

    Pessoal boa noite. Hoje uma cliente me ligou pedindo uma alteração no sistema que o cliente dela está exigindo receber o XML e PDF apenas com o número do ct-e e não com a chave complera. Por exemplo: se fosse o cte 10500... O arquivo tem que ser 10500.xml ew 10500.pdf Procurei no fórum e não encontrei nada, o componente me da essa possibilidade? Grato, Wagner
  6. Liguei no suporte e ele resolveu. Obrigado desde já pela ajuda. Grato, Wagner
  7. Fiz tudo isso e não funcionou, coloquei esse certificado na minha máquina e foi de primeira. Não sei mais o que eu faço com a maquina com problema. Grato, Wagner
  8. wagner_fix

    Chave Privada

    Olá pessoal boa tarde tudo bem? Estou desde ontem a tarde tentando resolver um problema na minha cliente. Ela tinha um certificado A3 venceu e ela comprou o A1 da Valid. Eu instalei via site conforme contava no manual, pronto de lá pra cá não consigo mais emitir NF-e, sempre fica dando o mesmo erro: Falha ao obtrer a Chave Privada do Certificado para Assinatura. Pesquisei em vários fóruns, principalmente aqui e não encontrei nada, só um tópico com o mesmo assunto mas eu fiz os procedimentos e não funcionou. Passos que já fiz: Instalei toda a cadeia de certificado, instalei todas as atualizações do windows, java atualizado, tudo atualizado. Alguém tem mais alguma dica? Grato, Wagner
  9. Bom dia @andremelim tenho um exemplo aqui que eu uso no meu sistema... É só adaptar pelo o que você precisa... (Nesse meu caso estou pegando campos de uma NF-e, mas para o CT-e a lógica é a mesma só mudar os nomes dos campos) var vXMLDoc: TXMLDocument; NodePrim, NodePai, NodePriEmi, NodePaiEmi, NodeCabecalho, NodePrim2, NodePai2, NodePai3, Nocab2, NodePrim3, NodePai4, NodePai5, Nocab3, NodePrim4, NodePai6, NodePai7, NodePai8, NodePai9, Nocab4 : IXMLNode; AuxChave, AuxData, AuxPesoB, AuxVNF : String; AuxPeso : Boolean; begin vXMLDoc := TXMLDocument.Create(self); AbrirXML.Title := 'Selecione o XML'; AbrirXML.DefaultExt := '*.xml'; AbrirXML.Filter := 'Arquivos XML (*.xml)|*.xml|Arquivos XML (*.xml)|*.xml|Todos os Arquivos (*.*)|*.*'; if AbrirXML.Execute then begin if (Application.MessageBox('Deseja Pegar o Peso Bruto? (Sim = Peso Bruto - Não = Peso Líquido)','Pergunta',MB_YESNO+MB_ICONQUESTION) = IDNO) then AuxPeso := False else AuxPeso := True; vXMLDoc.LoadFromFile(AbrirXML.FileName); //Le Arquivo Recibo XML'); vXMLDoc.Active := True; NodePrim := vXMLDoc.DocumentElement.ChildNodes.FindNode('protNFe'); NodePai := NodePrim.ChildNodes.FindNode('infProt'); NodePriEmi := vXMLDoc.DocumentElement.ChildNodes.FindNode('NFe'); NodePaiEmi := NodePriEmi.ChildNodes.FindNode('infNFe'); NodeCabecalho := NodePaiEmi.ChildNodes['ide']; NodePrim2 := vXMLDoc.DocumentElement.ChildNodes.FindNode('NFe'); NodePai2 := NodePrim2.ChildNodes.FindNode('infNFe'); NodePai3 := NodePai2.ChildNodes.FindNode('transp'); Nocab2 := NodePai3.ChildNodes['vol']; NodePrim3 := vXMLDoc.DocumentElement.ChildNodes.FindNode('NFe'); NodePai4 := NodePrim3.ChildNodes.FindNode('infNFe'); NodePai5 := NodePai4.ChildNodes.FindNode('total'); Nocab3 := NodePai5.ChildNodes['ICMSTot']; NodePrim4 := vXMLDoc.DocumentElement.ChildNodes.FindNode('NFe'); NodePai6 := NodePrim4.ChildNodes.FindNode('infNFe'); NodePai7 := NodePai6.ChildNodes.FindNode('transp'); Nocab4 := NodePai7.ChildNodes.FindNode('vol'); AuxChave := NodePai.ChildNodes['chNFe'].text; AuxChave := FormataChave(AuxChave); txtChave.Text := Trim(AuxChave); txtChaveExit(Self); AuxData := NodeCabecalho.ChildNodes['dhEmi'].text; txtEmissao.Text := Copy(AuxData,9,2)+'/'+Copy(AuxData,6,2)+'/'+Copy(AuxData,1,4); if (AuxPeso = True) then AuxPesoB := NoCab4.ChildNodes['pesoB'].text else AuxPesoB := NoCab4.ChildNodes['pesoL'].text; AuxPesoB := StringReplace(AuxPesoB, '.', ',', [rfReplaceAll]); txtPBruto.Text := FormatFloat('###,##0.000', StringFloat(AuxPesoB)); txtPCalc.Text := Trim(txtPBruto.Text); AuxVNF := Nocab3.ChildNodes['vNF'].text; AuxVNF := StringReplace(AuxVNF, '.', ',', [rfReplaceAll]); txtVlNota.Text := FormatFloat('###,##0.00', StringFloat(AuxVNF)); txtVolume.Text := FormatFloat('###,##0.000', StringFloat(Nocab4.ChildNodes['qVol'].text)); txtDtPrev.SetFocus;
  10. Boa tarde @Juliomar Marchetti obrigado pela resposta... Segue em anexo o XML. Grato, Wagner 35181208220962000168580010000002131568585336-mdfe.pdf
  11. wagner_fix

    Dúvida Damdfe

    Olá pessoal boa tarde tudo bem? Sexta 14/12 meu cliente me questionou sobre o damdfe que não está saindo o número do CIOT e os dados do vale pedágio, mas eu tenho passado os dados para alimentar o componente. Percebi que o campo do CIOT nem sai no layout do Damdfe, o vale pedágio chega a sair, mas não mostra os dados. (imagem em anexo). E o meu cliente está dizendo que os postos fiscais estão começando a exigir esses dados, atualizei o componente e continua da mesma forma, será que tenho feito algo de errado? Como estou alimentando o componente. {======== Dados do CIOT ===========================================} with DM.SqlAux5 do begin LimpaSQL(DM.SqlAux5); SQL.Add('SELECT * FROM CTE68 WHERE (CODC = :xCODC) ORDER BY ID'); Parameters.ParamByName('xCODC').Value := sNrMDFe; Open; First; end; while not DM.SqlAux5.eof do begin with rodo.infANTT.infCIOT.Add do begin CIOT := Trim(DM.SqlAux5.FieldByName('CIOT').AsString); CNPJCPF := RetiraCarac(Trim(DM.SqlAux5.FieldByName('DOC').AsString)); end; DM.SqlAux5.Next; end; {======== Dados dos Vale Pedagios =========================================} with DM.SqlAux5 do begin LimpaSQL(DM.SqlAux5); SQL.Add('SELECT * FROM CTE69 WHERE (CODC = :xCODC) ORDER BY ID'); Parameters.ParamByName('xCODC').Value := StrToInt(sNrMDFe); Open; First; end; while not DM.SqlAux5.eof do begin with rodo.valePed.disp.Add do begin CNPJForn := RetiraCarac(Trim(DM.SqlAux5.FieldByName('CNPJF').AsString)); nCompra := Trim(DM.SqlAux5.FieldByName('NUMC').AsString); vValePed := DM.SqlAux5.FieldByName('VALOR').AsFloat; if (DM.SqlAux5.FieldByName('TIPO').AsInteger = 0) then CNPJPg := RetiraCarac(Trim(DM.SqlAux5.FieldByName('CNPJR').AsString)); if (DM.SqlAux5.FieldByName('TIPO').AsInteger = 1) then CNPJPg := RetiraCarac(Trim(DM.SqlAux5.FieldByName('CNPJR').AsString)); end; DM.SqlAux5.Next end; Delphi XE8 Relatório Fortes Report. Agradeço dese já, Wagner
  12. @Italo Jurisato Junior como sempre muito obrigado pela resposta e me mostrar o meu erro. Realmente estou fazendo da forma que você citou acima... Vou alterar esse cMDF e cCT agora mesmo. Abraço, Wagner
  13. Achei o problema. Essa linha: Ide.cMDF estava comentada. Alterei o meu sistema para ela receber o número do mdfe e deu tudo certo. Obrigado pessoal pela ajuda. Grato, Wagner
  14. @Italo Jurisato Junior obrigado pela resposta. Eu acho que não fui muito claro na minha pergunta. Vou tentar explicar um pouco a mais. Na verdade eu estou me referenciando ao número da chave aquele número de 44 dígitos. CT-e: Hoje no meu ct-e, na hora de tentar emitir. por exemplo coloquei o número do cnpj do destinatário incorreto, ele já gerou um XML para tentar emitir para o sefaz. Quando eu tento emitir novamente ele usa o mesmo número de chave. MDF-e: Vou tentar emitir, ele também gera um XML com a chave só que já erro de percurso por exemplo. Vou lá corrijo o percurso e tento emitir novamente. Quando eu vou tentar emitir novamente o meu programa gera uma nova chave e um novo XML. Gostaria que ele não mudasse o número da chave para cada tentativa de emissão do MDF-e. Será que eu consegui explicar agora? Obrigado, Wagner
  15. wagner_fix

    Chave do MDFE

    Bom dia pessoal tudo bem? Desculpe se esse tópico for repetido mas na pesquisa eu não achei nada. No meu sistema quando tente emitir um MDF-e por exemplo: Quando da algum erro de emissão, e quando eu vou tentar novamente ele gera um novo número de XML, e isso não ocorre com o meu ct-e. É possível evitar isso? Deixar um número sempre fixo que nem o ct-e? Grato, Wagner
  16. Coloquei zeros, para não expor o meu CPF.... Grato, Wagner
  17. Fiz isso 2 vezes, quando abro o form e quando clico no botão para procurar o arquivo .ret. Grato
  18. @Juliana Tamizou obrigado pela resposta... Já tentei colocar como True ou False e continua com o mesmo erro... E como disse acima, os meus boletos são feito no meu nome de pessoa física de cpf não emito pelo o cnpj... Grato, Wagner
  19. wagner_fix

    Ajuda ao ler Retorno

    Pessoal boa noite, já faz uns 8 meses que tenho gerado arquivo remessa C400 do itaú para enviar para os meus clientes e até hoje sem problemas... Mas para facilitar minha vida por falta de tempo queria ler o retorno para dar baixa automática, mas não estou conseguindo alguém poderia me ajudar? Antes de dar o comando eu preencho o componente assim: procedure TForm020BoletoRetorno.ConfiguraBoleto; begin ACBrBoleto.Cedente.Agencia := '2222'; ACBrBoleto.Cedente.AgenciaDigito := '0'; ACBrBoleto.Cedente.CaracTitulo := tcSimples; ACBrBoleto.Cedente.ResponEmissao := tbCliEmite; ACBrBoleto.Cedente.TipoCarteira := tctEletronica; ACBrBoleto.Cedente.TipoInscricao := pFisica; ACBrBoleto.Cedente.CodigoCedente := ''; ACBrBoleto.Cedente.Conta := '19999'; ACBrBoleto.Cedente.ContaDigito := '7'; ACBrBoleto.Cedente.Nome := Trim('MEU NOME COMPLETO'); ACBrBoleto.Cedente.CNPJCPF := '000.000.000-00'; end; E para fazer a leitura tenho feito assim... if AbrirRet.Execute then begin ConfiguraBoleto; ACBrBoleto.NomeArqRetorno := AbrirRet.FileName; ACBrBoleto.LerRetorno; for i := 0 to ACBrBoleto.ListadeBoletos.Count-1 do begin if ACBrBoleto.ListadeBoletos.Objects[i].ValorRecebido > 0 then begin if (nRow > 1) then sgBoleto.Rowcount := sgBoleto.Rowcount + 1; sgBoleto.Cells[0,nRow] := Trim('Sim'); sgBoleto.Cells[1,nRow] := DateToStr(ACBrBoleto.ListadeBoletos.Objects[i].DataBaixa); sgBoleto.Cells[2,nRow] := FloatToStr(ACBrBoleto.ListadeBoletos.Objects[i].ValorRecebido); sgBoleto.Cells[3,nRow] := ACBrBoleto.ListadeBoletos.Objects[i].NossoNumero; DM.SqlAux1.Next; sgBoleto.Refresh; end; Close; end; end; Ao ler o retorno, da a seguinte mensagem: CNPJ inválido... Ou seja, já informei para o meu componente que sou Pessoa Física, mas não tem jeito. Alguém tem uma luz? Grato, Wagner
  20. Boa tarde, meu cliente foi multado sexta por esse mesmo motivo. Alterei o meu sistema para ele jogar os dados do seguro na observação. Abraço, Wagner (engraçado: No layout que o sefaz determina não tem os dados do seguro, e o pessoal multa o caminhão por não ter as informações. Típico brasil, ferrar o trabalhador!)
  21. Obrigado @Fábio Eduardo de Souza irei usar essas configurações com o meu cliente... Muito obrigado, Abraco, Wagner
  22. @Fábio Eduardo de Souza boa noite. Estou enfrentando o mesmo problema que você... Nas configurações dos Webservices você pode informar os valores que jogou para cada componente que mencionou acima? acbr.Configuracoes.WebServices.Tentativas? acbr.Configuracoes.WebServices.IntervaloTentativas? acbr.Configuracoes.WebServices.AguardarConsultaRet? acbr.Configuracoes.WebServices.AjustaAguardaConsultaRet? Desde já agradeço, Abraço, Wagner
  23. @Italo Jurisato Junior Consegui resolver o problema, Minha carta de correção sempre funcionou, como disse, semana passada parou de funcionar... Comecei a comparar novamente o código e vi que o meu código não tinha essa linha: infevento.tpEvento := teCCe; Só não entendi como sempre funcionou, Desculpem pessoal falha minha. Grato, Wagner
  24. Bom dia @Italo Jurisato Junior Segue em anexo os XML. 1-ped-eve.xml 1-ped-eve-soap.xml Grato, wagner
  25. Obrigado Julio... Pessoal vocês tem emitido carta de correção normalmente? Emissão SP? Grato, Wagner
×
×
  • 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...