Página 1 de 1

Tabela relacionada de ncms extintos em 31/03/2017

Enviado: 09 Abr 2017 09:58
por rubens
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

Tabela relacionada de ncms extintos em 31/03/2017

Enviado: 09 Abr 2017 11:50
por fladimir
usa a função do ACBr pra baixar os válidos atuais e compara com a tua...

Código: Selecionar todos

NCM.BaixarLista

Tabela relacionada de ncms extintos em 31/03/2017

Enviado: 09 Abr 2017 17:28
por rubens
Não é bem esse o problema Fladimir...

O negócio é que deu mais de 06 páginas de ncms extintos.. Dai isso no cliente tá sendo um atropelo... Eu tenho a tabela de ncms válidos... o negócio é que os caras querem tudo de mão beijada... e na realidade se tivesse um jeito de facilitar isso eu faria... seria um diferencial... enquanto outros sistemas tem que fazer na unha ou esperar uma nova comprar par corrigir o meu sistema "trocaria" todos os ncms extintos... mas acho que não vou encontra isso pronto não... o jeito é ou zerar os produtos com ncms extintos e imprimir uma listagem para o cliente corrigir, ou deixar ele corrigir conforme vai aparecendo os erros na hora de enviar nfe ou nfce...

Obrigado

Tabela relacionada de ncms extintos em 31/03/2017

Enviado: 09 Abr 2017 18:04
por JoséQuintas
usa a função do ACBr pra baixar os válidos atuais e compara com a tua...
ncm.png

Código: Selecionar todos

/*
--------------------------------------------------
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
Nota:
Nenhum cliente reclamou até agora, então não tinha feito nada antes sobre isso..... rs
Nesse caso é direto do Excel para o MySql do meu site.

Tabela relacionada de ncms extintos em 31/03/2017

Enviado: 10 Abr 2017 01:17
por fladimir
Não sei se entendi direito...

Até o momento não tive problemas de caos digamos assim.

O q tenho usado é a rotina q baixa a tabela nova e tenho uma rotina q o cliente escolhe trocar NCM de para ai informa o NCM ou produto q ele quer q troque o NCM (pode ser um NCM inválido q deixou de existir) e escolhe na tabela atualizada para qual irá trocar, com isto troca todos, ou seja, no dia a dia encontrou NCM inválido ele pode informar e já trocar todos q tem no cadastro de produtos automaticamente por outro valido, ai facilita a correção.

Tb tenho faço o seguinte, faz uma checagem no cadastro de produtos, filtrando todos os NCMs q não são mais válidos ai o cliente vai e informa para qual vai trocar (conforme acima) e pronto ele consegue arrumar facilmente sem muito trabalho.

Pq por mais q tenham por exemplo 1000 NCMs extintos suponhamos, como é por segmento, as vezes um determinado ramo tem uns 150 q por sua vez na base do cliente tem 100 q filtrando (comparando com os validos saberemos quais são inválidos) depois fazendo o cliente escolher DE -> Para tipo NCM 1993.23.42 (nem sei se tem) para 5034.42.33... trocar todos? Sim pronto akele já foi geral, e assim por diante.

Assim não resolveria?

Tabela relacionada de ncms extintos em 31/03/2017

Enviado: 10 Abr 2017 08:31
por rubens
Bom dia...

Vou fazer isso mesmo... tinha pensado nisso mas como bom brasileiro... esperava a solução mais fácil.. kkkkk

Quintas esta tabela já tenho em excel...
Já importei para o sistema.

Eu recebo um e-mail quando ocorre um erro com o envio de nfce. MAs tem usuário que judia muito... cheguei a receber 15 emails de erro com a tentativa de envio de nfce e fui ver o cliente tentando enviar a mesma nfce, sem corrigir o ncm... liguei para ele e disse que não sabia... tá bem claro na mensagem de erro que é exibida na tela...

Obrigado...

Rubens