Tabela de NCM com o CEST correspondente.
Moderador: Moderadores
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Tabela de NCM com o CEST correspondente.
Legal...
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Tabela de NCM com o CEST correspondente.
Voltei, vamos lá:
Não sei se é melhor deixar como está, ou completar com X.
Em branco pode parecer arquivo ruim... rs
Na hora de pesquisar NCM, vamos pesquisar:
12345678
1234567X
123456XX
12345XXX
1234XXXX
12XXXXXX
Pode confirmar na tabela CEST, que há quase todos esses casos acima, entre 2 e 7 dígitos, e vários terminam com zero.
O X representaria qualquer número naquela posição.
Desta forma, vamos conseguir pesquisar até aonde é o capítulo inteiro.
Não sei se é melhor deixar como está, ou completar com X.
Em branco pode parecer arquivo ruim... rs
Na hora de pesquisar NCM, vamos pesquisar:
12345678
1234567X
123456XX
12345XXX
1234XXXX
12XXXXXX
Pode confirmar na tabela CEST, que há quase todos esses casos acima, entre 2 e 7 dígitos, e vários terminam com zero.
O X representaria qualquer número naquela posição.
Desta forma, vamos conseguir pesquisar até aonde é o capítulo inteiro.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Tabela de NCM com o CEST correspondente.
O fonte gerando um fonte.... rs
Funções que faltam....
Nem precisa perguntar.... só olhar o hbp
O resultado:
Uma função que retorna tudo em array.
Código: Selecionar todos
REQUEST HB_CODEPAGE_PTISO
PROCEDURE Main
LOCAL cXml, cXmlTabela, cXmlRow, cXmlCol, cXmlColList, cCest, aNcm, cDesc, oElement, cTxt := ""
Set( _SET_CODEPAGE, "PTISO" )
CLS
cXml := MemoRead( "pagina.html" )
cTxt := [FUNCTION CestList()] + hb_Eol() + hb_Eol()
cTxt += [ LOCAL aList := {}] + hb_Eol() + hb_Eol()
FOR EACH cXmlTabela IN MultipleNodeToArray( cXml, "table" )
FOR EACH cXmlRow IN MultipleNodeToArray( cXmlTabela, "tr" )
cXmlColList := MultipleNodeToArray( cXmlRow, "td" )
IF Len( cXmlColList ) != 1 // Titulos
cCest := XmlNode( cXmlColList[ 2 ], "p" )
aNcm := hb_RegExSplit( "<br>", XmlNode( cXmlColList[ 3 ], "p" ) )
cDesc := XmlNode( cXmlColList[ 4 ], "p" )
FOR EACH oElement IN aNcm
cTxt += [ Aadd( aList, { ]
cTxt += ["] + SoNumeros( cCest ) + [", ]
cTxt += ["] + Pad( SoNumeros( oElement ), 8, "X" ) + [", ]
cTxt += ["] + AllTrim( StrTran( cDesc, ["], "" ) ) + [" } )]
cTxt += hb_Eol()
NEXT
ENDIF
NEXT
NEXT
cTxt += hb_Eol() + [ RETURN aList] + hb_Eol()
hb_MemoWrit( "teste.prg", cTxt )
RETURN
Nem precisa perguntar.... só olhar o hbp
Código: Selecionar todos
test.prg
\cvsfiles\josequintas\sefazclass\ze_xmlfunc.prg
\cvsfiles\josequintas\sefazclass\ze_miscfunc.prg
Uma função que retorna tudo em array.
Código: Selecionar todos
FUNCTION CestList()
LOCAL aList := {}
Aadd( aList, { "", "XXXXXXXX", "DESCRIÇÃO" } )
Aadd( aList, { "0100100", "38151210", "Catalisadores em colmeia cerâmica ou metálica para conversão catalítica de gases de escape de veículos e outros catalisadores" } )
Aadd( aList, { "0100100", "38151290", "Catalisadores em colmeia cerâmica ou metálica para conversão catalítica de gases de escape de veículos e outros catalisadores" } )
...
RETURN aList
- Anexos
-
test.prg- o que gera o outro fonte, direto do html (deixando só as "tables")
- (1.22 KiB) Baixado 88 vezes
-
teste.prg- o fonte gerado
- (189.74 KiB) Baixado 101 vezes
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Tabela de NCM com o CEST correspondente.
Pra completar:
Rotina pra retornar a lista para determinado NCM:
E rotina de teste:
Não serve AScan(), porque retornaria apenas um código, apesar que não sei se vai acontecer de ter mais de um.
Rotina pra retornar a lista para determinado NCM:
Código: Selecionar todos
FUNCTION CestFromNcm( cNcm )
LOCAL oCest, nCont, aList := {}
cNcm := SoNumeros( cNcm )
IF Len( cNcm ) == 8
FOR nCont = 8 TO 2 STEP -1
FOR EACH oCest IN CestList()
IF Pad( Left( cNcm, nCont ), 8, "X" ) == oCest[ 2 ]
AAdd( aList, oCest )
ENDIF
NEXT
IF Len( aList ) > 0
EXIT
ENDIF
NEXT
ENDIF
RETURN aList
Código: Selecionar todos
#include "inkey.ch"
FUNCTION Main()
LOCAL cNcm := Space(8), GetList := {}, oElement, aList
CLS
SetMode( 30, 100 )
DO WHILE .T.
@ 2, 1 SAY "Código NCM a pesquisar:" GET cNcm PICTURE "@R 99.99.99.99"
READ
IF LastKey() == K_ESC
EXIT
ENDIF
aList := CestFromNcm( cNcm )
Scroll( 3, 0, MaxRow(), MaxCol(), 0 )
@ 3, 0 SAY ""
FOR EACH oElement IN aList
@ Row() + 1, 1 SAY oElement[ 1 ] PICTURE "@R 99.99.99.99"
@ Row(), Col() + 2 SAY oElement[ 2 ] PICTURE "@R 99.99.99.99"
@ Row(), Col() + 2 SAY Pad( oElement[ 3 ], 60 )
NEXT
ENDDO
RETURN NIL
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Tabela de NCM com o CEST correspondente.
Ficaram pendentes 2 CEST que tem NCM em branco.
E o programa em execução, que esqueci da codepage..... rs
Código: Selecionar todos
Aadd( aList, { "0199900", " ", "Outras peças, partes e acessórios para veículos automotores não relacionados nos demais itens deste anexo" } )
Aadd( aList, { "2899900", " ", "Outros produtos comercializados pelo sistema de marketing direto porta-a-porta a consumidor final não relacionados em outros itens deste anexo" } )
E o programa em execução, que esqueci da codepage..... rs
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/
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/
Tabela de NCM com o CEST correspondente.
direto do site? é isso q entendi mesmo?
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.
“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.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Tabela de NCM com o CEST correspondente.
No caso, como eu precisava olhar a formatação, baixei o html, mas apaguei toda parte antes e depois das tabelas.
Foi direto do html baixado, equivalente ao site, mas com esses dois blocos apagados, o inicial e o final.
Agora que salvei tudo, dá pra testar direto do site, inclusive com alguns ajustes adicionais, por exemplo dos NCM em branco, e retirando os títulos.
Foi direto do html baixado, equivalente ao site, mas com esses dois blocos apagados, o inicial e o final.
Agora que salvei tudo, dá pra testar direto do site, inclusive com alguns ajustes adicionais, por exemplo dos NCM em branco, e retirando os títulos.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Tabela de NCM com o CEST correspondente.
Mas pera aí.... e isto?
C O N V Ê N I O
Cláusula primeira O inciso I da cláusula sexta do Convênio ICMS 92/15, de 25 de agosto de 2015, passa a vigorar com a seguinte redação:
“I - ao § 1º da cláusula terceira, a partir de:
a) 1º de julho de 2017, para a indústria e o importador;
b) 1º de outubro de 2017, para o atacadista;
c) 1ª de abril de 2018, para os demais segmentos econômicos;”.
Cláusula segunda O inciso II da cláusula trigésima sexta do Convênio ICMS 52/17, de 7 de abril de 2017, passa a vigorar com a seguinte redação:
“II - relativamente ao disposto no inciso I do caput da cláusula vigésima primeira, a partir de:
a) 1º de julho de 2017, para a indústria e o importador;
b) 1º de outubro de 2017, para o atacadista;
c) 1º de abril de 2018, para os demais segmentos econômicos;”.
Cláusula terceira Este convênio entra em vigor na data de sua publicação no Diário Oficial da União.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Tabela de NCM com o CEST correspondente.
Pronto.
Atendendo a pedidos... rs.... direto do site que contém a lei.
Direto do site para um fonte em Harbour....
É executar esse módulo, e depois adicionar o fonte gerado ao aplicativo, pronto para ser compilado.
Atendendo a pedidos... rs.... direto do site que contém a lei.
Direto do site para um fonte em Harbour....
É executar esse módulo, e depois adicionar o fonte gerado ao aplicativo, pronto para ser compilado.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Tabela de NCM com o CEST correspondente.
Só comentário:
Contando do post antes de mexer no fonte, aleração, teste, editar o print-screen, postar, alterar o post, etc.... foram 9 minutos.
Até que foi rápido.... rs
Contando do post antes de mexer no fonte, aleração, teste, editar o print-screen, postar, alterar o post, etc.... foram 9 minutos.
Até que foi rápido.... rs
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/
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/
Tabela de NCM com o CEST correspondente.
Parabéns, muito útil.
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.
“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.
-
gilbertosilverio
- Usuário Nível 3

- Mensagens: 339
- Registrado em: 18 Jan 2009 10:39
- Localização: Ribeirao Pires - SP
Tabela de NCM com o CEST correspondente.
Ola Jose Quintas,
Parabéns pela sua contribuição, ficou muito fácil verificar os CEST com esta tua tabela.
So para completar, creio que o link que você usou esta desatualizado, acho que o correto e esse aqui:
https://www.confaz.fazenda.gov.br/legis ... 7/CV052_17
Estava testando aqui, e justamente uma CHUPETA (39.26.90.90) , não consta na sua matriz. Pelo que verifiquei foram includos outros itens.
Peço a gentiliza, se possível, recriar esta matriz, e postar aqui, pois tentei aqui o xhb que uso, mais não consegui gera-la, baseada na tua rotina.
Parabéns pela sua contribuição, ficou muito fácil verificar os CEST com esta tua tabela.
So para completar, creio que o link que você usou esta desatualizado, acho que o correto e esse aqui:
https://www.confaz.fazenda.gov.br/legis ... 7/CV052_17
Estava testando aqui, e justamente uma CHUPETA (39.26.90.90) , não consta na sua matriz. Pelo que verifiquei foram includos outros itens.
Peço a gentiliza, se possível, recriar esta matriz, e postar aqui, pois tentei aqui o xhb que uso, mais não consegui gera-la, baseada na tua rotina.
GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Tabela de NCM com o CEST correspondente.
Olá Pessoal,
Apenas para mostrar o raciocínio que uso em meus sistemas quando está cadastrando um produto que tenha mais de um CEST para o mesmo NCM.
Para dar certo o exemplo precisa usar a tabela que postei nesse tópico (com zeros a esquerda): TabCEST
Após compilar, digite o NCM 23.0990.10, que não existe na tabela, mas existe o grupo e tem CEST: Ração tipo "pet" para animais domésticos. Então retornará o CEST do grupo 23.09 da tabela.
Depois, digite o NCM postado acima: 39.2690.90. Veja que esse NCM tem 3 CEST´s, e veja como o exemplo se comporta ao classificar o produto.
Claro que é um exemplo simples, e dependendo do NCM talvez a descrição seja truncada, pois no exemplo estou usando o Hb_Alert(), mas a ideia está bem clara, espero que ajude também.
Apenas para mostrar o raciocínio que uso em meus sistemas quando está cadastrando um produto que tenha mais de um CEST para o mesmo NCM.
Para dar certo o exemplo precisa usar a tabela que postei nesse tópico (com zeros a esquerda): TabCEST
Após compilar, digite o NCM 23.0990.10, que não existe na tabela, mas existe o grupo e tem CEST: Ração tipo "pet" para animais domésticos. Então retornará o CEST do grupo 23.09 da tabela.
Depois, digite o NCM postado acima: 39.2690.90. Veja que esse NCM tem 3 CEST´s, e veja como o exemplo se comporta ao classificar o produto.
Claro que é um exemplo simples, e dependendo do NCM talvez a descrição seja truncada, pois no exemplo estou usando o Hb_Alert(), mas a ideia está bem clara, espero que ajude também.
Código: Selecionar todos
/*
Compilar Hbmk2 exemplo.prg -lxhb
*/
#include "inkey.ch"
REQUEST DBFCDX
REQUEST HB_CODEPAGE_PT850
Function Main()
Local cCodNcm, cCest
Clear Screen
hb_SetCodepage('PT850')
rddSetDefault( "DBFCDX" )
Do While .t.
cCodNcm := Space( 10 )
@ 2,2 say "Digite o código NCM com 8 dígitos:" Get cCodNcm Picture "@R 99.9999.99" Valid Len( StrTran( cCodNcm, " ", "" ) ) = 8
Read
If LastKey() = K_ESC
Exit
Else
cCodNcm := Trim( cCodNcm )
EndIf
cCest := PegaCest( cCodNcm )
If !Empty( cCest )
Hb_Alert( "Cest retornado => " + cCest, Nil, "B+/W" )
Else
Hb_Alert( "Sem Cest" )
EndIf
EndDo
Return Nil
Function PegaCest( cCodNcm ) // pesquisa, classifica e retorna o CEST pelo NCM
Local GetList:={}, aCests:={}, cCest, x, cCodNcmFix, nOpc, cMsg, nLen
If Select( "TabCEST" ) = 0
Use TabCEST Shared New
EndIf
If !File( "TabCEST.Cdx" )
Index On ( ncm ) To "TabCEST.Cdx"
Else
Set Index To "TabCEST.Cdx"
EndIf
cCodNcmFix := cCodNcm
Seek cCodNcm
If !Found()
For x=1 To 6
cCodNcm := Left( cCodNcm, 7 ) // se não achou, procura pelos subgrupos e até o grupo
cCodNcm := StrZero( Val( cCodNcm ), 8 )
Seek cCodNcm
If Found()
Exit
EndIf
Next
EndIf
If !Found()
cCest := ""
Hb_Alert( "O Ncm " + cCodNcm + " não é passível de ST.;Para esse NCM não existe CEST!", Nil, "B+/W" )
Else
aCests:={}
While ( ncm = cCodNcm )
AaDd( aCests, { cest, Trim( descricao ) } )
Skip
EndDo
nLen := Len( aCests )
If Len( aCests ) > 1
For x=1 To nLen
cMsg := "Opção => " + Hb_NToS( x ) + " de " + Hb_NToS( nLen ) + " - Código CEST => " + aCests[ x, 1 ]
cMsg += ";O Produto sendo cadastrado se enquadra nessa Descrição?:"
cMsg += ";;" + aCests[x,2] + ";"
nOpc := Hb_Alert( cMsg, { "Proximo", "Classificar", "Sair" }, "B+/W" )
If nOpc = 0 .Or. nOpc = 3
Exit
ElseIf nOpc = 2
cCest := aCests[x,1]
Hb_Alert( "Produto com NCM: " + cCodNcmFix + " Classificado com o CEST => " + aCests[x,1] + ";;" + aCests[x,2], Nil, "B+/W" )
Exit
EndIf
If ( x = nLen )
x := 0
EndIf
Next
Else
cCest := aCests[1,1]
Hb_Alert( "Produto com NCM: " + cCodNcmFix + ";Produto com Somente um CEST => " + aCests[1,1] + ";;" + aCests[1,2], Nil, "B+/W" )
EndIf
EndIf
Return ( cCest )Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Tabela de NCM com o CEST correspondente.
Não entendi.
No caso desse código, o resultado está ok.
Mas falta atualizar para o link que foi comentado que é mais atualizado, ainda não verifiquei.
No caso desse código, o resultado está ok.
Mas falta atualizar para o link que foi comentado que é mais atualizado, ainda não verifiquei.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Tabela de NCM com o CEST correspondente.
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
mais um pouco.
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
Acabou de chegar o aviso.
NT 2015.003 versão 1.94
https://www.nfe.fazenda.gov.br/portal/e ... iCiO978HY=
mais um pouco.
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
Acabou de chegar o aviso.
NT 2015.003 versão 1.94
https://www.nfe.fazenda.gov.br/portal/e ... iCiO978HY=
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/
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/
