LUMORAES
Membros-
Total de ítens
56 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que LUMORAES postou
-
Como Tratar O Envio Da Nfe
LUMORAES replied to LUMORAES's tópico in NFe/NFCe - Nota Fiscal Eletrônica
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 -
Como Tratar O Envio Da Nfe
LUMORAES replied to LUMORAES's tópico in NFe/NFCe - Nota Fiscal Eletrônica
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 -
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
-
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
-
Ola amigos queria saber se ja esta disponivel o acbr instaal pro delphi xe3 grato
-
Sefaz SP - Homologacao - Erro não catalogado
LUMORAES replied to sandrobelarmino's tópico in ACBrNFe
eu tambem estou fazendo testes no ambiente de homologacao em SP e so retorna erro nao catalogado como devo resolver iisto???