SAT-CFe de cancelamento que possa validar
Moderador: Moderadores
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
SAT-CFe de cancelamento que possa validar
Amiguinhos,
Alguém tem um exemplo de layout de SAT-CFe de cancelamento que funcione?
É necessário que seja um exemplo normal, capado, e que vocês realmente conseguiram validar e enviar.
Perdi meu código onde tinha este quesito em pleno funcionamento e não estou conseguindo refazer.
Estou usando Emulador 2.9.1 e DIMEP.
Alguém tem um exemplo de layout de SAT-CFe de cancelamento que funcione?
É necessário que seja um exemplo normal, capado, e que vocês realmente conseguiram validar e enviar.
Perdi meu código onde tinha este quesito em pleno funcionamento e não estou conseguindo refazer.
Estou usando Emulador 2.9.1 e DIMEP.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
SAT-CFe de cancelamento que possa validar
Amiguinhos,
HASA
) , consegui, X:) , putz-grila, ka, ka, ka. Obrigado meu querido e obrigado meu bom DEUS.
Vejam como fiz:
Algumas funções de uso, tudo bem simplório:
HASA
Rocinha um xml serve, eu uso acbr.
Vejam como fiz:
Código: Selecionar todos
// Chave de ativação usada
cSHAtivacao := "123456789" // Use ou carregue a chave de ativação do SAT de seu cliente.
// Carregamento do SAT-CFe completo que se deseja cancelar. Não é o código de cancelamento, mas sim o conteúdo do último cupom SAT-CFe.
cXMLFile := MemoRead( cXMLCFe )
// Pega o identificador
infCFe := AT( " Id=", cXMLFile )
infCFeId := strTran( substr( cXMLFile, infCFe+8, 44 ), "CFe", "" )
// Dependendo do aparelho este prefixo fica Cfe, CFE ou CFe
cCFePrefix := "CFe"
cCFeCanc := [<?xml version="1.0" encoding="UTF-8" ?>] + ; // Apesar de colocar este cabeçalho, algum aparelho pode ignorar ou causar erro desconhecido.
[<CFeCanc>] + CRLF + ;
[<infCFe chCanc="] + cCFePrefix + infCFeId + [">] + CRLF + ;
[<ide>] + CRLF + ;
[] + XMLGetCode( [CNPJ], cXMLFile ) + CRLF + ;
[] + XMLGetCode( [signAC], cXMLFile ) + CRLF + ;
[] + XMLGetCode( [numeroCaixa], cXMLFile ) + CRLF + ;
[</ide>] + CRLF + ;
[<emit />] + CRLF + ;
[] + XMLGetCode( [dest], cXMLFile ) + ;
[<total />] + CRLF + ;
[<infAdic />] + CRLF + ;
[</infCFe>] + CRLF + ;
[</CFeCanc>]
aCancelarUltimaVenda := CancelarUltimaVenda( Random( 999999 ), cSHAtivacao, cCFePrefix + infCFeId, cCFeCanc )
Código: Selecionar todos
/*
* Funcoes para pegar trecho de XML delimitado por TAGs
*/
FUNCTION XMLGet( XMLField, XMLFile )
XMLField := alltrim( XMLField )
XMLFieldINI := rat( "<"+XMLField+">", XMLFile ) + len( "<"+XMLField+">" )
XMLFieldEND := rat( "</"+XMLField+">", XMLFile ) - XMLFieldINI
// Retorna o conteúdo da TAG selecionada
return substr( XMLFile, XMLFieldINI, XMLFieldEND )
FUNCTION XMLGetCode( XMLField, XMLFile )
XMLField := alltrim( XMLField )
XMLFieldINI := rat( "<"+XMLField+">", XMLFile )
XMLFieldEND := rat( "</"+XMLField+">", XMLFile ) - (XMLFieldINI - len( "</"+XMLField+">" ))
// Retorna a TAG selecionado inteirinha
Return substr( XMLFile, XMLFieldINI, XMLFieldEND )
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
SAT-CFe de cancelamento que possa validar
Amiguinhos,
HASA
Uma pequena alteração no código postado anteriormente.
A alteração se reflete somente no trecho:
HASA
Com certeza meu querido. Aqui é o nosso refúgio, nosso porto-seguro de código, dicas e amigos.Qualquer coisa não hesite solicite
Uma pequena alteração no código postado anteriormente.
Código: Selecionar todos
cCFeCanc := [<?xml version="1.0" encoding="UTF-8" ?>] + ;
[<CFeCanc>] + CRLF + ;
[<infCFe chCanc="] + cCFePrefix + infCFeId + [">] + CRLF + ;
[<ide>] + CRLF + ;
[<CNPJ>] + XMLGet( [CNPJ], XMLGetCode( [ide], cXMLFile ) ) + "</CNPJ>"+ CRLF + ;
[] + XMLGetCode( [signAC], cXMLFile ) + CRLF + ;
[] + XMLGetCode( [numeroCaixa], cXMLFile ) + CRLF + ;
[</ide>] + CRLF + ;
[<emit />] + CRLF + ;
[] + XMLGetCode( [dest], cXMLFile ) + ;
[<total />] + CRLF + ;
[<infAdic />] + CRLF + ;
[</infCFe>] + CRLF + ;
[</CFeCanc>]
Código: Selecionar todos
[<CNPJ>] + XMLGet( [CNPJ], XMLGetCode( [ide], cXMLFile ) ) + "</CNPJ>"+ CRLF + ;
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
- alejesus
- Usuário Nível 1

- Mensagens: 15
- Registrado em: 09 Jun 2010 20:58
- Localização: Osasco - SP
- Contato:
SAT-CFe de cancelamento que possa validar
boa noite
Rochina ou HASA vcs conseguiram usar o cancelamento com o Emulador?
Sempre que tento cancelar um cupom (uso o ACBr) recebo uma mensagem de erro:
Resposta: 07010|01454|Erro de validação do conteúdo
No emulador aparece:
Erro no campo 'cnpj' CNPJ da Software House inválido.
Erro no campo 'ide': 1454
Porém mesmo com o "Aplicativo Comercial" do Sefaz não consegui cancelar, deu a mesma mensagem ... alguém tem alguma luz?
Rochina ou HASA vcs conseguiram usar o cancelamento com o Emulador?
Sempre que tento cancelar um cupom (uso o ACBr) recebo uma mensagem de erro:
Resposta: 07010|01454|Erro de validação do conteúdo
No emulador aparece:
Erro no campo 'cnpj' CNPJ da Software House inválido.
Erro no campo 'ide': 1454
Porém mesmo com o "Aplicativo Comercial" do Sefaz não consegui cancelar, deu a mesma mensagem ... alguém tem alguma luz?
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
SAT-CFe de cancelamento que possa validar
Olá alejesus,
De qualquer forma, já efetuei cancelamento no SAT de produção com o ACBrMonitor, e está funcionando normalmente. Assim que puder, faça o teste em SAT de produção que vai funcionar.
NOTA: Assim como era no ECF, o extrato dá sequência. Por exemplo, se você cancelar o cupom 10, o extrato de cancelamento será o 11, e o próximo cupom será o 12.
Também, vale lembrar que só pode ser cancelado um cupom se ele for o último cupom emitido, e não há mais de 30 minutos.
Eu não consigo instalar a última versão do emulador que é a 2.9.2. Ainda uso a 2.8.12 do emulador. No controle de versão da versão 2.9.2 diz que esse problema foi corrigido. Qual versão você usa?alejesus escreveu:Porém mesmo com o "Aplicativo Comercial" do Sefaz não consegui cancelar, deu a mesma mensagem ... alguém tem alguma luz?
De qualquer forma, já efetuei cancelamento no SAT de produção com o ACBrMonitor, e está funcionando normalmente. Assim que puder, faça o teste em SAT de produção que vai funcionar.
NOTA: Assim como era no ECF, o extrato dá sequência. Por exemplo, se você cancelar o cupom 10, o extrato de cancelamento será o 11, e o próximo cupom será o 12.
Também, vale lembrar que só pode ser cancelado um cupom se ele for o último cupom emitido, e não há mais de 30 minutos.
Código: Selecionar todos
SAT.CancelarCFE(cXmlCupom)Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
- alejesus
- Usuário Nível 1

- Mensagens: 15
- Registrado em: 09 Jun 2010 20:58
- Localização: Osasco - SP
- Contato:
SAT-CFe de cancelamento que possa validar
Jairo, boa tarde.
Você acertou, atualizei o emulador e tudo funcionou!
Obrigado,
Alexandre
Você acertou, atualizei o emulador e tudo funcionou!
Obrigado,
Alexandre
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
SAT-CFe de cancelamento que possa validar
Amiguinhos,
Só pra reforçar:
A versão do Emulador SAT que cancela sem erros é a partir da 2.9.1 em diante.
Só pra reforçar:
A versão do Emulador SAT que cancela sem erros é a partir da 2.9.1 em diante.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
- alejesus
- Usuário Nível 1

- Mensagens: 15
- Registrado em: 09 Jun 2010 20:58
- Localização: Osasco - SP
- Contato:
SAT-CFe de cancelamento que possa validar
Rochinha, bom dia
Com a versão 2.9.1 do Emulador não consegui fazer cancelamentos, ele reclamava do CNPJ incorreto para Software House, não aceitando a configuração "1111111111111" e "2222222222222" para os CNPJs ...
Com a versão 2.9.2 indicada pelo Jairo e que consta a revisão da validação do CNPJ não tive problemas.
Abs,
Com a versão 2.9.1 do Emulador não consegui fazer cancelamentos, ele reclamava do CNPJ incorreto para Software House, não aceitando a configuração "1111111111111" e "2222222222222" para os CNPJs ...
Com a versão 2.9.2 indicada pelo Jairo e que consta a revisão da validação do CNPJ não tive problemas.
Abs,
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
SAT-CFe de cancelamento que possa validar
Amiguinhos,
Os testes que fiz quando da entrada desta tópico foram feitos sob a 2.9.1, eu também configurei o meu aplicativo a colocar 11111111111111 e 22222222222222 e não tive problemas. Lógico que esta configuração nos XMLs vão criticar o que foi colocado no momento da ativação do emulador, onde você define valores para os CNPJs.
Depois de ter feitos todos os teste e homologado a aplicação também com DIMEP, sem querer ao executar o emulador, levantei a versão 2.8.x e ai começaram os erros. Só depois de 2 dias é que fui perceber que tinha levantado a versão antiga e que não cancelava, dando sempre mensagem de erro no conteúdo do .XML.
Não testei a 2.9.2 ainda.
Os testes que fiz quando da entrada desta tópico foram feitos sob a 2.9.1, eu também configurei o meu aplicativo a colocar 11111111111111 e 22222222222222 e não tive problemas. Lógico que esta configuração nos XMLs vão criticar o que foi colocado no momento da ativação do emulador, onde você define valores para os CNPJs.
Depois de ter feitos todos os teste e homologado a aplicação também com DIMEP, sem querer ao executar o emulador, levantei a versão 2.8.x e ai começaram os erros. Só depois de 2 dias é que fui perceber que tinha levantado a versão antiga e que não cancelava, dando sempre mensagem de erro no conteúdo do .XML.
Não testei a 2.9.2 ainda.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
SAT-CFe de cancelamento que possa validar
Olá Pessoal,
Hoje limpei tudo da versão anterior do emulador e instalei a versão 2.9.2 com sucesso.
1-Então fiz testes de emissão e cancelamento, e tudo funcionou.
2-Como na versão 2.9.2 está disponível a opção de versaoLayoutCFe 0.7 e 0.8, primeiro alterei para a versão 0.7 e repeti os testes. Tudo funcionou...
3-Alterei para a versão 0.8 e repeti os testes, tudo funcionou.
A única diferença que notei em usar as versão diferentes do leiaute, é que no XML aparece que estou usando essa versão, não notei mais nada diferente.
Resumindo: Nem sei pra que serve essas novas versões, e não achei nada que explique...
Editado:
Em produção estou usando a versão 0.6 e está tudo funcionando.
Hoje limpei tudo da versão anterior do emulador e instalei a versão 2.9.2 com sucesso.
1-Então fiz testes de emissão e cancelamento, e tudo funcionou.
2-Como na versão 2.9.2 está disponível a opção de versaoLayoutCFe 0.7 e 0.8, primeiro alterei para a versão 0.7 e repeti os testes. Tudo funcionou...
3-Alterei para a versão 0.8 e repeti os testes, tudo funcionou.
A única diferença que notei em usar as versão diferentes do leiaute, é que no XML aparece que estou usando essa versão, não notei mais nada diferente.
Resumindo: Nem sei pra que serve essas novas versões, e não achei nada que explique...
Editado:
Em produção estou usando a versão 0.6 e está tudo funcionando.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
