-
Total de ítens
75 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por paulocsc
-
-
Olá a todos, eu já vi que alguns softwares salva o retorno da NFC-e em um TXT (log) para que não se faça preciso esta emitindo a mensagem de erro em tela, por exemplo eu tentar emitir uma NFC-e se acorrer erro de NCM ele transmite a NFC-e em contingencia e grava no TXT o retorno do erro e o numero da NFC-e isso é feito a mão ou é alguma função do próprio ACBR ?
-
6 horas atrás, BigWings disse:
Precisa corrigir, gerar novamente o XML, assinar, validar, enviar o XML completo...
O que destaquei antes são os campos que formam a chave, se você mudar algum desses campos, a chave muda.
Campos que formam a chave de acesso: CNPJ do emitente, data e hora de emissão, modelo, série e número da nota, código numérico (cNF), tipo de emissão (tpEmis).
fiz e deu tudo certinho só um detalhe que achei muito estranho, uma situação estou passando a informação de hora, ide.hSaiEnt e mesmo assim a tag da NFC-e esta saíndo assim <dhEmi>2020-12-29T00:00:00-03:00</dhEmi>, só se eu estiver errado e que essa tag não deve ser preenchida e a tag de ide.dEmi é a que se refere a tag do XML <dhEmi>2020-12-29T00:00:00-03:00</dhEmi>
-
4 minutos atrás, BigWings disse:
Precisa corrigir, gerar novamente o XML, assinar, validar, enviar o XML completo...
O que destaquei antes são os campos que formam a chave, se você mudar algum desses campos, a chave muda.
Campos que formam a chave de acesso: CNPJ do emitente, data e hora de emissão, modelo, série e número da nota, código numérico (cNF), tipo de emissão (tpEmis).
Muito obrigado ficou bastante claro, inclusive você respondeu a outra duvida minha que era o que fazia com a sequencia de chave era gerada, show, já comecei aqui vou ajustar, acho que vai da certo, depois eu venho aqui pra informar se foi concluído !
-
59 minutos atrás, BigWings disse:
O NCM do item não altera a chave de acesso.
Então basta gerar novamente o XML corrigindo apenas a informação que causou a rejeição, no caso o NCM, e enviar.
Mantendo todos os demais dados, data e hora de emissão, código númerico (cNF), tipo de emissão como contingência...
entendi, no caso então só preciso enviar, Data e Hora, Numero da NFCe, cNF, tipo em contingencia, preciso enviar mais alguma coisa ? e eu continuou a gerar, assinar e valida NFC-e num é isso ?
-
1 minuto atrás, sysnet sysnet disse:
Você trata o problema, depois pega o xml gerado e carrega no componente para o envio
isso aí ta claro pra mim, mas o detalhe é eu vou pagar o XML Gerado mas o NCM do produto ainda vai esta errado no XML ou seja vai continuar dando o retorno de erro de NCM
-
Pessoa minha grande duvida é como enviar uma contingência com a mesma chave de acesso ? pra entender o que ocorre por exemplo foi feito uma venda e no PDV existiu um PRODUTO COM NCM que não existe e a nota foi transmitida em contingência, eu salvo tudo no Banco de dados, data, hora, chave, numero da NFC-e... quando eu vou reenviar eu tenho que ajustar o produto e reenviar a NFC-e com a mesma chave, como isso funciona, qual a logica que devo utilizar ? posso recuperar todos os dados da nota e reenviar ? minha duvida é e a chave de acesso vai alterar ?
-
3 horas atrás, FabianoCunha disse:
Paulo,
Tenta não usar o ADD, pois creio que esteja criando um novo elemento na collection de nota fiscais.
NFe.ide.tpEmis := teOffLine; //StrToTpEmis(ok, normalouContingencia);
NFe.Ide.xJust := 'Erro Tecnico NFC-e Contigencia';
NFe.ide.dhCont := now();foi Justamente isso, feito e deu certo !
-
1 hora atrás, BigWings disse:
Você define a pasta para gravar os eventos na propriedade ACBrNFe.Configuracoes.Arquivos.PathEvento.
Dentro dessa pasta você tem a opção de separar por CNPJ, Mes, Ano, Dia...
O ACBr vai criar as pastas automaticamente de acordo com a configuração.
Muito obrigado mais uma vez !
-
1 minuto atrás, BigWings disse:
Sim.
O componente já grava o XML do evento completo com o nome *-procEventoNFe.xml.
Só precisa estar ativada a configuração para salvar arquivos.
entendi, eu tenho como tbm criar uma pasta pra os eventos tipo eu coloquei a opção de salvar por ano/mes posso coloca tbm dentro de uma pasta ano/mes evento ?
se sim o componente já faz pra mim ou tenho que criar na mão ?
-
13 minutos atrás, FabianoCunha disse:
Paulo, acho que pode fazer em apenas um método. Colocando dentro dele um IF, pois se já deu erro na emissão normal e para não ficar sem tirar a nota para o cliente, você vai fazer emissão em off-line. Mas depois em um segundo momento você vai ter que fazer a transmissão da Off-line, pois se deu erro de rede ou time out, vai ter que rodar novamente o envio da off-line para a sefaz.
entendi, ficou claro pra mim toda essa questão, o meu maior problema ta no codigo, quando eu faço o IF e pra alterar o tipo de emissão pra OFFLine e que coloco as Tag dentro do meu IF da um erro de preencher a 'UF' só que já foi preenchida anterior mente e não tem nem um metodo de limpar o componente então na logica não tem nem um problema de tenta enviar sem preencher novamente. meu if ficou assim:
if (ACBrNFCe1.WebServices.Enviar.cStat <> 100) and (ACBrNFCe1.WebServices.Enviar.cStat <> 539) then
beginACBrNFCe1.NotasFiscais.Add.NFe.ide.tpEmis := teOffLine; //StrToTpEmis(ok, normalouContingencia);
ACBrNFCe1.NotasFiscais.Add.NFe.Ide.xJust := 'Erro Tecnico NFC-e Contigencia';
ACBrNFCe1.NotasFiscais.Add.NFe.ide.dhCont := now();ACBrNFCe1.NotasFiscais.GerarNFe;
ACBrNFCe1.NotasFiscais.Assinar;
ACBrNFCe1.NotasFiscais.Validar;nchave := copy(ACBrNFCe1.NotasFiscais.Items[0].NFe.infNFe.ID, 4, 44);
ACBrNFCe1.NotasFiscais.Imprimir;editarNFCeEmCONTINGENCIA;
salvarPagamentos;
end; -
13 minutos atrás, BigWings disse:
Não tem diferença no método, apenas quando você carrega o XML o ACBr pode preencher o número do protocolo com os dados do arquivo, enquanto no cancelamento por chave você deve informar o protocolo explicitamente.
Tem também uma opção pra atualizar o XML após o cancelamento com o cStat de cancelado, isso hoje não é o correto, pois está alterando o XML, mas alguns ainda usam por comodidade na integração com softwares contábeis.
então posso fazer de uma maneira ou de outra e não habilitar no componente a atualização do XML após o cancelamento né isso ? agora eu tenho como gerar o retorno em XML automaticamente pra justamente saí no envio pra a contabilidade ?
-
17 minutos atrás, FabianoCunha disse:
Paulo, Bom dia!
Essa estratégia de qualquer erro de retorno, mudar para off-line e fazer a impressão e transmissão em seguida, deve ser avaliada com critério, pois se for erro de preenchimento ou alguma validação da sefaz, mesmo ao fazer a transmissão em off-line a sefaz vai recusar a nota. E se essa nota já tiver sido entregue para algum cliente é preciso trocar a nota com o cliente. Eu evito o que posso de fazer emissão de nota OFF-line.
Da forma que esta fazendo, entendo que você deve preencher as duas propriedades no próprio componente, mudar a forma de emissão, assinar e gravar o xml no banco de dados e fazer a impressão das duas cópias.
E depois você precisa fazer a transmissão dessa nota a sefaz. E para fazer essa transmissão é da maneira que eu falei no post acima.
Primeiramente muito obrigado pro sua orientação realmente é muito importante tratar essa situação com cuidado e realmente entendo perfeitamente o que você me disse por isso que estou tendo o cuidado por exemplo se for me retornado o erro 539 -> (erro nota já enviada com outro numero de XML) essa NFC-e não seja impressa em contingencia pra se evitados esses erros que você mesmo citou, tem algum outros erros que ainda irei incrementar pra que esse tipo de problema não venha ocorrer, mas voltando ao assunto da emissão em contingencia, caso passe por as exceções o envio da NFC-e em contingencia eu devo limpar o componente e enviar novamente todo o método de envio da NFC-e ? mas a maior precaução agora é só eu manter as boas praticas de desenvolvimento e não ter que criar duas procedures, tipo envio NFCeOnline e NFCeOffLine e acabar estendendo muito o código.
-
Olá a todos, uma duvida eu pude ver que no exemplo do ACBrNFe tem duas maneira de cancelar a NFC-e pelo XML e pela Chave eu gostaria de saber qual a diferença e qual é a melhor forma ?
-
10 horas atrás, FabianoCunha disse:
Paulo, Boa Noite!
Vou explicar como eu faço com notas emitidas em contingência.
1) No método de transmissão verifico que a nota em questão será em contingência ou normal. Sendo em contingência, faço a inclusão das duas tag (Justificativa e data/hora); Preencho o componente Acbr e faço a impressão em duas vias. e salvo o XML no banco de dados e gravo no banco de dados que esta nota foi emitida em contingência e que esta aguardando transmissão; O que seria basicamente a mesma rotina sua;
2) Quando vou fazer a transmissão dessa nota que esta aguardando transmissão, carrego o xml do banco de dados para o componente ACBR, altero a propriedade do componente para emissão normal (ACBR.Configuracoes.Geral.FormaEmissao:= Normal;) e chamo o método enviar, no retorno do enviar eu gravo atualizo os campos (PROTOCOL_NFE, DT_HR_PROTOCOL);
tipo entendi, minha duvida é o seguinte eu tenho o método gerarEnviarNFCe; na Forma de emissão tá como teNormal, só que se tiver um retorno diferente a 100(Autorizado), ele tente reenviar em contingência mas nesse caso eu tenho que enviar teOFFLine, mas minha duvida é só add as duas tag Justificativa e data/hora ou tenho que executar o método gerarEnviarNFCe do zero; isso é a primeira questão a questão que você me falou é pra a transmissão da NFC-e que já foi transmitida em contingência e agora vai ser enviada pra sefaz...
-
Tenha uma duvida na questão e Contingencia de NFC-e
se eu coloco o tipo de emissão com ide.tpEmis := teOffLine; ele faz a verificação se tiver tudo certo ele emiti a NFC-e caso não, ele emite em Contingencia até aí perfeito, único detalhe é que desse jeito envia a tag do XML Ide.xJust := 'Erro Tecnico NFC-e Contigencia'; (Jutificativa da emissão em contingencia ) mesmo que a Nota seja transmitida, isso da problema ?
na duvida eu achei melhor deixar ide.tpEmis := teNormal, mas se eu deixo a tag Ide.Xjust := 'Erro Tecnico NFC-e Contigencia'; ela me da um retorno que a justificativa não pode ser preenchido quando o tipo for normal.
uso essa condição a baixo
begin
if ACBrNFCe1.WebServices.Enviar.cStat = 539 then
begin
ShowMessage('erro nota já enviada com outro numero de XML '); //marca a flag da nota como enviada.
end;if ACBrNFCe1.WebServices.Enviar.cStat = 100 then
Begin
//ShowMessage('Nota Transmitida pode salvar ');
nNFCeRecebida := IntToStr(ACBrNFCe1.NotasFiscais.Items[0].NFe.Ide.nNF);
nchave := ACBrNFCe1.NotasFiscais.Items[0].NFe.procNFe.chnfe;
codNFCe := IntToStr(ACBrNFCe1.NotasFiscais.Items[0].NFe.Ide.cNF);
dataHoraRetorno := DateTimeToStr(ACBrNFCe1.NotasFiscais.Items[0].NFe.procNFe.dhRecbto);
numeroProtoco := ACBrNFCe1.NotasFiscais.Items[0].NFe.procNFe.nProt;ACBrNFCe1.NotasFiscais.Imprimir;
editarEConcluirNFCe;
salvarPagamentos;
End;if (ACBrNFCe1.WebServices.Enviar.cStat <> 100) and (ACBrNFCe1.WebServices.Enviar.cStat <> 539) then
beginACBrNFCe1.NotasFiscais.GerarNFe;
ACBrNFCe1.NotasFiscais.Assinar;
ACBrNFCe1.NotasFiscais.Validar;ACBrNFCe1.NotasFiscais.Add.NFe.ide.tpEmis := teOffLine; //StrToTpEmis(ok, normalouContingencia);
ACBrNFCe1.NotasFiscais.Add.NFe.Ide.xJust := 'Erro Tecnico NFC-e Contigencia';
ACBrNFCe1.NotasFiscais.Add.NFe.ide.dhCont := now();nchave := copy(ACBrNFCe1.NotasFiscais.Items[0].NFe.infNFe.ID, 4, 44);
ACBrNFCe1.NotasFiscais.Imprimir;editarNFCeEmCONTINGENCIA;
salvarPagamentos;
end;end
estou fazendo o que de errado ?
-
1 hora atrás, Cleber disse:
Boa tarde,
eu faço assim:
copy(DMACBr.NFe.NotasFiscais.Items[0].NFe.infNFe.ID,4,44);
Show funcionou perfeito !
-
24 minutos atrás, Juliomar Marchetti disse:
Olhou os eventos do componente/
13 minutos atrás, Juliomar Marchetti disse:Olhou os eventos do componente/
Tentei dessas duas maneiras !
nchave := ACBrNFCe1.EventoNFe.Evento.Items[0].InfEvento.chNFe;
nchave := ACBrNFCe1.EventoNFe.Evento.Items[0].RetInfEvento.chNFe; -
ficou assim meu código no if ACBrNFCe1.WebServices.Enviar.cStat = 100 then -> Aqui eu recebo o retorno certo, mas no IF da contingencia não !
Try
ACBrNFCe1.NotasFiscais.GerarNFe;
ACBrNFCe1.NotasFiscais.Assinar;
ACBrNFCe1.NotasFiscais.Validar;
ACBrNFCe1.Enviar(NumNFCe, False, true);Except
//exceção muda para pegar o cstat em seguida.
End;
//cstat = 204 nota já existe com mesmo número e mesma chave.
begin
if ACBrNFCe1.WebServices.Enviar.cStat = 539 then
begin
ShowMessage('erro nota já enviado com outro numero de XML '); //marca a flag da nota como enviada.
end;if ACBrNFCe1.WebServices.Enviar.cStat = 100 then
Begin
ShowMessage('Nota Transmitida pode salvar ');
nNFCeRecebida := IntToStr(ACBrNFCe1.NotasFiscais.Items[0].NFe.Ide.nNF);
nchave := ACBrNFCe1.NotasFiscais.Items[0].NFe.procNFe.chnfe;
dataHoraRetorno := DateTimeToStr(ACBrNFCe1.NotasFiscais.Items[0].NFe.procNFe.dhRecbto);
numeroProtoco := ACBrNFCe1.NotasFiscais.Items[0].NFe.procNFe.nProt;ShowMessage('Chave: '+ nchave + ' PathRetorno: ' + pathNFCeRetorno + ' dataHora: ' + dataHoraRetorno + ' Protocolo NFCe: ' + numeroProtoco + ' XML: ' + xmlNFCeTeste + '!');
End;if (ACBrNFCe1.WebServices.Enviar.cStat <> 100) and (ACBrNFCe1.WebServices.Enviar.cStat <> 539) then
begin
dataHoraRetorno := DateTimeToStr(ACBrNFCe1.WebServices.Enviar.dhRecbto);
nchave := ACBrNFCe1.NotasFiscais.Items[0].NFe.procNFe.chnfe;
ShowMessage(dataHoraRetorno + 'Erro ao enviar NFCe, Enviada em contigencia: ' + nchave + IntToStr(ACBrNFCe1.WebServices.Recibo.cMsg) +'' + ACBrNFCe1.WebServices.Recibo.Recibo);ACBrNFCe1.NotasFiscais.GerarNFe;
ACBrNFCe1.NotasFiscais.Assinar;
ACBrNFCe1.NotasFiscais.Validar;ACBrNFCe1.NotasFiscais.Imprimir;
end;end
-
1 hora atrás, Juliomar Marchetti disse:
Também tem isso no exemplo, basta tu pegar ela antes de enviar, manda gerar a nota.
lembre-se dúvidas diferentes tópico novo.
Tentei já colocar no começo meio e fim e nada de retorno quando é contingencia !
-
4 horas atrás, Marcelo Loiola Silva disse:
Consigo pegar desta forma:
nchave := Principal_DFe.ACBrNFCe.NotasFiscais.Items[0].NFe.procNFe.chnfe;
protocolo := Principal_DFe.ACBrNFCe.NotasFiscais.Items[0].NFe.procNFe.nProt;
rapaz eu consegui com esse método muito obrigado, outra duvida quando a nota é enviada em contingencia eu consigo o numero de Chave ?
-
não, tu diz olhar no Demo é ? eu tentei de algumas forma e não consegui identificar esse retorno
-
Olá tenho um grande problema, que creio que desse ser tão fácil de resolver... quando envio a NFC-e ela tem retorno da chave de acesso, tem retorno de protocolo de autorização, data e hora, mas como eu pego essa informação pra mim salvar no banco ? ja tentei usar assim mas retorna em branco acho que estou tentando pega informação no lugar errado !
ACBrNFCe1.WebServices.Retorno.ChaveNFe;
ACBrNFCe1.WebServices.Retorno.Recibo; -
Pessoal boa tarde, desculpa se escrevi no TOPICO errado pra o assunto, minha duvida é a respeito de como é o jeito correto de utilizar o CEST, sei que é um campo obrigatorio pra produtos Substituição, minha duvida é tem algum componente ACBr pra atualizar o CEST ou se é atraves de algum Excel que facilite pra mim colocar no meu banco de dados !
-
Olá eu gostaria de saber como esta funcionando o ACBR e o Java ? sou desenvolvedor Java e gostaria de desenvolver com o Java o NFC-e e usar os componente do ACBR é possível isso ?
Integradoras de cartão
em NFC-e - Nota Fiscal do Consumidor Eletrônica
Postado
Minha duvida é simples, no caso de quando eu for enviar POS eu não preciso enviar as tag pag.New.CNPJ, pag.New.tBand, só se faz necessário se for TEF ? outra duvida a integradora dever se informada ou só o CNPJ e a bandeira quando informada tem que enviar o CNPJ ?