//pag;l1;c1;l2;c2;desc;borda;preget;posget;preinc;posinc
 1;  3; 0;23;79;Dados_Gerais;;preget_prd();;posinc_prd();
 2;  8; 0;23;79;Preco Custo x Venda;;
 3;  8; 0;23;79;Descontos na Venda;;
:SKEL
variavel zNIL = GetTaxasTributarias("CARREGA")

VARIAVEL zBlPrTab=_CreateBlock("m_PVLUtab:=if(m_PVLUVEN3*m_pitens>m_PVLUtab*(1-m_PdscCompr/100),m_PVLUVEN3*m_pitens,m_PVLUtab), eval(bRefresh)")

variavel wPicmSubCpa=0
variavel wPipient=0
variavel wPfreteCpa=0
variavel wPCstEmbCpa=0
variavel wPEncFinCpa=0
variavel wPicmCpa=0
variavel wPdscCpa=0
variavel vTxOp=0
variavel vTxFed=0
variavel vPcom=0
variavel vIcmVda=0
variavel vTxOut=0
variavel mPmargem=0

VARIAVEL b0PrCst=_CreateBlock("m_PVLUcst:=m_PVLUVEN3+wPicmSubCpa+wPipient+wPfreteCpa+wPCstEmbCpa+wPEncFinCpa-wPicmCpa-wPdscCpa")
VARIAVEL b0PrMin=_CreateBlock("m_pVluMin:=m_PVLUcst/(1-(m_pTxOper+m_pTxFed+m_pTxIcmVda+m_PtxOutros+m_Pcomisvis)/100)")
VARIAVEL b0Taxas=_CreateBlock("vTxOp:=m_pVluMin*m_pTxOper/100,vTxFed:=m_pVluMin*m_pTxFed/100,vIcmVda:=m_pVluMin*m_pTxIcmVda/100,vPcom:=m_pVluMin*m_Pcomisvis/100,vTxOut:=m_pVluMin*m_PtxOutros/100")
//VARIAVEL b0PrSug=_CreateBlock("m_PvluSug:=m_pVluMin/(1-m_Pmargem/100), m_pvluvenda:=m_PvluSug")
VARIAVEL b0PrSug=_CreateBlock("m_PvluSug:=m_pVluMin/(1-m_Pmargem/100)")

VARIAVEL bRefresh=_CreateBlock("eval(b0PrCst), eval(b0PrMin), eval(b0PrSug), eval(b0Taxas), RefreshGetlist()")

VARIAVEL b1DscCpa=_CreateBlock("wPdscCpa:=m_PVLUVEN3*m_PdscCompr/100, eval(bRefresh)")
VARIAVEL b1FreteCpa=_CreateBlock("wPfreteCpa:=(m_PVLUVEN3+wPipient)*m_PfreteCpa/100, eval(bRefresh)")

VARIAVEL b1IcmSubCpa=_CreateBlock("m_PicmSubCpa:=if('F'$m_pcategoria,0,m_PicmSubCpa), wPicmSubCpa:=m_PVLUVEN3*m_PicmSubCpa/100, eval(bRefresh)")
VARIAVEL b1IpiEnt=_CreateBlock("wPipient:=m_PVLUVEN3*m_Pipient/100, eval(bRefresh)")
VARIAVEL b1CstEmbCpa=_CreateBlock("wPCstEmbCpa:=m_PVLUVEN3*m_PCstEmbCpa/100, eval(bRefresh)")
VARIAVEL b1EncFinCpa=_CreateBlock("wPEncFinCpa:=(m_PVLUVEN3-wPdscCpa+wPipient)*m_PEncFinCpa/100, eval(bRefresh)")
VARIAVEL b1IcmCpa=_CreateBlock("m_PicmCpa:=if('I'$m_pcategoria.or.'F'$m_pcategoria.or.'N'$m_pcategoria,0,m_PicmCpa), wPicmCpa:=(m_PVLUVEN3+wPfreteCpa-wPdscCpa)*m_PicmCpa/100, eval(bRefresh)")

VARIAVEL zBlkPdic6 = "Z_recn:=Recno(),DbSetOrder(3),z_fgExistCod:=DbSeek(x_pdic6),"
VARIAVEL zBlkPdic6 = zBlkPdic6 + "z_nil:=if(x_operacao=1.and.z_fgExistCod,Mensagem('Esse Codigo de Barras JA ESTA CADASTRADO !',1),''),"
VARIAVEL zBlkPdic6 = zBlkPdic6 + "DbSetOrder(1),DbGoto(Z_recn),!z_fgExistCod.or.x_operacao<>1"
VARIAVEL zb_PeanOk = _CreateBlock( zBlkPdic6, {"x_pdic6"} )
VARIAVEL zBlkPdic6 = ""

COMANDO ANTES M_PITENS = if(m_pitens=0, 1, m_pitens)
# comando depois znil = __keyboard( chr(27)+chr(27) )
// 2;13;37;Ponto Equilibrio.:;N; 8;Pcustovar;99999.99;.f.;;;
// 2; 4; 2;Condicao de Compra (Ex: 10%+3%)..:;C;15;PdscString;@s15;;;;;N;; 
// 3; 9; 2;Desc Compra:;N; 5;pdesccomp;99.99;;;;;
// 3; 5;41;%repasse........:;N; 5;Prepasse;99.99;;;;;
:TFIE
//pag;l;c;desc;tipo;tam;campo;pict;when;valid;dbname;objcons;chave?;seek?;le;ce;cexib;pictexib
 1; 1; 2;Codigo....:;N; 5;PCOD;99999;.f.;;;;S;; 0; 0;;;
 1; 2; 2;Cod Barras:;N;13;pdic6;9999999999999;;m_pdic6=0.or.eval(zb_PeanOk,m_pdic6);;;N;; 0; 0;;;
 1; 3; 2;Ref/Fab...:;C;15;PREFFAB;@S13;;;;;N;; 0; 0;;;

 1; 1;32;Descricao.:;C;30;PDESC;@!30;;alltrim(m_pdesc)<>"";;;N;; 0; 0;;;
 1; 2;32;Divisao...:;C; 4;PDIVISAO;xxxx;;lastkey()=5 .or. psq_brow;se_subd;psesubd;N;S; 2;51;sddesc;@s25;
 1; 3;32;Fabricante:;N; 4;PPRINCFORN;9999;;lastkey()=5 .or. psq_brow;sccpfab;psccpfab;N;N; 3;51;cp_fantasi;@s25;

 1; 5; 2;Preco Ult. Compra :;N;8;PVLUVEN3;99999.99;;;
 1; 6; 2;Preco de Venda....:;N; 8;PVLUvenda;99999.99;;;;
 1; 7; 2;Unidade...........:;C; 5;PUNIDADE;!!!!!;;;;;
 1; 8; 2;Codigo NCM........:;N; 8;pCodClaFis;99999999;;;;;
 1; 9; 2;Categ.Fiscal......:;C; 3;PCATEGORIA;!!!;.f.;;;;
 1;10; 2;Lista Pis/Cofins .:;C; 1;PnegPos;!;;;;;
 
 1;12; 2;Dias de Estoque a manter:;N; 3;PREPOSICAO;999;;;;;
 1;13; 2;Giro Calculado DSQMBT...:;C; 1;pabcfisica;!;;;;;
 1;14; 2;Classe ABC Vendas/Manual:;C; 1;pabcvenda;!;;;;; 
 1;15; 2;Estoque Minimo a Manter:;N; 5;Pemin;99.99;;;;;
 1;16; 2;Estoque Maximo a Manter:;N; 5;Pemax;99.99;;;;;
 1;17; 2;Peso Bruto c/ Embalagem:;N;8;Ppesobru;9999.999;;;
 1;18; 2;Peso Liqu. s/ Embalagem:;N;8;Ppesoliq;9999.999;;;

 1; 5;39;Tipo....:;C; 5;PTIPO;!!!!!;;LASTKEY()=5 .OR. PSQ_BROW;SE_T;PSET;N;S; 0;0;;;
 1; 6;39;Marca...:;C;15;PREF;@!15;;LASTKEY()=5 .OR. PSQ_BROW;SE_R;PSER;N;S; 0;0;;;
 1; 7;39;Modelo..:;C;20;PMARCAMODE;@!20;;LASTKEY()=5 .OR. PSQ_BROW;SE_RM;PSERM;N;S; 0;0;;;m_pref+m_pmarcamode;pmarcamode;
 1; 8;39;Cor.....:;C;12;PCOR;@!12;;LASTKEY()=5 .OR. PSQ_BROW;SE_COR;PSECOR;N;S; 0;0;;;
 1; 9;39;Tamanhos:;C;10;PTAM;@!10;;;;;N;; 0; 0;;; 
 1;10;39;Gondola :;C; 5;PPOSICAO;XXXXX;;lastkey()=5 .or. empty(pposicao) .or. psq_brow;se_posi;pseposi;N;S;;;;;

 1;12;39;Subsidio PBM Fpop.:;N;10;psubsidio;999999.99;;;;N;; 0; 0;;;
 1;13;39;Pede Lote na Venda?;C; 1;ppedelote;!;;;;;
 1;14;39;Produto Controlado?;C; 1;pfgcontrol;X;;;;;N;;;;;;
 1;15;39;PBM Valemais......?;C; 1;pvalemais;;;;;N;; 0; 0;;;
 1;16;39;Registro M.S. ....:;C;17;pregms;9.9999.9999.999-9;;;;;
 1;18;39;Entrada Consignada?;C; 1;pconsig;X;;;;;N;;;;;;
 
 2; 1; 2;Preco Unitario da Ultima Compra..:;N;8;PVLUVEN3;99999.99;;;
 2; 2; 2;Itens Cxa Fechada/Fracao de Venda:;N;4;PITENS;9999;;eval(zBlPrTab);
 2; 3; 2;Preco da Caixa Fechada na Compra.:;N;8;PVLUtab;99999.99;;;;;N;; 0; 0;;;

 2; 1;54;Ult.Compra:;D; 8;pdatacomp;;.f.;
 2; 2;54;Lista Pis :;C; 1;PnegPos;!;;;
 2; 3;54;Categ.Fisc:;C; 3;PCATEGORIA;!!!;;eval(b1IcmCpa);;
 
 2; 5; 2;Descont Forn(%):;N; 5;PdscCompr;99.99;;eval(b1DscCpa);
 2; 6; 2;Frete ......(%):;N; 5;PfreteCpa;99.99;;eval(b1FreteCpa);
 2; 7; 2;ICMS Compra.(%):;N; 5;PicmCpa;99.99;;eval(b1IcmCpa);
 2; 8; 2;ICMS Substit(%):;N; 5;PicmSubCpa;99.99;;eval(b1IcmSubCpa);
 2; 9; 2;IPI Compra..(%):;N; 5;Pipient;99.99;;eval(b1IpiEnt);
 2;10; 2;Embalagem ..(%):;N; 5;PCstEmbCpa;99.99;;eval(b1CstEmbCpa);
 2;11; 2;Enc. Financ.(%):;N; 5;PEncFinCpa;99.99;;eval(b1EncFinCpa);

 2; 5;39;Custo Fixo    (%):;N; 5;pTxOper;99.99;;eval(bRefresh);;
 2; 6;39;Imp. Federais (%):;N; 5;pTxFed;99.99;;eval(bRefresh);;
 2; 7;39;ICMs na Venda (%):;N; 5;pTxIcmVda;99.99;;eval(bRefresh); 
 2; 8;39;Outros/Marketg(%):;N; 5;PtxOutros;99.99;;eval(bRefresh);
 2; 9;39;Taxa Comissao (%):;N; 5;Pcomisvis;99.99;;eval(bRefresh);

 2;12;39;Margem Desejada %:;N; 5;Pmargem;99.99;;eval(bRefresh);
 2;14;39;Preco Venda Usado:;N; 8;PVLUvenda;99999.99;;;;

 2;11;39;Pt.Equilib/Minimo:;N; 8;pVluMin;99999.99;.f.;;;
 2;13;39;Pr Venda Sugerido:;N; 8;Pvlusug;99999.99;.f.;;;

 2; 5;26;;P; 5;wPdscCpa;999.99;.f.;
 2; 6;26;;P; 5;wPfreteCpa;999.99;.f.;;
 2; 7;26;;P; 5;wPicmCpa;999.99;.f.;
 2; 8;26;;P; 5;wPicmSubCpa;999.99;.f.;;
 2; 9;26;;P; 5;wPipient;999.99;.f.;;
 2;10;26;;P; 5;wPCstEmbCpa;999.99;.f.;;
 2;11;26;;P; 5;wPEncFinCpa;999.99;.f.;;

 2;13; 2;Preco Custo....:;N; 8;PVLUcst;99999.99;.f.;;;
 
 2; 5;65;;P; 6;vTxOp;999.99;.f.;;
 2; 6;65;;P; 6;vTxFed;999.99;.f.;;
 2; 7;65;;P; 6;vIcmVda;999.99;.f.;;
 2; 8;65;;P; 6;vTxOut;999.99;.f.;;
 2; 9;65;;P; 6;vPcom;999.99;.f.;;

 3; 2; 2;Preco Ultima Compra..:;N; 8;PVLUVEN3;99999.99;.f.;;
 3; 3; 2;Pt.Equilib/Pr.Minimo.:;N; 8;pVluMin;99999.99;.f.;;;
 3; 4; 2;Pr Venda Sugerido....:;N; 8;Pvlusug;99999.99;.f.;;;
 3; 5; 2;Grupo de Precos .....:;C;2;PgPreco;!!;;psq_brow;se_gpre;psegpre;N;S; 5;29;markup;999.99%;
 3; 6; 2;Preco Venda Praticado:;N; 8;PVLUvenda;99999.99;;;;
 3; 7; 2;Preco Promocional....:;N; 8;pvluven2;99999.99;;;;
 3; 8; 2;Validade Pr.Promocao.:;D; 8;pdataprog;;;;;;N;; 0; 0;;;

 3; 2;39;%Comissao vda a Vista:;N;5;PCOMISVIS;99.99;;;;;
 3; 3;39;%Comissao vda a Prazo:;N;5;PCOMISPRA;99.99;;;;; 
 3; 4;39;Bloqueia Descontos ..?;C;1;PBLOQVENDA;x;;;;;
 3; 5;39;%Descont do Vendedor.:;N;7;PDESCONTO;99.99;;;;;
 3; 6;39;%Descont do Gerente..:;N;5;pdescfarm;99.99;;;;;
 3; 7;39;%Descont a SUGERIR ..:;N; 5;pdscminimo;99.99;;;;;
 3; 8;39;%Descont Vda Dinheiro:;N; 5;PDESCBON;99.99;;;;;
 
 3;10; 2;O Produto eh um Servico ? Vende sem dar baixa no Estoque        ?;C; 1;Pservico;!;;;;; 
 3;11; 2;Na venda, a Quantidade x Valor sera lida de etiqueta de Balanca ?;C; 1;Peanpeso;!;;;;;
 3;12; 2;Na venda, deve-se pedir obs. complementar x Largura x Altura    ?;C; 1;pLargAltu;!;;;;;
 3;13; 2;Vende como combustiveis: pede-se valor para obter a quantidade  ?;C; 1;pVndQuant;!;;;;;
