ALIAS SE_PROD

VARIAVEL z0RefazPtEq  := "N"
VARIAVEL z1RefazPrSug := "N"
VARIAVEL m_pVluVenda  := 0

T4,5,18,88,Alteracao de Custos

T2, 2,Descont Forn(%):,6,m_PdscCompr,999.99;
T3, 2,Frete ......(%):,6,m_PfreteCpa,999.99;
T4, 2,ICMS Compra.(%):,6,m_PicmCpa,999.99;
T5, 2,ICMS Substit(%):,6,m_PicmSubCpa,999.99;
T6, 2,IPI Compra..(%):,6,m_Pipient,999.99;
T7, 2,Enc. Financ.(%):,6,m_PEncFinCpa,999.99;
T8, 2,Outros Enc..(%):,6;m_pCstEmbCpa,999.99;

T2,35,%Custo Fixo Operacional..:,6,m_pTxOper,999.99;
T3,35,%Impostos Estaduais/ICMs.:,6,m_pTxIcmVda,999.99;
T4,35,%Impostos Federais.......:,6,m_pTxFed,999.99;
T5,35,%Comissoes Sobre Vendas..:,6,m_Pcomisvis,999.99;
T6,35,%Outros Encargos da Venda:,6,m_PtxOutros,999.99;
T7,35,%Margem De Lucro Desejada:,6,m_Pmargem,999.99;

T10, 2,Grupo de precos:,6,m_Grupo,XXXXX;.f.;
T10,35,,15,m_descricao,@S15;.f.;

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

// COMANDO ANTES Abra('0NOIDX',r_siga,'se_prod','se_prod','seip_n','pdesc')
// COMANDO DEPOIS znil = if(select("se_prod")>0,se_prod->(DbCloseArea()),"")
////comando depois znil = if(select("SE_GPRE")>0,DbSelectArea("SE_GPRE"),"")

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(), zPvluCST,zPvluMin,zPVluSug 
      
   if select("se_prod")=0
      Abra('0NOIDX',r_siga,'se_prod','se_prod','seip_n','pdesc')
      alert('abriu se_prod')
   else
      alert('nao abriu se_prod')
   endif

   DbSelectArea("SE_PROD")
   debugalert('0 zRecnoProd:'+str(zRecnoProd)+"  ALIAS: "+aLIAS())   

   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"}, "Redefinicao de Precos de Custo x Ponto_Equilibrio x Preco_Sugerido" )
   oLst:AddCab( "" )
   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('PrCompra;PVLUVEN3;N;99999.99; 9;;')

   oLst:AddCol('PrCusto\nOriginal;zPVLUCST;P;99999.99;  9;;')
   oLst:AddCol('PrCusto\nGrupo;PVLUCST;P;99999.99;  9;;')

   oLst:AddCol('Pt.Equil\nOriginal;zPVLUMin;N;99999.99;  9;;')
   oLst:AddCol('Pt.Equil\nGrupo;PVLUMin;N;99999.99;  9;;')

   oLst:AddCol('Pr.Sug.\nOriginal;zPVLUsug;N;99999.99;  9;;')
   oLst:AddCol('Pr.Sug.\nGrupo;PVLUsug;N;99999.99;  9;;')

   oLst:AddCol('PrVenda\nOriginal;zPvluVenda;N;9999.99;8;;')
   oLst:AddCol('PrVenda\nGrupo;PVLUVENDA;N;9999.99;8;;')

   oLst:AddRodape( '_LINHA_FINA_', "", {|| "Pagina "+Str(++pag,4)+" / ####"} )
   // oLst:DbEval()
   zoProgressBar := myhProgressBar():Create('Processando Lancamentos...')
	DbGoTop()
	Do While .not. eof()
      zoProgressBar:Step()
      zPvluCST    := Se_Prod->pVluCST
      zPvluMin    := Se_Prod->pVluMin
      zPVluSug    := Se_Prod->pVluSug
      zPvluVenda  := Se_Prod->pVluVenda
      m_pVluVenda := Se_Prod->pVluVenda
      if AllTrim(pgPreco)==AllTrim(m_Grupo)
         se_prod->( CustoAquisicao('SET',,,m_PicmSubCpa,m_pIcmCpa,m_Pipient,m_PfreteCpa,m_PCstEmbCpa,m_PdscCompr,m_PEncFinCpa,m_pTxOper,m_pTxFed,m_pTxIcmVda,m_PtxOutros,m_Pcomisvis,m_Pmargem) )
//         if zPvluVenda<m_pVluVenda .or. zPvluCST<Se_Prod->pVluCST .or. zPvluMin<Se_Prod->pVluMin .or. zPVluSug<Se_Prod->pVluSug
            oLst:EvalLineBlocks('DETALHE', '_DATACOLS_')
//   	   endif
	   endif
	   DbSkip()
	EndDo
   zoProgressBar:Close()
   DbCloseAll()

   oLst:Run()
   oLst:End()

#FIM_TEXTO_FONTE