Bom dia,
Como usar a API
https://deolhonoimposto.ibpt.org.br/Sit ... //Produtos Get
como enviar os parametros: token,cnpj,codigo NCM ...
Obrigado

Moderador: Moderadores
*************************************************************
static FUNCTION CARREGA_TABELAIBPT( oServer )
*************************************************************
Local cArquivoCSV;
, cDirBase:=curdrive()+":\"+CURDIR();
, NOMETABELA:="c:\temp\NCM";
, mStruOk := {;
{"NUMNCM" ,"N", 9, 0},;
{"exncm" ,"N", 2, 0},;
{"tiponcm" ,"N", 1, 0},;
{"DESCRICAO" ,"C", 80, 0},;
{"NACFED" ,"N", 5, 2},;
{"IMPFED" ,"N", 5, 2},;
{"ESTADUAL" ,"N", 5, 2},;
{"MUNICIPAL" ,"N", 5, 2},;
{"VIGINICIO" ,"C", 10, 0},;
{"VIGFIM" ,"C", 10, 0},;
{"CHAVE" ,"C", 6, 0},;
{"VERSAO" ,"C", 6, 0},;
{"FONTE" ,"C", 34, 0};
}
LOCAL cSql, oFiles, oStru, cTable, oFileDbf, nCont, cKeyName, CSQLFIX, CTXT
LOCAL lBegin := .T.
cArquivoCSV :=hwg_SelectFile( {"CSV Files( *.CSV)"},{ "*.csv"},"C:\Users\Default\Downloads","Selecione Arquivo CSV para Incluir na Tabela NCM")
DirChange(cDirBase)
IF EMPTY(cArquivoCSV)
RETURN NIL
ENDIF
IF File(NOMETABELA + ".DBF" )
FErase( NOMETABELA + ".DBF" )
ENDIF
DBCREATE((NOMETABELA),mStruOk)
USE (NOMETABELA) EXCLUSIVE ALIAS NCM
APPEND FROM (cArquivoCSV) DELIMITED WITH ({,";"})
NCM->(DBGOTOP())
IF NCM->(RLOCK())
NCM->(DBDELETE())
ENDIF
NCM->(DBCLOSEAREA( ))
oServer:Execute("TRUNCATE `ncm`")
oFiles := Directory( "C:\TEMP\NCM.dbf" )
FOR EACH oFileDbf IN oFiles
cTable := oFileDbf[ F_NAME ]
cTable := hb_FNameName( cTable )
cKeyName:= cTable + "_Id"
@ 1,10 say " "
@ 1,10 say cTable
USE ( "C:\TEMP\" + cTable )
cSql := "CREATE TABLE IF NOT EXISTS " + cTable + " ( " + cKeyName + " INT(11) NOT NULL AUTO_INCREMENT, "
oStru := dbStruct()
cSqlFix := "INSERT INTO " + cTable + " ( "
FOR nCont = 1 TO FCount()
cSqlFix += cTable + "_" + FieldName( nCont )
IF nCont != FCount()
cSqlFix += ", "
ENDIF
NEXT
cSqlFix += " ) VALUES "
cTxt := ""
DO WHILE ! Eof()
cSql := "( "
FOR nCont = 1 TO Len( oStru )
cSql += SqlValue( Fieldget( nCont ) )
IF nCont != FCount()
cSql += ","
ENDIF
NEXT
cSql += " )"
IF Len( cTxt ) == 0
cTxt += cSqlFix
lBegin := .T.
ENDIF
IF ! lBegin
cTxt += ", "
ENDIF
lBegin := .F.
cTxt += cSql
IF Len( cTxt ) > MYSQL_MAX_CMDINSERT
HB_GTINFO( HB_GTI_CLIPBOARDDATA, cTxt)
oServer:Execute( cTxt )
cTxt := ""
ENDIF
SKIP
ENDDO
IF Len( cTxt ) != 0
oServer:Execute( cTxt )
ENDIF
USE
NEXT
hwg_MsgInfo( "Carga da Tabela NCM Finalizada","ROTINA FINALIZADA!!!" )
RETURN NIL
*************************************************************
STATIC FUNCTION sqlvalue(x)
*************************************************************
DO CASE
CASE ValType(x)=="N"; RETURN ltrim(str(x))
CASE ValType(x)=="L"; IF( X , X:= "1" , X:= "0"); RETURN x
CASE ValType(x)=="D"; IF(EMPTY( x ) , X:= "NULL", X:= ['] + Transform(Dtos(x),"@R 9999-99-99" ) + [']); RETURN x
CASE ValType(x)=="C"; IF(EMPTY( x ) , X:= "NULL", X:= ['] + STRTRAN(upper(TIRACENTO(x)),"'"," ") + [']); RETURN x
OTHERWISE; X:= "NULL"; RETURN x
ENDCASE
RETURN NIL
Usuários vendo este fórum: Nenhum usuário registrado online e 8 visitantes