//pag;l1;c1;l2;c2;desc;borda;preget;posget;preinc;posinc
 1; 3; 9;23;77;("Cotacao de "+Alltrim(sx_orc_d->cp_desc));;;;;
:SKEL 
VARIAVEL m_ACESSO    = if(x_operacao=1,recc()+1,acesso)
VARIAVEL m_cp_desc   = sx_orc_d->cp_desc
VARIAVEL z_fok       = .f.
VARIAVEL m_FTIPOENC  = 1
VARIAVEL m_dgtprods  = sx_orc_d->pitens
VARIAVEL z_divcompras="M"
VARIAVEL z_cp_desc   = sx_orc_d->cp_desc
VARIAVEL m_data      = if(x_operacao=1,s_datual,data)


VARIAVEL z_xblk="bx_ok:=Val(Left(m_CP_SubDiv,3))==M_CP_DIVISAO, "
VARIAVEL z_xblk=z_xblk+"If(bx_ok,.t.,Mensagem('Subdivisao Informada ('+Left(m_CP_SubDiv,3)+') nao Pertence a Divisao '+Str(m_cp_divisao,3))),bx_ok"
VARIAVEL z_blksubdiv=_CreateBlock(z_xblk)

VARIAVEL z_blkprefsubd=_CreateBlock("m_CP_SUBDIV:=if(empty(m_CP_SUBDIV).or.left(m_CP_SUBDIV,3)<>StrZero(m_CP_DIVISAO,3),StrZero(m_CP_DIVISAO,3)+'xx',m_CP_SUBDIV),.t.")

VARIAVEL z_xblk="z_fok:=(m_cp_cod_for>0),m_CP_FANTASI:=Iif(z_fok,sccpfor->cp_fantasi,m_CP_FANTASI),m_CP_FONE:=Iif(z_fok,sccpfor->CP_FONE,m_CP_FONE)"
VARIAVEL z_xblk=z_xblk+",m_CP_contato:=Iif(z_fok,sccpfor->CP_contato,m_CP_contato),z_fok"
VARIAVEL z_blkfant=_CreateBlock(z_xblk)

VARIAVEL z_blkfone=_CreateBlock("z_fok:=.f.,m_CP_FONE:=sx_orc_f->CP_FONE,m_CP_contato:=sx_orc_f->cp_contato,z_fok")

VARIAVEL z_xBlk = "ZSorcad:=Select(),zACESSO:=m_acesso,zCP_COD_FOR:=m_CP_COD_FOR,zCP_FANTASI:=m_CP_FANTASI,zCP_DESC:=m_CP_DESC,f_fpagina:={},"
VARIAVEL z_xBlk = z_xBlk+ "Abra_Arq('SE_PROD'),Abra('0',R_SIGA,'SX_ORCAP','SX_ORCAP','SX_ORCAP','cp_desc+Str(acesso,6)'),"
VARIAVEL z_xBlk = z_xBlk+ "z_fgins:=!DbSeek(z_cp_desc+Str(zacesso,6)),z_nil:=if(z_fgins,GetScreen(1,.t.,.f.,'SX_ORCAP'), Brow_Db('SX_ORCAP',.t.)),"
VARIAVEL z_xBlk = z_xBlk+ "Se_Prod->(DbCloseArea()),Sx_OrcaP->(DbCloseArea()),d_dtela:='SX_ORCAD',m_acesso:=zACESSO,DbSelectArea(ZSorcad),f_fpagina:={},.f."
VARIAVEL z_blkprods = _CreateBlock( z_xBlk )

VARIAVEL z_xBlk = ""

COMANDO ANTES Abra("0",r_siga,"sx_orc_f","sx_orc_f","sx_orc_f","cp_fantasi")
COMANDO ANTES abra_arq("SCCPFOR")
COMANDO ANTES abra_arq("CP_DIVIS")
COMANDO ANTES DbGoTop()
COMANDO ANTES DbSelectArea("SX_ORCA")
comando depois reglock()
comando depois m_ACESSO = recno()
comando depois put_var("acesso",m_ACESSO)
comando depois dbcommit()
comando depois dbunlock()
comando depois znil = if( sx_orc_d->pitens="S".and.SimNao(24,0,"Digita ou altera itens desta cotacao ? ", "Sim "," Nao",1,79) , eval(z_blkprods), "")

COMANDO SAIDA sx_orc_f->(DbCloseArea())
COMANDO SAIDA sccpfor->(DbCloseArea())
COMANDO SAIDA cp_divis->(DbCloseArea())
:TFIE
//pag;l;c;desc;tipo;tam;campo;pict;when;valid;dbname;objcons;chave?;seek?;le;ce;cexib;pictexib
 1; 1;34;Data:;D; 6;Data;;.f.;;;;N;
 1; 1;52;Acesso:;N; 6;ACESSO;999999;.f.;;;;N;; 0; 0;;;
 1; 2; 2;Assunto do Orcamento..:;C;40;CP_DESC;@S40;.f.;;

 1; 4; 2;Cod Fornec.(Se Ja Cad):;N; 5;CP_COD_FOR;99999;x_operacao=1.or.x_operacao=2;lastkey()=5.OR.m_CP_COD_FOR=0.or.psq_brow;sccpfor;psccpfor;N;N; 4;45;cp_nome;@s30;
 1; 5; 2;Fantasia do Fornecedor:;C;15;CP_FANTASI;@!15;.not.eval(z_blkfant);lastkey()=5.or.psq_brow;sx_orc_f;psxorcf;N;S; ;;;;
 1; 6; 2;Telefones de Contato..:;C;38;CP_FONE;@S38;!z_fok.and..not.eval(z_blkfone);;;;N;; 0; 0;;;
 1; 7; 2;Vendedor ou Contato...:;C;25;CP_CONTATO;@S25;!z_fok;;;;N;; 0; 0;;;

 1; 9; 2;Preco Total ..........:;N;9;CP_valor;999999.99;m_dgtprods<>"S";m_CP_valor>0;;;;N;; 0; 0;;;

 1;11; 2;Forma de Pagamento....:;C;40;CP_FORMAPG;@S40;;;;;N;; 0; 0;;;
 1;12; 2;Prazo de Entrega......:;C;40;CP_PZENTRE;@S40;;;;;N;; 0; 0;;;
 1;13; 2;Obs. Complementar.....:;C;40;CP_DESC2;@S40;;;;;N;; 0; 0;;;
 1;14; 2;Transportador.........:;N; 4;FTRANSP;9999;;lastkey()=5.OR.m_FTRANSP=0.or.psq_brow;sccpfor;psftrn;N;N; 14;45;cp_nome;@s30;

 1;15; 2;Tipo de Comprovante...:;N; 1;FTIPOENC;9;;lastkey()=5.or.psq_brow;sx_tpdoc;psxtpdoc;N;N;15;45;desc;@s18;
 1;16; 2;Divisao de Despesa....:;N; 3;CP_DIVISAO;999;;lastkey()=5.or.psq_brow;cp_divis;pcpdivif;N;N;16;45;desc;@s18;
 1;17; 2;Subdivisao da Despesa.:;C; 5;CP_SUBDIV;@S5;eval(z_blkprefsubd);lastkey()=5.OR.!empty(m_CP_SUBDIV).and.Psq_brow;Cp_Subd;PcpSubdf;N;S;17;45;SdDesc;@S18;

 