Tecsitel_FactuGES2/Source/Modulos/Facturas de proveedor/Views/uViewFacturaProveedor.pas

152 lines
5.2 KiB
ObjectPascal
Raw Blame History

unit uViewFacturaProveedor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, DB, uDADataTable, uCustomView,
uViewDatosYSeleccionCliente, uBizFacturasProveedor,
cxControls, cxContainer, cxEdit, cxTextEdit, cxDBEdit, dxLayoutControl,
cxMemo, cxMaskEdit, cxDropDownEdit, cxCalendar, cxSpinEdit, StdCtrls, Mask,
DBCtrls, cxGraphics, dxLayoutLookAndFeels, cxLookupEdit, cxDBLookupEdit,
cxDBLookupComboBox, uFormasPagoController, uViewDatosYSeleccionProveedor,
uDAInterfaces, uBizFormasPago;
type
IViewFacturaProveedor = interface(IViewBase)
['{DD934441-75CC-452F-8861-684961E90BB6}']
function GetFactura: IBizFacturaProveedor;
procedure SetFactura(const Value: IBizFacturaProveedor);
property Factura: IBizFacturaProveedor read GetFactura write SetFactura;
end;
TfrViewFacturaProveedor = class(TfrViewBase, IViewFacturaProveedor)
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;
dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel;
dsFormaPago: TDADataSource;
dxLayoutControl1Item4: TdxLayoutItem;
cbFormaPago: TcxDBLookupComboBox;
dxLayoutControl1Item10: TdxLayoutItem;
bFormasPago: TButton;
dxLayoutControl1Group3: TdxLayoutGroup;
dxLayoutControl1Group6: TdxLayoutGroup;
dxLayoutControl1Item6: TdxLayoutItem;
eReferenciaProveedor: TcxDBTextEdit;
dxLayoutControl1Item3: TdxLayoutItem;
frViewProveedorFactura: TfrViewDatosYSeleccionProveedor;
procedure bFormasPagoClick(Sender: TObject);
procedure CustomViewDestroy(Sender: TObject);
procedure CustomViewCreate(Sender: TObject);
procedure frViewProveedorFacturaButton1Click(Sender: TObject);
procedure frViewProveedorFacturaButton2Click(Sender: TObject);
protected
FFactura : IBizFacturaProveedor;
FFormasPago : IBizFormaPago;
FFormasPagoController : IFormasPagoController;
function GetFactura: IBizFacturaProveedor;
procedure SetFactura(const Value: IBizFacturaProveedor);
public
property Factura: IBizFacturaProveedor read GetFactura write SetFactura;
end;
implementation
uses
uDataModuleContactos, schFacturasProveedorClient_Intf;
{$R *.dfm}
{ TfrViewFacturaProveedor }
procedure TfrViewFacturaProveedor.bFormasPagoClick(Sender: TObject);
begin
inherited;
if Assigned(FFormasPago) then
FFormasPagoController.VerTodos(FFormasPago);
end;
procedure TfrViewFacturaProveedor.CustomViewCreate(Sender: TObject);
begin
inherited;
FFormasPago := Nil;
FFormasPagoController := TFormasPagoController.Create;
frViewProveedorFactura.MsgElegirProveedor := 'Elija el proveedor al que se le realizar<61> la factura.';
end;
procedure TfrViewFacturaProveedor.CustomViewDestroy(Sender: TObject);
begin
inherited;
FFormasPago := Nil;
FFormasPagoController := NIL;
end;
procedure TfrViewFacturaProveedor.frViewProveedorFacturaButton1Click(Sender: TObject);
begin
if Assigned(Factura) and Assigned(Factura.Proveedor) and
Assigned (Factura.Detalles) and (Factura.Detalles.RecordCount > 0) then
begin
if (Application.MessageBox('Si cambia de proveedor, se eliminar<61>n todos sus art<72>culos de la factura actual, <20>Desea continuar?', 'Atenci<63>n', MB_YESNO) = IDNO) then
Exit;
end;
frViewProveedorFactura.actElegirContacto.Execute;
end;
procedure TfrViewFacturaProveedor.frViewProveedorFacturaButton2Click(
Sender: TObject);
begin
if Assigned(Factura) and Assigned(Factura.Proveedor) and
Assigned (Factura.Detalles) and (Factura.Detalles.RecordCount > 0) then
begin
if (Application.MessageBox('Si cambia de proveedor, se eliminar<61>n todos sus art<72>culos de la factura actual, <20>Desea continuar?', 'Atenci<63>n', MB_YESNO) = IDNO) then
Exit;
end;
frViewProveedorFactura.actAnadirContacto.Execute;
end;
function TfrViewFacturaProveedor.GetFactura: IBizFacturaProveedor;
begin
Result := FFactura;
end;
procedure TfrViewFacturaProveedor.SetFactura(const Value: IBizFacturaProveedor);
begin
FFactura := Value;
if Assigned(FFactura) then
begin
DADataSource.DataTable := FFactura.DataTable;
FFormasPago := FFormasPagoController.BuscarTodos;
dsFormaPago.DataTable := FFormasPago.DataTable;
dsFormaPago.DataTable.Active := True;
//Solo se deshabilita al insertar, luego la referencia ser<65> modificable
eReferencia.Enabled := (FFactura.DataTable.State = dsInsert);
if FFactura.TIPO = CTE_TIPO_ABONO then
begin
dxLayoutControl1Item2.Caption := 'Fecha del abono:';
dxLayoutControl1Group1.Caption := 'Datos del abono';
end;
end
else begin
DADataSource.DataTable := NIL;
dsFormaPago.DataTable := NIL;
frViewProveedorFactura.Proveedor := NIL
end;
end;
end.