//pag;l1;c1;l2;c2;desc;borda;preget;posget;preinc;posinc
 1; 6; 5;19;75;Devolucao Sobra de Adiant./Vale;;;;;
:SKEL
VARIAVEL m_aut_por = space(20)
VARIAVEL m_paraquem = space(20)
VARIAVEL m_referencia = space(20)
VARIAVEL m_sx_conta = val(xGetEnv("TESOUAD"))
VARIAVEL m_cod_adiant = 0  
VARIAVEL m_cp_cod_for = val(xGetEnv("TESOURARIA"))
VARIAVEL m_cp_tip_lqd = 1
VARIAVEL zCodAcesso = reccount()
VARIAVEL m_sx_acesso = reccount()+1
VARIAVEL m_tipo   = "Retirada"
VARIAVEL m_grupo  = 3
VARIAVEL m_fg_contab = " "
VARIAVEL m_data  = s_datual
VARIAVEL z_blktipo={||m_tipo:=left(m_tipo,1),.f.} 
VARIAVEL z_blkdesc={||m_desc:=if(empty(m_desc),pad('Dev.Adiant por '+alltrim(m_paraquem)+' ref '+alltrim(m_referencia),len(m_desc)),m_desc),.t.}
VARIAVEL zblkParaQuem={||DbGoto(m_cod_adiant),m_paraquem:=ParaQuem,m_valor:=Valor-Sld_Adiant,m_Referencia:=Referencia,eval(z_blkdesc),RefreshGetlist(),.t.}
VARIAVEL zCtaVales = .f.
VARIAVEL blCtaVales = {|| m_sx_conta=501.or.m_sx_conta=997}

VARIAVEL z_divcompras = " "
COMANDO ANTES z_nil=if(sele("CP_DIVIS")=0,abra_arq("CP_DIVIS"),"")
COMANDO ANTES DbSelectArea("SX_CAIXA")

COMANDO DEPOIS zCtaVales = eval(blCtaVales)
COMANDO DEPOIS RegLock()
COMANDO DEPOIS Put_Var("grupo",m_grupo)
COMANDO DEPOIS AppendBlank()
COMANDO DEPOIS Put_Var("sx_acesso",Reccount())
COMANDO DEPOIS Put_Var("TIPO","S")
COMANDO DEPOIS Put_Var("DATA",s_datual)
COMANDO DEPOIS Put_Var("grupo",m_grupo)
COMANDO DEPOIS Put_Var("sx_conta",m_cp_cod_for)
COMANDO DEPOIS Put_Var("CP_COD_FOR",m_sx_conta)
COMANDO DEPOIS Put_Var("VALOR",m_valor)
COMANDO DEPOIS Put_Var("DESC",M_DESC)
COMANDO DEPOIS DbCommit()
COMANDO DEPOIS DbUnlock()
COMANDO SAIDA cp_divis->(DbCloseArea())
// 1;11; 2;Historico Contabil..:;N; 5;CODHIS;999;;PSQ_BROW;ARQ_HIST;PARQHIST;N;N;11;35;CT_DESC;@S30;

COMANDO DEPOIS z_nil = if( zCtaVales, RegLock(), '')
COMANDO DEPOIS z_nil = if( zCtaVales, Put_Var("cod_adiant",m_cod_adiant), '')
COMANDO DEPOIS z_nil = if( zCtaVales, DbGoTo(m_cod_adiant), '')
COMANDO DEPOIS z_nil = if( zCtaVales, RegLock(), '')
COMANDO DEPOIS z_nil = if( zCtaVales, Put_Var("sld_adiant",sld_adiant+m_valor), '')

:TFIE
//pag;l;c;desc;tipo;tam;campo;pict;when;valid;dbname;objcons;chave?;seek?;le;ce;cexib;pictexib
 1; 2;50;Acesso:;N; 6;sx_acesso;999999;.f.;;;;N;;0;0;;;
 1; 3;50;Tipo .:;C; 8;TIPO;@s8;.f.;;;;N;;0;0;;;
 1; 4;50;Data .:;D; 8;DATA;eval(z_blktipo);;;;;N;;0;0;;;

 1; 3; 2;Cod.Adiantamento:;N;9;cod_adiant;999999999;eval(blCtaVales);(.not.eval(blCtaVales).or.psq_brow());sx_caixa;psxcaixa_ad;N;N;;;;; 
 1; 4; 2;Devolvido Por...:;P;20;m_paraquem;!!!!!!!!!!!!!!!!!!!!;eval(zBlkParaQuem);;;;
 1; 5; 2;Ref.Adiant.para.:;P;20;m_Referencia;!!!!!!!!!!!!!!!!!!!!;;;;

 1; 7; 2;Abater dos Adiant.Pendentes na Conta:;N; 3;sx_conta;999;;chk_LastKey(5).or.PSQ_BROW;sx_conta;psxconta;N;S;7;45;ct_titulo;@s18; 
 1; 8; 2;Devolver ao Caixa Especie com Codigo:;N; 3;CP_COD_FOR;99999;;chk_LastKey(5).or.PSQ_BROW;sx_conta;psxconta;N;S;8;45;ct_titulo;@s18; 

 1;10; 2;Valor Devolvido ....:;N;11;VALOR;99999999.99;;m_valor>0;;;N;
 1;11; 2;Historico do Adiant.:;C;40;DESC;@S40;eval(z_blkdesc);;;;N;
