Tabela relacionada de ncms extintos em 31/03/2017

Fórum sobre desenvolvimento de software para atender as exigências da legislação fiscal e tributária (NFe, NFCe, NFSe, SPEED, Projeto ACBr, TEF, ECD, EFD, etc.)

Moderador: Moderadores

Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

Tabela relacionada de ncms extintos em 31/03/2017

Mensagem 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
"Eu e minha casa servimos ao Senhor e você ???"
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Tabela relacionada de ncms extintos em 31/03/2017

Mensagem 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
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

Tabela relacionada de ncms extintos em 31/03/2017

Mensagem 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
"Eu e minha casa servimos ao Senhor e você ???"
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Tabela relacionada de ncms extintos em 31/03/2017

Mensagem 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Tabela relacionada de ncms extintos em 31/03/2017

Mensagem 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?
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

Tabela relacionada de ncms extintos em 31/03/2017

Mensagem 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
"Eu e minha casa servimos ao Senhor e você ???"
Responder