This repository has been archived on 2024-12-02. You can view files and clone it, but cannot push or open issues or pull requests.
AlonsoYSal_FactuGES/Modulos/Albaranes de cliente/Cliente/uViewAlbaranCliente.pas

107 lines
3.9 KiB
ObjectPascal
Raw Blame History

unit uViewAlbaranCliente;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, uBizAlbaranesCliente, DB, uDADataTable, uCustomView,
uViewDatosYSeleccionContacto, uViewDatosAlbaranCliente,
uViewObservaciones, uViewFormaPago, AppEvnts, uViewPresupuestoAlbaran,
uViewPresupuestoRelacionado, JvExControls, JvComponent, JvLabel,
JvDBControls, StdCtrls, Buttons;
type
IViewAlbaranCliente = interface(IViewBase)
['{4AF36827-838E-40AC-BEB5-72D69C721E6B}']
function GetAlbaranCliente: IBizAlbaranesCliente;
procedure SetAlbaranCliente(const Value: IBizAlbaranesCliente);
property AlbaranCliente: IBizAlbaranesCliente read GetAlbaranCliente
write SetAlbaranCliente;
end;
TfrViewAlbaranCliente = class(TfrViewBase, IViewAlbaranCliente)
DADataSource: TDADataSource;
frViewDatosYSeleccionContacto1: TfrViewDatosYSeleccionContacto;
frViewDatosAlbaranCliente1: TfrViewDatosAlbaranCliente;
frViewObservaciones1: TfrViewObservaciones;
frViewFormaPago1: TfrViewFormaPago;
frViewPresupuestoAlbaran1: TfrViewPresupuestoAlbaran;
procedure BitBtn1Click(Sender: TObject);
private
FAlbaranCliente : IBizAlbaranesCliente;
procedure OnContactoChanged (Sender : TObject);
procedure OnPresupuestoChanged(Sender : TObject);
protected
function GetAlbaranCliente: IBizAlbaranesCliente;
procedure SetAlbaranCliente(const Value: IBizAlbaranesCliente);
public
property AlbaranCliente: IBizAlbaranesCliente read GetAlbaranCliente
write SetAlbaranCliente;
end;
var
frViewAlbaranCliente: TfrViewAlbaranCliente;
implementation
uses uBizContacto, uExceptions, uDataModulePresupuestos;
{$R *.dfm}
{ TfrViewAlbaranCliente }
function TfrViewAlbaranCliente.GetAlbaranCliente: IBizAlbaranesCliente;
begin
Result := FAlbaranCliente;
end;
procedure TfrViewAlbaranCliente.OnContactoChanged(Sender: TObject);
begin
if FAlbaranCliente.CODIGOCONTACTO <> (frViewDatosYSeleccionContacto1.Contacto as IBizCliente).CODIGO then
FAlbaranCliente.Cliente := (frViewDatosYSeleccionContacto1.Contacto as IBizCliente);
end;
procedure TfrViewAlbaranCliente.OnPresupuestoChanged(Sender: TObject);
begin
if not (FAlbaranCliente.DataTable.State in dsEditModes) then
FAlbaranCliente.Edit;
ShowMessage(IntToStr(frViewPresupuestoAlbaran1.Presupuesto.CODIGO));
try
FAlbaranCliente.CODIGOPRESUPUESTO := frViewPresupuestoAlbaran1.Presupuesto.CODIGO;
FAlbaranCliente.CopyFrom(frViewPresupuestoAlbaran1.Presupuesto);
frViewDatosYSeleccionContacto1.Contacto := FAlbaranCliente.Cliente;
MessageBox(0, 'Se ha copiado correctamente el presupuesto elegido en este albar<61>n.', 'Presupuesto copiado', MB_ICONWARNING or MB_OK);
except
on E : Exception do
ShowMessage(E.ClassName+' error raised, with message : '+E.Message);
end;
end;
procedure TfrViewAlbaranCliente.SetAlbaranCliente(
const Value: IBizAlbaranesCliente);
begin
FAlbaranCliente := Value;
if Assigned(FAlbaranCliente) then
DADataSource.DataTable := FAlbaranCliente.DataTable
else
DADataSource.DataTable := NIL;
frViewDatosAlbaranCliente1.DADataSource.DataTable := DADataSource.DataTable;
frViewObservaciones1.DADataSource.DataTable := DADataSource.DataTable;
frViewFormaPago1.DADataSource.DataTable := DADataSource.DataTable;
frViewDatosYSeleccionContacto1.Contacto := FAlbaranCliente.Cliente;
frViewDatosYSeleccionContacto1.OnContactoChanged := OnContactoChanged;
frViewPresupuestoAlbaran1.Presupuesto := dmPresupuestos.GetPresupuesto(FAlbaranCliente.CODIGOPRESUPUESTO);
frViewPresupuestoAlbaran1.OnPresupuestoChanged := OnPresupuestoChanged;
end;
procedure TfrViewAlbaranCliente.BitBtn1Click(Sender: TObject);
begin
inherited;
frViewDatosYSeleccionContacto1.Contacto.DataTable.Active := tRUE;
end;
end.