//pag;l1;c1;l2;c2;desc;borda;preget;posget;preinc;posinc
 1; 4; 5;22;75;Tesouraria: Pagamento Avulso;;;;;
:SKEL
VARIAVEL m_sx_acesso = reccount()+1
VARIAVEL m_tipo = "Retirada"
VARIAVEL M_CP_NUM_PED = "SX"+right(dtos(s_datual),6)
VARIAVEL m_grupo = 1
VARIAVEL m_fg_contab = " "
VARIAVEL m_data = s_datual
VARIAVEL zbSubD={||cSubD:=StrZero(m_CP_DIVISAO,3),m_CP_SUBDIV:=cSubD+SubStr(m_CP_SUBDIV,4),m_desc:=pad('Pgto '+alltrim(cp_divis->desc),len(m_desc)),RefreshGetList(),cp_subd->(DbSeek(cSubD))}
VARIAVEL z_divcompras = "T"
VARIAVEL wCP_DUPLIC  := Pad(M_CP_NUM_PED,12)
VARIAVEL wCP_VALOR   := 0
VARIAVEL wCP_DT_EMIS := s_dAtual
VARIAVEL wCP_DT_VENC := s_dAtual

VARIAVEL zQtdParcelas=0
VARIAVEL zDtPrimeira:=s_dAtual
VARIAVEL zIntervaloParcelas:=30
VARIAVEL zValorParcelas:=0
VARIAVEL zSxCodForDaConta:=0
// Como identifiquei a variavel, o bloco seguinte apenas criara um codeblock
VARIAVEL zbGetParcelas={|| ChecaSeContaDeFinanciador('CHECA_SE_DEVE_AGENDAR_RESTITUICAO_AO_PAGADOR', m_Sx_Conta, m_CP_COD_FOR, m_data, m_Valor, M_DESC) }
// Como NAO identifiquei a variavel, o bloco seguinte sera executado diretamente
VARIAVEL #TEXTO_FONTE
   if(select("SCCPFOR")=0,  abra_arq("SCCPFOR"),  "")
   if(select("SX_CONTA")=0, abra_arq("SX_CONTA"), "")
   if(select("CP_SUBD")=0,  abra_arq("CP_SUBD"),  "")
   if(select("CP_DIVIS")=0, abra_arq("CP_DIVIS"), "")
   DbSelectArea("SX_CAIXA")
#FIM_TEXTO_FONTE

comando antes m_sx_Conta = GetCtaTesou("ES") 
comando depois Sx_caixa('GRAVE_PAGAMENTO_AVULSO')

COMANDO SAIDA #TEXTO_FONTE
   Sccpped->(DbCloseArea())
   sccpfor->(DbCloseArea())
   cp_divis->(DbCloseArea())
   cp_subd->(DbCloseArea())
   sx_conta->(DbCloseArea())
#FIM_TEXTO_FONTE
// 1; 5; 2;Situacao....:;N; 1;CP_SITUACA;9;x_operacao=1.or.x_operacao=2;Chk_LastKey(5).or.psq_brow;si_sitdp;psisitdp;N;N; 5;25;cr_situaca;@s18;
// 1; 6; 2;Portador....:;N; 3;CP_LOCAL;999;;Chk_LastKey(5).or.psq_brow;cp_local;pcplocal;N;N;6;25;banco;@s18;

: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;;;;;;N;;0;0;;;
 1; 5;50;Pedido:;N;11;cp_num_ped;@s10;.f.;;

 1; 2; 2;Conta Tesour:;N; 3;sx_conta;999;;PSQ_BROW;sx_conta;psxconta;N;S;2;25;ct_titulo;@s18;
 1; 3; 2;Div. Despesa:;N; 3;CP_DIVISAO;999;;Chk_LastKey(5).or.psq_brow;cp_divis;pcpdivif;N;S;3;25;desc;@s18;
 1; 4; 2;Subdiv.Desp.:;C; 5;CP_SUBDIV;@S5;eval(zbSubD);Chk_LastKey(5).or.!cp_subd->(DbSeek(StrZero(m_CP_DIVISAO,3))).or.Psq_brow;Cp_Subd;PcpSubdf;N;S;4;25;SdDesc;@S18;
 1; 7; 2;Gr.Contabil.:;N; 1;GRUPO;9;;Chk_LastKey(5).or.m_grupo=1.or.m_grupo=2;;;N;;0;0;;;
 1; 7;25;Informar 1 ou 2;

 1; 9; 2;Codigo do Fornecedor:;N; 5;CP_COD_FOR;99999;;Chk_LastKey(5).or.psq_brow;SCCPFOR;PSCCPFOR;N;N;9;37;CP_NOME;@S25;
 1;10; 2;Valor do Pagamento..:;N;11;VALOR;99999999.99;;m_valor>0.and.eVal(zbGetParcelas);;
 1;11; 2;Obs. Complementar...:;C;40;DESC;@S40;(wCP_DT_EMIS:=m_data,wCP_DT_VENC:=m_data,wCP_VALOR:=m_valor,RefreshGetList());;

 1;13; 2;Duplicata do Titulo......:;P;12;wCP_DUPLIC;@S12;;;
 1;14; 2;Data Emissao do Titulo...:;P; 8;wCP_DT_EMIS;;
 1;15; 2;Data Vencimento do Titulo:;P; 8;wCP_DT_VENC;;;wcp_dt_venc>=wcp_dt_emis;;
 1;16; 2;Valor Principal do Titulo:;P;12;wCP_VALOR;9999999.99;;
 