Bom dia...
Alguém tem uma tabela relacionando os ncms extintos agora em 31/03 com ncms válidos?
Tipo
NCM antigo -> NCM (novo/válido)
Obrigado
Rubens
Moderador: Moderadores
NCM.BaixarLista
usa a função do ACBr pra baixar os válidos atuais e compara com a tua...
/*
--------------------------------------------------
PEDI0300 - Importa NCM 2017 Fazenda
2017.04.07 - José Quintas
--------------------------------------------------
201.04.07.2200 - Criação
--------------------------------------------------
*/
#include "jpa.ch"
PROCEDURE PEDI0300
LOCAL acFiles, cFileExcel, cSheetName, nQtd, nQtdTotal, cNcm, dValIni, dValAte, cnExcel, cSql := "", lBegin := .F.
LOCAL cnMySql := ADOClass():New( AppcnMySqlSite() )
acFiles := Directory( "IMPORTA\*.xls" )
IF Len( acFiles ) == 0
MsgStop( "Planilha Tabela NCM não encontrada na pasta IMPORTA\" )
RETURN
ENDIF
cFileExcel := hb_cwd() + "IMPORTA\" + acFiles[ 1, 1 ]
SayScroll( cFileExcel )
IF ! Mensagem( "Confirma processo?", "S,N" ) == "S"
RETURN
ENDIF
SayScroll( "Importando dados" )
cnMySql:Open()
cnMySql:ExecuteCmd( JPPRONCMCreateMySql() )
cnMySql:ExecuteCmd( "TRUNCATE TABLE JPPRONCM" )
cnExcel := ADOClass():New( ExcelConnection( cFileExcel ) )
cnExcel:Open()
cSheetName := "[NCM_2012-2017 x uTrib$]"
cnExcel:cSql := "SELECT COUNT(*) AS QTD FROM " + cSheetName
nQtdTotal := cnExcel:ReturnValueAndClose( "QTD" )
cnExcel:cSql := "SELECT * FROM " + cSheetName
cnExcel:Execute()
nQtd := 0
cnExcel:MoveFirst()
cnExcel:MoveNext() // pula titulo
GrafTempo( "Importando NCM" )
cnMySql:Execute( "INSERT INTO JPPRONCM ( PNCODIGO, PNVALDE, PNVALATE ) VALUES ( '00000000', '2000-01-01', NULL )" )
DO WHILE ! cnExcel:Eof()
GrafTempo( nQtd, nQtdTotal )
nQtd += 1
cNcm := cnExcel:StringSql( 0 )
dValIni := Ctod( cnExcel:StringSql( 1 ) )
dValAte := Ctod( cnExcel:StringSql( 2 ) )
IF Val( cNcm ) > 0
cNcm := StrZero( Val( cNcm ), 8 )
IF Len( cSql ) == 0
cSql := "INSERT IGNORE INTO JPPRONCM ( PNCODIGO, PNVALDE, PNVALATE ) VALUES "
lBegin := .T.
ENDIF
IF ! lBegin
cSql += ", "
ENDIF
lBegin := .F.
cSql += "( " + ;
StringSql( cNcm ) + ", " + ;
DateSql( dValIni ) + ", " + ;
DateSql( dValAte ) + " )"
IF Len( cSql ) > MYSQL_MAX_CMDINSERT
cnMySql:ExecuteCmd( cSql )
cSql := ""
lBegin := .T.
ENDIF
ENDIF
cnExcel:MoveNext()
ENDDO
cnExcel:CloseConnection()
IF Len( cSql ) > 0
cnMySql:ExecuteCmd( cSql )
ENDIF
cnMySql:CloseConnection()
MsgExclamation( "Fim da importação! Verificados " + LTrim( Str( nQtd ) ) + " NCMs" )
RETURN
Retornar para Legislação Fiscal e Tributária
Usuários vendo este fórum: Nenhum usuário registrado online e 8 visitantes