Bom dia, Seja bem vindos a mais uma video Aula. Essa Aula está sendo Gravada no dia 20 11 2019.
Dica 2488. Método usado para validar os conhecimentos assinados através do componente ACBrCTe.
DICAS 2488 - WINDEV WEBDEV MOBILE - ACBR 170 - ACBR LIB - CTE_Validar
PROCEDURE ACBR_Validar(sRecebe_nome_dll is string="",sRecebe_nome_metodo is string="",recebe_ultimo_Retorno is string="")
gnretorno_acbr=API(sRecebe_nome_dll,sRecebe_nome_metodo)
//gnretorno_acbr=API("ACBrNFe32.DLL","NFE_Validar")
IF gnretorno_acbr=0 THEN
// 0 = VALIDOU COM SUCESSO
RESULT("0")
ELSE
texto is string="Erro Retorno ["+gnretorno_acbr+"]"
IF gnretorno_acbr=-1 THEN texto+=" Indica que a biblioteca não foi inicializada "
IF gnretorno_acbr=-10 THEN texto+=" Indica que houve erro ao Validar"
//texto+=CR+ACBR_ULTIMO_RETORNO("ACBrNFe32.DLL","NFE_UltimoRetorno")
texto+=CR+ACBR_ULTIMO_RETORNO(sRecebe_nome_dll,recebe_ultimo_Retorno)
RESULT texto
END
//https://acbr.sourceforge.io/ACBrLib/NFE_Validar.html
// NFE_Validar;
========================
PROCEDURE ACBR_Assinar(sRecebe_nome_dll is string="",sRecebe_nome_metodo is string="",recebe_ultimo_Retorno is string="")
//gnretorno_acbr=api("ACBrNFe32.DLL","NFE_Assinar")
//EDT_RESPOSTA=ACBR_Assinar("ACBrCTe32.dll","CTE_Assinar")
gnretorno_acbr=API(sRecebe_nome_dll,sRecebe_nome_metodo)
IF gnretorno_acbr=0 THEN
//assinou com sucesso=0
RESULT("0")
ELSE
texto is string="Erro Retorno ["+gnretorno_acbr+"]"
IF gnretorno_acbr=-1 THEN texto+=" Indica que a biblioteca não foi inicializada "
IF gnretorno_acbr=-10 THEN texto+=" Indica que houve erro ao Assinar"
// aula 19 11 2019
texto+=ACBR_ULTIMO_RETORNO(sRecebe_nome_dll,recebe_ultimo_Retorno)
//"CTE_UltimoRetorno")
RESULT texto
END
//https://acbr.sourceforge.io/ACBrLib/NFE_Assinar.html
//Comando: NFE_ Assinar
========================
// btn ASSINAR xml eCTE
bRETORNO is boolean=ACBR_INICIALIZAR("ACBrCTe32.dll","CTE_Inicializar")
IF bRETORNO=True THEN
EDT_RESPOSTA=ACBR_CARREGARINI("ACBrCTe32.dll","CTE_CarregarINI",EDT_INI)
IF EDT_RESPOSTA=0 THEN
EDT_RESPOSTA=ACBR_Assinar("ACBrCTe32.dll","CTE_Assinar","CTE_UltimoRetorno")
IF EDT_RESPOSTA=0 THEN
//AULA 20 11 2019
EDT_RESPOSTA=ACBR_Validar("ACBrCTe32.dll","CTE_Validar","CTE_UltimoRetorno")
IF EDT_RESPOSTA=0 THEN
EDT_RESPOSTA+=CR+"ASSINADO E VALIDADO COM SUCESSO"
ELSE
Info("ERRO AO VALIDAR:"+CR+EDT_RESPOSTA)
END
//AULA 20 11 2019
ELSE
Info("erro ao assinar"+EDT_RESPOSTA)
END
ELSE
Info("ERRO AO CARREGAR INI")
END
END
ACBR_FINALIZAR("ACBrCTe32.dll","CTE_Finalizar")
========================
PROCEDURE ACBR_ULTIMO_RETORNO(sRecebe_nome_dll is string="",sRecebe_nome_metodo is string="")
gnTamanho is system int=256
gsResposta is string on 256
gnretorno_acbr=API(sRecebe_nome_dll,sRecebe_nome_metodo,&gsResposta,&gnTamanho)
sTEXTO_R is string="Retorno["+gnretorno_acbr+"]"+CR
sTEXTO_R+=VER_RETORNO_MAIOR_256(sRecebe_nome_dll,sRecebe_nome_metodo,gnTamanho,gsResposta)
RESULT sTEXTO_R
========================
PROCEDURE VER_RETORNO_MAIOR_256(RECEBE_NOME_DLL,RECEBE_METODO,RECEBE_GNTAMANHO,RECEBE_GSRESPOSTA)
gsResposta_maior_256 is string=""
IF RECEBE_GNTAMANHO>256 THEN
gsResposta_maior_256=RepeatString(" ",RECEBE_GNTAMANHO)
gnretorno_acbr=API(RECEBE_NOME_DLL,RECEBE_METODO,&gsResposta_maior_256,&RECEBE_GNTAMANHO)
RESULT UTF8ToString(gsResposta_maior_256)
ELSE
RESULT UTF8ToString(RECEBE_GSRESPOSTA)
END
//"NFE_UltimoRetorno"
========================
DICAS 2477 WINDEV WEBDEV MOBILE ACBR 167 ACBR LIB CTE CarregarXML
DICAS 2479 WINDEV WEBDEV MOBILE ACBR 168 ACBR LIB CTE ObterXml
DICAS 2482 WINDEV WEBDEV MOBILE ACBR 169 ACBR LIB CTE Assinar
DICAS 2486 WINDEV WEBDEV MOBILE ACBR 170 ACBR LIB Fazendo Modificacoes R..
DICAS 2488 WINDEV WEBDEV MOBILE ACBR 171 ACBR LIB CTE Validar
DICAS 2490 WINDEV WEBDEV MOBILE ACBR 172 ACBR LIB CTE Enviar
DICAS 2479 WINDEV WEBDEV MOBILE ACBR 168 ACBR LIB CTE ObterXml
DICAS 2482 WINDEV WEBDEV MOBILE ACBR 169 ACBR LIB CTE Assinar
DICAS 2486 WINDEV WEBDEV MOBILE ACBR 170 ACBR LIB Fazendo Modificacoes R..
DICAS 2488 WINDEV WEBDEV MOBILE ACBR 171 ACBR LIB CTE Validar
DICAS 2490 WINDEV WEBDEV MOBILE ACBR 172 ACBR LIB CTE Enviar
============================
Nenhum comentário:
Postar um comentário