-
Total de ítens
36 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Joselito Nascimento postou
-
Erro Ocorre No Ambiente De Produção E Não Em Homologação
Joselito Nascimento replied to Joselito Nascimento's tópico in ACBrNFe
Entendo... qual seria o melhor caminho a seguir para evitar a referida mensagem de erro ? -
Erro Ocorre No Ambiente De Produção E Não Em Homologação
Joselito Nascimento replied to Joselito Nascimento's tópico in ACBrNFe
Vou editar alguma coisa pra não ficar muito grande OK ? os UPDATES foram editados. msgEnvio := msgInicio + ' Preenchendo dados pós envio...'; with Dm1.QyAuxiliar do begin Close; if copy(CBoxTpMov.Text,1,1) = '1' then // Saida begin Sql.Text := 'UPDATE TbSaidaFiscal ... end else begin Sql.Text := 'UPDATE TbEntradaFiscal ... end; Parameters.ParamByName('NUMERONFISCAL').Value := Dm1.NFe.NotasFiscais.Items[0].NFe.Ide.nNF; Parameters.ParamByName('SERIENFISCAL').Value := IntToStr(Dm1.NFe.NotasFiscais.Items[0].NFe.Ide.serie); Parameters.ParamByName('FLGNFE').Value := 'E'; Parameters.ParamByName('PLACAVEICULO').Value := EdPlaca.Text; Parameters.ParamByName('UFPLACA').Value := EdUf.Text; Parameters.ParamByName('IDTRANSPORTADORA').Value := TbTransportadoraIDTransp.AsString; Parameters.ParamByName('DATASAIDA').Value := DatSai.Date; Parameters.ParamByName('CHAVENFE').Value := Dm1.NFe.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].chNFe; Parameters.ParamByName('PROTOCOLONFE').Value := m1.NFe.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].nProt; Parameters.ParamByName('NUMRECEBIMENTONFE').Value:= Dm1.NFe.WebServices.Retorno.NFeRetorno.nRec; Parameters.ParamByName('TIPOEMISSAONFE').Value := Dm1.sTipoEmissaoNFE; Parameters.ParamByName('DATAEMISSAO').Value := DatEmi.Date; ExecSQL; end; // seta canhoto da nfe Dm1.danfeRL.ExibirResumoCanhoto_Texto := 'EMISSÃO: ' + FormatDateTime('DD/MM/YYYY', Dm1.NFe.NotasFiscais.Items[0].NFe.Ide.dEmi) + ' - ' + 'DEST. / REM.: ' + Dm1.NFe.NotasFiscais.Items[0].NFe.Dest.xNome + ' - ' + 'PEDIDO: ' + Dm1.QyGeral.FieldByName('IDPEDIDO').AsString + ' - ' + 'VALOR TOTAL: R$ ' + FormatFloat('###,###,###,##0.00', Dm1.NFe.NotasFiscais.Items[0].NFe.Total.ICMSTot.vNF); Dm1.NFe.NotasFiscais.Imprimir; end; except on e: exception do begin // em caso de nota fiscal denegada, registra a ocorrencia if (Dm1.NFe.WebServices.Retorno.cStat = 110) or (Dm1.NFe.WebServices.Retorno.cStat = 301) or (Dm1.NFe.WebServices.Retorno.cStat = 302) then begin if (Dm1.NFe.WebServices.Retorno.cStat = 110) then ObsDeneg := '110-NFE DENEGADA' else if (Dm1.NFe.WebServices.Retorno.cStat = 301) then ObsDeneg := '301-NFE DENEGADA-IRREGULARIDADE FISCAL DO EMITENTE' else if (Dm1.NFe.WebServices.Retorno.cStat = 302) then ObsDeneg := '302-NFE DENEGADA-IRREGULARIDADE FISCAL DO DESTINATARIO'; with Dm1.QyAuxiliar do begin Close; Sql.Text := 'UPDATE TbSaidaFiscal .... Parameters.ParamByName('FlgNFE').Value := 'E'; Parameters.ParamByName('ChaveNFe').Value := Dm1.NFe.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].chNFe; Parameters.ParamByName('PROTOCOLONFE').Value := Dm1.NFe.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].nProt; Parameters.ParamByName('Observacao1').Value := ObsDeneg; Parameters.ParamByName('SituacaoNFiscal').Value := 'D'; Parameters.ParamByName('NumeroNFiscal').Value := Dm1.NFe.NotasFiscais.Items[0].NFe.Ide.nNF; Parameters.ParamByName('SERIENFISCAL').Value := EdSerieNF.Text; Parameters.ParamByName('DataEmissao').Value := DatEmi.Date; ExecSQL; end; // atualiza o pedido com o numero da NF with Dm1.QyAuxiliar do begin Close; Sql.Text := 'UPDATE TbPedido SET NFEmitida = ''N'', ' + 'NFNumero = Null, NFSerie = NULL ' + 'WHERE NFNumero = :NFNumero AND NFSerie = :NFSerie ' ; Parameters.ParamByName('NFNumero').Value := Dm1.NFe.NotasFiscais.Items[0].NFe.Ide.nNF; Parameters.ParamByName('NFSerie').Value := EdSerieNF.Text; ExecSQL; end; end else begin with Dm1.QyAuxiliar do begin Close; Sql.Text := 'UPDATE TbSaidaFiscal SET DataEmissao = :DataEmissao,' + 'ChaveNFe = :ChaveNFe ' + 'WHERE NumeroNFiscal = :NumeroNFiscal ' + 'AND SERIENFISCAL = :SERIENFISCAL ' ; Parameters.ParamByName('NumeroNFiscal').Value := Dm1.NFe.NotasFiscais.Items[0].NFe.Ide.nNF; Parameters.ParamByName('SERIENFISCAL').Value := EdSerieNF.Text; Parameters.ParamByName('DataEmissao').Value := DatEmi.Date; Parameters.ParamByName('ChaveNFe').Value := Dm1.NFe.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].chNFe; ExecSQL; end; // Em caso de erro, não vem o numero do protocolo, aqui tentamos pegar novamente Dm1.NFe.WebServices.Consulta.NFeChave := Dm1.NFe.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].chNFe; // try Application.ProcessMessages; Dm1.NFe.WebServices.Consulta.Executar; with Dm1.QyAuxiliar do begin Close; Sql.Text := 'UPDATE TBSAIDAFISCAL SET PROTOCOLONFE = ' + QuotedStr(Dm1.NFe.WebServices.Consulta.Protocolo) + ' ' + 'WHERE CHAVENFE = ' + QuotedStr(Dm1.NFe.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].chNFe) + ' ' ; ExecSQL; end; finally Cursor := crDefault; end; end; if trim(Dm1.NFe.WebServices.Retorno.Msg) = '' then begin MessageDlg(e.Message,mtError,[mbOK],0); end else begin if (Dm1.NFe.WebServices.Retorno.cStat = 110) or (Dm1.NFe.WebServices.Retorno.cStat = 301) or (Dm1.NFe.WebServices.Retorno.cStat = 302) then begin MessageDlg(Dm1.NFe.WebServices.Retorno.Msg + 'CHAVE: ' + Dm1.NFe.WebServices.Retorno.ChaveNFe + chr(13) + 'O Pedido Está Liberado Para Gerar Nova Nota Fiscal',mtError,[mbOK],0); end else begin MessageDlg(Dm1.NFe.WebServices.Retorno.Msg + chr(13) + 'CHAVE: ' + Dm1.NFe.WebServices.Retorno.ChaveNFe + chr(13) + 'Ocorreu Um Erro no Retorno do XML. Verifique Necessidade de Cancelar a NF-e',mtError,[mbOK],0); end; end; exit; end; end; // 0-fim -
Erro Ocorre No Ambiente De Produção E Não Em Homologação
Joselito Nascimento replied to Joselito Nascimento's tópico in ACBrNFe
Caro André, Aí é que a porca torce o rabo, não consegui simular o erro na máquina de desenvolvimento, pelo contrário aqui a NF-e é enviada tanto em ambiente de produção como em ambiente de homologação. Mas acredito que seja algo com relação ao sistema operacional, pois em outra máquina do mesmo cliente, conseguimos enviar ontem, já em uma outra máquina dele, conseguia enviar em ambiente de homologação mas dava o erro no ambiente de produção. Para desencargo de consciência, registramos novamente a capicom.dll, a versão que trabalhamos é a 2.1.0.2. o windows do nosso cliente é o XP, com a atualização automática desativada e nada. Com relação ao nosso programa, fazemos apenas o café com leite, como segue abaixo: 01) Selecionamos os dados da NFe; 02) Alimentamos os atributos do TACBrNFe com os dados da seleção; 03) Executamos como segue abaixo: msgEnvio := msgInicio + ' Gerando NFe...'; Dm1.NFe.NotasFiscais.GerarNFe; msgEnvio := msgInicio + ' Assinando NFe...'; Dm1.NFe.NotasFiscais.Assinar; msgEnvio := msgInicio + ' Validando NFe...'; Dm1.NFe.NotasFiscais.Valida; msgEnvio := msgInicio + ' Enviando NFe...'; //Dm1.NFe.WebServices.Envia(0); Dm1.NFe.Enviar(0,false,false); 04) Tratamos o retorno. PS) O erro ocorre quando se tenta enviar para fazenda, haja visto que ocorre após a mensagem "Enviando NFe..." ser mostrada. Trocamos o Dm1.NFe.WebServices.Envia(0) por Dm1.NFe.Enviar(0,false,false), mesmo assim continuou com erro. Isso é o que eu tenho por enquanto. Grato Joselito Nascimento -
Erro Ocorre No Ambiente De Produção E Não Em Homologação
um tópico no fórum postou Joselito Nascimento ACBrNFe
Caros amigos, Desde a ultima sexta-feira, dia 28 de junho, estamos com um problema sério na envio da NFe para a SEFAZ-PE, no ambiente de homologação ocorre tudo sem problema, no entanto no ambiente de produção gera o erro: list index out of bound (0). PS: Importante, trouxe a base do cliente para minha máquina e emiti NFe sem problema tanto em produção como homologação. alguém sabe o que está gerando esse erro e como consertar ? Grato Joselito Nascimento -
Como Alterar Layout Danfe No Fortes Report
Joselito Nascimento replied to Joselito Nascimento's tópico in ACBrNFe
É o seguinte... Um de nossos clientes precisa destacar a coluna de Imposto Substituto na NF-e, então o que eu fiz, fui no formulário do DANFe, elaborado no Fortes Report e alterei as colunas, como não necessitava da coluna desconto, aproveitei a mesma para colocar o valor do imposto substituto. como fiz isso ?. no delphi abri o pacote cbr\pacotes\delphi\ACBrNFe2\ACBrNFeDanfeRLpkg.dpk, dentro desse pacote existia o arquivo ACBrNFeDANFeRLRetrato, abri o mesmo, fiz as alterações necessárias, recompilei o beleza. Nessa nova versão, não encontro mais esse arquivo para poder alterar. Pergunto: como faço agora para poder alterá-lo ? -
Prezados Colaboradores, Antes para alterar o layout do DANFE no Fortes Report eu acessava acbr\pacotes\delphi\ACBrNFe2\ACBrNFeDanfeRLpkg.dpk, abria o pacote e abria o arquivo ACBrNFeDANFeRLRetrato, beleza, abria o form. com a nova versão que atualizei ontem, não consigo fazer o mesmo. Como proceder agora, para alterar o layout do DANFE no Fortes Report? Grato Joselito Nascimento
-
Caros Amigos, Reinstalei a ACBR para poder atender as novas exigências com relação a Lei da Transparência dos Impostos. Recompilei o programa e tudo OK. Entretanto ao tentar enviar um NF-e no ambiente de homologação (SEFAZ-PE) está ocorrendo erro descrito abaixo: 'Element '{http://www.portalfiscal.inf.br/nfe}vTotTrib' is unexpected according to content model of parent element '{http://www.portalfiscal.inf.br/nfe}imposto.' 'Expecting: {http://www.portalfiscal.inf.br/nfe}ICMS, {http://www.portalfiscal.inf.br/nfe}ISSQN.' O que é necessário fazer para resolver esse erro ? Grato pela ajuda.
-
Problema Com Cancelamento De Nfe Por Evento
Joselito Nascimento replied to Joselito Nascimento's tópico in ACBrNFe
Problema resolvido, agradeço a todos pela colaboração. -
Problema Com Cancelamento De Nfe Por Evento
Joselito Nascimento replied to Joselito Nascimento's tópico in ACBrNFe
Ok, segue abaixo a rotina, só para constar, estou testando no ambiente de homologação, SEFAZ-PE // Cria lote de cancelamento NumeroLote := StrToInt(FormatDateTime('yymmddhhmm', NOW)); Dm1.Nfe.EventoNFe.Evento.Clear; Dm1.Nfe.EventoNFe.idLote := NumeroLote; // Seta atributos with Dm1.Nfe.EventoNFe.Evento.Add do begin infEvento.chNFe := CDSGeradaChaveNFE.AsString; infEvento.CNPJ := Dm1.sCNPJ; infEvento.dhEvento := NOW; infEvento.tpEvento := teCancelamento; infEvento.detEvento.nProt := CDSGeradaProtocoloNFE.AsString; infEvento.detEvento.xJust := EdJustifica.Text; end; // Envia evento de cancelamento if Dm1.Nfe.EnviarEventoNFe(NumeroLote) then begin with Dm1.Nfe.WebServices.EnvEvento do begin if EventoRetorno.retEvento.Items[0].RetInfEvento.cStat <> 135 then begin raise Exception.CreateFmt( 'Ocorreu o seguinte erro ao cancelar a nota fiscal eletrônica:' + sLineBreak + 'Código:%d' + sLineBreak + 'Motivo: %s', [ EventoRetorno.retEvento.Items[0].RetInfEvento.cStat, EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo]); end; // retornos DataHoraEvento := EventoRetorno.retEvento.Items[0].RetInfEvento.dhRegEvento; NumeroProtocolo := EventoRetorno.retEvento.Items[0].RetInfEvento.nProt; XMLCancelamento := EventoRetorno.retEvento.Items[0].RetInfEvento.XML; CodigoStatus := EventoRetorno.retEvento.Items[0].RetInfEvento.cStat; MotivoStatus := EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo; // atualiza tabela de entrada/saida fiscal with Dm1.QyGeral do begin Close; if CBoxTpMov.ItemIndex = 0 then begin Sql.Text := ' UPDATE TBENTRADAFISCAL SET SITUACAONFISCAL = ' + QuotedStr('C') + ', ProtocoloCancelou = ' + QuotedStr(NumeroProtocolo) + ' ' + ' WHERE NUMERONFISCAL = ' + QuotedStr(CDSGerada.FieldByName('NumeroNFiscal').AsString) + ' ' + ' AND SERIENFISCAL = ' + QuotedStr(CDSGerada.FieldByName('SerieNFiscal').AsString) + ' ' ; sTabela := 'TBENTRADAFISCAL'; end else begin Sql.Text := ' UPDATE TBSAIDAFISCAL SET SITUACAONFISCAL = ' + QuotedStr('C') + ', ProtocoloCancelou = ' + QuotedStr(NumeroProtocolo) + ' ' + ' WHERE NUMERONFISCAL = ' + QuotedStr(CDSGerada.FieldByName('NumeroNFiscal').AsString) + ' ' + ' AND SERIENFISCAL = ' + QuotedStr(CDSGerada.FieldByName('SerieNFiscal').AsString) + ' ' ; sTabela := 'TBSAIDAFISCAL'; end; ExecSQL; Close; end; // Salva em auditoria Dm1.salvaAuditoria('FATURAMENTO', sTabela, 'FATURAMENTO', 'NOTA FISCAL: ' + CDSGerada.FieldByName('NumeroNFiscal').AsString + ' SERIE ' + CDSGerada.FieldByName('SerieNFiscal').AsString, '5'); ShowMessage('A NF-e ' + CDSGerada.FieldByName('NumeroNFiscal').AsString + ' Foi cancelada...' + 'Retornou : ' + MotivoStatus + #13 + 'Protocolo : ' + NumeroProtocolo); end; end else begin with Dm1.Nfe.WebServices.EnvEvento do begin raise Exception.Create( 'Ocorreram erros ao tentar efetuar o cancelamento:' + sLineBreak + 'Lote: ' + IntToStr(EventoRetorno.idLote) + sLineBreak + 'Ambiente: ' + TpAmbToStr(EventoRetorno.tpAmb) + sLineBreak + 'Orgao: ' + IntToStr(EventoRetorno.cOrgao) + sLineBreak + sLineBreak + 'Status: ' + IntToStr(EventoRetorno.cStat) + sLineBreak + 'Motivo: ' + EventoRetorno.xMotivo); end; Exit; end; -
Amigos, Ajustei a rotina de cancelamento anterior, para a de cancelamento por evento, seguindo orientação de colegas, inclusive daqui do forúm. Atualizei os fontes da ACBR pelo SVN. Entretanto ao tentar enviar cancelamento de NFe, aparece a seguinte mensagem Não foi possível cancelar a NFe selecionada Erro:Ocorreu o seguinte erro ao cancelar a nota fiscal eletronica: Código:494 Motivo: Rejeição: Chave de Acesso Inexistente [chNfe: 26130203619029000144550550000620401000620401] Só que a chave que passei foi essa abaixo 26130303619029000144550550000620401000620405 Alguém pode me ajudar ?
-
Caros Colegas, Estou tentando alterar a apresentação do DANFE, arquivo .RAV que vem com a ACBR, as alterações efetuadas no cabeçalho dos itens da nfe consigo visualizar no preview, entretanto as alterações efetuadas nos itens da nfe, não, é como se as alterações que fiz não tivessem validade. Para melhor compreensão, segue abaixo imagem da alteração e como aparece no preview. Grato
