dorneles Posted November 22, 2023 Report Share Posted November 22, 2023 alguem faz consulta da aliquota de pis/cofins pelo codigo de barra? se sim oque vcs usa Quote Link to comment Share on other sites More sharing options...
rochinha Posted November 22, 2023 Report Share Posted November 22, 2023 Amiguinhos, 3 horas atrás, dorneles disse: alguem faz consulta da aliquota de pis/cofins pelo codigo de barra? se sim oque vcs usa Os cara só qué coisa dificiu! dorneles tempos atrás coloquei para download uma tabela NCM com MVA,PIS,COFINS,Depreciação,etc e você poderia usá-la para esta pesquisa. Caso não tenha NCM no item mas ele tenha um GTIN/EAN válido você poderia usar a API da Bluesoft para trazer o NCM e então pesquisar na base disponibilizada. cNCMCosmos := "https://api.cosmos.bluesoft.com.br/gtins/"+M->EANGTIN+".json" AUTH_TOKEN := "Faça seu cadastro na BlueSoft e consiga um token privado" strMsg := "" oNCMCosmos:= TOleAuto():New( "Microsoft.XMLHTTP" ) oNCMCosmos:Open( "GET", cNCMCosmos, .F. ) oNCMCosmos:setRequestHeader( "Content-Type", "application/json;charset=UTF-8" ) oNCMCosmos:setRequestHeader( "User-Agent", "Cosmos-API-Request" ) oNCMCosmos:setRequestHeader( "X-Cosmos-Token", AUTH_TOKEN ) oNCMCosmos:Send( strMsg ) cNCMCosmos:= oNCMCosmos:ResponseText() cNCMCosmos:= substr( cNCMCosmos, AT(["ncm":{"code"],cNCMCosmos)+15, 8 ) Faça a pesquisa do NCM na tabela e puxe o PIS/COFINS configurado. Compare com os valores obtidos com seu contador. A função NCMCST() recebe NCM e NBM, já que através do NBM eu tenho desmembrados o mesmo NCM(mas isto não vem ao caso) mas a mesma pode pesquisar somente pelo NCM. FUNCTION NCMCST( _nCmfiscal_, _nBmfiscal_ ) // Base Legal // PIS – Lei Complementar nº 7, de 7 de setembro de 1970. // COFINS – Lei Complementar nº 70, de 30 de dezembro de 1991. oldArea := select() cNCMIPI := charrem( ".", _nCmfiscal_ ) nNCMIPI := 0 nNCMPIS := 0 nNCMCOFINS := 0 dbSelectArea( "NCM" ) // Pesquisa pelos dois campos OrdSetFocus( 1 ) // Pesquisa por campos NCMFiscal e NBMFiscal dbSeek( charrem( ".", _nCmfiscal_ )+charrem( ".", _nBmfiscal_ ) ) if !found() OrdSetFocus( 2 ) // Pesquisa somente pelo campo NCMFiscal dbSeek( charrem( ".", _nCmfiscal_ ) ) if !found() cNCMIPI := "99" // "99999900" // Tentar passar o cupom mesmo com falha de NCM nNCMIPI := 0 nNCMPIS := 0 nNCMCOFINS := 0 else nNCMIPI := NCM->ALIQUOTA // PESQ(es->ncmfiscal+es->nbmfiscal,"NCM",1,"ALIQUOTA") nNCMPIS := iif( IsField( "PIS" ) , NCM->PIS , 0 ) nNCMCOFINS := iif( IsField( "COFINS" ), NCM->COFINS, 0 ) endif OrdSetFocus( 1 ) else nNCMIPI := NCM->ALIQUOTA // PESQ(es->ncmfiscal+es->nbmfiscal,"NCM",1,"ALIQUOTA") nNCMPIS := NCM->PIS nNCMCOFINS := NCM->COFINS endif dbSelectArea( oldArea ) return { nNCMIPI, nNCMPIS, nNCMCOFINS, cNCMIPI } Function IsField( cField ) // Verifica existencia de campo na estrutura Return( fieldpos( cField ) != 0 ) Pegue o arquivo NCM.ZIP Quote Link to comment Share on other sites More sharing options...
dorneles Posted November 23, 2023 Author Report Share Posted November 23, 2023 valeu pela dica, Obrigado rochinha 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.