Ir para conteúdo
  • Cadastre-se

bnobre

Membros Pro
  • Total de ítens

    1.491
  • Registro em

  • Última visita

  • Days Won

    4

Tudo que bnobre postou

  1. Cara...Então, seu código não tem comentários, portanto vou descrever o que eu entendi dele e você me corrige se eu estiver errado: 1º - Você verifica através de um campo na sua tabela ( 'VEN_TPEMIS' ) se o tipo de emissão é normal ou offline, e dependendo do resultado emite normal ou em contingência. 2º - Se emitiu em contingencia ou obteve retorno positivo do envio normal você mostra o retorno em um Memo e salva o ACBrNFe.NotasFiscais.Items[0].NFe.infNFe.ID em "lcst_Chave". Parece que isso é um protótipo de um código, não parece ser o código final de um PDV, visto que não teria necessidade de um Memo para isso... De qualquer maneira a sua dúvida foi "O maior problema que estou enfrentando e quando gerar em contingencia e quando enviar normal....."... Vamos falar sobre ela, realmente não entendi porque no início do seu código você tem um campo no seu banco que diz se vai emitir normal ou em contingência, e como tem a ver com a sua dúvida eu vou explicar como eu faço: Você sempre tenta enviar normal, sempre... Só se houver uma falha de internet você tem que gerar a nota em contingência e deixar a pendente para tratamento posterior try ACBrNFe1.Enviar(cupom, False, True) except on E : Exception do if (pos('requisição não enviada', LowerCase(E.Message)) <> 0) or (pos('tempo limite', LowerCase(E.Message)) <> 0) (pos('erro http', LowerCase(E.Message)) <> 0) or (pos('webservice', LowerCase(E.Message)) <> 0) Then begin ACBrNFe1.NotasFiscais.Clear; ACBrNFe1.Configuracoes.Geral.FormaEmissao := teOffLine ; GerarNFCe(serie, IntToStr(cupom), True); ACBrNFe1.NotasFiscais.Assinar; ACBrNFe1.NotasFiscais.Validar; end; else begin if (pos('falha na validação dos dados da nota', LowerCase(e.Message)) <> 0) then mensagemexcecao := ACBrNFe1.NotasFiscais.Items[0].ErroValidacaoCompleto else mensagemexcecao := e.Message; messageBox(handle,Pchar(mensagemexcecao),'Erro!',MB_ICONERROR+mb_OK); Exit; end; end; Como pode observar eu verifico o tipo de erro que acontece no envio, se for erro de falha de internet eu configuro a nota para contingencia e gero novamente o XML, caso contrário eu exibo o erro para o operador verificar e proceder a correção (NCM invalido, CFOP X CSOSN, GTIN invalido, etc). Em relação a fazer o cancelamento por substituição, segue exemplo abaixo: ACBrNFe1.EventoNFe.Evento.Clear; with ACBrNFe1.EventoNFe.Evento.Add do begin infEvento.chNFe := chave_pendente; infEvento.CNPJ := Emitente_CNPJCPF; infEvento.dhEvento := now; infEvento.tpEvento := teCancSubst; infEvento.detEvento.xJust := 'CANCELAMENTO POR SUBSTITUIÇÃO DE NFCE SÉRIE ' + serie + ' NÚMERO ' + cupom; infEvento.detEvento.nProt := ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.nProt; infEvento.detEvento.cOrgaoAutor := codigo_uf; infEvento.detEvento.verAplic := '1.0'; infEvento.detEvento.chNFeRef := chave_contingencia; end; ACBrNFe1.EnviarEvento(cupom_pendente); Ficou alguma dúvida?
  2. PS: Não achei nada na NT obrigando referenciar uma contingência que tenha sido autorizada.
  3. Olá meu amigo... Sou do RJ e estou enviando normalmente o cancelamento por substituição.
  4. Olá a todos... Fiz dois cancelamentos por substituição sem problemas, mas nos próximos simplesmente comecei receber essa rejeição "Rejeicao: NF-e Substituta Denegada ou Cancelada". A única coisa que reparei, é que meu código fazia: Procedimento 1 - primeiro realizava o cancelamento por substituição da nota a ser tratada e depois enviava a contingência referenciada para autorização... Então resolvi inverter, Procedimento 2 - primeiro passei a fazer o envio da contingência para autorização e depois o cancelamento por substituição da nota pendente de tratamento... Com o procedimento 2 parei de receber a rejeição e começou a funcionar dinovo. E se tento fazer com o procedimento 1 recebo a rejeição... Isso me fez ter duas dúvidas: 1º - O procedimento 1 está errado? 2º - Se estiver errado, porque consegui cancelar por substituição duas vezes dessa forma? Desde já agradeço a atenção de todos
  5. Se eu deixar como está, ficarei recebendo a mensagem "deprecated", mas fora isso eu terei algum problema?
  6. Olá a todos, Após a atualização dos componentes que fiz (revisão 16630), passou a apresentar o seguinte alerta: Faz menção a comandos similares a esse "with pag.Add do". Devo realmente trocar por "New"? Porque a atualização do componente influenciou nisso? Desde já agradeço a atenção de todos
  7. Faltou eu gerar o XML novamente, depois funcionou e ele adicionou os dados referente a autorização. Obrigado
  8. Tenho que estudar mais POO, preciso aprender isso pois sempre fico perdido com esse uso de classes. De qualquer maneira substitui pela linha que falou e funcionou idêntico a antes... Muito obrigado... É só substituir né??? Ou tem que criar e destruir objetos???
  9. Foi por mim... Então eu tenho que gerar o XML novamente e o componente adiciona os dados de autorização? Foi isso que eu entendi
  10. Olá a todos... Sei que posso verificar se uma nota foi emitida pela chave através dos comandos abaixo: ACBrNFe1.WebServices.Consulta.NFeChave := chave; ACBrNFe1.WebServices.Consulta.Executar; Mas quero logo em seguida recuperar o XML da mesma... Como posso fazer isso?
  11. Com certeza, na verdade nem pensei em fazer o cancelamento normal, só farei por substituição. Só quero me preparar para os casos em que o cliente mesmo assim conseguir ficar 7 dias sem internet, e não diga que é impossível pois sabemos como são os clientes e a infraestrutura dessa país, aqui no RJ a internet é péssima... Hoje minhas notas tem 3 status: AUTORIZADA, CANCELADA e CONTINGÊNCIA... Estou pensando em criar um quarto, chamado DUPLICADA (que seria o caso da 10 se passasse os 7 dias de prazo de cancelamento) Dessa forma resolvo a pendência, envio a 11 e deixo o cliente CIENTE do problema de duplicação. O que acha dessa logística?
  12. Me perdoe a ignorância... Mas o que é "fazer um cast"?
  13. Olá... Esse comando eu não consegui achar no post citado ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resDFe.cSitNFe Mas suponho que foi alterado para "cSitDFe". Poderia confirmar? Em relação a impressão... Eu trabalho tanto com o ACBrNFeDANFeESCPOS como com o ACBrNFeDANFCeFortes1, de acordo com a necessidade do cliente. Quando eu precisava imprimir a via do consumidor de notas em contingências eu uso o comando ACBrNFe1.Danfe.ViaConsumidor := True. Infelizmente não consegui achar no tópico citado como substituir tal procedimento no ACBrNFe1... Poderia me ajudar?
  14. Oi ALA... Tudo bom? Nosso papo está rendendo, isso é bom Vamos lá, acho que me expressei mal, eu não vou e nem posso parar a venda, vou explicar melhor. Pelo jeito minha estrutura é exatamente igual a sua, cada PDV tem um BD próprio (para continuar vendendo caso o retaguarda caia), e envio para o retaguarda somente a carga das vendas concluídas (autorizadas ou contingências já enviadas), no meu caso esse envio ocorre cada vez que abre o PDV, é realizado uma venda ou fecha o PDV. Já para o envio das notas em contingência, cada PDV tem um aplicativo próprio que tenta realizar esse envio de 5 em 5 minutos, sem atrapalhar ou parar o PDV. A questão que coloquei foi que agora antes de enviar uma nota em contingência, tratarei antes a nota pendente vinculada a ela (inutilizando ou cancelando sua numeração). O PDV não pode parar nunca de vender, por isso esse tratamento ocorre em paralelo. Sendo que, no exemplo que estamos, para eu enviar a 11 vou tratar a 10 primeiro, se a 10 não autorizou eu inutilizo a mesma e apago da lista de vendas, se autorizou eu cancelo, mas se passou o prazo do cancelamento vou ter que marcar como AUTORIZADA e AMBAS serão enviadas para o retaguarda... Uma dessas 3 coisas vai ter que acontecer e aí então eu mandarei a 11... Com isso mando ambas para o retaguarda, pois a 11 foi enviada e a 10 tratada... Entendeu? Se sim, como você marcará essa nota que não pode cancelar dado o prazo superior?
  15. Olá a todos, Acabo de atualizar o componente (revisão 16630) afim de implementar o Cancelamento de NFCe por Substituição de Contingência. Infelizmente creio que meus componentes estavam muito desatualizados e alguns comandos que eu usava anteriormente para Manifestação de Destinatário e Impressão não estão mais funcionando. Segue a lista abaixo: Manifestação de Destinatário: Impressão: Poderiam me passar os novos comandos que substituíram esses acima? Desde já agradeço a atenção de todos
  16. Perfeito então cara... Você está com o mesmo pensamento que eu... Criei um campo ID_CONTINGÊNCIA onde eu gravo o ID da contingência gerada... Como no seu exemplo a nota 10 fica com o ID da 11. A nota 10 não faz nenhuma ação de venda(saida de estoque, financeiro, etc)... Ela só fica PENDENTE aguardando eu Cancelar ou Inutilizar... Para a nota 11 (em contingência) ser enviada eu pretendo OBRIGAR o programa realizar o tratamento da 10 primeiro (cancelando ou inutilizando) que é vinculada a nota 11... Mas ai nos casos em que o Cancelamento superar o prazo limite eu serei obrigado a marcar a nota 10 como AUTORIZADA para então enviar a 11... Entendeu a logística que quero fazer?
  17. Ok... Mas vamos supor que aconteça, qual o procedimento que seu programa faz nesses casos?
  18. Perfeito... Agora suponha que a nota 10 foi autorizada, seu cliente ficou mais de 24 horas sem internet e ao tentar cancelar a nota 10 teve o erro "PRAZO DE CANCELAMENTO SUPERIOR AO EMITIDO"... Como você procede?
  19. Obrigado pelo retorno ALA... Eu tenho uma grande dúvida ... Atualmente o manual de contingência da NFCe orienta o seguinte (observar imagem em anexo): Atualmente se seguirmos essa orientação, vamos supor que a nota 20 tenha sido emitida, a contingência 21 é gerada em substituição da 20 e o posterior tratamento da nota 20 não possa ser feito em até 24 horas (o que é bem comum atualmente dado falhas de internet)... Basicamente o cliente terá que pagar dois impostos... Como você previne isso atualmente nos seus clientes? É uma grande curiosidade que tenho, pois não sigo essa orientação do manual. Nesse novo padrão de séries específicas para contingência(890 a 989) seguirei essa orientação de inutilizar ou cancelar a nota que ficou pendente, mas mesmo com o cancelamento por substituição de NFCe em contingência e seu prazo do cancelamento de 168 horas, em tese o problema pode continuar caso o cliente fique 7 dias sem internet... Portanto insisto na pergunta, como prevenir isso de forma a evitar que o cliente pague o imposto duplicado? Desde já agradeço a sua participação
  20. Olá a todos, Dado o Ajuste SINIEF n. 13/2018, teremos que utilizar séries exclusivas para as notas em contingência, além de uma numeração sequencial e sem quebras para a mesma. Com isso estou desenvolvendo um tratamento específico para suprir tal necessidade e gostaria de compartilhar com os colegas a rotina que estou usando, para saber se meu pensamento está correto ou até mesmo se alguém pode acrescentar algo mais sobre o assunto em si. Observem o exemplo abaixo. PDV com Série Normal = 1 e Cupom Normal iniciando em 100. Série Contingência = 890 e Cupom Contingência iniciando em 1. 1º - Usuário tenta a emissão de um cupom normal (1 - 100), dado falha de internet gera uma contingência (890 - 1). 2º - Dado a falha na nota 1-100, não se sabe se a mesma foi realmente autorizada ou não, por isso marco essa nota e verifico posteriormente se cancelo por substituição de contingência ou inutilizo tal numeração. 3º - Usuario tenta a emissão de um novo cupom normal (1-101), dado falha de internet gera uma contingência (890 - 2). 4º - Dado a falha na nota 1-101, não se sabe se a mesma foi realmente autorizada ou não, por isso marco essa nota e verifico posteriormente se cancelo por substituição de contingência ou inutilizo tal numeração. 5º - Usuário tenta a emissão de um novo cupom normal (1-102) e consegue. 6º - Usuário tenta a emissão de um novo cupom normal (1-103) e consegue. 7º - E por aí vai... Como podem observar no processo que quero criar cada tentativa de emissão de NFCe normal com falha irá gerar uma NFCe de Contingência de valores e itens iguais, e portanto precisa ser tratada posteriormente, com um cancelamento ou uma inutilização. Meu pensamento está correto? Alguém tem uma visão mais simplória sobre essa rotina? Desde já agradeço a atenção de todos.
  21. Verdade... Tanto que foi ele que me salvou, afinal 1 mês antes AINDA é melhor que descobrir na hora!!!
  22. Meu amigo, obrigado pelos seus esclarecimentos e dicas... Eu sempre leios as NTs publicas no site da NFe afim de evitar surpresas como essa, onde em teoria descobri uma atualização a ser feita somente com um mês de antecedência e GRAÇAS o vídeo que assisti POR ACASO. Mas admito que desconhecia esse portal do CONFAZ onde foi publicada tal legislação, e a partir de hoje ficarei de olho no mesmo. Existe mais algum site em que eu deva ficar de olho pra evitar tais surpresas no futuro??? Desde já agradeço a ajuda
  23. Então na verdade, acho que houve uma confusão por parte do Edgard durante a sua palestra... Se possível assista a mesmo, faltando 22:52 minutos para o fim do vídeo, ele fala claramente que a partir de 01-04-2019 não poderemos emitir notas em contingência fora das faixas que eu citei, ele até frisa isso dizendo que não é brincadeira. Atualmente não uso série específica, simplesmente sigo a série e a sequência do cupom mesclando notas autorizadas e em contingência, mas o Edgard disse que isso irá acabar em 01-04-19... Ele está errado? Desde já agradeço a atenção Então na prática devo desconsiderar isso e continuar fazendo como sempre, mesclando a sequencia da numeração com autorizadas e em contingência sem série específica?
  24. Muito obrigado pela sugestões e esclarecimentos Italo. Você poderia me informar onde encontro a NT que informa que a partir do dia 01/04/2019 não serão mais aceitas contingências fora das faixas 890 a 989? Estou muito preocupado com isso pois terei que fazer esse ajuste em meu sistema e ainda por cima só terei 1 mês para atualizar isso em meus clientes. Desde já agradeço a sua atenção
  25. Olá a todos, Acabo de ver o vídeo do Edgard de Castro sobre o Panorama atual, evolução e tendências dos documentos fiscais eletrônicos no Brasil e me surpreendi com a tal obrigatoriedade para 01-04-2019 de as notas em contingência precisarem ser emitidas em séries específicas (890 à 989), infelizmente soube agora em cima da hora e vou ter que dar o meu jeito. Minha dúvida é... Preciso atualizar o componente para tal ou basta setar tais séries na hora da emissão de notas em contingência? E sobre o cancelamento por substituição de NFC-e emitida em contingência... O componente já está preparado para isso? Se sim, existe algum exemplo de como realizá-lo?
×
×
  • 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...