-
Total de ítens
280 -
Registro em
-
Última visita
-
Days Won
1
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que joaolenosi postou
-
Entendo, mas como eu vou saber se o meu cliente deu Ciência de Operação em um software de terceiros? Digo isso, por que estou desenvolvendo o meu e comparando com um software chamado "Fiscal.io - Monitor de Documentos Fiscais", se eu enviar um evento de Ciência de Operação nesse software, como saberei que essa nota já foi enviado o respectivo evento dentro do meu sistema? Só se for pelo o status de NFe Resumida e NFe Completa
-
Boa tarde! Estou desenvolvendo uma rotina para realizar o downlaods dos XMLS emitidos contra meu CNPJ. Já desenvolvi a rotina que baixa os XMLS e da ciência de operação! Porém tenho algumas dúvidas, a primeira é essa: como obter o evento atrelado a nota? case frmMenu.NFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip. Items[I].resEvento.tpEvento of teManifDestCiencia: tipoManifesto := 'Ciência da Operação'; teManifDestConfirmacao: tipoManifesto := 'Confirmação da Operação'; teManifDestDesconhecimento: tipoManifesto := 'Desconhecimento da Operação'; teManifDestOperNaoRealizada: tipoManifesto := 'Registro da Operação não Realizada'; end; Debugando o código vi que a aplicação não entra em nenhuma das opções do CASE. Claro que eu podia gravar no banco de dados o evento que foi aplicado em relação a nota, quando o usuário enviasse algum evento para SEFAZ, mas não funcionária, se caso ele usasse um sistema de terceiros para enviar um determinado evento. Outra dúvida: olhando a nota técnica e a documentação do ACbr: https://acbr.sourceforge.io/ACBrMonitor/ManifestacaodoDestinatarioOperac.html, vi que quando é enviado um evento de "Manifestação do Destinatário - Operação Não Realizada" , é necessário informar a justificativa, porém a varivel xJust ela não é reconhecida dentro do código. Minha rotina de evento: with frmMenu.NFe1.EventoNFe.Evento.new do begin InfEvento.cOrgao := 91; InfEvento.ChNFE := dm.qrManifesstacaoDestinario.FieldByName('man_chave').AsString; InfEvento.CNPJ := SomenteNumeros(dm.Query1.FieldByName('emp_cnpj').asstring) ; InfEvento.dhEvento := now; InfEvento.tpEvento := TpcnTpEvento.teManifDestOperNaoRealizada; InfEvento.versaoEvento := '1.00'; InfEvento.xJust := 'Essa variavél não é reconhecida!!'; resultado := frmMenu.NFe1.EnviarEvento(frmMenu.NFe1.EventoNFe.idLote); end;
-
Entendi, muito obrigado! Pode colocar como: RESOLVIDO.
-
Problema resolvido! O erro acontecia por que na pasta do Schemas, só tinha os arquivos de Schemas da versão 4.0, porém debugando, vi que precisava de outros arquivos .xsd, então substitui minha pasta de Schemas pela a do Acbr e deu certo. Mas ainda assim, não estava conseguindo da ciência na nota, pelo o fato de está passando o código da UF da empresa que está solicitando, para o campo: InfEvento.cOrgao Mas com ajude de @Gabriel Franciscon, passei o código 91 e deu certo. Ainda tenho uma dúvida, meu objetivo é apenas baixar o XML do fornecedor, qual das formas eu devo me manifestar: teManifDestCiencia ou teManifDestConfirmacao ? Eu li que essas 3 formas de manifestação são conclusivas: Confirmação da Operação Registro da Operação não Realizada Confirmação da Operação A única que não é: Ciência da Operação, o que acontece se eu declarar todas as notas com esse status? Posso sofrer alguma sanção ? Ou a forma correta é essa mesmo?
-
Boa tarde, estou implementando no meu sistema uma rotina para baixar os XMLS emitidos contra meu CNPJ. Já li todos os posts referente a esse assunto no forúm e a nota técnica também, porém estou com um erro que não vi nenhum post referido a esse problema. Eu sei que para baixar as notas emitidas contra meu CNPJ, primeiro devo enviar um evento: "Manifestação do Destinatário - Ciência da Emissão" Minha rotina: Memo1.Lines.Add(StringGrid1.Cells[1, I] + ' - ' + 'SIM'); {$REGION 'Enviando ciência de operação'} frmMenu.NFe1.EventoNFe.Evento.clear; frmMenu.NFe1.EventoNFe.idLote := 1; with frmMenu.NFe1.EventoNFe.Evento.Add do begin InfEvento.cOrgao := dm.Query1.FieldByName('uf_cd').AsInteger;//informar o código da UF do emitente InfEvento.ChNFE := frmMenu.NFe1.WebServices.DistribuicaoDFe.retDistDFeInt. docZip.Items[I].resDFe.chDFe; InfEvento.CNPJ := frmMenu.NFe1.WebServices.DistribuicaoDFe.retDistDFeInt. docZip.Items[I].resDFe.CNPJCPF; InfEvento.dhEvento := now; InfEvento.tpEvento := TpcnTpEvento.teManifDestCiencia; InfEvento.versaoEvento := '1.00'; resultado := frmMenu.NFe1.EnviarEvento(frmMenu.NFe1.EventoNFe.idLote); end; //cUF: UF do emissor //cCNPJ: CNPJ do emissor //cChNFE: Obrigatório apenas no método de consulta por chave. if resultado then frmMenu.NFe1.DistribuicaoDFePorChaveNFe(dm.Query1.FieldByName('uf_cd').AsInteger, CNPJ,StringGrid1.Cells[10, I + 1] ); {$ENDREGION} quando ele executa a procedure EnviarEvento(), recebo o seguinte erro: Segue um print do erro
-
9806->Rejeicao: NFC-e com Data-Hora de emissao atrasada
joaolenosi replied to joaolenosi's tópico in ACBrNFe
Podem fechar esse tópico! Muito obrigado. -
9806->Rejeicao: NFC-e com Data-Hora de emissao atrasada
joaolenosi replied to joaolenosi's tópico in ACBrNFe
Sim, o DANFE foi impresso e gerado em ambiente normal sem o protocolo de autorização, devido a divergência que houve! Certo, vou providenciar essas medidas que você me falou. Vou tentar simular esse erro no meu sistema para não ocorrer futuramente! E quanto a esse procedimento que você mencionou, eu realizei, porém não obtive êxito para enviar a nota. Mas de qualquer forma muito obrigado, considero esse tópico como resolvido. -
9806->Rejeicao: NFC-e com Data-Hora de emissao atrasada
joaolenosi replied to joaolenosi's tópico in ACBrNFe
Se eu alterar a tag: tpEmis para <tpEmis>9</tpEmis> e tentar reenviar a nota, recebo o seguinte erro: Eu não sei o que fazer para as notas fiscais que foram geradas em contingência, mas por algum motivo a tag tpEmis não foi alimentada com 9 e nem foi gerado as demais tags: Qual o procedimento correto a fazer com as notas que apresentam esse cenário? -
9806->Rejeicao: NFC-e com Data-Hora de emissao atrasada
joaolenosi replied to joaolenosi's tópico in ACBrNFe
Então o que fazer para resolver esse problema? Por que a nota não consta na SEFAZ. -
9806->Rejeicao: NFC-e com Data-Hora de emissao atrasada
joaolenosi replied to joaolenosi's tópico in ACBrNFe
Seria esses XML´s de envio e retorno que você precisa para analisar? Lembrando que esses XML´S foram gerados após eu tentar reenviar a referida nota! segue em anexo. 0-env-lot.xml 0-rec.xml 243065070139333-ped-rec.xml 243065070139333-pro-rec.xml -
9806->Rejeicao: NFC-e com Data-Hora de emissao atrasada
joaolenosi replied to joaolenosi's tópico in ACBrNFe
Certo, vou fazer isso agora mesmo! Poderia me informar onde que está essa opção? Dei uma olhada no componente ACBrNFe1 e não achei nenhuma propriedade para salvar o log. -
9806->Rejeicao: NFC-e com Data-Hora de emissao atrasada
joaolenosi replied to joaolenosi's tópico in ACBrNFe
A seguir irei demonstrar como consegui simulei esse erro: Ela foi emitida em contingência, eu expliquei os passos que realizei no penúltima post. Realizando os passos, eu consegui enviar uma nota offline em contigência, e por algum motivo a tag <tpEmis> foi alimentada com 1. E mesmo alterando para <pEmis>9</tpEmis>, o erro persiste. -
9806->Rejeicao: NFC-e com Data-Hora de emissao atrasada
joaolenosi replied to joaolenosi's tópico in ACBrNFe
Mas é justamente no reenvio da nota que ocorre esse erro! E manipulando a tag <dhEmi> ele gera um erro de assinatura! -
9806->Rejeicao: NFC-e com Data-Hora de emissao atrasada
um tópico no fórum postou joaolenosi ACBrNFe
Boa tarde! Alguns clientes estão relatando o seguinte erro: 9806->Rejeicao: NFC-e com Data-Hora de emissao atrasada. A nota técnica diz o seguinte: Qual procedimento deve ser feito para uma nota que foi gerada offline e passou de 10 minutos do limite envio? Por que ao tentar reenviar a nota sempre dá o erro citado acima. Já tentei manipular o XML adicionando as tags de forma manual: E modificando as tag <tpEmis>9</tpEmis>, porém não obtive êxito! Segue os arquivos em anexo. Desde já obrigado 24190406369445000120650010000098061000098067-nfe.xml -
Ok, muitíssimo obrigado!
-
Boa tarde, Ítalo ! Não existe nenhum proxy, obrigado pela a resposta! Só mais uma dúvida, o campo senha e usuário lá na parte inferior, corresponde ao usuário e senha criado no ambiente de homologação (WebISS)?
-
Boa tarde! Estou iniciando a implementação da NFS-e utilizando o provedor WebISS. Preenchi o exemplo ACBrNFSe corretamente as seguintes abas: Emitente Certificado Geral Mas estou com dúvidas como preencher a aba WebService. Os campos: Host e Porta, como devem ser preenchidos? Quanto ao campo usuário e senha corresponde ao usuário que foi criado no ambiente de homologação? Segue o print.
-
Erro: Não encontrei final do elemento: </EnviarLoteRpsEnvio>
joaolenosi replied to joaolenosi's tópico in ACBrNFSe
Muito obrigado, Italo! Vou ficar verificando direto para ver se já está disponível. Assim que efetuar todos os testes, eu posto novamente para dizer se está tudo ok. -
Erro: Não encontrei final do elemento: </EnviarLoteRpsEnvio>
joaolenosi replied to joaolenosi's tópico in ACBrNFSe
Italo, o erro que mencionei no post foi resolvido, porém outro erro aconteceu. Demorei a dar o feedback por que estava debugando. Segue os prints do erro. Te adianto que o problema era que estava faltando abrir " na tag do tinus e o nome também estava escrito errado: inus.com.br Solução do problema: A alteração foi realizada na unit ACBrDFeCapicom procedure TDFeCapicom.VerificarValoresPadrao(var SignatureNode: String; var SelectionNamespaces: String); begin if SignatureNode = '' then SignatureNode := CAPICOM_SIGNATURE_NODE; SelectionNamespaces := StringReplace(SelectionNamespaces, 'xmlns:ds1=inus.com.br"', 'xmlns:ds1="tinus.com.br"', [rfIgnoreCase]); if SelectionNamespaces = '' then SelectionNamespaces := DSIGNS else begin if LeftStr(SelectionNamespaces, Length(DSIGNS)) <> DSIGNS then SelectionNamespaces := DSIGNS + ' ' + SelectionNamespaces; end; end; Eu dei um replace por que não consegui localizar de onde tava vindo o valor. O último problema que está acontecendo é na hora ler o elemento de assinatura XMLDOC. Segue o print: Trecho do código: if (not xmldoc.loadXML( WideString(AXml) )) then raise EACBrDFeException.Create('Não foi possível carregar XML'+sLineBreak+ AXml); xmldoc.setProperty('SelectionNamespaces', SelectionNamespaces); //DEBUG //xmldoc.save('c:\temp\xmldoc.xml'); // Criando Elemento de assinatura // xmldsig := CoMXDigitalSignature50.Create; // Lendo elemento de Assinatura de XMLDOC // xmldsig.signature := xmldoc.selectSingleNode( WideString(SignatureNode) ); if (xmldsig.signature = nil) then raise EACBrDFeException.Create('É preciso carregar o template antes de assinar.'); Valor das variáveis: SignatureNode = .//ds1:EnviarLoteRpsEnvio/ds:Signature xmldsig.signature = nil -
Erro: Não encontrei final do elemento: </EnviarLoteRpsEnvio>
joaolenosi replied to joaolenosi's tópico in ACBrNFSe
Exatamente, estou utilizando o método GerarLote. Vou atualizar e posto o feedback! -
Erro: Não encontrei final do elemento: </EnviarLoteRpsEnvio>
joaolenosi replied to joaolenosi's tópico in ACBrNFSe
Desculpe-me, Italo! Estou emitindo para cidade de Mossoró provedor Tinus. Aqui não possui webservices é apenas a geração do XML e upload manual. -
Erro: Não encontrei final do elemento: </EnviarLoteRpsEnvio>
um tópico no fórum postou joaolenosi ACBrNFSe
Bom dia! Acabei de atualizar todos os componentes, quando estou gerando o RPS ou um Lote de RPS estou recebendo a seguinte mensagem: Já debuguei o código, e ele está parando aqui: function TDFeSSLClass.AdicionarSignatureElement(ConteudoXML: String; AddX509Data: Boolean; docElement, IdSignature: String): String; var URI, TagEndDocElement: String; I: Integer; begin URI := ExtraiURI(ConteudoXML); TagEndDocElement := '</' + docElement + '>'; I := PosLast(TagEndDocElement, ConteudoXML); if I = 0 then raise EACBrDFeException.Create('Não encontrei final do elemento: ' + TagEndDocElement); Result := copy(ConteudoXML, 1, I - 1) + SignatureElement(URI, AddX509Data, IdSignature) + TagEndDocElement; end; Os valores das variáveis: -
Bom dia, Caros amigos. Estou com um problema ao imprimir um Lote de RPS. Debugando o código notei que o ACbr está com problema na contagem do número de notas. O trecho de código retirado da Unit ACBrNFSeDANFSeFR é o seguinte: if Assigned(ACBrNFSe) then begin for I := 0 to TACBrNFSe(ACBrNFSe).NotasFiscais.Count - 1 do begin // dmDanfse.NFSe := TACBrNFSe(ACBrNFSe).NotasFiscais.Items[I].NFSe; CarregaDados(TACBrNFSe(ACBrNFSe).NotasFiscais.Items[I].NFSe); if (I > 0) then Result := frxReport.PrepareReport(False) else Result := frxReport.PrepareReport; end; end O XML que estou utilizando para realizar a impressão só possui dois RPS´s, porém essa linha: TACBrNFSe(ACBrNFSe).NotasFiscais.Count - 1 está retornando 3 registros que subtraído por -1 vai ser igual a 2. Mas como o índice começa de 0, nós temos três interações que são elas 0,1 e 2, desta forma gerando um erro na impressão. Segue em anexo o XML do RPS gerado e o print do debug. Ainda estou analisando o código para ver se o encontro uma solução definitiva. 0000009-lot-rps.xml
-
Erro Delphi Xe10 Access violation at address dsnap230.bpl
joaolenosi replied to joaolenosi's tópico in Dúvidas Gerais sobre o ACBr
Ah entendi. PROBLEMA RESOLVIDO. Solução: Reinstalei o Delphi XE10 e todos os componentes que o ACBr utiliza, depois instalei o ACBr e ficou tudo funcionando.