Precisa fazer a Validação de Inscrição Estadual, baixei uma DLL no site http://www.sintegra.gov.br/ na seção de downloads, mas não estou conceguindo usar. Alguem sabe como utilizar esta DLL? Segue codigo que estou utilizando: Código: def var retorno as int. run consisteinscricaoestadual ( input "111222333444", input "SP", output retorno ). procedure ConsisteInscricaoEstadual external "DLLs\DllInscE32.dll": def input parameter iinsc as char. def input parameter iuf as char. def output parameter oret as short. end. Link para download da DLL: http://www.sintegra.gov.br/DLL3.zip
Re: Validar Inscrição Estadual Eu já tive problemas no uso de uma DLL. Só consegui resolver informando o caminho completo da DLL, por exempo "c:\DLLs\DllInscE32.dll". Faça um teste informando todo o caminho da DLL para ver se funciona.
Re: Validar Inscrição Estadual Caro colega, Identifiquei o que está ocorrendo, quando definido parametros para as procedures de DLL, a definição da variável de retorno não pode ser usada como OUTPUT e sim como RETURN, alterando a rotina (conforme abaixo) passou a funcionar. A mensagem que retorna é que os parâmetros não estavam sendo definidos corretamente. Outro detalhe, caso não for informar o caminho completo da DLL, coloque-a no diretório WINDOWS/SYSTEM32 da máquina, neste caso o melhor mesmo é informar o caminho completo. Código: def var retorno as int. run consisteinscricaoestadual ( input "0670154910049", input "MG", output retorno). if retorno = 0 then message "IE Válido" view-as alert-box. else message "IE Inválido" view-as alert-box. procedure ConsisteInscricaoEstadual external "DllInscE32.dll": def input parameter iinsc as char. def input parameter iuf as char. def return parameter oRet as short. end.
Re: Validar Inscrição Estadual Fala galera. Pra quem usa Datasul EMS tem um api que retorna se esta correto ou não. Segue abaixo um codigo que fiz para um cliente. Código: DEFINE VARIABLE c-cod-erro AS CHARACTER NO-UNDO. DEFINE VARIABLE c-cod-ie-sai AS CHARACTER NO-UNDO. IF int-emitente.NATUREZA = 1 OR int-emitente.ins-estadual = ? OR int-emitente.ins-estadual = " " THEN RETURN "OK":U. run cdp/cd6667.p(Input "BRA", Input int-emitente.estado, Input int-emitente.ins-estadual, Output c-cod-erro, Output c-cod-ie-sai). if c-cod-erro <> "OK" then RETURN "NOK":U. ELSE RETURN "OK":U.