ALIAS SE_PROD

VARIAVEL z0RefazPtEq  := "N"
VARIAVEL z1RefazPrSug := "N"

T4,10,18,78,Parametros
T2,2,%Custo Fixo..............:,6,m_pTxOper,999.99;
T3,2,%Impostos Federais.......:,6,m_pTxFed,999.99;
T4,2,%Outros Marketing........:,6,m_pTxIcmVda,999.99;
T5,2,%Comissoes Sobre Vendas..:,6,m_Pcomisvis,999.99;
T6,2,%Comissoes Sobre Vendas..:,6,m_PtxOutros,999.99;
T7,2,%Margem De Lucro Desejada:,6,m_Pmargem,999.99;

T9,2,Redefine Precos de Venda Abaixo do Pt Equilibrio  ?,1,z0RefazPtEq,!;
T10,2,Redefine Precos de Venda Abaixo do Preco Sugerido ?,1,z1RefazPrSug,!;

comando antes zTaxas:="%Custo Fixo: "+Str(m_pTxOper,5,2)+"%  " + "%Simples Federal: "+Str(m_pTxFed,5,2)+"%  "
comando antes zTaxas:=zTaxas+"%Marketing:"+Str(m_pTxIcmVda,5,2)+"%  "+"%Comissoes:"+Str(m_pTxOutros,5,2)+"%  "+"%Lucro"+Str(m_pComisVis,5,2)+"%"
comando antes #TEXTO_FONTE

   Private zFgOk, zoProgressBar, zPvluVenda, zRecnoProd:=Recno()
   debugalert('0 zRecnoProd:'+str(zRecnoProd))   

   oLst:nFontSize := 10
   oLst:lPortrait := .f.
   // oLst:nLinesPorPagina := 40

   oLst:cAlias_DataCols := 'prod'
   oLst:cAliasMaster    := 'prod'

   oLst:AddCab( {"AplicaFormatacaoDefaultNoCabecalho"=>"nao", "style"=>"font:Helvetica-Bold#size:14", "COLS"=>"0,C"}, "Precos de Venda x Precos Aquisicao x Custo x Ponto_Equilibrio x Preco_Sugerido" )
   oLst:AddCab( "" )
   // oLst:AddCab( {"style"=>"font:Helvetica-Oblique#size:12", "COLS"=>"0,C"}, {|| "Periodo: "+Dtoc(zdDataIni)+" a "+Dtoc(zdDataFim)+", emitido em "+Dtoc(s_datual)+" as "+Time() } )
   oLst:AddCab( {"style"=>"font:Helvetica-Oblique#size:10", "COLS"=>"0,C"}, {|| zTaxas } )
   
   oLst:AddCab( '_LINHA_FINA_' )
   oLst:AddCab( '_CABCOLS_' )
   oLst:AddCab( '_LINHA_GROSSA_' )

   oLst:AddCol('Descricao;PDESC;C;@s25;25;S;')
   oLst:AddCol('Un;PUNIDADE;C;xxxxx;  3;;')
   oLst:AddCol('Tp;Ptipoitem;C;99;2;S;')
   oLst:AddCol('Finalidade;Efd_TipoItem();P;@S13;13;N;')
   oLst:AddCol('Cod;PCOD;N;99999;5;N;')
   oLst:AddCol('UndCpr;PITENS;N;9999.999;8;;')
   oLst:AddCol('CF;pcategoria;C;!!;3;;')
   oLst:AddCol('PrVenda\nOriginal;zPvluVenda;N;9999.99;8;;')
   oLst:AddCol('PrVenda\nReajust;PVLUVENDA;N;9999.99;8;;')

   oLst:AddCol('PrCompra;PVLUVEN3;N;99999.99; 9;;')
   oLst:AddCol('PrCusto;PVLUCST;P;99999.99;  9;;')

   oLst:AddCol('Pt.Equil;PVLUMin;N;99999.99;  9;;')
   oLst:AddCol('Pr.Sug.;PVLUsug;N;99999.99;  9;;')

   oLst:AddCol('DataPrec;Pdataalter;D;;10;N;')
   oLst:AddCol('%Dsc;Pdesconto;N;999.99;6;;')
   oLst:AddCol('%Prm;Pdescprom;N;999.99;6;;')
   oLst:AddCol('EAtual;PEATUAL;N;99999;5;S;')

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

   // oLst:DbEval()
   zoProgressBar := myhProgressBar():Create('Processando Lancamentos...')
	DbGoTop()
	Do While .not. eof()
      zoProgressBar:Step()
      zPvluVenda := Se_Prod->pVluVenda
      se_prod->( CustoAquisicao('SET',,,,,,,,,,m_pTxOper,m_pTxFed,m_pTxIcmVda,m_PtxOutros,m_Pcomisvis,m_Pmargem) )
      if zPvluVenda < m_pVluVenda
         oLst:EvalLineBlocks('DETALHE', '_DATACOLS_')
	   endif
	   DbSkip()
	EndDo
   zoProgressBar:Close()
   DbCloseAll()

   oLst:Run()
   oLst:End()

#FIM_TEXTO_FONTE