unit uFormCadClientes;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, uFormModelodeCadastro, Menus, DB, StdCtrls, Buttons, ExtCtrls,
  ComCtrls, DBCtrls, Mask, daDBEdit, daEdit, FMTBcd, SqlExpr, Provider, DBClient, MaskUtils;

type
  TfrmCadClientes = class(TfrmModelodeCadastro)
    PageControl1: TPageControl;
    TbShtDadosCadastrais: TTabSheet;
    PanelCodigo: TPanel;
    Label10: TLabel;
    edtCodClie: TdaEdit;
    DBRGTipoPessoa: TDBRadioGroup;
    DBRGAtivo: TDBRadioGroup;
    DBRGBloqueado: TDBRadioGroup;
    PanelPessoaFisica: TPanel;
    Label6: TLabel;
    Label9: TLabel;
    Label8: TLabel;
    edtRGIE: TdaDBEdit;
    edtNomeClie: TdaDBEdit;
    edtFanClie: TdaDBEdit;
    Label2: TLabel;
    PanelPessoaJuridica: TPanel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label7: TLabel;
    edtCNPJ: TdaDBEdit;
    edtInscEstadual: TdaDBEdit;
    edtRazaoSocial: TdaDBEdit;
    edtFantasia: TdaDBEdit;
    CDSCadClientes: TClientDataSet;
    DSPCadClientes: TDataSetProvider;
    SDSCadClientes: TSQLDataSet;
    SDSCadClientesID_CLIENTE: TIntegerField;
    SDSCadClientesTIPO: TStringField;
    SDSCadClientesATIVO: TStringField;
    SDSCadClientesBLOQUEADO: TStringField;
    SDSCadClientesCPFCNPJ: TStringField;
    SDSCadClientesRGINSC: TStringField;
    SDSCadClientesNOME: TStringField;
    SDSCadClientesFANTASIA: TStringField;
    SDSCadClientesFLAG: TSmallintField;
    CDSCadClientesID_CLIENTE: TIntegerField;
    CDSCadClientesTIPO: TStringField;
    CDSCadClientesATIVO: TStringField;
    CDSCadClientesBLOQUEADO: TStringField;
    CDSCadClientesCPFCNPJ: TStringField;
    CDSCadClientesRGINSC: TStringField;
    CDSCadClientesNOME: TStringField;
    CDSCadClientesFANTASIA: TStringField;
    CDSCadClientesFLAG: TSmallintField;
    qryClientes: TSQLQuery;
    PanelEndereco: TPanel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    edtCEP: TdaDBEdit;
    edtEndereco: TdaDBEdit;
    edtNumero: TdaDBEdit;
    edtBairro: TdaDBEdit;
    edtCidade: TdaDBEdit;
    edtEstado: TdaDBEdit;
    edtTelefone: TdaDBEdit;
    edtCelular: TdaDBEdit;
    PanelFoto: TPanel;
    btnLocalizarFoto: TBitBtn;
    FOTO: TDBImage;
    PanelDadosCivis: TPanel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    edtDatNasc: TdaDBEdit;
    edtProfissao: TdaDBEdit;
    dbCBoxEstCivil: TDBComboBox;
    edtMae: TdaDBEdit;
    edtPai: TdaDBEdit;
    Label19: TLabel;
    edtNaturalidade: TdaDBEdit;
    edtDescNaturalidade: TdaDBEdit;
    Label25: TLabel;
    daDBEdit5: TdaDBEdit;
    PanelJuridicaVazio: TPanel;
    TbShtDadosProfissionais: TTabSheet;
    Label27: TLabel;
    edtConjuge: TdaDBEdit;
    TbShtReferenciasFisicas: TTabSheet;
    Label34: TLabel;
    edtRamodeAtividade: TdaDBEdit;
    Label38: TLabel;
    edtCapitalSocial: TdaDBEdit;
    Label40: TLabel;
    edtFatMensal: TdaDBEdit;
    TbShtSociosDiretores: TTabSheet;
    TbShtComerciaisBancarias: TTabSheet;
    SDSCadClientesCEP: TStringField;
    SDSCadClientesENDERECO: TStringField;
    SDSCadClientesNUMERO: TSmallintField;
    SDSCadClientesBAIRRO: TStringField;
    SDSCadClientesCIDADE: TStringField;
    SDSCadClientesUF: TStringField;
    SDSCadClientesTELEFONE: TStringField;
    SDSCadClientesCELULAR: TStringField;
    SDSCadClientesFAX: TStringField;
    SDSCadClientesDATANASC: TDateField;
    SDSCadClientesESTADOCIVIL: TStringField;
    SDSCadClientesPROFISSAO: TStringField;
    SDSCadClientesPAI: TStringField;
    SDSCadClientesMAE: TStringField;
    SDSCadClientesNATURALIDADE: TSmallintField;
    SDSCadClientesCONJUGE: TStringField;
    SDSCadClientesRAMOATIVIDADE: TStringField;
    SDSCadClientesCAPITALSOCIAL: TFMTBCDField;
    SDSCadClientesFATMENSAL: TFMTBCDField;
    SDSCadClientesEMPRESA: TStringField;
    SDSCadClientesMESANO: TStringField;
    SDSCadClientesCARGO: TStringField;
    SDSCadClientesSALARIO: TFMTBCDField;
    SDSCadClientesLIMITE: TFMTBCDField;
    SDSCadClientesSALDO: TFMTBCDField;
    SDSCadClientesCEPEMPRESA: TStringField;
    SDSCadClientesENDERECOEMPRESA: TStringField;
    SDSCadClientesNUMEROEMPRESA: TSmallintField;
    SDSCadClientesBAIRROEMPRESA: TStringField;
    SDSCadClientesCIDADEEMPRESA: TStringField;
    SDSCadClientesUFEMPRESA: TStringField;
    SDSCadClientesTELEFONEEMPRESA: TStringField;
    SDSCadClientesFAXEMPRESA: TStringField;
    SDSCadClientesREFPESSOAL1: TStringField;
    SDSCadClientesREFPESSOAL2: TStringField;
    SDSCadClientesREFPESSOAL3: TStringField;
    SDSCadClientesREFFONE1: TStringField;
    SDSCadClientesREFFONE2: TStringField;
    SDSCadClientesREFFONE3: TStringField;
    SDSCadClientesREFCOMERCIAL1: TStringField;
    SDSCadClientesREFCOMERCIAL2: TStringField;
    SDSCadClientesREFCOMERCIAL3: TStringField;
    SDSCadClientesREFCFONE1: TStringField;
    SDSCadClientesREFCFONE2: TStringField;
    SDSCadClientesREFCFONE3: TStringField;
    SDSCadClientesCONSPC: TStringField;
    SDSCadClientesNEGATIVADO: TStringField;
    SDSCadClientesDATANEGATIVADO: TDateField;
    SDSCadClientesAVALISTA: TStringField;
    SDSCadClientesCPFAVALISTA: TStringField;
    SDSCadClientesSOCIO1: TStringField;
    SDSCadClientesCPFSOCIO1: TStringField;
    SDSCadClientesSOCIO2: TStringField;
    SDSCadClientesCPFSOCIO2: TStringField;
    SDSCadClientesSOCIO3: TStringField;
    SDSCadClientesCPFSOCIO3: TStringField;
    SDSCadClientesTIPOIMOVEL1: TStringField;
    SDSCadClientesENDERECO1: TStringField;
    SDSCadClientesUSOPROPRIO1: TStringField;
    SDSCadClientesTIPOIMOVEL2: TStringField;
    SDSCadClientesENDERECO2: TStringField;
    SDSCadClientesUSOPROPRIO2: TStringField;
    SDSCadClientesVEICULOMARCA1: TStringField;
    SDSCadClientesMODELOANO1: TStringField;
    SDSCadClientesVALORMERCADO1: TFMTBCDField;
    SDSCadClientesVEICULOMARCA2: TStringField;
    SDSCadClientesMODELOANO2: TStringField;
    SDSCadClientesVALORMERCADO2: TFMTBCDField;
    SDSCadClientesFORNECEDOR1: TStringField;
    SDSCadClientesFORNECEDOR2: TStringField;
    SDSCadClientesFORNECEDOR3: TStringField;
    SDSCadClientesFORNFONE1: TStringField;
    SDSCadClientesFORNFONE2: TStringField;
    SDSCadClientesFORNFONE3: TStringField;
    SDSCadClientesDESDE1: TStringField;
    SDSCadClientesDESDE2: TStringField;
    SDSCadClientesDESDE3: TStringField;
    SDSCadClientesOBSERVACAO1: TStringField;
    SDSCadClientesOBSERVACAO2: TStringField;
    SDSCadClientesOBSERVACAO3: TStringField;
    SDSCadClientesBANCOCORRENTISTA: TStringField;
    SDSCadClientesAGENCIALOCAL: TStringField;
    SDSCadClientesFONEAGENCIA: TStringField;
    SDSCadClientesCLIENTEDESDE: TStringField;
    CDSCadClientesCEP: TStringField;
    CDSCadClientesENDERECO: TStringField;
    CDSCadClientesNUMERO: TSmallintField;
    CDSCadClientesBAIRRO: TStringField;
    CDSCadClientesCIDADE: TStringField;
    CDSCadClientesUF: TStringField;
    CDSCadClientesTELEFONE: TStringField;
    CDSCadClientesCELULAR: TStringField;
    CDSCadClientesFAX: TStringField;
    CDSCadClientesDATANASC: TDateField;
    CDSCadClientesESTADOCIVIL: TStringField;
    CDSCadClientesPROFISSAO: TStringField;
    CDSCadClientesPAI: TStringField;
    CDSCadClientesMAE: TStringField;
    CDSCadClientesNATURALIDADE: TSmallintField;
    CDSCadClientesCONJUGE: TStringField;
    CDSCadClientesRAMOATIVIDADE: TStringField;
    CDSCadClientesCAPITALSOCIAL: TFMTBCDField;
    CDSCadClientesFATMENSAL: TFMTBCDField;
    CDSCadClientesEMPRESA: TStringField;
    CDSCadClientesMESANO: TStringField;
    CDSCadClientesCARGO: TStringField;
    CDSCadClientesSALARIO: TFMTBCDField;
    CDSCadClientesLIMITE: TFMTBCDField;
    CDSCadClientesSALDO: TFMTBCDField;
    CDSCadClientesCEPEMPRESA: TStringField;
    CDSCadClientesENDERECOEMPRESA: TStringField;
    CDSCadClientesNUMEROEMPRESA: TSmallintField;
    CDSCadClientesBAIRROEMPRESA: TStringField;
    CDSCadClientesCIDADEEMPRESA: TStringField;
    CDSCadClientesUFEMPRESA: TStringField;
    CDSCadClientesTELEFONEEMPRESA: TStringField;
    CDSCadClientesFAXEMPRESA: TStringField;
    CDSCadClientesREFPESSOAL1: TStringField;
    CDSCadClientesREFPESSOAL2: TStringField;
    CDSCadClientesREFPESSOAL3: TStringField;
    CDSCadClientesREFFONE1: TStringField;
    CDSCadClientesREFFONE2: TStringField;
    CDSCadClientesREFFONE3: TStringField;
    CDSCadClientesREFCOMERCIAL1: TStringField;
    CDSCadClientesREFCOMERCIAL2: TStringField;
    CDSCadClientesREFCOMERCIAL3: TStringField;
    CDSCadClientesREFCFONE1: TStringField;
    CDSCadClientesREFCFONE2: TStringField;
    CDSCadClientesREFCFONE3: TStringField;
    CDSCadClientesCONSPC: TStringField;
    CDSCadClientesNEGATIVADO: TStringField;
    CDSCadClientesDATANEGATIVADO: TDateField;
    CDSCadClientesAVALISTA: TStringField;
    CDSCadClientesCPFAVALISTA: TStringField;
    CDSCadClientesSOCIO1: TStringField;
    CDSCadClientesCPFSOCIO1: TStringField;
    CDSCadClientesSOCIO2: TStringField;
    CDSCadClientesCPFSOCIO2: TStringField;
    CDSCadClientesSOCIO3: TStringField;
    CDSCadClientesCPFSOCIO3: TStringField;
    CDSCadClientesTIPOIMOVEL1: TStringField;
    CDSCadClientesENDERECO1: TStringField;
    CDSCadClientesUSOPROPRIO1: TStringField;
    CDSCadClientesTIPOIMOVEL2: TStringField;
    CDSCadClientesENDERECO2: TStringField;
    CDSCadClientesUSOPROPRIO2: TStringField;
    CDSCadClientesVEICULOMARCA1: TStringField;
    CDSCadClientesMODELOANO1: TStringField;
    CDSCadClientesVALORMERCADO1: TFMTBCDField;
    CDSCadClientesVEICULOMARCA2: TStringField;
    CDSCadClientesMODELOANO2: TStringField;
    CDSCadClientesVALORMERCADO2: TFMTBCDField;
    CDSCadClientesFORNECEDOR1: TStringField;
    CDSCadClientesFORNECEDOR2: TStringField;
    CDSCadClientesFORNECEDOR3: TStringField;
    CDSCadClientesFORNFONE1: TStringField;
    CDSCadClientesFORNFONE2: TStringField;
    CDSCadClientesFORNFONE3: TStringField;
    CDSCadClientesDESDE1: TStringField;
    CDSCadClientesDESDE2: TStringField;
    CDSCadClientesDESDE3: TStringField;
    CDSCadClientesOBSERVACAO1: TStringField;
    CDSCadClientesOBSERVACAO2: TStringField;
    CDSCadClientesOBSERVACAO3: TStringField;
    CDSCadClientesBANCOCORRENTISTA: TStringField;
    CDSCadClientesAGENCIALOCAL: TStringField;
    CDSCadClientesFONEAGENCIA: TStringField;
    CDSCadClientesCLIENTEDESDE: TStringField;
    qryTMP: TSQLQuery;
    CDSCadClientesLimiteCalculado: TFloatField;
    edtCPFCNPJ: TdaDBEdit;
    CDSCidades: TClientDataSet;
    DSPCidades: TDataSetProvider;
    SDSCidades: TSQLDataSet;
    CDSCadClientesDescNaturalidade: TStringField;
    Image12: TImage;
    Label53: TLabel;
    Label54: TLabel;
    Label55: TLabel;
    Label56: TLabel;
    Label57: TLabel;
    Label58: TLabel;
    Label59: TLabel;
    Label60: TLabel;
    edtCEPEmpresa: TdaDBEdit;
    edtEnderecoEmpresa: TdaDBEdit;
    edtNumeroEmpresa: TdaDBEdit;
    edtEstadoEmpresa: TdaDBEdit;
    edtCidadeEmpresa: TdaDBEdit;
    edtBairroEmpresa: TdaDBEdit;
    edtTelefoneEmpresa: TdaDBEdit;
    edtFaxEmpresa: TdaDBEdit;
    Label26: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    Label31: TLabel;
    Label39: TLabel;
    Label28: TLabel;
    edtEmpresaClie: TdaDBEdit;
    edtSalarioClie: TdaDBEdit;
    edtCargoClie: TdaDBEdit;
    edtMesAnoClie: TdaDBEdit;
    edtLimiteClie: TdaDBEdit;
    edtSaldo: TdaDBEdit;
    Label48: TLabel;
    Label49: TLabel;
    Label50: TLabel;
    Label51: TLabel;
    Label52: TLabel;
    Label61: TLabel;
    edtRefPes1: TdaDBEdit;
    edtFonePes1: TdaDBEdit;
    edtRefPes2: TdaDBEdit;
    edtFonePes2: TdaDBEdit;
    edtRefPes3: TdaDBEdit;
    edtFonePes3: TdaDBEdit;
    Label35: TLabel;
    Label36: TLabel;
    Label37: TLabel;
    Label44: TLabel;
    Label46: TLabel;
    Label47: TLabel;
    edtRefCom1: TdaDBEdit;
    edtFoneCom1: TdaDBEdit;
    edtRefCom2: TdaDBEdit;
    edtFoneCom2: TdaDBEdit;
    edtRefCom3: TdaDBEdit;
    edtFoneCom3: TdaDBEdit;
    Label43: TLabel;
    Label45: TLabel;
    Label32: TLabel;
    Label33: TLabel;
    Label62: TLabel;
    edtConsSPC: TdaDBEdit;
    edtNegativado: TdaDBEdit;
    edtAvalista: TdaDBEdit;
    edtDtNegativado: TdaDBEdit;
    edtCPFAvalista: TdaDBEdit;
    Image13: TImage;
    Image20: TImage;
    Image21: TImage;
    Image22: TImage;
    Image17: TImage;
    Label70: TLabel;
    edtSocio1: TdaDBEdit;
    Label72: TLabel;
    edtCPFSocio1: TdaDBEdit;
    Label71: TLabel;
    edtPartSocio1: TdaDBEdit;
    edtPartSocio2: TdaDBEdit;
    Label75: TLabel;
    edtPartSocio3: TdaDBEdit;
    Label78: TLabel;
    edtCPFSocio2: TdaDBEdit;
    Label74: TLabel;
    Label77: TLabel;
    edtCPFSocio3: TdaDBEdit;
    edtSocio2: TdaDBEdit;
    Label73: TLabel;
    Label76: TLabel;
    edtSocio3: TdaDBEdit;
    Image14: TImage;
    Label97: TLabel;
    Label41: TLabel;
    edtTipoImovel1: TdaDBEdit;
    Label42: TLabel;
    edtTipoImovel2: TdaDBEdit;
    edtEndImovel2: TdaDBEdit;
    Label64: TLabel;
    edtEndImovel1: TdaDBEdit;
    Label63: TLabel;
    DBRGUsoProprio1: TDBRadioGroup;
    DBRGUsoProprio2: TDBRadioGroup;
    Image15: TImage;
    Image24: TImage;
    Label96: TLabel;
    Image25: TImage;
    Label84: TLabel;
    edtVeicMarca1: TdaDBEdit;
    Label87: TLabel;
    edtVeicMarca2: TdaDBEdit;
    edtModeloAno2: TdaDBEdit;
    Label88: TLabel;
    edtModeloAno1: TdaDBEdit;
    Label85: TLabel;
    Label86: TLabel;
    edtValorMercado1: TdaDBEdit;
    Label89: TLabel;
    edtValorMercado2: TdaDBEdit;
    Image16: TImage;
    Label98: TLabel;
    Image26: TImage;
    Image27: TImage;
    Image5: TImage;
    Image6: TImage;
    Image7: TImage;
    Image8: TImage;
    Image10: TImage;
    Image9: TImage;
    Image11: TImage;
    Image23: TImage;
    Label65: TLabel;
    edtFornecedor1: TdaDBEdit;
    edtObsForn1: TdaDBEdit;
    Label68: TLabel;
    Label67: TLabel;
    edtFoneFornecedor1: TdaDBEdit;
    edtFornDesde1: TdaDBEdit;
    Label66: TLabel;
    Label79: TLabel;
    Label80: TLabel;
    Label69: TLabel;
    edtFornecedor2: TdaDBEdit;
    edtFoneFornecedor2: TdaDBEdit;
    edtFornDesde2: TdaDBEdit;
    edtObsForn2: TdaDBEdit;
    Label81: TLabel;
    Label82: TLabel;
    edtFornecedor3: TdaDBEdit;
    Label91: TLabel;
    edtObsForn3: TdaDBEdit;
    edtFoneFornecedor3: TdaDBEdit;
    Label90: TLabel;
    Label83: TLabel;
    edtFornDesde3: TdaDBEdit;
    Image18: TImage;
    Image19: TImage;
    Label99: TLabel;
    Image28: TImage;
    Label92: TLabel;
    edtBancoCorrentista: TdaDBEdit;
    Label93: TLabel;
    edtAgenciaLocal: TdaDBEdit;
    Label94: TLabel;
    edtFoneAgencia: TdaDBEdit;
    Label95: TLabel;
    edtClienteDesde: TdaDBEdit;
    Image29: TImage;
    Label100: TLabel;
    Image30: TImage;
    SDSCadClientesPARTICIPACAO1: TFMTBCDField;
    SDSCadClientesPARTICIPACAO2: TFMTBCDField;
    SDSCadClientesPARTICIPACAO3: TFMTBCDField;
    CDSCadClientesPARTICIPACAO1: TFMTBCDField;
    CDSCadClientesPARTICIPACAO2: TFMTBCDField;
    CDSCadClientesPARTICIPACAO3: TFMTBCDField;
    procedure DBRGTipoPessoaChange(Sender: TObject);
    procedure CDSCadClientesAfterPost(DataSet: TDataSet);
    procedure CDSCadClientesBeforePost(DataSet: TDataSet);
    procedure btnNovoClick(Sender: TObject);
    procedure btnSalvarClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure btnExcluirClick(Sender: TObject);
    procedure btnAlterarClick(Sender: TObject);
    procedure btnCancelarClick(Sender: TObject);
    procedure btnPesquisarClick(Sender: TObject);
    procedure F10Click(Sender: TObject);
    procedure edtConjugeExit(Sender: TObject);
    procedure edtFaxEmpresaExit(Sender: TObject);
    procedure CDSCadClientesCPFCNPJGetText(Sender: TField; var Text: string;
      DisplayText: Boolean);
    procedure edtFatMensalExit(Sender: TObject);
    procedure edtValorMercado2Exit(Sender: TObject);
    procedure CDSCadClientesCalcFields(DataSet: TDataSet);
    procedure edtLimiteClieExit(Sender: TObject);
    procedure edtNaturalidadeKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    procedure LimpaFormulario;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmCadClientes: TfrmCadClientes;

implementation

uses uDM, uFuncoes, uFormPesqClientes, uFormPesqCidades;

{$R *.dfm}

procedure TfrmCadClientes.btnAlterarClick(Sender: TObject);
begin
  inherited;
  if CDSCadClientesTIPO.Value = 'F' then  
    edtCPFCNPJ.SetFocus
  else
    begin
      edtCNPJ.SetFocus;
    end;

  btnAlterar.Enabled := False;
end;

procedure TfrmCadClientes.btnCancelarClick(Sender: TObject);
begin
  inherited;
  LimpaFormulario;
  PageControl1.TabIndex := 0;
end;

procedure TfrmCadClientes.btnExcluirClick(Sender: TObject);
begin
  inherited;
  if Confirma then
  begin
    Confirma := False;
    edtCodClie.Clear;
    btnNovo.SetFocus;
    PageControl1.TabIndex := 0;
  end;
end;

procedure TfrmCadClientes.btnNovoClick(Sender: TObject);
begin
  inherited;
  qryClientes.Close;
  qryClientes.Open;
  edtCodClie.Text := qryClientes.FieldByName('id_cliente').AsString;
  DBRGTipoPessoa.ItemIndex := 0;
  DBRGAtivo.ItemIndex := 0;
  DBRGBloqueado.ItemIndex := 1;
  edtCPFCNPJ.SetFocus;
end;

procedure TfrmCadClientes.btnPesquisarClick(Sender: TObject);
begin
  inherited;
  if btnPesquisar.Enabled = True then
    begin
      Application.CreateForm(TfrmPesqClientes,frmPesqClientes);
      if frmPesqClientes.ShowModal = mrOk then
      begin
        SDSCadClientes.Close;
        CDSCadClientes.Close;
        SDSCadClientes.ParamByName('id_cliente').AsInteger := frmPesqClientes.CDSPesqClientesID_CLIENTE.AsInteger;
        CDSCadClientes.Open;

        edtCodClie.Text := frmPesqClientes.CDSPesqClientesID_CLIENTE.AsString;

        AtivarBotoes(True);   
        btnSalvar.Enabled := False;  

        edtCodClie.Enabled := False;
        frmPesqClientes.CDSPesqClientes.Close;
        PanelCenter.Enabled := False;
        btnAlterar.SetFocus;

      end;
      FreeAndNil(frmPesqClientes);
    end;
end;

procedure TfrmCadClientes.btnSalvarClick(Sender: TObject);
begin
  inherited;      
  TRY
    dstGenerico.DataSet.Post;
    AtivarBotoes(False);
    CaixadeMensagemAviso('Registro Gravado com Sucesso!');
    LimpaFormulario;
    PageControl1.TabIndex := 0;
  Except
    ON EDataBaseError DO
      BEGIN
        CaixadeMensagemAviso('Campo [ CPF/CNPJ ] deve ser Preenchido!');
      END;
  END;
end;

procedure TfrmCadClientes.LimpaFormulario;
begin
  CDSCadClientes.Close;
  edtCodClie.Clear;
  PanelCenter.Enabled := False;
  btnNovo.SetFocus;
end;

procedure TfrmCadClientes.CDSCadClientesAfterPost(DataSet: TDataSet);
begin
  inherited;
  CDSCadClientes.ApplyUpdates(-1);
end;

procedure TfrmCadClientes.CDSCadClientesBeforePost(DataSet: TDataSet);
begin
  inherited;
  CDSCadClientesID_CLIENTE.AsInteger := StrToInt(edtCodClie.Text);
  CDSCadClientesLIMITE.AsFloat := CDSCadClientesLimiteCalculado.AsFloat;    
end;

procedure TfrmCadClientes.CDSCadClientesCalcFields(DataSet: TDataSet);
begin
  inherited;
  CDSCadClientesLimiteCalculado.AsFloat := (CDSCadClientesSALARIO.AsFloat * 0.40);
end;

procedure TfrmCadClientes.CDSCadClientesCPFCNPJGetText(Sender: TField;
  var Text: string; DisplayText: Boolean);
begin
  inherited;
  IF dstGenerico.State in [dsBrowse, dsEdit] then
  begin
  IF CDSCadClientesTIPO.AsString = 'F' then
    begin
      edtCPFCNPJ.MaxLength := 11;
      Text := FormatMaskText( '000.000.000-00;0;_', Sender.asString)
    end
  else if CDSCadClientesTIPO.AsString = 'J' then
  begin
     edtCNPJ.MaxLength := 14;
     Text := FormatMaskText('00.000.000/0000-00;0;_', Sender.asString)
  end;
  end;

  IF dstGenerico.State in [dsInsert] then
  begin
    if DBRGTipoPessoa.ItemIndex = 0 then
    BEGIN
      edtCPFCNPJ.MaxLength := 11;
      Text := FormatMaskText( '000.000.000-00;0;_', Sender.asString)
    END
  else if DBRGTipoPessoa.ItemIndex = 1 then       
  begin
     edtCNPJ.MaxLength := 14;
     Text := FormatMaskText('00.000.000/0000-00;0;_', Sender.asString)
  end;
  end;

end;

procedure TfrmCadClientes.DBRGTipoPessoaChange(Sender: TObject);
begin
  inherited;
  if (DBRGTipoPessoa.ItemIndex = 0) then
  begin

    PanelJuridicaVazio.Visible := False;
    PanelEndereco.Visible := False;
    PanelPessoaJuridica.Visible := False;
    TbShtSociosDiretores.TabVisible := False;
    TbShtComerciaisBancarias.TabVisible := False;

    PanelDadosCivis.Visible := True;
    PanelEndereco.Visible := True;
    PanelPessoaFisica.Visible := True;
    PanelFoto.Visible := True;
    TbShtDadosProfissionais.TabVisible := True;
    TbShtReferenciasFisicas.TabVisible := True;

  end;
  if DBRGTipoPessoa.ItemIndex = 1 then
  begin
    TbShtDadosProfissionais.TabVisible := False;
    TbShtReferenciasFisicas.TabVisible := False;

    TbShtSociosDiretores.TabVisible := True;
    TbShtComerciaisBancarias.TabVisible := True;

    PanelPessoaFisica.Visible := False;
    PanelEndereco.Visible := False;
    PanelDadosCivis.Visible := False;


    PanelPessoaJuridica.Visible := True;
    PanelPessoaJuridica.Align := alLeft;
    PanelJuridicaVazio.Visible := True;
    PanelJuridicaVazio.Align := alBottom;
    PanelEndereco.Visible := True;
    PanelEndereco.Align := alBottom;    

  end;
end;

procedure TfrmCadClientes.edtConjugeExit(Sender: TObject);
begin
  inherited;
  PageControl1.SelectNextPage(true,true);
  edtEmpresaClie.SetFocus;
end;

procedure TfrmCadClientes.edtFatMensalExit(Sender: TObject);
begin
  inherited;
  PageControl1.SelectNextPage(true,true);
  edtSocio1.SetFocus;
end;

procedure TfrmCadClientes.edtFaxEmpresaExit(Sender: TObject);
begin
  inherited;
  PageControl1.SelectNextPage(true,true);
  edtRefPes1.SetFocus;
end;

procedure TfrmCadClientes.edtLimiteClieExit(Sender: TObject);
begin
  inherited;
  IF CDSCadClientesSALDO.AsFloat <> CDSCadClientesLimiteCalculado.AsFloat then
  begin
    CDSCadClientesSALDO.AsFloat := CDSCadClientesLimiteCalculado.AsFloat;
  end;
end;

procedure TfrmCadClientes.edtNaturalidadeKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  Case Key of

    VK_RETURN:
    begin
      Application.CreateForm(TfrmPesqCidades,frmPesqCidades);
      if frmPesqCidades.ShowModal = mrOk then
      begin
        CDSCadClientesNATURALIDADE.AsInteger := frmPesqCidades.CDSPesqCidadesID_CIDADE.asInteger;
        frmPesqCidades.CDSPesqCidades.Close;
      end;
      FreeAndNil(frmPesqCidades);
    End;

  End;
end;

procedure TfrmCadClientes.edtValorMercado2Exit(Sender: TObject);
begin
  inherited;
  PageControl1.SelectNextPage(true,true);
  edtFornecedor1.SetFocus;
end;

procedure TfrmCadClientes.F10Click(Sender: TObject);
begin
  inherited;
  btnPesquisarClick(btnPesquisar);
end;

procedure TfrmCadClientes.FormShow(Sender: TObject);
begin
  inherited;
  PageControl1.TabIndex := 0;
  TbShtSociosDiretores.TabVisible := False;
  TbShtComerciaisBancarias.TabVisible := False;
end;

end.


