ALIAS SE_PROD
INDEX SEIP_N PDESC
VARIAVEL Z_NP = 0
VARIAVEL zPrdVenda='V'
VARIAVEL zSoComEstoq='N'
T10,15,15,66,Lista de Precos
T2,2,Apenas Produtos com Estoque           ?,1,zSoComEstoq,!
T3,2,Produtos para Venda (V) ou Locacao(L) ?,1,zPrdVenda,!;;zPrdVenda$"VL";

COMANDO ANTES #TEXTO_FONTE
 
   dbSelectArea('se_prod')
   oLst:cAlias_DataCols := '_prods'
   oLst:cAliasMaster := '_prods'
   oLst:lPortrait := .t.
   
   oLst:lGeraDbTmp := .f.
   oLst:lOutputFr3 := .f.
   oLst:lOutputPdf := .t.
   oLst:lOutputXml := .t.
   // oLst:lOutputXls := .t.
   
   // oLst:lOutputFr3 := .t.

   oLst:Cab1( "Lista de Precos")
   oLst:Cab4( "Impressao em "+Dtoc(s_datual)+" as "+time() )
  
   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;;') 
   if zSoComEstoq='S'
      oLst:AddCol('Saldo;pEatual;N;@e 99999,999.99;12;;') 
   endif
   if zPrdVenda='V'
      oLst:AddCol('Pr.Venda;pVluVenda;N;@e 99,999.99;9;;;Direita;NaoSome;') 
      oLst:AddCol('Ref.Fabr;Preffab;C;@S8;8;S;;') 
      Se_Prod->( DbSetFilter({||pvluvenda>0.and.(Val(ptipoitem)=0.or.Val(ptipoitem)=4)},'Val(ptipoitem)=0.or.Val(ptipoitem)=4'), DbGoTop() )
   else
      oLst:AddCol('Loc_1_DIA;PVALLOCA1D;N;9999.99;9;S;')
      oLst:AddCol('Loc30dias;PVALLOCA;N;9999.99;9;S;')
      oLst:AddCol('PrIndeniz;PVLUVENDA;N;9999999.99;10;S;')
   endif

   // oLst:AddCol('Tp;ptipoitem;P;!!;2;S;')
   // oLst:AddCol('Finalidade;Efd_TipoItem();P;@S13;13;N;')
   // oLst:AddCol('CF;pCategoria;C;@S5;5;;') 

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

   oLst:DbEval({||++z_np}, {||(zSoComEstoq<>'S'.or.peatual>0)} ) 
   oLst:PrtD( '_LINHA_GROSSA_' )
   oLst:PrtD( 'Produtos Listados: '+Transform(z_np,'@E 999,999') )

   debugalert('3')

#FIM_TEXTO_FONTE