unit uBizAgentesComisiones; interface uses uDAInterfaces, uDADataTable, schContactosClient_Intf; const BIZ_CLIENT_AGENTE_COMISIONES = 'Client.AgenteComisiones'; type IBizAgenteComisiones = interface (IAgentesComisiones) ['{18ABE9D5-8258-4328-B54A-D2B07A8917AA}'] end; TBizAgenteComisiones = class(TAgentesComisionesDataTableRules, IBizAgenteComisiones) private ContIdAux: Integer; protected procedure OnNewRecord(Sender: TDADataTable); override; public constructor Create(aDataTable: TDADataTable); override; end; implementation { TBizAgenteComisiones } constructor TBizAgenteComisiones.Create(aDataTable: TDADataTable); begin inherited; ContIdAux := -1; end; procedure TBizAgenteComisiones.OnNewRecord(Sender: TDADataTable); begin inherited; ID := ContIdAux; // -1, -2, -3... Dec(ContIdAux); end; initialization RegisterDataTableRules(BIZ_CLIENT_AGENTE_COMISIONES, TBizAgenteComisiones); end.