Tecsitel_FactuGES2/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.pas

168 lines
5.3 KiB
ObjectPascal
Raw Normal View History

unit uViewFacturaCliente;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, DB, uDADataTable, uCustomView,
uViewDatosYSeleccionCliente, uBizFacturasCliente,
cxControls, cxContainer, cxEdit, cxTextEdit, cxDBEdit, dxLayoutControl,
cxMemo, cxMaskEdit, cxDropDownEdit, cxCalendar, cxSpinEdit, StdCtrls, Mask,
DBCtrls, cxGraphics, dxLayoutLookAndFeels, cxLookupEdit, cxDBLookupEdit,
cxDBLookupComboBox, uFormasPagoController, uDAInterfaces, uBizFormasPago,
dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinCaramel, dxSkinCoffee,
dxSkinGlassOceans, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky,
dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinSilver, dxSkinStardust, dxSkinsDefaultPainters,
dxSkinValentine, dxSkinXmas2008Blue, dxSkinsdxLCPainter;
type
IViewFacturaCliente = interface(IViewBase)
['{3A95930C-20B3-41E9-93CB-21138ADB5B70}']
function GetFactura: IBizFacturaCliente;
procedure SetFactura(const Value: IBizFacturaCliente);
property Factura: IBizFacturaCliente read GetFactura write SetFactura;
end;
TfrViewFacturaCliente = class(TfrViewBase, IViewFacturaCliente)
DADataSource: TDADataSource;
dxLayoutControl1Group_Root: TdxLayoutGroup;
dxLayoutControl1: TdxLayoutControl;
dxLayoutControl1Item1: TdxLayoutItem;
eReferencia: TcxDBTextEdit;
dxLayoutControl1Item2: TdxLayoutItem;
edtFecha: TcxDBDateEdit;
dxLayoutControl1Group1: TdxLayoutGroup;
dxLayoutControl1Group2: TdxLayoutGroup;
dxLayoutControl1Item5: TdxLayoutItem;
memObservaciones: TcxDBMemo;
dxLayoutControl1Group5: TdxLayoutGroup;
dxLayoutControl1Item6: TdxLayoutItem;
frViewClienteFactura: TfrViewDatosYSeleccionCliente;
dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel;
dsFormaPago: TDADataSource;
dxLayoutControl1Item4: TdxLayoutItem;
cbFormaPago: TcxDBLookupComboBox;
dxLayoutControl1Item10: TdxLayoutItem;
bFormasPago: TButton;
dxLayoutControl1Group3: TdxLayoutGroup;
dxLayoutControl1Group6: TdxLayoutGroup;
dxLayoutControl1Item3: TdxLayoutItem;
cbCuentaBancaria: TcxDBComboBox;
dxLayoutControl1Group4: TdxLayoutGroup;
procedure bFormasPagoClick(Sender: TObject);
procedure CustomViewDestroy(Sender: TObject);
procedure CustomViewCreate(Sender: TObject);
protected
FFactura : IBizFacturaCliente;
FFormasPago : IBizFormaPago;
FFormasPagoController : IFormasPagoController;
function GetFactura: IBizFacturaCliente;
procedure SetFactura(const Value: IBizFacturaCliente);
procedure RellenarCuentasBancarias;
public
property Factura: IBizFacturaCliente read GetFactura write SetFactura;
end;
implementation
uses
uDataModuleContactos, schFacturasClienteClient_Intf, uFactuGES_App,
uEmpresasController;
{$R *.dfm}
{ TfrViewFacturaCliente }
procedure TfrViewFacturaCliente.bFormasPagoClick(Sender: TObject);
begin
inherited;
if Assigned(FFormasPago) then
FFormasPagoController.VerTodos(FFormasPago);
end;
procedure TfrViewFacturaCliente.CustomViewCreate(Sender: TObject);
begin
inherited;
FFormasPago := Nil;
FFormasPagoController := TFormasPagoController.Create;
end;
procedure TfrViewFacturaCliente.CustomViewDestroy(Sender: TObject);
begin
inherited;
FFormasPago := Nil;
FFormasPagoController := NIL;
end;
function TfrViewFacturaCliente.GetFactura: IBizFacturaCliente;
begin
Result := FFactura;
end;
procedure TfrViewFacturaCliente.RellenarCuentasBancarias;
var
AController : IEmpresasController;
ALista : TStringList;
i : integer;
begin
AController := TEmpresasController.Create;
try
ALista := AController.DarListaCuentasBancarias(AppFactuGES.EmpresaActiva);
try
with cbCuentaBancaria.Properties.Items do
begin
BeginUpdate;
try
Clear;
Add('');
for i := 0 to ALista.Count - 1 do
Add(ALista.Names[i]);
finally
EndUpdate;
end;
end;
finally
FreeANDNIL(ALista);
end;
finally
AController := NIL;
end;
end;
procedure TfrViewFacturaCliente.SetFactura(const Value: IBizFacturaCliente);
var
ACadena : String;
begin
FFactura := Value;
RellenarCuentasBancarias;
if Assigned(FFactura) then
begin
DADataSource.DataTable := FFactura.DataTable;
FFormasPago := FFormasPagoController.BuscarTodos;
dsFormaPago.DataTable := FFormasPago.DataTable;
dsFormaPago.DataTable.Active := True;
if FFactura.TIPO = CTE_TIPO_ABONO then
begin
dxLayoutControl1Group1.Caption := 'Datos del abono:';
dxLayoutControl1Item2.Caption := 'Fecha del abono:';
ACadena := 'Elija el cliente al que se le realizar<61> el abono.';
end
else
ACadena := 'Elija el cliente al que se le realizar<61> la factura.';
frViewClienteFactura.MsgElegirCliente := ACadena;
end
else begin
DADataSource.DataTable := NIL;
dsFormaPago.DataTable := NIL;
frViewClienteFactura.Cliente := NIL
end;
end;
end.