//pag;l1;c1;l2;c2;desc;borda;preget;posget;preinc;posinc
 1; 3; 0;23;79;Acompanhantes em estadia;;;;;
:SKEL
variavel m_fCli := if(type("w_fcli")="U".or.w_fCli=0,m_fCli,w_fcli)
variavel zFgCliClosed := select("sccrcli")=0
variavel zNil := if( Select("sccrcli")>0, sccrcli->(DbCloseArea()) , )

COMANDO ANTES znil := sf_aptcl->( abra_arq("sccrcli") )
COMANDO SAIDA znil := if(zFgCliClosed, sccrcli->(dbCloseArea()), "")

//VARIAVEL z_blkcli=_CreateBlock("dbSelectArea('sccrcli'),m_comprador:=cr_nome,m_cr_rua:=cr_rua,m_cr_bairro:=cr_bairro,m_cr_cidade:=cr_cidade,m_cr_rg:=cr_rg,dbSelectArea('vb_pcomp'),.t.)")
VARIAVEL zblkcli=_CreateBlock("m_cr_nome:=if(empty(m_cr_nome),sccrcli->cr_nome,m_cr_nome),.t.")
VARIAVEL zblkrua=_CreateBlock("m_cr_rua:=if(empty(m_cr_rua),sccrcli->cr_rua,m_cr_rua),.t.")
VARIAVEL zblkbai=_CreateBlock("m_cr_bairro:=if(empty(m_cr_bairro),sccrcli->cr_bairro,m_cr_bairro),.t.")
VARIAVEL zblkcid=_CreateBlock("m_cr_cidade:=if(empty(m_cr_cidade),sccrcli->cr_cidade,m_cr_cidade),.t.")
VARIAVEL zblkrg =_CreateBlock("m_cr_rg:=if(empty(m_cr_rg),sccrcli->cr_rg,m_cr_rg),.t.")

VARIAVEL zTipIDs = 'Tipo de Documento Invalido!;Informe um dos seguintes:;'
VARIAVEL zTipIDs = zTipIDs+'1-Carteira Trabalho;2-RG-Carteira de Identidade;5-Certidao de Nascimento;6-Certidao Casamento;'
VARIAVEL zTipIDs = zTipIDs+'7-Reservista;13-Passaporte;50-Carteira Trabalho e Prev.Social;'
VARIAVEL z_blTipId=_CreateBlock("zOk:=(str(M_TIPOID,2)$'/ 1/ 2/ 4/ 5/ 6/ 7/40/13/14/20/21/22/50/'),zNil:=if(zOk,'',Alert(zTipIDs,,'R/W')),zOk")

VARIAVEL zOrgExp = 'Orgao Expedidor Invalido!;Informe um dos seguintes:;'
VARIAVEL zOrgExp = zOrgExp+' SSP PM DPF DIC CFP COREN CFN CRM CRA CRE CREA CRF OAB CBM CRO CRB CRN CRC CRP CRQ CRMV SESP SJS SJTC DGPC DFP IDAMP'
VARIAVEL zOrgExp = zOrgExp+' CFE CRCI IPF ANVISA GOVEST PREF CRBM CREFITO MTE CRFA CORECON DGPC IDAMP IFP IN JUNTA MAER MEX MM SEJSP SES VACIV VAMEN ITB MRE SSIPT '
VARIAVEL z_blOrgExp = _CreateBlock("zOk:=(' '+Alltrim(M_ORGAOEXPED)+' '$zOrgExp),zNil:=if(zOk,'',Alert(zOrgExp,,'R/W')),zOk")

VARIAVEL zUfs = 'UF Invalida!;Informe uma dos seguintes:; AC AL AM AP BA CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO '
VARIAVEL z_bl1Ufs = {||zOk:=(' '+Alltrim(m_UF)+' '$zUfs),zNil:=if(zOk,'',Alert(zUfs,,'R/W')),zOk}
VARIAVEL z_bl2Ufs = {||zOk:=(' '+Alltrim(m_UFEXPED)+' '$zUfs),zNil:=if(zOk,'',Alert(zUfs,,'R/W')),zOk}

VARIAVEL zbl1tid={||m_tipoid:=if(empty(m_tipoid),vb_pcomp->tipoid,m_tipoid),.t.}
VARIAVEL zbl1oe={||m_ORGAOEXPED:=if(empty(m_ORGAOEXPED),vb_pcomp->ORGAOEXPED,m_ORGAOEXPED),.t.}

VARIAVEL zbl1uf={||m_UFEXPED:=if(empty(m_UFEXPED),vb_pcomp->UFEXPED,m_UFEXPED),.t.}
VARIAVEL z_bl2Ufs = {||zOk:=(' '+Alltrim(m_UFEXPED)+' '$zUfs),zNil:=if(zOk,'',Alert(zUfs,,'R/W')),zOk}

COMANDO DEPOIS zNil:=#TEXTO_FONTE
   Private hReg:=Scatter()
   if w_fCli=0 .and. Alert("O Cliente pagador ainda nao foi indicado!;;Deseja cadastrar "+alltrim(m_cr_nome)+" como o pagador ?;;",{"1.Sim","2.Nao"},"B/W")=1
      se sccrcli->(lower(ordSetFocus())<>"sccrcgc") entao sccrcli->( ordSetFocus("sccrcgc") )
      se sccrcli->(lower(ordSetFocus())<>"sccrcgc") entao sccrcli->( DbCloseArea(), Abra("0NOIDX",r_siga,"sccrcli","sccrcli","sccrcgc","cr_cgc") )
      se sccrcli->(DbSeek(m_CR_CPF)) entao w_fcli:=sccrcli->(Recno()) senao sccrcli->( AppendBlank(), hReg["CR_COD_CLI"]:=Recno(), Gather(@hReg), DbCommit(), DbUnlock(), w_fCli:=Recno() )
      vb_apto->( RegLock(), _field->Apto:=w_fCli, DbCommit(), DbUnlock() )
   endif
   Return .t.
#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;Cliente Pagador:;N;6;fCli;99999;;m_fCli=0.or.psq_brow();sccrcli;psccrcli;N;N; 2;30;cr_nome;@s25;
 1; 3; 2;Nome:;C;30;CR_NOME;@!30;eval(zblkcli);;;;N;; 0; 0;;;
 1; 3;45;Cpf:;C;14;CR_CPF;@S14;;;;;N;; 0; 0;;;

 1; 5; 2;Tipo de Identificacao:;N; 2;TIPOID;99;eval(zbl1Tid);eval(z_blTipId);;;N;; 0; 0;;;
 1; 6; 2;Doc. de Identificacao:;C;18;CR_RG;@!18;eval(zblkrg);;;;N;; 0; 0;;;
 1; 7; 2;Orgao Expedidor......:;C; 7;ORGAOEXPED;@!7;eval(zbl1oe);eval(z_blOrgExp);;;N;; 0; 0;;;
 1; 8; 2;UF do Orgao Expedidor:;C; 2;UFEXPED;!!;eval(zbl1uf);eval(z_bl2Ufs);;;N;; 0; 0;;;

 1;10; 2;Rua...:;C;30;CR_RUA;@!30;eval(zblkrua);;;;N;; 0; 0;;;
 1;11; 2;Bairro:;C;20;CR_BAIRRO;@!20;eval(zblkbai);;;;N;; 0; 0;;;
 1;12; 2;Cidade:;C;20;CR_CIDADE;@!20;eval(zblkcid);;;;N;; 0; 0;;;
 1;12;45;UF:;C; 2;CR_UF;xx;;;;;N;; 0; 0;;;
 1;13; 2;Nacionalidade;C;10;CR_NACIO;@S10;;;;;N;; 0; 0;;;
 1;13;45;Pais;C;20;CR_PAIS;@S20;;;;;N;; 0; 0;;;

 1;15; 2;Dt.Nasc;D; 8;CR_DT_NASC;;;;;;N;; 0; 0;;;
 1;15;30;Sexo;C; 1;CR_SEXO;x;;;;;N;; 0; 0;;;
 1;16; 2;Fone;C;30;CR_FONE;@S30;;;;;N;; 0; 0;;;
 1;17; 2;Celular;C;30;CR_CELULAR;@S30;;;;;N;; 0; 0;;;
 1;18; 2;Email;C;50;CR_EMAIL;@S50;;;;;N;; 0; 0;;;
 1;19; 2;Profissao;C;30;CR_PROFISS;@S30;;;;;N;; 0; 0;;;
