unit uBizDetallesPedidoCliente; interface uses uDADataTable, schPedidosClienteClient_Intf; const BIZ_CLIENT_DETALLES_PEDIDO_CLIENTE = 'Client.DetallesPedido.Cliente'; type IBizDetallesPedidoCliente = interface(IPedidosCliente_Detalles) ['{2D7781DC-AD16-4857-9567-5C1620319781}'] end; TBizDetallesPedidoCliente = class(TPedidosCliente_DetallesDataTableRules, IBizDetallesPedidoCliente) private ContIdAux: Integer; protected procedure OnNewRecord(Sender: TDADataTable); override; public constructor Create(aDataTable: TDADataTable); override; end; implementation { TBizDetallesPedidoCliente } uses uDataTableUtils; constructor TBizDetallesPedidoCliente.Create(aDataTable: TDADataTable); begin inherited Create(aDataTable); ContIdAux := -1; end; procedure TBizDetallesPedidoCliente.OnNewRecord(Sender: TDADataTable); begin inherited; ID := ContIdAux; // -1, -2, -3... Dec(ContIdAux); end; initialization RegisterDataTableRules(BIZ_CLIENT_DETALLES_PEDIDO_CLIENTE, TBizDetallesPedidoCliente); end.