Tecsitel_FactuGES2/Source/Modulos/Recibos de proveedor/Views/uViewReciboProveedor.pas

176 lines
5.6 KiB
ObjectPascal

unit uViewReciboProveedor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, uBizRecibosProveedor, uRecibosProveedorController,
DB, uDADataTable, dxLayoutControl,
cxControls, cxCurrencyEdit, cxDBEdit, cxMemo, cxMaskEdit, cxDropDownEdit,
cxCalendar, cxContainer, cxEdit, cxTextEdit, dxLayoutLookAndFeels, ExtCtrls,
uDAInterfaces, cxGraphics;
type
IViewReciboProveedor = interface(IViewBase)
['{3EDDAF2C-2A99-43AE-8DBB-3AC300660D94}']
function GetRecibo: IBizRecibosProveedor;
procedure SetRecibo(const Value: IBizRecibosProveedor);
property Recibo: IBizRecibosProveedor read GetRecibo write SetRecibo;
function GetController : IRecibosProveedorController;
procedure SetController (const Value : IRecibosProveedorController);
property Controller : IRecibosProveedorController read GetController write SetController;
end;
TfrViewReciboProveedor = class(TfrViewBase, IViewReciboProveedor)
DADataSource: TDADataSource;
dxLayoutControl1Group_Root: TdxLayoutGroup;
dxLayoutControl1: TdxLayoutControl;
dxLayoutControl1Item1: TdxLayoutItem;
eReferencia: TcxDBTextEdit;
dxLayoutControl1Item2: TdxLayoutItem;
eSituacion: TcxDBTextEdit;
dxLayoutControl1Item3: TdxLayoutItem;
edtFechaVencimiento: TcxDBDateEdit;
dxLayoutControl1Item5: TdxLayoutItem;
memObservaciones: TcxDBMemo;
dxLayoutControl1Group1: TdxLayoutGroup;
dxLayoutControl1Item7: TdxLayoutItem;
eFechaEmision: TcxDBTextEdit;
dxLayoutControl1Item8: TdxLayoutItem;
eFormaPago: TcxDBTextEdit;
dxLayoutControl1Item9: TdxLayoutItem;
eImporteTotal: TcxDBCurrencyEdit;
dxLayoutControl1Group5: TdxLayoutGroup;
dxLayoutControl1Item10: TdxLayoutItem;
eNombreCliente: TcxDBTextEdit;
dxLayoutControl1Item11: TdxLayoutItem;
eNifCif: TcxDBTextEdit;
dxLayoutControl1Group6: TdxLayoutGroup;
dxLayoutControl1Group8: TdxLayoutGroup;
dxLayoutControl1Item16: TdxLayoutItem;
eRemesa: TcxDBTextEdit;
dxLayoutControl1Group2: TdxLayoutGroup;
dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel;
dxLayoutControl1Group7: TdxLayoutGroup;
dxLayoutControl1Group9: TdxLayoutGroup;
dxLayoutControl1Item19: TdxLayoutItem;
edtFechaEmision: TcxDBDateEdit;
dxLayoutControl1Item20: TdxLayoutItem;
eReferenciaProveedor: TcxDBTextEdit;
dxLayoutControl1Item21: TdxLayoutItem;
rReferenciaFacturaProv: TcxDBTextEdit;
dxLayoutControl1Item4: TdxLayoutItem;
rRefReciboCompensado: TcxDBTextEdit;
dxLayoutControl1Item6: TdxLayoutItem;
eCuentaFactura: TcxDBTextEdit;
dxLayoutControl1Item13: TdxLayoutItem;
cbCuentaBancaria: TcxDBComboBox;
private
FRecibo : IBizRecibosProveedor;
FController : IRecibosProveedorController;
function GetRecibo: IBizRecibosProveedor;
procedure SetRecibo(const Value: IBizRecibosProveedor);
function GetController : IRecibosProveedorController;
procedure SetController (const Value : IRecibosProveedorController);
protected
procedure RellenarCuentasBancarias;
public
property Recibo: IBizRecibosProveedor read GetRecibo write SetRecibo;
property Controller : IRecibosProveedorController read GetController write SetController;
end;
var
frViewReciboProveedor: TfrViewReciboProveedor;
implementation
{$R *.dfm}
{ TfrViewReciboProveedor }
uses
uEmpresasController, uFactuGES_App;
function TfrViewReciboProveedor.GetController: IRecibosProveedorController;
begin
Result := FController;
end;
function TfrViewReciboProveedor.GetRecibo: IBizRecibosProveedor;
begin
Result := FRecibo;
end;
procedure TfrViewReciboProveedor.RellenarCuentasBancarias;
var
AController : IEmpresasController;
ALista : TStringList;
AListaIBAN : TStringList;
AListaProveedor : TStringList;
i : integer;
begin
AController := TEmpresasController.Create;
try
ALista := AController.DarListaCuentasBancarias(AppFactuGES.EmpresaActiva);
AListaIBAN := AController.DarListaCuentasBancariasIBAN(AppFactuGES.EmpresaActiva);
AListaProveedor := Controller.ProveedorController.DarListaCuentasBancarias(FRecibo.ID_PROVEEDOR);
try
with cbCuentaBancaria.Properties.Items do
begin
BeginUpdate;
try
Clear;
Add('');
for i := 0 to ALista.Count - 1 do
Add(ALista.Names[i]);
if AListaIBAN.Count > 0 then
begin
Add('Cuentas de ' + AppFactuGES.EmpresaActiva.NOMBRE + '-----------------');
for i := 0 to AListaIBAN.Count - 1 do
Add(AListaIBAN.Names[i]);
end;
if AListaProveedor.Count > 0 then
begin
Add('Cuentas del Proveedor -----------------');
for i := 0 to AListaProveedor.Count - 1 do
Add(AListaProveedor.Names[i]);
end;
finally
EndUpdate;
end;
end;
finally
FreeANDNIL(ALista);
FreeANDNIL(AListaIBAN);
FreeANDNIL(AListaProveedor);
end;
finally
AController := NIL;
end;
end;
procedure TfrViewReciboProveedor.SetController(const Value: IRecibosProveedorController);
begin
FController := Value;
end;
procedure TfrViewReciboProveedor.SetRecibo(const Value: IBizRecibosProveedor);
begin
FRecibo := Value;
RellenarCuentasBancarias;
if Assigned(FRecibo) then
DADataSource.DataTable := FRecibo.DataTable
else
DADataSource.DataTable := NIL;
end;
end.