- Contactos: lista de personal asociado a un contacto (en clientes y proveedores). - Obras: poder indicar una subcontrata - Pedidos a proveedor: usar obras como destino del pedido. git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@350 0c75b7a4-871f-7646-8a2f-f78d34cc349f
62 lines
1.3 KiB
ObjectPascal
62 lines
1.3 KiB
ObjectPascal
unit uBizContactosPersonal;
|
|
|
|
interface
|
|
|
|
uses
|
|
uDAInterfaces, uDADataTable,
|
|
schContactosClient_Intf;
|
|
|
|
const
|
|
BIZ_CLIENT_CONTACTO_PERSONAL = 'Client.ContactosPersonal';
|
|
|
|
type
|
|
IBizContactoPersonal = interface (IPersonalContacto)
|
|
['{9FFEFD2E-1EED-4FA2-80D7-81B1541B122C}']
|
|
end;
|
|
|
|
TBizContactoPersonal = class(TPersonalContactoDataTableRules, IBizContactoPersonal)
|
|
private
|
|
ContIdAux: Integer;
|
|
protected
|
|
procedure OnNewRecord(Sender: TDADataTable); override;
|
|
procedure BeforeInsert(Sender: TDADataTable); override;
|
|
public
|
|
constructor Create(aDataTable: TDADataTable); override;
|
|
end;
|
|
|
|
implementation
|
|
|
|
{ TBizContactoPersonal }
|
|
|
|
uses
|
|
DB;
|
|
|
|
procedure TBizContactoPersonal.BeforeInsert(Sender: TDADataTable);
|
|
var
|
|
AMasterTable : TDADataTable;
|
|
begin
|
|
inherited;
|
|
AMasterTable := DataTable.GetMasterDataTable;
|
|
if Assigned(AMasterTable) and (AMasterTable.State in dsEditModes) then
|
|
AMasterTable.Post;
|
|
end;
|
|
|
|
constructor TBizContactoPersonal.Create(aDataTable: TDADataTable);
|
|
begin
|
|
inherited;
|
|
ContIdAux := -1;
|
|
end;
|
|
|
|
procedure TBizContactoPersonal.OnNewRecord(Sender: TDADataTable);
|
|
begin
|
|
inherited;
|
|
ID := ContIdAux; // -1, -2, -3...
|
|
Dec(ContIdAux);
|
|
end;
|
|
|
|
initialization
|
|
RegisterDataTableRules(BIZ_CLIENT_CONTACTO_PERSONAL, TBizContactoPersonal);
|
|
|
|
end.
|
|
|