SCCRCLI;Clientes/Empresas Conveniadas;sys_tbbrow; 3; 0;23;79;clientes;;
//WINDOWS 1;1;278;75;Tecle Esc para Retornar;0;0;0;0;S;
:SKEL
VARIAVEL w_colsep = " "+chr(179)
VARIAVEL zRecn = SCCRCLI->(Recno())
VARIAVEL zSelCli = SCCRCLI->(lTrim(Str(Select(),3)))
VARIAVEL zbCloseAll = {||zRecn:=SCCRCLI->(Recno()), zSelCli:=lTrim(Str(Select(),3)), DbCloseAll() }
VARIAVEL zbOpenAll = {||DbCloseAll(),ABRA("0NOIDX",r_siga,"SCCRDUP","SCCRDUP","SCCRDUP","STRZERO(CR_COD_CLI,6)+DTOS(CR_DT_EMIS)"), Abra_Arq("SCCRCLI",,zSelCli,r_siga), DbGoto(zRecn), DobRefresh()}
VARIAVEL zbCloseDup = {||if(Select("SccrDup")>0,SccrDup->(DbCloseArea()),"")}
VARIAVEL zbAction:={|bFunction| zrecn:=Recno(), eVal(bFunction), eVal(zbOpenAll), DobRefresh() }

VARIAVEL ztEmi=0
VARIAVEL ztVc=0
VARIAVEL ztAv=0
VARIAVEL ztAvHoje=0

VARIAVEL zbCor0 = ""
VARIAVEL zbCor = ""
VARIAVEL zbCor2 = ""
VARIAVEL znAzul0:=16711680
VARIAVEL znAzul1:=10027008
VARIAVEL zAzul2:=16776960
VARIAVEL zWhite:=16777215
VARIAVEL zBlack:=0
VARIAVEL zRed:=255
VARIAVEL zGreen:=32768
VARIAVEL znCinza:=8421504
VARIAVEL zYellow:=65535

VARIAVEL zCorVc := {zRed,zWhite,zWhite,zRed}
VARIAVEL zCorHoje:= {znAzul0,zWhite,zWhite,znAzul0}
VARIAVEL zCorAv:= {8388736,zWhite,zWhite,8388736}
VARIAVEL zCorQtOk:={zGreen,zWhite,zWhite,zGreen}

variavel z_BlkF9 = #TEXTO_FONTE
   Private zSele:=Select(), zCodTb:=cr_tabela, zTabFile:='VB_PR'+StrZero(zCodTb,2)+if(cr_TabGp='S','G','P'), zTbBrow:='SE_PROM'+if(cr_TabGp='S','G','P')
   if xFile(R_siga+zTabFile-".dbf")
      Abra("0",R_SIGA,zTabFile,"SE_PROM",zTabFile,if(cr_TabGp="S","GRUPO","PCOD"))
      Brow_Db(zTbBrow,.t.)
      Se_prom->(DbCloseArea())
   else
      Alert("Tabela Inexistente...Crie-a pela Opcao Precos Promocionais do Estoque...")
   endif
   DbSelectArea(zSele)
#FIM_TEXTO_FONTE

variavel zBlkDelete = #TEXTO_FONTE
   Private zFgCliDeletado:=Sccrcli->(Deleted()), zPv:=Chr(59)
   if zFgCliDeletado .and.Alert( "Confirma Recuperar ficha do cliente"+zPv+"("+Str(SccrCli->Cr_Cod_Cli,6)+") "+AllTrim(SccrCli->Cr_Nome)+" ?",{"1.Sim","2.Nao"},"B/W")=1
      SccrCli->( RegLock(), DbRecall(), DbCommit(), DbUnlock() )
      Alert("Recuperou cliente ("+Str(SccrCli->Cr_Cod_Cli,6)+") "+AllTrim(SccrCli->Cr_Nome),,"B/W")
   endif
   if !zFgCliDeletado.and.Alert( "Confirma cancelar ficha do cliente"+zPv+"("+Str(SccrCli->Cr_Cod_Cli,6)+") "+AllTrim(SccrCli->Cr_Nome)+" ?",{"1.Sim","2.Nao"},"B/W")=1
      DebCli(SccrCli->Cr_Cod_Cli,,,@ztEmi)
      // if ztEmi=0 .or. UserIsAdmin()
      if ztEmi=0
         SccrCli->(Tb_Del(W_dOb))
      else
         Alert("O Cliente "+AllTrim(SccrCli->Cr_Nome)+zPv+" NAO PODE SER CANCELADO"+zPv+"pois possui Emissoes...",,"B/W")
      endif
   endif
#FIM_TEXTO_FONTE

variavel zBlkCompras = #TEXTO_FONTE
   Private m_fcli:=if(Cr_Cod_Cli=0.or.Cr_Cod_Cli<>Recno(),Recno(),Cr_Cod_Cli)
   DebCli(m_fcli,.t.,,@ztEmi,@ztVc,@ztAv,,.t.)
   if Select("_duplcli")=0.or._duplcli->(RecCount())=0
      Alert("O Cliente ("+Str(SccrCli->Cr_Cod_Cli,6)+") "+AllTrim(SccrCli->Cr_Nome)+" nao possui duplicatas em Aberto...",,"R/W")
   else
      ABRA("0NOIDX", r_siga, "sf_vend", "sf_vend")
      DbSelectArea("_duplcli")
      dbCreateIndex( "_duplcli", 'if(day(cr_dt_lqd)=0,"0","1")+Str(99999999-Val(Dtos(Cr_Dt_Lqd)))', {||if(day(cr_dt_lqd)=0,"0","1")+Str(99999999-Val(Dtos(Cr_Dt_Lqd)))} )
      __SetCentury("off")
      DbSetFilter({||!(left(cr_num_ped,2)$'/CX/CZ/').or.day(Cr_Dt_Lqd)=0},"!cr_num_ped")
      DbGoTop()
      Brow_Db("SCCRDUP_CLI1",.t.)
      SccrDup->( GatherDbChanges("_duplcli", "NRECNO") )
      _duplcli->(DbCloseArea())
      DbDrop("mem:_duplcli")
      sf_vend->(DbCloseArea())
      DbSelectArea("SccrCli")
   endif
#FIM_TEXTO_FONTE

variavel #TEXTO_FONTE
   ABRA("0NOIDX", r_siga, "SCCRDUP", "SCCRDUP", "SCCRDUP", "STRZERO(CR_COD_CLI,6) + DTOS(CR_DT_EMIS)")
   DbSelectArea("SCCRCLI")
   //ONINIT
   if sGuiMode
      IF xGetEnv("USA_CORES_NO_BROWSE")="S"
         // Uma definicao de cores pega 4 parametros: {textColor, backColor, textColorSelecionado, backColorSelecionado}
         // Para colocar uma coluna colorida, defina um criterio de cores e adicione no fim da linha a zbCor: hwg_TbFi(D_oB, 'Cod;cr_cod_cli;N;999999;6;N;zbCor;')
         zbCor0:= {||IF(ztVc>0,zCorVc,IF(ztAvHoje>0, zCorHoje, If(ztAv>0,zCorAv,If(ztEmi-ztVc-ztAv>0,zCorQtOk,{d_ob:tcolor,d_ob:bcolor,D_oB:tColorSel,D_oB:bColorSel})) ))}
         zbCor := {||DebCli(sccrcli->(if(cr_cod_cli=0,Recno(),cr_cod_cli)),.f.,.f.,@ztEmi,@ztVc,@ztAv,@ztAvHoje), EVAL(zbCor0) }
         hwg_TbFi(D_oB,'CodCli;if(Cr_Cod_Cli=0,Recno(),Cr_Cod_Cli);P;999999;6;N;')
         hwg_TbFi(D_oB, 'Nome;Cr_nome;C;@s40;40;N;zbCor;')
         hwg_TbFi(D_oB, 'Quitacoes;if(ztEmi-ztVc-ztAv>0,ztEmi-ztVc-ztAv,0);P;999999.99;9;N;zbCor0;')
         hwg_TbFi(D_oB, 'Vencidas;ztVc;P;999999.99;9;N;zbCor0;')
         hwg_TbFi(D_oB, 'A_Vencer;ztAv;P;999999.99;9;N;zbCor0;')
      ELSE
         hwg_TbFi(D_oB,'CodCli;if(Cr_Cod_Cli=0,Recno(),Cr_Cod_Cli);P;999999;6;N;')
         hwg_TbFi(D_oB, 'Nome;Cr_nome;C;@s40;40;N;')
      ENDIF
      se 'salao'$lower(sys_SkinDir) entao hwg_TbFi(D_oB, '%Conv;cr_perc1tv;N;99.99;5;S;')
      hwg_TbFi(D_oB, 'Ult Comp;tv_desd(recno());C;@s9;9;;')
      hwg_TbFi(D_oB, 'CGC/CPF;Cr_cgc;C;@s18;18;S;')
      hwg_TbFi(D_oB, 'Vd;CR_ZONA;C;99;2;N;')
      hwg_TbFi(D_oB, 'T;cr_tip_cli;C;9;1;N;')
      hwg_TbFi(D_oB, 'Tb;cr_tabela;N;99;2;S;')
   else
      hwg_TbFi(@D_oB,"CodCli;if(Cr_Cod_Cli=0,rec_del(),Cr_Cod_Cli);N;999999;6;N;")
      hwg_TbFi(@D_oB,"Nome;Cr_nome;C;@s20;20;N;")
      hwg_TbFi(@D_oB,"CGC/CPF;Cr_cgc;C;@s18;18;S;")
      hwg_TbFi(D_oB, 'Vd;CR_ZONA;C;99;2;N;')
      hwg_TbFi(D_oB, 'T;cr_tip_cli;C;9;1;N;')
      hwg_TbFi(D_oB, 'Tb;cr_tabela;N;99;2;S;')
      hwg_TbFi(@D_oB,"Ult Comp;tv_desd(recno());C;@s9;9;;")
   endif
   hwg_TbFi(D_oB, 'Fone;Cr_fone;C;@s15;15;N;')
   hwg_TbFi(D_oB, 'Bairro;Cr_bairro;C;@s30;30;S;')
   hwg_TbFi(D_oB, 'Rua;Cr_rua;C;@s40;40;N;')
   hwg_TbFi(@D_oB,"Cod;cr_cod_cli;N;999999;6;N;")
   hwg_TbFi(@D_oB,'Acesso;rec_del();N;999999;6;N;')
   hwg_TbFi(@D_oB,"gp;cr_TabGp;C;x;2;S;")
   hwg_TbFi(@D_oB,"Ponto Ref;Cr_PONTORE;C;@s30;30;N;")
   hwg_TbFi(@D_oB,"Contato;Cr_contato;C;@s15;15;N;")
   hwg_TbFi(@D_oB,"Cidade;Cr_cidade;C;@s20;25;N;")
   hwg_TbFi(@D_oB,"CEP;Cr_CEP;C;@s9;9;N;")
   hwg_TbFi(@D_oB,"UF;Cr_UF;C;xx;2;N;")
   hwg_TbFi(@D_oB,"Fantasia;Cr_fantasi;C;@s30;30;N;")
   //ENDONINIT
   //ONDLGINIT
   oDlg:Maximize()
   //ENDDLGINIT
#FIM_TEXTO_FONTE

comando depois znil:=x_operacao=1.and.m_cr_cod_cli<>sccrcli->(Recno()).and.sccrcli->(RegLock(),_FIELD->cr_cod_cli:=RecNo(),DbCommit(),DbUnlock()),.t.)
comando saida znil:=if( Select("Sccrdup")>0, SccrDup->(DbCloseArea()), "")

VARIAVEL zbPrtFiliacao := {||Relat('lst_exec("tiro_DeclaracaoFiliacao_fr3")','NB',,'X')}
VARIAVEL zbPrtReceituario := {||Relat('lst_exec("OSOT")','NB',,'X')}

//Nome;Cr_nome;C;@s20;20;N;DebCli(cr_cod_cli,.f.,.f.,@ztEmi,@ztVc,@ztAv),If(ztEmi>0,{if(ztVc>0,3,if(ztAv>0,5,4)),2},{1,2});
// 68;vb_opcdc();D-Descontos ;
// Nome;Cr_nome;C;@s20;20;N;If(DebCli(,,.f.)=0,{5,2},{1,2});
// Nome;Cr_nome;C;@s20;20;N;
// COMANDO ANTES DBSEEK("A")
// :TBFI
:TBMT
13;doget(D_ob);Enter-Altera ;
 7;Eval(zBlkDelete, Cr_Cod_Cli);Del-Exclui ;
32;vb_ass_cli();Barra-Associados ;
65;tb_update(D_OB);A-Altera ;
22;tb_insert(D_OB);Ins-Inclui ;
80;tb_pesq(D_OB);P-Pesquisa ;
69;eVal(zbAction,zBlkCompras);E-Extrato ;
69;eVal(zbAction,{||QuitaCupons(sccrcli->(Recno()), "ONLY_GET_DUPS_PRODS","so_relatorios")});E-ExtDupCob ;
68;cibrow("vb_opcdc");D-Descontos;
81;eVal(zbAction,{||vb_quit_dupl(D_oB)});Q-Quitacao ;
79;tb_index(D_oB);O-Ordena ;
73;Lst_alias(D_OB);I-Imprime ;
-7;eVal(zbAction,{||Relat( "vb_r5(.f.,"+str(Recno(),6)+")" )});F8-Extrato de Produtos;
-8;eVal(z_blkf9);F9-Tab_Prom ;
47;eVal(zbAction,{||PrtBordero("RTF",,,"duplicata.rtf", Recno())});/-Duplicatas_rtf ; 
92;eVal(zbAction,{||PrtBordero("RTF",,,"carne.rtf",     Recno())});\-Carnes_rtf ; 
74;eVal(zbAction,{||PrtBordero("PDF",,,"duplicata.pdf", Recno())});J-BOLETOS_pdf ; 
75;eVal(zbAction,{||PrtBordero("HTM",,,"duplicata.htm", Recno())});K-BOLETOS_htm ; 

82,sys_segmento="oticas";eVal(zbAction,{||DbGet("OSOT",1,,,"OSOT")});R-Receituario ;

-2,sys_segmento="oticas";eVal(zbAction,zbPrtReceituario);F3-ImprimeReceituario ;
-2,sys_segmento="armas".or.xGetEnv("NFE_FATURA_ARMAS")="S";eVal(zbAction,zbPrtFiliacao);F3-Decl_Filiacao;
-3,sys_segmento="armas".or.xGetEnv("NFE_FATURA_ARMAS")="S";eVal(zbAction,zbPrtVisitante);F4-Ficha_Visitante;
