unit uDatosClienta;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Buttons, Grids, DBGrids;
type
TfrmDatosClienta = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
TabSheet5: TTabSheet;
Label7: TLabel;
mmRegalos: TMemo;
Label8: TLabel;
Label9: TLabel;
mmObservaciones: TMemo;
SpeedButton1: TSpeedButton;
mmNotas: TMemo;
Label10: TLabel;
eNombre: TEdit;
eDomicilio: TEdit;
eProvincia: TEdit;
eTelefono: TEdit;
eMovil: TEdit;
eEmail: TEdit;
eVendedora: TEdit;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
TabSheet2: TTabSheet;
Label11: TLabel;
eDe: TEdit;
btBuscar: TButton;
cbIndependiente: TCheckBox;
Label12: TLabel;
eOficina: TEdit;
Label13: TLabel;
DBGrid1: TDBGrid;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure ModoEditar(Activo:boolean);
function Comprobar:boolean;
procedure SpeedButton1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure GrabarClienta(Nombre, De, Telefono, Movil, Oficina, Email, Domicilio,
Provincia, Vendedora, Regalos, Observaciones, Notas:string);
procedure btBuscarClick(Sender: TObject);
procedure cbIndependienteClick(Sender: TObject);
procedure eTelefonoKeyPress(Sender: TObject; var Key: Char);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Consultar();
procedure FormCreate(Sender: TObject);
private
public
end;
var
frmDatosClienta: TfrmDatosClienta;
implementation
uses uClientas, uDataModule, uInfoClienta, uInfoVendedora, uPrincipal,
uPro, uVendedoras, uBusquedaVendedora, uDatosVendedora, uBusquedaClienta,
uVenta, uSeleccionarFecha;
var
Editar:boolean;
{$R *.dfm}
procedure TfrmDatosClienta.ModoEditar(Activo:boolean);
begin
Editar := False;
If Activo = True Then
begin
Editar := True;
Self.Caption := 'Edición de Clienta';
eNombre.Text := dm.ClientasNombre.Value;
eDomicilio.Text := dm.ClientasDomicilio.Value;
eProvincia.Text := dm.ClientasProvincia.Value;
eTelefono.Text := dm.ClientasTelefono.Value;
eMovil.Text := dm.ClientasMovil.Value;
eEmail.Text := dm.ClientasEmail.Value;
eDe.Text := dm.ClientasDe.Value;
If eDe.Text = '(independiente)' Then
begin
cbIndependiente.Checked := True;
btBuscar.Enabled := False;
end;
eVendedora.Text := dm.ClientasVendedora.Value;
mmRegalos.Text := dm.ClientasRegalos.Value;
mmObservaciones.Text := dm.ClientasObservaciones.Value;
mmNotas.Text := dm.ClientasNotas.Value;
end;
end;
function TfrmDatosClienta.Comprobar:boolean;
var
Mensaje:string;
begin
Result := True;
Mensaje := '';
If eNombre.Text = '' Then Mensaje := 'nombre';
If eDomicilio.Text = '' Then Mensaje := 'domicilio';
If eProvincia.Text = '' Then Mensaje := 'provincia';
If eTelefono.Text = '' Then Mensaje := 'telefono';
If eVendedora.Text = '' Then Mensaje := 'clienta de...';
If Mensaje <> '' Then
begin
Aviso('Falta por rellenar el campo '+Mensaje);
Result := False;
end;
end;
procedure TfrmDatosClienta.SpeedButton1Click(Sender: TObject);
begin
If Preguntar('¿Realmente desea salir sin guardar los datos?') = True Then
Close;
end;
procedure TfrmDatosClienta.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmDatosClienta.GrabarClienta(Nombre, De, Telefono, Movil, Oficina, Email, Domicilio,
Provincia, Vendedora, Regalos, Observaciones, Notas:string);
begin
dm.Clientas.Open;
If not Editar Then dm.Clientas.Insert
Else dm.Clientas.Edit;
dm.ClientasNombre.Value := Nombre;
dm.ClientasDe.Value := De; dm.ClientasTelefono.Value := Telefono;
dm.ClientasMovil.Value := Movil;
dm.ClientasOficina.Value := Oficina; dm.ClientasEmail.Value := Email;
dm.ClientasDomicilio.Value := Domicilio;
dm.ClientasProvincia.Value := Provincia;
dm.ClientasVendedora.Value := Vendedora;
dm.ClientasRegalos.Value := Regalos;
dm.ClientasObservaciones.Value := Observaciones;
dm.ClientasNotas.Value := Notas;
dm.Clientas.Post;
dm.Clientas.Refresh;
end;
procedure TfrmDatosClienta.SpeedButton3Click(Sender: TObject);
begin
If not Comprobar Then Abort;
GrabarClienta(eNombre.Text, eDe.Text, eTelefono.Text,
eMovil.Text, eOficina.Text, eEmail.Text, eDomicilio.Text, eProvincia.Text,
eVendedora.Text, mmRegalos.Text, mmObservaciones.Text, mmNotas.Text);
uPro.Mensaje('Operación realizada con éxito.');
Close;
end;
procedure TfrmDatosClienta.SpeedButton2Click(Sender: TObject);
var
frmBusquedaVendedora: TFrmBusquedaVendedora;
begin
frmBusquedaVendedora := TfrmBusquedaVendedora.Create(nil);
try
If Editar Then frmBusquedaVendedora.nombre := eVendedora.Text;
frmBusquedaVendedora.ShowModal;
eVendedora.Text := frmBusquedaVendedora.Nombre;
finally
FreeAndNil(frmBusquedaVendedora);
end;
end;
procedure TfrmDatosClienta.btBuscarClick(Sender: TObject);
var
frmBusquedaClienta: TfrmBusquedaClienta;
begin
frmBusquedaClienta := TfrmBusquedaClienta.Create(nil);
try
If Editar Then frmBusquedaClienta.nombre := eDe.Text;
frmBusquedaClienta.ShowModal;
eDe.Text := frmBusquedaClienta.Nombre;
finally
FreeAndNil(frmBusquedaClienta);
end;
end;
procedure TfrmDatosClienta.cbIndependienteClick(Sender: TObject);
begin
If cbIndependiente.Checked Then
begin
eDe.Text := '(independiente)';
btBuscar.Enabled := False;
end
Else
begin
eDe.Text := '';
btBuscar.Enabled := True;
end;
end;
procedure TfrmDatosClienta.eTelefonoKeyPress(Sender: TObject;
var Key: Char);
var
editor : TEdit;
begin
editor := Sender As TEdit;
if (key <> Char(VK_BACK)) then
try
StrToFloat(Editor.Text+Key+'0');
except
Key := #0
end;
end;
procedure TfrmDatosClienta.Button1Click(Sender: TObject);
var
frmVenta : TFrmVenta;
begin
frmVenta := TFrmVenta.Create(Self);
frmVenta.ModoEditar(False, '','','','');
frmVenta.ShowModal;
Consultar;
end;
procedure TfrmDatosClienta.Button2Click(Sender: TObject);
var
frmVenta : TFrmVenta;
begin
frmVenta := TFrmVenta.Create(Self);
frmVenta.ModoEditar(True, dm.VentasVendedora.Value, dm.VentasModelo.Value, dm.VentasFecha.Value,dm.VentasCantidad.Value);
frmVenta.ShowModal;
Consultar;
end;
procedure TfrmDatosClienta.Button3Click(Sender: TObject);
begin
If (Preguntar('¿Realmente desea borrar este registro?') = True) and (DBGrid1.SelectedRows.Count <> 0) Then
dm.Ventas.Delete;
Consultar;
end;
procedure TfrmDatosClienta.Consultar();
begin
dm.VentasSQL.Close;
dm.VentasSQL.SQL.Text := 'SELECT Cantidad, Fecha, Vendedora FROM Ventas WHERE Clienta='+QuotedStr(eNombre.Text);
dm.VentasSQL.Open;
DBGrid1.DataSource := dm.DVentasSQL;
DBGrid1.Columns.Rebuildcolumns;
DBGrid1.Columns.Items[0].Width := 50;
DBGrid1.Columns.Items[1].Width := 100;
DBGrid1.Columns.Items[2].Width := 150;
end;
procedure TfrmDatosClienta.FormCreate(Sender: TObject);
begin
Consultar;
end;
end.