ALIAS SE_PROD
INDEX SEIP_N PDESC

COMANDO ANTES #TEXTO_FONTE
   Private oQbe, Z_NP:=0
   SE_PROD->( Abra ('0NOIDX', r_siga, 'ci_ncm',   'ci_ncm',   'ci_ncm',  'ncm') )
   
   oQbe:=oQbe():New('_prods')
   oQbe:AddFiltro("2;5;CHECKBOX 'Somente produtos com &Estoque       ? '", {||peatual>0}  ,,,{'Checkbox', .f.})
   oQbe:AddFiltro("3;5;CHECKBOX 'Apenas Produtos com &NCMs Invalidas ? '", {||pCodClaFis=0 .or. !ci_ncm->(DbSeek(StrZero(se_prod->pCodClaFis,8))) .or. ci_ncm->fg_sit="D"}  ,,,{'Checkbox', .t.})
   if .not. oQbe:QuickDialog("Qbe_PrSemNCM", "50;4;Produtos x NCMs")
      Return .f.
   endif

   dbSelectArea('se_prod')
   oLst:cAlias_DataCols := '_prdncm'
   oLst:cAliasMaster := '_prdncm'
   oLst:lPortrait := .t.
   
   oLst:lGeraDbTmp := .f.
   oLst:lOutputFr3 := .f.
   oLst:lOutputPdf := .t.
   
   // oLst:lOutputFr3 := .t.

   oLst:Cab1( "Dados Fiscais dos Produtos")
   oLst:AddCab( "" )
   oLst:Cab4(oQbe:ExpressaoDeFiltragemParaImprimir, Dtoc(s_datual)+" as "+left(time(),5)+"hs")
   // se !empty(oQbe:ExpressaoDeFiltragemParaImprimir) entao ( , oLst:Cab4(  ))
  
   oLst:AddCab( '_LINHA_FINA_' )
   oLst:AddCab( '_CABCOLS_' )
   oLst:AddCab( '_LINHA_GROSSA_' )

   oLst:AddCol('Codigo;pCod;N;999999;6;;')
   oLst:AddCol('Descricao;pDesc;C;@s35;35;;') 
   oLst:AddCol('UND;pUnidade;C;@S5;5;;') 
   oLst:AddCol('Tp;ptipoitem;P;!!;2;S;')
   oLst:AddCol('Finalidade;Efd_TipoItem();P;@S13;13;N;')
   oLst:AddCol('CF;pCategoria;C;@S5;5;;') 
   oLst:AddCol('CSTicm;nf_csticm;C;999;6;S;')
   oLst:AddCol('CSTpis;nf_cstpis;C;999;6;S;')
   oLst:AddCol('CSTipi;nf_cstipi;C;999;6;S;')
   oLst:AddCol('Saldo;pEatual;N;@e 99999,999.99;12;;') 
   oLst:AddCol('Pr.Venda;pVluVenda;N;@e 99,999.99;9;;;Direita;NaoSome;') 
   oLst:AddCol('NCM;Str(pCodClaFis,8);P;99999999;9;;;Direita;NaoSome;') 
   oLst:AddCol('Sit;if(ci_ncm->(!DbSeek(StrZero(se_prod->pCodClaFis,8)).or.fg_sit="D"), "Invalida", "NCM ativa");P;@s10;10;;')

   oLst:AddRodape( '_LINHA_FINA_', "", {|| "Pagina "+Str(++pag,4)+" / ####"} )
   debugalert('1')

   se_prod->( dbgotop(),  oLst:DbEval( {||++z_np}, {||oQbe:Filtro_ok()} ) )

   oLst:PrtD( '_LINHA_GROSSA_' )
   oLst:PrtD( 'Produtos Listados: '+Transform(z_np,'@E 999,999') )
   ci_ncm->(DbCloseArea())

   debugalert('3')

#FIM_TEXTO_FONTE