Ir para conteúdo
  • Cadastre-se

LUMORAES

Membros
  • Total de ítens

    56
  • Registro em

  • Última visita

Tudo que LUMORAES postou

  1. Ola boa tarde Italo. Eu estava importando o XML para gravar em disco e estava fazendo da seguinte forma: DM.QCuringa2.Close; DM.QCuringa2.SQL.Text:='Insert Into nfe_eventos(id_nfe,xml,data,protocolo,historico,chave,codigo_status,ambiente)'; DM.QCuringa2.SQL.Add('Values(:id_nfe,:xml,:data,:protocolo,:historico,:chave,:codigo_status,:ambiente)'); DM.QCuringa2.ParamByName('id_nfe').AsInteger :=dm.QCuringa.FieldByName('id_nfe').AsInteger; DM.QCuringa2.ParamByName('Xml').LoadFromFile(DM_NFE.ACBrNFe1.NotasFiscais.Items[0].NomeArq,ftMemo); DM.QCuringa2.ParamByName('data').AsDateTime :=DM_NFE.ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.dhRecbto; DM.QCuringa2.ParamByName('Protocolo').AsString :=DM_NFE.ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.nProt; DM.QCuringa2.ParamByName('Chave').AsString :=DM_NFE.ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.chNFe; DM.QCuringa2.ParamByName('codigo_status').AsInteger:=DM_NFE.ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.cStat; (...) Ai nao estava gravando o dhRecbto, nProt, chNFe e cStat (isto vindo do XML autorizado) ai mudei o codigo para: with DM_NFE.ACBrNFe1.NotasFiscais.Items[0].NFe do begin DM.QCuringa2.Close; DM.QCuringa2.SQL.Text:='Insert Into nfe_eventos(id_nfe,xml,data,protocolo,historico,chave,codigo_status,ambiente)'; DM.QCuringa2.SQL.Add('Values(:id_nfe,:xml,:data,:protocolo,:historico,:chave,:codigo_status,:ambiente)'); DM.QCuringa2.ParamByName('id_nfe').AsInteger :=dm.QCuringa.FieldByName('id_nfe').AsInteger; DM.QCuringa2.ParamByName('Xml').LoadFromFile(DM_NFE.ACBrNFe1.NotasFiscais.Items[0].NomeArq,ftMemo); DM.QCuringa2.ParamByName('data').AsDateTime :=procNFe.dhRecbto; DM.QCuringa2.ParamByName('Protocolo').AsString :=procNFe.nProt; DM.QCuringa2.ParamByName('Chave').AsString :=procNFe.chNFe; DM.QCuringa2.ParamByName('codigo_status').AsInteger:=procNFe.cStat; end; ai neste caso veio as informações corretamente, agora eu pergunto , nao seria a mesma coisa fazendo a referencia direto ou usando o With??????????? Grato
  2. Ola boa tarde Italo. Mas isto vc faz automaticamente , ou seja, ao ocorrer um time out vc automaticamente gera uma consulta e trata isto , ou se deixa para o usuario tratar isto manualmente??? Agora por exemplo estou num cliente e notamos que esta muito lento para enviar, demora muito, antes na versao 2.1 era rapido o envio. Tem algum outro parametro para aplicar??? Grato
  3. Preciso saber como tratar o envio da Nfe qdo ocorrer um time out no envio. Me ocorreu com varios cliente da minha empresa que ao enviar deu uma certa demora e ocorreu um time out ai nao grava o retorno e ao tentar enviar novamente retorna que esta em duplicidade, Ai eu tento consultar com a chave fala que nao exista na base. Entao eu preciso saber: - Qual o melhor parametro pra intervalo de tentativas e numero de tentativas. - Como tratar o envio. Veja meu codigo: Try DM_NFE.ACBrNFe1.Enviar(0,False); // inserir evento na tabela nfe_eventos DM.QCuringa.Close; DM.QCuringa.SQL.Text:='Insert Into nfe_eventos(id_nfe,xml,data,protocolo,historico,chave,codigo_status,ambiente)'; DM.QCuringa.SQL.Add('Values(:id_nfe,:xml,:data,:protocolo,:historico,:chave,:codigo_status,:ambiente)'); DM.QCuringa.ParamByName('id_nfe').AsInteger :=QNotaid_nfe.AsInteger; DM.QCuringa.ParamByName('Xml').Value :=DM_NFE.ACBrNFe1.NotasFiscais.Items[0].XML; DM.QCuringa.ParamByName('data').AsDateTime :=DM_NFE.ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.dhRecbto; DM.QCuringa.ParamByName('Protocolo').AsString :=DM_NFE.ACBrNFe1.WebServices.Retorno.Protocolo; DM.QCuringa.ParamByName('Chave').AsString :=DM_NFE.ACBrNFe1.WebServices.Retorno.ChaveNFe; DM.QCuringa.ParamByName('codigo_status').AsInteger:=DM_NFE.ACBrNFe1.WebServices.Retorno.cStat; DM.QCuringa.ParamByName('ambiente').AsInteger :=QNotaambiente.AsInteger; If QNotaambiente.AsInteger=1 then DM.QCuringa.ParamByName('historico').AsString :='ENVIO DA NFE EM PRODUCAO' else DM.QCuringa.ParamByName('historico').AsString :='ENVIO DA NFE EM HOMOLOGAÇÃO'; DM.QCuringa.ExecSQL; //enviar email DM_NFE.EnviaEmailACBRDireto(QNotaid_nfe.AsInteger,'SUA NFE '+QNotanf.AsString); end; //imprimir DM_NFE.ACBrNFe1.NotasFiscais.Imprimir; except on e:Exception do begin btnEnviar.Enabled:=True; if (DM_NFE.ACBrNFe1.WebServices.Retorno.cStat=105) or (pos('LOTE EM PROCESSAMENTO',uppercase(e.message))>0) then begin // caso ocorra um erro o sistema salva a chave para futuras consultas DM.QCuringa.Close; DM.QCuringa.SQL.Text:='Insert Into nfe_eventos(id_nfe,data,historico,chave,codigo_status,ambiente)'; DM.QCuringa.SQL.Add('Values(:id_nfe,:data,:historico,:chave,:codigo_status,:ambiente)'); DM.QCuringa.ParamByName('id_nfe').AsInteger :=QNotaid_nfe.AsInteger; DM.QCuringa.ParamByName('data').AsDateTime :=Date; DM.QCuringa.ParamByName('Chave').AsString :=xChave; DM.QCuringa.ParamByName('codigo_status').AsInteger:=DM_NFE.ACBrNFe1.WebServices.Retorno.cStat; DM.QCuringa.ParamByName('ambiente').AsInteger :=QNotaambiente.AsInteger; DM.QCuringa.ParamByName('historico').AsString :='LOTE EM PROCESSAMENTO'; DM.QCuringa.ExecSQL; end ELSE begin DM.QCuringa.Close; DM.QCuringa.SQL.Text:='Insert Into nfe_eventos(id_nfe,data,historico,chave,codigo_status,ambiente)'; DM.QCuringa.SQL.Add('Values(:id_nfe,:data,:historico,:chave,:codigo_status,:ambiente)'); DM.QCuringa.ParamByName('id_nfe').AsInteger :=QNotaid_nfe.AsInteger; DM.QCuringa.ParamByName('data').AsDateTime :=Date; DM.QCuringa.ParamByName('Chave').AsString :=xChave; DM.QCuringa.ParamByName('codigo_status').AsInteger:=DM_NFE.ACBrNFe1.WebServices.Retorno.cStat; DM.QCuringa.ParamByName('ambiente').AsInteger :=QNotaambiente.AsInteger; DM.QCuringa.ParamByName('historico').AsString :='OCORREU UM ERRO AO ENVIAR'; DM.QCuringa.ExecSQL; end; end; end; Grato
  4. LUMORAES

    Como Tratar O Envio Da Nfe

    Preciso saber como tratar o envio da Nfe qdo ocorrer um time out no envio. Me ocorreu com varios cliente da minha empresa que ao enviar deu uma certa demora e ocorreu um time out ai nao grava o retorno e ao tentar enviar novamente retorna que esta em duplicidade, Ai eu tento consultar com a chave fala que nao exista na base. Entao eu preciso saber: - Qual o melhor parametro pra intervalo de tentativas e numero de tentativas. - Como tratar o envio. Veja meu codigo: Try DM_NFE.ACBrNFe1.Enviar(0,False); // inserir evento na tabela nfe_eventos DM.QCuringa.Close; DM.QCuringa.SQL.Text:='Insert Into nfe_eventos(id_nfe,xml,data,protocolo,historico,chave,codigo_status,ambiente)'; DM.QCuringa.SQL.Add('Values(:id_nfe,:xml,:data,:protocolo,:historico,:chave,:codigo_status,:ambiente)'); DM.QCuringa.ParamByName('id_nfe').AsInteger :=QNotaid_nfe.AsInteger; DM.QCuringa.ParamByName('Xml').Value :=DM_NFE.ACBrNFe1.NotasFiscais.Items[0].XML; DM.QCuringa.ParamByName('data').AsDateTime :=DM_NFE.ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.dhRecbto; DM.QCuringa.ParamByName('Protocolo').AsString :=DM_NFE.ACBrNFe1.WebServices.Retorno.Protocolo; DM.QCuringa.ParamByName('Chave').AsString :=DM_NFE.ACBrNFe1.WebServices.Retorno.ChaveNFe; DM.QCuringa.ParamByName('codigo_status').AsInteger:=DM_NFE.ACBrNFe1.WebServices.Retorno.cStat; DM.QCuringa.ParamByName('ambiente').AsInteger :=QNotaambiente.AsInteger; If QNotaambiente.AsInteger=1 then DM.QCuringa.ParamByName('historico').AsString :='ENVIO DA NFE EM PRODUCAO' else DM.QCuringa.ParamByName('historico').AsString :='ENVIO DA NFE EM HOMOLOGAÇÃO'; DM.QCuringa.ExecSQL; //enviar email DM_NFE.EnviaEmailACBRDireto(QNotaid_nfe.AsInteger,'SUA NFE '+QNotanf.AsString); end; //imprimir DM_NFE.ACBrNFe1.NotasFiscais.Imprimir; except on e:Exception do begin btnEnviar.Enabled:=True; if (DM_NFE.ACBrNFe1.WebServices.Retorno.cStat=105) or (pos('LOTE EM PROCESSAMENTO',uppercase(e.message))>0) then begin // caso ocorra um erro o sistema salva a chave para futuras consultas DM.QCuringa.Close; DM.QCuringa.SQL.Text:='Insert Into nfe_eventos(id_nfe,data,historico,chave,codigo_status,ambiente)'; DM.QCuringa.SQL.Add('Values(:id_nfe,:data,:historico,:chave,:codigo_status,:ambiente)'); DM.QCuringa.ParamByName('id_nfe').AsInteger :=QNotaid_nfe.AsInteger; DM.QCuringa.ParamByName('data').AsDateTime :=Date; DM.QCuringa.ParamByName('Chave').AsString :=xChave; DM.QCuringa.ParamByName('codigo_status').AsInteger:=DM_NFE.ACBrNFe1.WebServices.Retorno.cStat; DM.QCuringa.ParamByName('ambiente').AsInteger :=QNotaambiente.AsInteger; DM.QCuringa.ParamByName('historico').AsString :='LOTE EM PROCESSAMENTO'; DM.QCuringa.ExecSQL; end ELSE begin DM.QCuringa.Close; DM.QCuringa.SQL.Text:='Insert Into nfe_eventos(id_nfe,data,historico,chave,codigo_status,ambiente)'; DM.QCuringa.SQL.Add('Values(:id_nfe,:data,:historico,:chave,:codigo_status,:ambiente)'); DM.QCuringa.ParamByName('id_nfe').AsInteger :=QNotaid_nfe.AsInteger; DM.QCuringa.ParamByName('data').AsDateTime :=Date; DM.QCuringa.ParamByName('Chave').AsString :=xChave; DM.QCuringa.ParamByName('codigo_status').AsInteger:=DM_NFE.ACBrNFe1.WebServices.Retorno.cStat; DM.QCuringa.ParamByName('ambiente').AsInteger :=QNotaambiente.AsInteger; DM.QCuringa.ParamByName('historico').AsString :='OCORREU UM ERRO AO ENVIAR'; DM.QCuringa.ExecSQL; end; end; end; Grato
  5. Ola amigos queria saber se ja esta disponivel o acbr instaal pro delphi xe3 grato
  6. eu tambem estou fazendo testes no ambiente de homologacao em SP e so retorna erro nao catalogado como devo resolver iisto???
×
×
  • 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...