git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES/tags/1.5.1@10 9a1d36f3-7752-2d40-8ccb-50eb49674c68
185 lines
5.5 KiB
ObjectPascal
185 lines
5.5 KiB
ObjectPascal
unit uDataModuleFacturasProveedor;
|
||
|
||
interface
|
||
|
||
uses {vcl:} SysUtils, Classes, DB, DBClient,
|
||
{RemObjects:} uDAClientDataModule, uDADataTable, uDABINAdapter,
|
||
uROServiceComponent, uRORemoteService, uROClient, uROBinMessage,
|
||
uROWinInetHttpChannel, uDAScriptingProvider, uDACDSDataTable,
|
||
uDADesigntimeCall, uBizFacturasProveedor;
|
||
|
||
type
|
||
TdmFacturasProveedor = class(TDAClientDataModule)
|
||
RORemoteService: TRORemoteService;
|
||
tbl_FacturasProveedor: TDACDSDataTable;
|
||
ds_FacturasProveedor: TDADataSource;
|
||
DADesigntimeCall1: TDADesigntimeCall;
|
||
tbl_ListaAnosFacturas: TDACDSDataTable;
|
||
ds_ListaAnosFacturas: TDADataSource;
|
||
procedure DAClientDataModuleCreate(Sender: TObject);
|
||
private
|
||
{ Private declarations }
|
||
public
|
||
function GetNextAutoinc : integer;
|
||
function GetItem: IBizFacturasProveedor;
|
||
function GetItems: IBizFacturasProveedor;
|
||
function PuedoEliminarFactura (CodigoFactura : Integer) : Boolean;
|
||
|
||
function DarListaAnosFacturas: TStringList;
|
||
procedure FiltrarAno(AFacturas: IBizFacturasProveedor; AWhereDataTable: String; const Ano: String);
|
||
end;
|
||
|
||
var
|
||
dmFacturasProveedor: TdmFacturasProveedor;
|
||
|
||
implementation
|
||
|
||
{$R *.DFM}
|
||
|
||
uses
|
||
Forms, Controls, cxControls, uDataTableUtils, uBizContacto,
|
||
uDataModuleContactos, uDataModuleBase, uDAInterfaces,
|
||
FactuGES_Intf, uEditorPreview, uROTypes, schFacturasProveedorClient_Intf;
|
||
|
||
{ TDAClientDataModule1 }
|
||
|
||
function TdmFacturasProveedor.GetItems: IBizFacturasProveedor;
|
||
var
|
||
dtCabecera: TDACDSDataTable;
|
||
ACursor: TCursor;
|
||
begin
|
||
ACursor := Screen.Cursor;
|
||
Screen.Cursor := crHourGlass;
|
||
try
|
||
dtCabecera := TDACDSDataTable.Create(NIL);
|
||
CloneDataTable(tbl_FacturasProveedor, dtCabecera);
|
||
with dtCabecera do
|
||
begin
|
||
BusinessRulesID := BIZ_FACTURASPROVEEDOR;
|
||
FieldByName(fld_FacturasProveedorDESCUENTO).BusinessRulesID := 'Client.Field.Descuento';
|
||
FieldByName(fld_FacturasProveedorIVA).BusinessRulesID := 'Client.Field.IVA';
|
||
FieldByName(fld_FacturasProveedorBASEIMPONIBLE).BusinessRulesID := 'Client.Field.BaseImponible';
|
||
end;
|
||
|
||
Result := (dtCabecera as IBizFacturasProveedor);
|
||
finally
|
||
Screen.Cursor := ACursor;
|
||
end;
|
||
end;
|
||
|
||
procedure TdmFacturasProveedor.DAClientDataModuleCreate(Sender: TObject);
|
||
begin
|
||
RORemoteService.Channel := dmBase.Channel;
|
||
RORemoteService.Message := dmBase.Message;
|
||
Adapter := dmBase.Adapter;
|
||
end;
|
||
|
||
|
||
function TdmFacturasProveedor.GetItem: IBizFacturasProveedor;
|
||
var
|
||
dtCabecera: TDACDSDataTable;
|
||
dtDetalles: TDACDSDataTable;
|
||
ACursor: TCursor;
|
||
begin
|
||
{ ACursor := Screen.Cursor;
|
||
Screen.Cursor := crHourGlass;
|
||
try
|
||
dtCabecera := TDACDSDataTable.Create(NIL);
|
||
CloneDataTable(tbl_AlbaranCliente, dtCabecera);
|
||
with dtCabecera do
|
||
begin
|
||
BusinessRulesID := BIZ_ALBARANCLIENTE;
|
||
FieldByName(fld_AlbaranClienteDESCUENTO).BusinessRulesID := 'Client.Field.Descuento';
|
||
FieldByName(fld_AlbaranClienteIVA).BusinessRulesID := 'Client.Field.IVA';
|
||
end;
|
||
|
||
dtDetalles := TDACDSDataTable.Create(NIL);
|
||
CloneDataTable(tbl_DetallesAlbaranProveedor, dtDetalles);
|
||
with dtDetalles do
|
||
begin
|
||
BusinessRulesID := BIZ_DETALLESALBARANCLIENTE;
|
||
DetailOptions := DetailOptions - [dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates];
|
||
|
||
FieldByName(fld_DetallesAlbaranClienteCANTIDAD).BusinessRulesID := 'Client.Field.Cantidad';
|
||
FieldByName(fld_DetallesAlbaranClienteIMPORTEUNIDAD).BusinessRulesID := 'Client.Field.ImporteUnidad';
|
||
FieldByName(fld_DetallesAlbaranClienteTIPO).BusinessRulesID := 'Client.Field.TipoDetalle';
|
||
end;
|
||
|
||
with (dtAlbaranes as IBizAlbaranesCliente) do
|
||
begin
|
||
Detalles := (dtDetalles as IBizDetallesAlbaranCliente);
|
||
end;
|
||
|
||
Result := (dtAlbaranes as IBizAlbaranesCliente);
|
||
finally
|
||
Screen.Cursor := ACursor;
|
||
end;}
|
||
end;
|
||
|
||
function TdmFacturasProveedor.GetNextAutoinc: integer;
|
||
begin
|
||
Result := (RORemoteService as IsrvFacturasProveedor).GetNextAutoinc;
|
||
end;
|
||
|
||
function TdmFacturasProveedor.PuedoEliminarFactura(CodigoFactura: Integer): Boolean;
|
||
begin
|
||
Result := (RORemoteService as IsrvFacturasProveedor).PuedoEliminarFactura(CodigoFactura);
|
||
end;
|
||
|
||
function TdmFacturasProveedor.DarListaAnosFacturas: TStringList;
|
||
var
|
||
AListaAnos: TStringList;
|
||
begin
|
||
AListaAnos := TStringList.Create;
|
||
ShowHourglassCursor;
|
||
try
|
||
with tbl_ListaAnosFacturas do
|
||
begin
|
||
Open;
|
||
First;
|
||
while not eof do
|
||
begin
|
||
AListaAnos.Add(Format('%s=%s', [Fields[0].AsString, Fields[0].AsString]));
|
||
Next;
|
||
end;
|
||
Close;
|
||
end;
|
||
Result := AListaAnos;
|
||
finally
|
||
HideHourglassCursor;
|
||
end;
|
||
end;
|
||
|
||
procedure TdmFacturasProveedor.FiltrarAno(AFacturas: IBizFacturasProveedor; AWhereDataTable: String; const Ano: String);
|
||
var
|
||
FechaIni: String;
|
||
FechaFin: String;
|
||
|
||
begin
|
||
AFacturas.DataTable.Where.Clear;
|
||
AFacturas.DataTable.Where.AddText(AWhereDataTable);
|
||
|
||
if (Ano <> 'Todos') then
|
||
begin
|
||
// Filtrar los presupuestos actuales por a<>os
|
||
FechaIni := '01.01.' + Ano;
|
||
FechaFin := '31.12.' + Ano;
|
||
with AFacturas.DataTable.Where do
|
||
begin
|
||
if NotEmpty then
|
||
AddOperator(opAND);
|
||
AddCondition(fld_FacturasProveedorFECHAFACTURA, cMajorOrEqual, FechaIni);
|
||
AddOperator(opAND);
|
||
AddCondition(fld_FacturasProveedorFECHAFACTURA, cLessOrEqual, FechaFin);
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
initialization
|
||
dmFacturasProveedor := TdmFacturasProveedor.Create(nil);
|
||
|
||
finalization
|
||
FreeAndNil(dmFacturasProveedor);
|
||
|
||
end.
|