This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
LuisLeon_FactuGES2/Source/Modulos/Articulos/Views/uViewProveedorArticulo.pas
2010-10-06 10:32:34 +00:00

110 lines
3.5 KiB
ObjectPascal

unit uViewProveedorArticulo;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, cxGraphics, DB, uDAInterfaces, uDADataTable, cxMaskEdit,
cxDropDownEdit, cxLookupEdit, cxDBLookupEdit, cxDBLookupComboBox,
dxLayoutControl, cxContainer, cxEdit, cxTextEdit, cxDBEdit, cxControls,
cxSpinEdit, cxCurrencyEdit, uProveedoresController, uBizContactos, cxCheckBox;
type
TfrViewProveedorArticulo = class(TfrViewBase)
dxLayoutControlArticulo: TdxLayoutControl;
eReferenciaProv: TcxDBTextEdit;
dxLayoutGroup1: TdxLayoutGroup;
dxLayoutControlArticuloGroup3: TdxLayoutGroup;
dxLayoutGroup2: TdxLayoutGroup;
dxLayoutControlArticuloItem3: TdxLayoutItem;
dxLayoutControlArticuloItem1: TdxLayoutItem;
eProveedor: TcxDBLookupComboBox;
dsProveedores: TDADataSource;
dxLayoutControlArticuloItem2: TdxLayoutItem;
ePrecioCoste: TcxDBCurrencyEdit;
dxLayoutControlArticuloItem4: TdxLayoutItem;
eDescuento: TcxDBSpinEdit;
dxLayoutControlArticuloItem5: TdxLayoutItem;
ePrecioNeto: TcxDBCurrencyEdit;
dxLayoutControlArticuloItem6: TdxLayoutItem;
ePrecioPorte: TcxDBCurrencyEdit;
dxLayoutControlArticuloItem7: TdxLayoutItem;
cbTiendaWeb: TcxDBCheckBox;
procedure CustomViewCreate(Sender: TObject);
procedure CustomViewDestroy(Sender: TObject);
procedure OnProveedorChange(Sender: TObject);
procedure PrecioNetoChanged(Sender: TObject);
procedure CustomViewShow(Sender: TObject);
protected
FProveedoresController : IProveedoresController;
FProveedores : IBizProveedor;
public
{ Public declarations }
end;
var
frViewProveedorArticulo: TfrViewProveedorArticulo;
implementation
{$R *.dfm}
procedure TfrViewProveedorArticulo.CustomViewCreate(Sender: TObject);
begin
inherited;
FProveedoresController := TProveedoresController.Create;
FProveedores := (FProveedoresController.BuscarTodos as IBizProveedor);
if Assigned(FProveedores) then
begin
dsProveedores.DataTable := FProveedores.DataTable;
FProveedores.DataTable.Active := True;
end;
end;
procedure TfrViewProveedorArticulo.CustomViewDestroy(Sender: TObject);
begin
ePrecioCoste.Properties.OnEditValueChanged := NIL;
eDescuento.Properties.OnEditValueChanged := NIL;
eProveedor.Properties.OnEditValueChanged := NIL;
FProveedoresController := NIL;
FProveedores := NIL;
inherited;
end;
procedure TfrViewProveedorArticulo.CustomViewShow(Sender: TObject);
begin
inherited;
eProveedor.Properties.OnEditValueChanged := OnProveedorChange;
ePrecioCoste.Properties.OnEditValueChanged := PrecioNetoChanged;
eDescuento.Properties.OnEditValueChanged := PrecioNetoChanged;
end;
procedure TfrViewProveedorArticulo.OnProveedorChange(Sender: TObject);
begin
inherited;
FProveedores.first;
if FProveedores.Locate('ID', eProveedor.EditValue) then
begin
eDescuento.EditValue := FProveedores.DESCUENTO;
cbTiendaWeb.DataBinding.Field.AsInteger := FProveedores.TIENDA_WEB;
end;
end;
procedure TfrViewProveedorArticulo.PrecioNetoChanged(Sender: TObject);
var
APrecioCoste: Double;
ADescuento: Double;
begin
APrecioCoste := 0;
ADescuento := 0;
if not varIsNull(ePrecioCoste.EditValue) then
APrecioCoste := ePrecioCoste.EditValue;
if not varIsNull(eDescuento.EditValue) then
ADescuento := eDescuento.EditValue;
ePrecioNeto.EditValue := APrecioCoste - ((APrecioCoste * ADescuento)/100)
end;
end.