Jump to content

Luis Ricardo

Usuários SAC
  • Content Count

    114
  • Joined

  • Last visited

Community Reputation

15 Good

About Luis Ricardo

  • Rank
    Membro
  • Birthday 02/08/1966

Profile Information

  • Sexo
    Masculino
  • Localização
    Tupã - SP.

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Bom dia, Juliomar deu certo, agora é acertar o resto do sistema, ai que seria sem o SAC do acbr, parabéns e 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
  6. 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. Boa Noite, estou passando desta Forma a posição 107/108 Titulo. EspecieDoc := '23';ou não é este campo ?
  9. 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 CB200916.REM
  10. Boa Tarde, Italo creio que esta revolvido, fiz alguns teste e mudanças no código segue em anexo. fico grato pela orientação. mdf-e.txt
  11. boa Tarde, desculpa qto ao código, vou fazer alguns testes se der certo posto aqui
  12. 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;
  13. boa noite, segue anexo o xml 35170807921708000124580010000000461760466397-mdfe.xml
  14. boa noite, Ao transmitir o arquivo XML do MDF ele da o erro 217 conforme figura abaixo
  15. Boa tarde, Então a principio o que estou fazendo está correto, já é um começo, vou rever as demais linhas de código grato
×
×
  • Create New...