62 lines
1.3 KiB
ObjectPascal
62 lines
1.3 KiB
ObjectPascal
|
|
unit uBizClientesDescuentos;
|
||
|
|
|
||
|
|
interface
|
||
|
|
|
||
|
|
uses
|
||
|
|
uDAInterfaces, uDADataTable,
|
||
|
|
schContactosClient_Intf;
|
||
|
|
|
||
|
|
const
|
||
|
|
BIZ_CLIENT_CLIENTE_DESCUENTOS = 'Client.ClienteDescuentos';
|
||
|
|
|
||
|
|
type
|
||
|
|
IBizClienteDescuentos = interface (IClientesDescuentos)
|
||
|
|
['{41EF5532-D013-4976-BE23-6094E4C07CEF}']
|
||
|
|
end;
|
||
|
|
|
||
|
|
TBizClienteDescuentos = class(TClientesDescuentosDataTableRules, IBizClienteDescuentos)
|
||
|
|
private
|
||
|
|
ContIdAux: Integer;
|
||
|
|
protected
|
||
|
|
procedure OnNewRecord(Sender: TDADataTable); override;
|
||
|
|
procedure BeforeInsert(Sender: TDADataTable); override;
|
||
|
|
public
|
||
|
|
constructor Create(aDataTable: TDADataTable); override;
|
||
|
|
end;
|
||
|
|
|
||
|
|
implementation
|
||
|
|
|
||
|
|
{ TBizClienteDescuentos }
|
||
|
|
|
||
|
|
uses
|
||
|
|
DB;
|
||
|
|
|
||
|
|
procedure TBizClienteDescuentos.BeforeInsert(Sender: TDADataTable);
|
||
|
|
var
|
||
|
|
AMasterTable : TDADataTable;
|
||
|
|
begin
|
||
|
|
inherited;
|
||
|
|
AMasterTable := DataTable.GetMasterDataTable;
|
||
|
|
if Assigned(AMasterTable) and (AMasterTable.State in dsEditModes) then
|
||
|
|
AMasterTable.Post;
|
||
|
|
end;
|
||
|
|
|
||
|
|
constructor TBizClienteDescuentos.Create(aDataTable: TDADataTable);
|
||
|
|
begin
|
||
|
|
inherited;
|
||
|
|
ContIdAux := -1;
|
||
|
|
end;
|
||
|
|
|
||
|
|
procedure TBizClienteDescuentos.OnNewRecord(Sender: TDADataTable);
|
||
|
|
begin
|
||
|
|
inherited;
|
||
|
|
ID := ContIdAux; // -1, -2, -3...
|
||
|
|
Dec(ContIdAux);
|
||
|
|
end;
|
||
|
|
|
||
|
|
initialization
|
||
|
|
RegisterDataTableRules(BIZ_CLIENT_CLIENTE_DESCUENTOS, TBizClienteDescuentos);
|
||
|
|
|
||
|
|
end.
|
||
|
|
|