//pag;l1;c1;l2;c2;desc;borda;preget;posget;preinc;posinc
 1; 6; 3;18;76;Cadastro de Embalagem de Venda;;;;;
:SKEL
VARIAVEL M_PCOD := zpCod
VARIAVEL m_pDescBase := se_prod->(zpCod=pcod.or.DbSeek(zpCod),pDesc)
VARIAVEL m_pUnidBase := se_prod->(zpCod=pcod.or.DbSeek(zpCod),pUnidade)
VARIAVEL m_pVendaBase:= se_prod->(zpCod=pcod.or.DbSeek(zpCod),pVluVenda)
VARIAVEL m_pVluItemNaEmb := 0
VARIAVEL zbItensEmb := #TEXTO_FONTE
   if m_pItens<=0
      Alert("Voce deve indicar quantas unidades de referencia;existem nessa Embalagem!")
      Return .f.
   endif
   m_PVLUEMB:=m_pItens*m_pVendaBase
   m_pVluItemNaEmb:=m_pVendaBase
   Return RefreshGetList()
#FIM_TEXTO_FONTE
VARIAVEL zbPrecoEmb := #TEXTO_FONTE
   if m_PVLUEMB<=0
      Alert("Voce deve indicar o Preco de Venda da Embalagem!")
      Return .f.
   endif
   m_pVluItemNaEmb:=if(m_pItens>0, m_PVLUEMB/m_pItens, 0)
   Return RefreshGetList()
#FIM_TEXTO_FONTE

VARIAVEL zbPrecoItemNaEmb := #TEXTO_FONTE
   if m_pVluItemNaEmb<=0
      Alert("Voce precisa confirmar o Preco;de cada item da Embalagem!")
      Return .f.
   endif
   m_PVLUEMB:=m_pVluItemNaEmb*m_pItens
   Return RefreshGetList()
#FIM_TEXTO_FONTE

VARIAVEL zbDefinePITENS := #TEXTO_FONTE
   Private zFgEditaItens:=.t.
   se alltrim(m_PUNIDADE)=='CENTO' entao (zFgEditaItens:=.f., m_PITENS:=100)
   se alltrim(m_PUNIDADE)=='CX2'   entao (zFgEditaItens:=.f., m_PITENS:=2)
   se alltrim(m_PUNIDADE)=='CX3'   entao (zFgEditaItens:=.f., m_PITENS:=3)
   se alltrim(m_PUNIDADE)=='CX5'   entao (zFgEditaItens:=.f., m_PITENS:=5)
   se alltrim(m_PUNIDADE)=='CX10'  entao (zFgEditaItens:=.f., m_PITENS:=10)
   se alltrim(m_PUNIDADE)=='CX15'  entao (zFgEditaItens:=.f., m_PITENS:=15)
   se alltrim(m_PUNIDADE)=='CX20'  entao (zFgEditaItens:=.f., m_PITENS:=20)
   se alltrim(m_PUNIDADE)=='CX25'  entao (zFgEditaItens:=.f., m_PITENS:=25)
   se alltrim(m_PUNIDADE)=='CX50'  entao (zFgEditaItens:=.f., m_PITENS:=50)
   se alltrim(m_PUNIDADE)=='CX100' entao (zFgEditaItens:=.f., m_PITENS:=100)
   se alltrim(m_PUNIDADE)=='DUZIA' entao (zFgEditaItens:=.f., m_PITENS:=12)
   se alltrim(m_PUNIDADE)=='MILHEI' entao (zFgEditaItens:=.f., m_PITENS:=1000)
   se alltrim(m_PUNIDADE)=='PARES'  entao (zFgEditaItens:=.f., m_PITENS:=2)
   se alltrim(m_PUNIDADE)=='UNID'   entao (zFgEditaItens:=.f., m_PITENS:=1)
   eVal(zbItensEmb)
   Return zFgEditaItens
#FIM_TEXTO_FONTE

:TFIE
//pag;l;c;desc;tipo;tam;campo;pict;when;valid;dbname;objcons;chave?;seek?;le;ce;cexib;pictexib
 1; 2; 2;Codigo do Produto.........:;N; 6;PCOD;999999;zpCod=0;psq_brow().and.se_prod->(m_pDescBase:=pDesc,m_pUnidBase:=pUnidade,m_pVendaBase:=pVluVenda,m_pVluItemNaEmb:=pVluVenda, RefreshGetlist());se_prod;pseprod;N;S; 
 
 1; 3; 2;Descricao do Produto......:;P;35;m_pDescBase;@S35;.f.;;
 1; 4; 2;Unidade Padrao de Venda...:;P; 6;m_pUnidBase;@S6;.f.;;
 1; 5; 2;Preco da Unidade Padrao...:;P;12;m_pVendaBase;99999999.999;.f.;;
 
 1; 7; 2;Embalagem a Cadastrar.....:;C; 6;PUNIDADE;!!!!!!;;if(m_pUnidade=m_pUnidBase,(Alert("A unidade da Embalagem nao pode ser igual a unid padrao!"),.f.),psq_brow());se_und;pseund;N;S;
 1; 8; 2;Itens nesta Embalagem.....:;N;9;PITENS;99999.999;eVal(zbDefinePITENS);eVal(zbItensEmb);;
 1; 9; 2;Preco dessa Embalagem.....:;N;12;PVLUEMB;999999999.99;m_pItens>0;eVal(zbPrecoEmb);;
 1;10; 2;Preco de cada item na Embalagem:;P;12;m_pVluItemNaEmb;99999999.999;m_pItens>0;eVal(zbPrecoItemNaEmb);;
