Ir para conteúdo
  • Cadastre-se

joaolenosi

Membros
  • Total de ítens

    280
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que joaolenosi postou

  1. 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
  2. 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;
  3. Entendi, muito obrigado! Pode colocar como: RESOLVIDO.
  4. 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?
  5. 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
  6. Podem fechar esse tópico! Muito obrigado.
  7. 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.
  8. 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?
  9. Então o que fazer para resolver esse problema? Por que a nota não consta na SEFAZ.
  10. 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
  11. 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.
  12. 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.
  13. Mas é justamente no reenvio da nota que ocorre esse erro! E manipulando a tag <dhEmi> ele gera um erro de assinatura!
  14. 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
  15. Ok, muitíssimo obrigado!
  16. 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)?
  17. 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.
  18. Olá, amigos! Estou utilizando uma impressora de Bematech MP100S TH e ao realizar uma impressão, está saindo nela e na impressora default do windows. Sabem como resolver esse problema? Já tentei setar a porta, mas o problema persiste.
  19. 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.
  20. 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
  21. Exatamente, estou utilizando o método GerarLote. Vou atualizar e posto o feedback!
  22. 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.
  23. 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:
  24. 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
  25. 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.
×
×
  • 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...