git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@116 0c75b7a4-871f-7646-8a2f-f78d34cc349f
152 lines
5.2 KiB
ObjectPascal
152 lines
5.2 KiB
ObjectPascal
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.
|