git-svn-id: https://192.168.0.254/svn/Proyectos.AbetoDesign_FactuGES/trunk@2 93f398dd-4eb6-7a46-baf6-13f46f578da2
118 lines
2.1 KiB
ObjectPascal
118 lines
2.1 KiB
ObjectPascal
unit uBizApuntes;
|
|
|
|
interface
|
|
|
|
uses
|
|
uDAInterfaces, uDADataTable, schContabilidadClient_Intf;
|
|
|
|
const
|
|
CTE_PUNTEADO = 1;
|
|
CTE_NO_PUNTEADO = -1;
|
|
BIZ_CLIENT_Apunte = 'Client.Apunte';
|
|
|
|
type
|
|
IBizApunte = interface(IApuntes)
|
|
['{D26061DB-FFF4-456F-B442-A14A19501DD0}']
|
|
function EsNuevo : Boolean;
|
|
procedure SetNumOrden;
|
|
end;
|
|
|
|
TBizApunte = class(TApuntesDataTableRules, IBizApunte)
|
|
private
|
|
FNumOrden: Integer;
|
|
|
|
protected
|
|
procedure OnNewRecord(Sender: TDADataTable); override;
|
|
|
|
public
|
|
procedure SetNumOrden;
|
|
procedure IniciarValoresApunteNueva;
|
|
function EsNuevo : Boolean;
|
|
|
|
constructor Create(aDataTable: TDADataTable); override;
|
|
destructor Destroy; override;
|
|
end;
|
|
|
|
implementation
|
|
|
|
{ TBizApunte }
|
|
|
|
uses
|
|
DB, SysUtils, uDataTableUtils, uFactuGES_App;
|
|
|
|
constructor TBizApunte.Create(aDataTable: TDADataTable);
|
|
begin
|
|
inherited;
|
|
FNumOrden := 1;
|
|
end;
|
|
|
|
destructor TBizApunte.Destroy;
|
|
begin
|
|
FNumOrden := 0;
|
|
inherited;
|
|
end;
|
|
|
|
function TBizApunte.EsNuevo: Boolean;
|
|
begin
|
|
Result := (ID < 0);
|
|
end;
|
|
|
|
procedure TBizApunte.IniciarValoresApunteNueva;
|
|
begin
|
|
NUM_ORDEN := FNumOrden;
|
|
Inc(FNumOrden);
|
|
PUNTEADO := CTE_NO_PUNTEADO;
|
|
end;
|
|
|
|
procedure TBizApunte.OnNewRecord(Sender: TDADataTable);
|
|
begin
|
|
inherited;
|
|
IniciarValoresApunteNueva;
|
|
end;
|
|
|
|
procedure TBizApunte.SetNumOrden;
|
|
var
|
|
ABookmark : TBookmark;
|
|
NumOrdenMax : Integer;
|
|
begin
|
|
ABookmark := NIL;
|
|
|
|
with Self.DataTable do
|
|
begin
|
|
if not Opening then
|
|
Open;
|
|
|
|
try
|
|
ABookmark := GetBookMark;
|
|
DisableControls;
|
|
DisableEventHandlers;
|
|
|
|
NumOrdenMax := 0;
|
|
First;
|
|
while not Eof do
|
|
begin
|
|
if NUM_ORDEN > NumOrdenMax then
|
|
NumOrdenMax := NUM_ORDEN;
|
|
Next;
|
|
end;
|
|
|
|
Inc(NumOrdenMax);
|
|
FNumOrden := NumOrdenMax;
|
|
|
|
finally
|
|
EnableEventHandlers;
|
|
GotoBookmark(ABookmark);
|
|
FreeBookmark(ABookmark);
|
|
EnableControls;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
initialization
|
|
RegisterDataTableRules(BIZ_CLIENT_Apunte, TBizApunte);
|
|
|
|
finalization
|
|
|
|
end.
|
|
|