ALIAS SCCRCLI
INDEX SCCRNOM CR_NOME

VARIAVEL #TEXTO_FONTE
   Private zFgListaEnderecos:=.f., zFgEmails:=.f., zbFor, zDe:=Ctod('01.'+SubStr(Dtoc(S_DATUAL),4)), zAte:=S_DATUAL, pag:=0, zMmDdDe, zMmDdAte, zMmDdAni, zQtd:=0
   if .not. QuickDialog("CliAni", "35;7;Clientes Aniversariantes", {;
            {"2;5;Data Inicial:", "@zDe", @zDe, "99.99.9999", "", ""},;
            {"3;5;Data Final..:", "@zAte", @zAte, "99.99.9999", "", "(zAte>=zDe.and.Year(zDe)=Year(zAte)).or.(Alert('A data final deve ser maior que a inicial, e devem pertencer ao mesmo ano!',,'r/w'),.f.)"},;
            {"5;5;CHECKBOX 'Lista Enderecos ?'", "@zFgListaEnderecos", @zFgListaEnderecos, "9", "", ""},;
            {"6;5;CHECKBOX 'Lista Emails    ?'", "@zFgEmails", @zFgEmails, "9", "", ""} })
      Return
   endif
   zMmDdDe:=SubStr(Dtos(zDe),5)
   zMmDdAte:=SubStr(Dtos(zAte),5)
   zbFor := {|| zMmDdAni:=SubStr(Dtos(cr_dt_ani),5), zMmDdAni>=zMmDdDe .and. zMmDdAni<=zMmDdAte }
   
   oLst:AddCol('Ord;++zQtd;P;9999;4;N;')
   oLst:AddCol('Cod;Cr_Cod_Cli;N;999999;6;N;')
   oLst:AddCol('Nome;Cr_nome;C;@s35;35;N;')
   oLst:AddCol('Aniv;LEFT(DTOC(cR_DT_ANI),5);P;XXXXX;5;N;')
   oLst:AddCol('Apelido;Cr_Fantasi;C;@s20;20;N;')
   oLst:AddCol('Fones;Cr_fone;C;@s30;30;N;')
   se zFgEmails entao oLst:AddCol('Email;Cr_eMail;C;@s40;40;N;')
   if zFgListaEnderecos
      oLst:AddCol('Rua;Cr_rua;C;@s25;20;N;')
      oLst:AddCol('Cidade;Cr_cidade;C;@s20;25;N;')
      oLst:AddCol('Bairro;Cr_bairro;C;@s12;12;S;')
      oLst:AddCol('CEP;Cr_CEP;C;@s9;9;N;')
      oLst:AddCol('UF;Cr_UF;C;xx;2;N;')
   endif

   oLst:Cab1( "CLIENTES ANIVERSARIANDO entre "+dtoc(zDe)+" e "+Dtoc(zAte) )
   oLst:Cab4( "Impressao em "+dtoc(date())+" as "+time()  )

   oLst:AddCab( '_LINHA_FINA_' )
   oLst:AddCab( '_CABCOLS_' )
   oLst:AddCab( '_LINHA_GROSSA_' )

   oLst:AddRodape( '_LINHA_FINA_', "", {|| "Pagina "+Str(++pag,4)+" / ####"} )

   SccrCli->( DbGoTop(), oLst:DbEval(,zbFor) )

   oLst:Run()
   oLst:End()

#FIM_TEXTO_FONTE


