segunda-feira, 18 de dezembro de 2017

AULA 1309 WINDEV ACBR - 017 - NFE.CancelarNFe











DESENVOLVIMENTO AO VIVO QUE ORIGINOU AULA WINDEV ACBR CANCEALMENTO






VIDEO WINDEV ACBR NFE.CANCELARNFE



CANCELAMENTO DESENVOLVIMENTO AO VIVO





ACBR INSTALAR - INICIO - ACBR 001 - AULA 1291
ACBR - COMO CONFIGURAR - ACBR 002 - AULA 1292
STATUS SERVICO - ACBR 003 AULA 1293
DANF ACBR PARTE 1 - ACBR 004 AULA 1294
CADASTRO CONTRIBUINTE ACBR - ACBR 007 AULA 1297
ACBR AJUSTES PROCEDURES - ACBR 008 AULA 1298
NCM DESCRICAO - ACBR 009 AULA 1299
NFE.CRIANFE 1A PARTE ACBR 010 AULA 1300
NFE.CRIARNFE 2A PARTE ACBR 011 AULA 1301
NFE.CRIARNFE 3A PARTE CODE ACBR 012 AULA 1302
NFE.ENVIARNFE ACBR 1A PARTE ACBR 013 AULA 1303
NFE ENVIARNFE ACBR 2A PARTE ACBR 014 AULA 1304
NFE ENVIARNFE ACBR 3A PARTE ACBR 015 AULA 1306
NFE ENVIARNFE ACBR 4A PARTE ACBR 016 AULA 1308
NFE.CancelarNFE WINDEV ACBR 017 AULA 1309
INUTILIZAR ACBR 018 AULA 1310 
CARTA CORRECAO - NFe.EnviarEvento - ACBR 019 AULA 1311
LERINI ACBR CONFIGURACAO 020 AULA 1313 
CNPJ CERTIFICADO ACBR 021 AULA 1314
NFE.SetCertificado WINDEV ACBR 022 - AULA 1315 
CRIAR CTE - WINDEV ACBR 023 AULA 1316 PARTE 1
CRIAR CTE - WINDEV ACBR 024 AULA 1318
CRIAR CTE IDE - WINDEV ACBR 025 AULA 1320
CRIAR CTE infCte - WINDEV ACBR 026 - AULA 1327
CRIAR CTE - COMPL - WINDEV ACBR 027 AULA 1336
CRIAR CTE - EMITENTE - WINDEV ACBR 028 AULA 1337
CRIAR CTE - REMETENTE - WINDEV ACBR 029 AULA 1338
CRIAR CTE - LOCCOLETA/INFNF/ WINDEV ACBR 030 AULA 1347 
CRIAR CTE - DEST E VPREST - WINDEV ACBR 031 AULA 1348
CRIAR CTE - ICMSSN,TRIB,CARGA,INFQ WINDEV ACBR 032 AULA 1349
CRIAR CTE - RODO INFSERVICO INFDOC WINDEV ACBR 033 AULA 1350
CRIAR CTE - SEGURO,RODOOS WINDEV ACBR 034 AULA 1351
CRIAR CTE - VEIC,OCC, WINDEV ACBR 035 - 1352
NFE - DICAS 1667 - PRIVADO - VIDEO - ACBR 036 - NFE REVISAO
CTE - DICAS 1687 - PRIVADO - WINDEV ACBR 037 - CTE 13 - CONTINUAR PROJETO
CTE - DICAS 1688 - PRIVADO - WINDEV ACBR 038 - CTE 14 - CTE.CriarCTe
CTE - DICAS 1689 - PRIVADO - WINDEV ACBR 039 - CTE 15 - CORRIGINDO ERROS CTE
CTE - DICAS 1690 - PRIVADO - WINDEV ACBR 040 - CTE 15 - CRIA CTE E BUSCA RETORNO
CTE - DICAS 1692 - PUBLICA - WINDEV ACBR 041 - CTE 16 - CTE.CRIARENVIARCTE PARTE 1/..
CTE - DICAS 1694 - PRIVADA - WINDEV ACBR 042 - CTE 17 - CTE.CRIARENVIARCTE PARTE 2/...
CTE - DICAS 1696 - PRIVADA - WINDEV ACBR 044 - CTE 18 - CTE.CRIARENVIARCTE PARTE 3/...
CTE - DICAS 1698 - PRIVADA - WINDEV ACBR 044 - CTE 19 - CTE.CRIARENVIARCTE PARTE 4/ VENDO ERROS
CTE DICAS 1699 - PUBLICA - WINDEV ACBR 045 - CTE 20 - GRAVANDO CTE AUTORIZADO
BOLETO - DICAS 1700 - PUBLICA - WINDEV acbr boleto 1/ - BOLETO INICIO/1..
BOLETO - DICAS 1701 - PUBLICA - WINDEV acbr boleto 2/ - CRIANDO COMPONENTE
BOLETO - DICAS 1702 - PRIVADA - WINDEV acbr boleto 3/ - CRIANDO VERIFICA
BOLETO - DICAS 1703 - PRIVADA- WINDEV acbr boleto 4/ - ACBR ConfigurarDados
BOLETO - DICAS 1704 - PRIVADA- WINDEV acbr boleto 5/ - ConfigurarDados/2
MANIFESTACAO - DICAS 1705 - PRIVADA- WINDEV acbr Manifestacao 1/ - Manifestacao Notas 1
BOLETO - DICAS 1706 - PRIVADA- WINDEV acbr boleto 6/ - ConfigurarDados/3
BOLETO - DICAS 1707 - PRIVADA - WINDEV acbr boleto 7/ - LIMPA
BOLETO - DICAS 1708 - PUBLICA- WINDEV acbr boleto 8/ - BOLETO.TamNossoNumero
BOLETO - DICAS 1709 - PRIVADA - WINDEV acbr boleto 9/ - BOLETOIncluirTitulos parte 1
BOLETO - DICAS 1712 - PRIVADA - WINDEV acbr boleto 11/ - BOLETOImprimir
BOLETO - DICAS 1713 - PRIVADA - WINDEV acbr boleto 12/ - BOLETOGerarRemessa
BOLETO - DICAS 1714 - PUBLICA - WINDEV acbr boleto 13/ - BOLETOTotalTitulosLista
BOLETO - DICAS 1715 - publica - WINDEV acbr boleto 14/ - BOLETO.ListaBancos
BOLETO - ICAS 1716 - privada - WINDEV acbr boleto 15/ - BOLETO.ListaCaractTitulo
BOLETO - DICAS 1718 - PUBLICA - WINDEV acbr boleto 16/ - BOLETOListaOcorrencias


TUTORIAL INSTALAÇÃO ACBR http://www.pctoledo.com.br/forum
ANDRE MORAES - http://anfm.blogspot.com.br/2009/09/campos-para-criar-uma-nfe-usando-o.html
PROJETO ACBR MONITOR - https://www.projetoacbr.com.br/acbrmonitor-3
COMO BAIXAR FONTE ACBR - http://www.pctoledo.com.br/forum
FORUM ACBR - https://www.projetoacbr.com.br/forum/files/
http://anfm.blogspot.com.br/
HELP ON-LINE







PROCEDURE gera_000_00_cancelamento_Acbr()

IF YesNo("Deseja Realmente Cancelar a Nota Fiscal") THEN
gera_000_01_configura_Acbr()
gera_150_01_gerar_txt_acbr()
IF EDT_xml_retorno_assinado<>"" THEN
gera_160_01_retorno_txt_acbr()
gs_auditoria+="Cancelamento Deu Certo"
Info("Cancelamento Pronto - Vai Imprimir e Depois confira Site Sefaz")
ExecuteProcess(BTN_Imprimir_Cancelamento,trtClick)
ELSE
gs_auditoria+="Cancelamento Nao Foi Feito Verificar"
Info("NAO FEZ CANCELAMENTO")
END
END




PROCEDURE gera_150_01_gerar_txt_acbr()


VERIFICA_ARQUIVO_SAIDA(EDT_diretorio_arquivo_saida)
_arquivo_acbr is string=[
NFE.CANCELARNFE("#chave_cte#",#justificativa#,#cnpj_emissor#,#evento#)
]
_arquivo_acbr=Replace(_arquivo_acbr,"#chave_cte#",EDT_ChaveNFE)
_arquivo_acbr=Replace(_arquivo_acbr,"#justificativa#",EDT_Justificativa)
_arquivo_acbr=Replace(_arquivo_acbr,"#cnpj_emissor#",empresa.cnpj)
_arquivo_acbr=Replace(_arquivo_acbr,"#evento#",EDT_TipoEvento)
EDT_xml=_arquivo_acbr
gs_auditoria+=_arquivo_acbr
EDT_xml_retorno_assinado=VERIFICA_ARQUIVO_RETORNO(EDT_diretorio_arquivo_entrada,EDT_xml,EDT_diretorio_arquivo_saida)

//http://acbr.sourceforge.net/ACBrMonitor/NFECancelarNFe.html
//NFe.CancelarNFe(cChaveNFe,cJustificativa,cCNPJ,nEvento)
//Parâmetros
//cChaveNFe - Chave da da NF-e.
//cJustificativa - Informe o Motivo do Cancelamento
//cCNPJ - CNPJ do Emissor
//nEvento - Numero do Evento (Obs.: Parâmetro opcional.)
//Exemplo:
//NFE.CANCELARNFE("35XXXXXXXXXXXXXXXX550010000000050000000058","Teste de Cancelamento","99999999000191")




PROCEDURE gera_160_01_retorno_txt_acbr()
s_texto_cstat is string=""
EDT_ProtocoloCancelamento=""
_sequencia is int=0
_tipo_evento is string=""

s_xml_retornado is string=""
EDT_xml_autorizado=""
_cabecalho_xml is string=[
<?xml version="1.0" encoding="UTF-8"?>
]

FOR EACH STRING s_linha OF EDT_xml_retorno_assinado SEPARATED BY ["XML="]
s_xml_retornado=s_linha
END
EDT_xml_autorizado=_cabecalho_xml+s_xml_retornado

FOR EACH STRING s_linha OF EDT_xml_retorno_assinado SEPARATED BY CR
IF s_linha[[1 TO 6]]="CStat=" THEN
s_texto_cstat=s_linha
END
IF s_linha[[1 TO 6]]="NProt=" THEN
EDT_ProtocoloCancelamento=s_linha[[7 TO 21]]
END
IF s_linha[[1 TO 11]]="nSeqEvento=" THEN
_sequencia=s_linha[[12 TO 13]]
END
IF s_linha[[1 TO 9]]="tpEvento=" THEN
_tipo_evento=s_linha[[10 TO 15]]
END
END
EDT_xml_autorizado=Replace(EDT_xml_autorizado,"XML=","")
IF s_texto_cstat="CStat=135" THEN
gera_200_01_grava_nota_xml()
END



PROCEDURE gera_200_01_grava_nota_xml()
IF EDT_xml<>"" THEN
nota_fiscal_xml.cancelamento_xml_enviado=EDT_xml
END
IF EDT_xml_retorno_assinado<>"" THEN
nota_fiscal_xml.cancelamento_xml_retorno_assinado=EDT_xml_retorno_assinado
END
IF EDT_xml_autorizado<>"" THEN
nota_fiscal_xml.cancelamento_xml_retorno_cancelamento=EDT_xml_autorizado
END
IF gs_auditoria<>"" THEN
nota_fiscal_xml.cancelamento_xml_enviado_assinado=gs_auditoria
ELSE
// ESSE SOMENTE UNINFE
IF EDT_xml_retorno_env<>"" THEN
nota_fiscal_xml.cancelamento_xml_enviado_assinado=EDT_xml_retorno_env
END
// ESSE SOMENTE UNINFE

END
HModify(nota_fiscal_xml)
IF EDT_ProtocoloCancelamento<>"" THEN
nota_fiscal.cancelamento_xml_protocolo=EDT_ProtocoloCancelamento
    nota_fiscal.nfe_situacao_xml=2
    HModify(nota_fiscal)
END



NFE.CANCELARNFE("43171203850874000126550010000038971000038977",TESTE DE CANCELAMENTO NOVO,03850874000126,110111)



OK: Lote de Evento Processado
[CANCELAMENTO]
Versao=RS201710241716
TpAmb=2
VerAplic=RS201710241716
CStat=135
XMotivo=Evento registrado e vinculado a NF-e
CUF=43
ChNFe=43171203850874000126550010000038971000038977
DhRecbto=17/12/2017 14:47:53
NProt=143170001511860
tpEvento=110111
xEvento=
nSeqEvento=1
CNPJDest=89184238000128
emailDest=
Arquivo=C:\amarildo\jairo\xml_acbr\Arqs\03850874000126\NFe\201712\Evento\Cancelamento\1101114317120385087400012655001000003897100003897701-procEventoNFe.xml
XML=<procEventoNFe ....



PROCEDURE VERIFICA_ARQUIVO_SAIDA(_diretorio_Arquivo_saida is string="")

IF fFileExist(_diretorio_Arquivo_saida) THEN
fDelete(_diretorio_Arquivo_saida)
END


PROCEDURE VERIFICA_ARQUIVO_RETORNO(s_DIRETORIO_ARQUIVO_ENTRADA is string="",s_XML is string="", ...
s_DIRETORIO_ARQUIVO_SAIDA is string="")

s_RETORNO is string=""
fSaveText(s_DIRETORIO_ARQUIVO_ENTRADA,s_XML)
Message("AGUARDE...")
Wait(30)
Message()
s_RETORNO=""
b_existe is boolean=False
LOOP
IF fFileExist(s_DIRETORIO_ARQUIVO_SAIDA) THEN
b_existe=True
BREAK
END
Multitask(-1)
IF KeyPressed(VK_SPACE) = True THEN
BREAK
END
END
//Info("PARE")
IF b_existe=True THEN
Message(s_DIRETORIO_ARQUIVO_SAIDA)
s_RETORNO=fLoadText(s_DIRETORIO_ARQUIVO_SAIDA)
END

RESULT s_RETORNO















































Teste

Teste
teste