unit uBizContactos; interface uses uDAInterfaces, uDADataTable, uROClasses, uBizContactosPersonal, schContactosClient_Intf, uBizContactosDatosBancarios, uBizSubCuentasContacto, uDBSelectionListUtils, uBizDireccionesContacto, uBizClientesDescuentos; const BIZ_CLIENT_CONTACTO = 'Client.Contacto'; BIZ_CLIENT_CLIENTE = 'Client.Cliente'; BIZ_CLIENT_PROVEEDOR = 'Client.Proveedor'; BIZ_CLIENT_VENDEDOR = 'Client.Vendedor'; CATEGORIA_CLIENTE = 1; CATEGORIA_PROVEEDOR = 2; CATEGORIA_VENDEDOR = 3; CATEGORIA_INSTALADOR = 4; type IBizContacto = interface (IContactos) ['{CD585680-26B6-47A4-B684-89C468670F4A}'] procedure SetDatosBancarios(AValue : IBizContactosDatosBancarios); function GetDatosBancarios : IBizContactosDatosBancarios; property DatosBancarios : IBizContactosDatosBancarios read GetDatosBancarios write SetDatosBancarios; procedure SetPersonal(AValue : IBizContactoPersonal); function GetPersonal : IBizContactoPersonal; property Personal : IBizContactoPersonal read GetPersonal write SetPersonal; function GetCategoria : String; property Categoria : String read GetCategoria; function GetDirecciones: IBizDireccionesContacto; procedure SetDirecciones(const Value: IBizDireccionesContacto); property Direcciones : IBizDireccionesContacto read GetDirecciones write SetDirecciones; function EsNuevo : Boolean; end; IBizCliente = interface (IBizContacto) ['{EA48A6AA-AC96-4AD9-B383-F2FD4552EE76}'] function GetGRUPO_CLIENTEValue: String; procedure SetGRUPO_CLIENTEValue(const aValue: String); function GetPROCEDENCIA_CLIENTEValue: String; procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); function GetNOMBRE_COMERCIALValue: String; procedure SetNOMBRE_COMERCIALValue(const aValue: String); function GetVENCIMIENTO_FACTURAS_1Value: Integer; procedure SetVENCIMIENTO_FACTURAS_1Value(const aValue: Integer); function GetVENCIMIENTO_FACTURAS_2Value: Integer; procedure SetVENCIMIENTO_FACTURAS_2Value(const aValue: Integer); function GetVENCIMIENTO_FACTURAS_3Value: Integer; procedure SetVENCIMIENTO_FACTURAS_3Value(const aValue: Integer); function GetBLOQUEADOValue: Integer; procedure SetBLOQUEADOValue(const aValue: Integer); function GetMOTIVO_BLOQUEOValue: String; procedure SetMOTIVO_BLOQUEOValue(const aValue: String); function GetRECARGO_EQUIVALENCIAValue: Integer; procedure SetRECARGO_EQUIVALENCIAValue(const aValue: Integer); function GetREGIMEN_IVAValue: String; procedure SetREGIMEN_IVAValue(const aValue: String); function GetID_TIPO_IVAValue: Integer; procedure SetID_TIPO_IVAValue(const aValue: Integer); function GetID_FORMA_PAGOValue: Integer; procedure SetID_FORMA_PAGOValue(const aValue: Integer); function GetTIENDA_WEBValue: Integer; procedure SetTIENDA_WEBValue(const aValue: Integer); function GetLOPDValue: Integer; procedure SetLOPDValue(const aValue: Integer); function GetDescuentos: IBizClienteDescuentos; procedure SetDescuentos(Value: IBizClienteDescuentos); property Descuentos: IBizClienteDescuentos read GetDescuentos write SetDescuentos; property GRUPO_CLIENTE: String read GetGRUPO_CLIENTEValue write SetGRUPO_CLIENTEValue; property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue; property NOMBRE_COMERCIAL: String read GetNOMBRE_COMERCIALValue write SetNOMBRE_COMERCIALValue; property VENCIMIENTO_FACTURAS_1: Integer read GetVENCIMIENTO_FACTURAS_1Value write SetVENCIMIENTO_FACTURAS_1Value; property VENCIMIENTO_FACTURAS_2: Integer read GetVENCIMIENTO_FACTURAS_2Value write SetVENCIMIENTO_FACTURAS_2Value; property VENCIMIENTO_FACTURAS_3: Integer read GetVENCIMIENTO_FACTURAS_3Value write SetVENCIMIENTO_FACTURAS_3Value; property BLOQUEADO: Integer read GetBLOQUEADOValue write SetBLOQUEADOValue; property MOTIVO_BLOQUEO: String read GetMOTIVO_BLOQUEOValue write SetMOTIVO_BLOQUEOValue; property RECARGO_EQUIVALENCIA: Integer read GetRECARGO_EQUIVALENCIAValue write SetRECARGO_EQUIVALENCIAValue; property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue; property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue; property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue; property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue; property LOPD: Integer read GetLOPDValue write SetLOPDValue; function GetSubCuentas: IBizSubCuentasContacto; procedure SetSubCuentas(const Value: IBizSubCuentasContacto); property SubCuentas : IBizSubCuentasContacto read GetSubCuentas write SetSubCuentas; function GetIgnorar_Contabilidad: Integer; procedure SetIgnorar_Contabilidad(const Value: Integer); property IGNORAR_CONTABILIDAD: Integer read GetIgnorar_Contabilidad write SetIgnorar_Contabilidad; function GetTiene_Subcuenta: Integer; procedure SetTiene_Subcuenta(const Value: Integer); property TIENE_SUBCUENTA: Integer read GetTiene_SubCuenta write SetTiene_Subcuenta; end; IBizProveedor = interface (IBizContacto) ['{0CC1FBB8-C2F1-4E10-87B9-D4EEB1221299}'] function GetREGIMEN_IVAValue: String; procedure SetREGIMEN_IVAValue(const aValue: String); function GetDESCUENTOValue: Float; procedure SetDESCUENTOValue(const aValue: Float); function GetDESCRIPCION_PROVEEDORValue: String; procedure SetDESCRIPCION_PROVEEDORValue(const aValue: String); function GetNOMBRE_COMERCIALValue: String; procedure SetNOMBRE_COMERCIALValue(const aValue: String); function GetVENCIMIENTO_FACTURAS_1Value: Integer; procedure SetVENCIMIENTO_FACTURAS_1Value(const aValue: Integer); function GetVENCIMIENTO_FACTURAS_2Value: Integer; procedure SetVENCIMIENTO_FACTURAS_2Value(const aValue: Integer); function GetVENCIMIENTO_FACTURAS_3Value: Integer; procedure SetVENCIMIENTO_FACTURAS_3Value(const aValue: Integer); function GetCODIGO_ASIGNADOValue: String; procedure SetCODIGO_ASIGNADOValue(const aValue: String); function GetID_TIPO_IVAValue: Integer; procedure SetID_TIPO_IVAValue(const aValue: Integer); function GetID_FORMA_PAGOValue: Integer; procedure SetID_FORMA_PAGOValue(const aValue: Integer); function GetTIENDA_WEBValue: Integer; procedure SetTIENDA_WEBValue(const aValue: Integer); function GetHOMOLOGADOValue: Integer; procedure SetHOMOLOGADOValue(const aValue: Integer); function GetCERTIFICACIONValue: String; procedure SetCERTIFICACIONValue(const aValue: String); function GetGRUPO_PROVEEDORValue: String; procedure SetGRUPO_PROVEEDORValue(const aValue: String); property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue; property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue; property DESCRIPCION_PROVEEDOR: String read GetDESCRIPCION_PROVEEDORValue write SetDESCRIPCION_PROVEEDORValue; property CODIGO_ASIGNADO: String read GetCODIGO_ASIGNADOValue write SetCODIGO_ASIGNADOValue; property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue; property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue; property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue; property HOMOLOGADO: Integer read GetHOMOLOGADOValue write SetHOMOLOGADOValue; property CERTIFICACION: String read GetCERTIFICACIONValue write SetCERTIFICACIONValue; property GRUPO_PROVEEDOR: String read GetGRUPO_PROVEEDORValue write SetGRUPO_PROVEEDORValue; property NOMBRE_COMERCIAL: String read GetNOMBRE_COMERCIALValue write SetNOMBRE_COMERCIALValue; property VENCIMIENTO_FACTURAS_1: Integer read GetVENCIMIENTO_FACTURAS_1Value write SetVENCIMIENTO_FACTURAS_1Value; property VENCIMIENTO_FACTURAS_2: Integer read GetVENCIMIENTO_FACTURAS_2Value write SetVENCIMIENTO_FACTURAS_2Value; property VENCIMIENTO_FACTURAS_3: Integer read GetVENCIMIENTO_FACTURAS_3Value write SetVENCIMIENTO_FACTURAS_3Value; function GetSubCuentas: IBizSubCuentasContacto; procedure SetSubCuentas(const Value: IBizSubCuentasContacto); property SubCuentas : IBizSubCuentasContacto read GetSubCuentas write SetSubCuentas; function GetIgnorar_Contabilidad: Integer; procedure SetIgnorar_Contabilidad(const Value: Integer); property IGNORAR_CONTABILIDAD: Integer read GetIgnorar_Contabilidad write SetIgnorar_Contabilidad; function GetTiene_Subcuenta: Integer; procedure SetTiene_Subcuenta(const Value: Integer); property TIENE_SUBCUENTA: Integer read GetTiene_SubCuenta write SetTiene_Subcuenta; function GetEs_Acreedor: Integer; procedure SetEs_Acreedor(const Value: Integer); property ES_ACREEDOR: Integer read GetEs_Acreedor write SetEs_Acreedor; end; IBizVendedor = interface (IBizContacto) ['{CA24021E-A227-47F9-815F-A8565DB0F748}'] function GetCOMISIONValue: Float; procedure SetCOMISIONValue(const aValue: Float); function GetID_USUARIOValue: Integer; procedure SetID_USUARIOValue(const aValue: Integer); property COMISION: Float read GetCOMISIONValue write SetCOMISIONValue; property ID_USUARIO: Integer read GetID_USUARIOValue write SetID_USUARIOValue; end; TBizContacto = class(TContactosDataTableRules, IBizContacto, ISeleccionable) protected FDatosBancarios : IBizContactosDatosBancarios; FDatosBancariosLink : TDADataSource; FDirecciones : IBizDireccionesContacto; FDireccionesLink : TDADataSource; FPersonal : IBizContactoPersonal; FPersonalLink : TDADataSource; FSeleccionableInterface : ISeleccionable; procedure SetDatosBancarios(AValue : IBizContactosDatosBancarios); function GetDatosBancarios : IBizContactosDatosBancarios; function GetDirecciones: IBizDireccionesContacto; procedure SetDirecciones(const Value: IBizDireccionesContacto); function GetCategoria : String; procedure SetPersonal(AValue : IBizContactoPersonal); function GetPersonal : IBizContactoPersonal; procedure OnNewRecord(Sender: TDADataTable); override; public function EsNuevo : Boolean; procedure IniciarValoresContactoNuevo; virtual; constructor Create(aDataTable: TDADataTable); override; destructor Destroy; override; property Categoria : String read GetCategoria; property Personal : IBizContactoPersonal read GetPersonal write SetPersonal; property DatosBancarios : IBizContactosDatosBancarios read GetDatosBancarios write SetDatosBancarios; property Direcciones : IBizDireccionesContacto read GetDirecciones write SetDirecciones; property SeleccionableInterface : ISeleccionable read FSeleccionableInterface write FSeleccionableInterface implements ISeleccionable; end; TBizCliente = class(TBizContacto, IBizCliente) protected FSubCuentas: IBizSubCuentasContacto; FSubCuentasLink : TDADataSource; FDescuentos : IBizClienteDescuentos; FDescuentosLink : TDADataSource; function GetGRUPO_CLIENTEValue: String; procedure SetGRUPO_CLIENTEValue(const aValue: String); function GetPROCEDENCIA_CLIENTEValue: String; procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); function GetNOMBRE_COMERCIALValue: String; procedure SetNOMBRE_COMERCIALValue(const aValue: String); function GetVENCIMIENTO_FACTURAS_1Value: Integer; procedure SetVENCIMIENTO_FACTURAS_1Value(const aValue: Integer); function GetVENCIMIENTO_FACTURAS_2Value: Integer; procedure SetVENCIMIENTO_FACTURAS_2Value(const aValue: Integer); function GetVENCIMIENTO_FACTURAS_3Value: Integer; procedure SetVENCIMIENTO_FACTURAS_3Value(const aValue: Integer); function GetBLOQUEADOValue: Integer; procedure SetBLOQUEADOValue(const aValue: Integer); function GetMOTIVO_BLOQUEOValue: String; procedure SetMOTIVO_BLOQUEOValue(const aValue: String); function GetRECARGO_EQUIVALENCIAValue: Integer; procedure SetRECARGO_EQUIVALENCIAValue(const aValue: Integer); function GetREGIMEN_IVAValue: String; procedure SetREGIMEN_IVAValue(const aValue: String); function GetID_TIPO_IVAValue: Integer; procedure SetID_TIPO_IVAValue(const aValue: Integer); function GetID_FORMA_PAGOValue: Integer; procedure SetID_FORMA_PAGOValue(const aValue: Integer); function GetTIENDA_WEBValue: Integer; procedure SetTIENDA_WEBValue(const aValue: Integer); function GetDescuentos: IBizClienteDescuentos; procedure SetDescuentos(Value: IBizClienteDescuentos); function GetIgnorar_Contabilidad: Integer; procedure SetIgnorar_Contabilidad(const Value: Integer); function GetTiene_Subcuenta: Integer; procedure SetTiene_Subcuenta(const Value: Integer); function GetSubCuentas: IBizSubCuentasContacto; procedure SetSubCuentas(const Value: IBizSubCuentasContacto); function GetLOPDValue: Integer; procedure SetLOPDValue(const aValue: Integer); public procedure IniciarValoresContactoNuevo; override; constructor Create(aDataTable: TDADataTable); override; destructor Destroy; override; property Descuentos: IBizClienteDescuentos read GetDescuentos write SetDescuentos; property GRUPO_CLIENTE: String read GetGRUPO_CLIENTEValue write SetGRUPO_CLIENTEValue; property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue; property NOMBRE_COMERCIAL: String read GetNOMBRE_COMERCIALValue write SetNOMBRE_COMERCIALValue; property VENCIMIENTO_FACTURAS_1: Integer read GetVENCIMIENTO_FACTURAS_1Value write SetVENCIMIENTO_FACTURAS_1Value; property VENCIMIENTO_FACTURAS_2: Integer read GetVENCIMIENTO_FACTURAS_2Value write SetVENCIMIENTO_FACTURAS_2Value; property VENCIMIENTO_FACTURAS_3: Integer read GetVENCIMIENTO_FACTURAS_3Value write SetVENCIMIENTO_FACTURAS_3Value; property BLOQUEADO: Integer read GetBLOQUEADOValue write SetBLOQUEADOValue; property MOTIVO_BLOQUEO: String read GetMOTIVO_BLOQUEOValue write SetMOTIVO_BLOQUEOValue; property RECARGO_EQUIVALENCIA: Integer read GetRECARGO_EQUIVALENCIAValue write SetRECARGO_EQUIVALENCIAValue; property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue; property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue; property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue; property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue; property SubCuentas : IBizSubCuentasContacto read GetSubCuentas write SetSubCuentas; property IGNORAR_CONTABILIDAD: Integer read GetIgnorar_Contabilidad write SetIgnorar_Contabilidad; property TIENE_SUBCUENTA: Integer read GetTiene_SubCuenta write SetTiene_Subcuenta; property LOPD: Integer read GetLOPDValue write SetLOPDValue; end; TBizProveedor = class(TBizContacto, IBizProveedor) protected FSubCuentas: IBizSubCuentasContacto; FSubCuentasLink : TDADataSource; function GetDESCUENTOValue: Float; procedure SetDESCUENTOValue(const aValue: Float); function GetDESCRIPCION_PROVEEDORValue: String; procedure SetDESCRIPCION_PROVEEDORValue(const aValue: String); function GetCODIGO_ASIGNADOValue: String; procedure SetCODIGO_ASIGNADOValue(const aValue: String); function GetNOMBRE_COMERCIALValue: String; procedure SetNOMBRE_COMERCIALValue(const aValue: String); function GetREGIMEN_IVAValue: String; procedure SetREGIMEN_IVAValue(const aValue: String); function GetVENCIMIENTO_FACTURAS_1Value: Integer; procedure SetVENCIMIENTO_FACTURAS_1Value(const aValue: Integer); function GetVENCIMIENTO_FACTURAS_2Value: Integer; procedure SetVENCIMIENTO_FACTURAS_2Value(const aValue: Integer); function GetVENCIMIENTO_FACTURAS_3Value: Integer; procedure SetVENCIMIENTO_FACTURAS_3Value(const aValue: Integer); function GetID_TIPO_IVAValue: Integer; procedure SetID_TIPO_IVAValue(const aValue: Integer); function GetTIENDA_WEBValue: Integer; procedure SetTIENDA_WEBValue(const aValue: Integer); function GetID_FORMA_PAGOValue: Integer; procedure SetID_FORMA_PAGOValue(const aValue: Integer); function GetHOMOLOGADOValue: Integer; procedure SetHOMOLOGADOValue(const aValue: Integer); function GetCERTIFICACIONValue: String; procedure SetCERTIFICACIONValue(const aValue: String); function GetGRUPO_PROVEEDORValue: String; procedure SetGRUPO_PROVEEDORValue(const aValue: String); function GetIgnorar_Contabilidad: Integer; procedure SetIgnorar_Contabilidad(const Value: Integer); function GetTiene_Subcuenta: Integer; procedure SetTiene_Subcuenta(const Value: Integer); function GetEs_Acreedor: Integer; procedure SetEs_Acreedor(const Value: Integer); function GetSubCuentas: IBizSubCuentasContacto; procedure SetSubCuentas(const Value: IBizSubCuentasContacto); public procedure IniciarValoresContactoNuevo; override; constructor Create(aDataTable: TDADataTable); override; destructor Destroy; override; property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue; property DESCRIPCION_PROVEEDOR: String read GetDESCRIPCION_PROVEEDORValue write SetDESCRIPCION_PROVEEDORValue; property CODIGO_ASIGNADO: String read GetCODIGO_ASIGNADOValue write SetCODIGO_ASIGNADOValue; property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue; property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue; property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue; property VENCIMIENTO_FACTURAS_1: Integer read GetVENCIMIENTO_FACTURAS_1Value write SetVENCIMIENTO_FACTURAS_1Value; property VENCIMIENTO_FACTURAS_2: Integer read GetVENCIMIENTO_FACTURAS_2Value write SetVENCIMIENTO_FACTURAS_2Value; property VENCIMIENTO_FACTURAS_3: Integer read GetVENCIMIENTO_FACTURAS_3Value write SetVENCIMIENTO_FACTURAS_3Value; property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue; property HOMOLOGADO: Integer read GetHOMOLOGADOValue write SetHOMOLOGADOValue; property CERTIFICACION: String read GetCERTIFICACIONValue write SetCERTIFICACIONValue; property GRUPO_PROVEEDOR: String read GetGRUPO_PROVEEDORValue write SetGRUPO_PROVEEDORValue; property SubCuentas : IBizSubCuentasContacto read GetSubCuentas write SetSubCuentas; property IGNORAR_CONTABILIDAD: Integer read GetIgnorar_Contabilidad write SetIgnorar_Contabilidad; property TIENE_SUBCUENTA: Integer read GetTiene_SubCuenta write SetTiene_Subcuenta; property ES_ACREEDOR: Integer read GetEs_Acreedor write SetEs_Acreedor; property NOMBRE_COMERCIAL: String read GetNOMBRE_COMERCIALValue write SetNOMBRE_COMERCIALValue; end; TBizVendedor = class(TBizContacto, IBizVendedor) protected function GetCOMISIONValue: Float; procedure SetCOMISIONValue(const aValue: Float); function GetID_USUARIOValue: Integer; procedure SetID_USUARIOValue(const aValue: Integer); public property COMISION: Float read GetCOMISIONValue write SetCOMISIONValue; property ID_USUARIO: Integer read GetID_USUARIOValue write SetID_USUARIOValue; procedure IniciarValoresContactoNuevo; override; end; implementation {$INCLUDE ..\..\..\FactuGES.inc} uses uDataTableUtils, Classes, DateUtils, SysUtils, uFactuGES_App, uConfiguracionController, uBizEmpresasTiendas, uBizTiposIVA, uBizFormasPago; const PROVEEDOR_REGIMEN_IVA = 'General'; CLIENTE_REGIMEN_IVA = 'General'; CLIENTE_DIAS_VENCIMIENTO = 15; CLIENTE_RECARGO_EQUIVALENCIA = 0; { TBizContacto } constructor TBizContacto.Create(aDataTable: TDADataTable); begin inherited; FDatosBancariosLink := TDADataSource.Create(NIL); FDatosBancariosLink.DataTable := aDataTable; FDireccionesLink := TDADataSource.Create(NIL); FDireccionesLink.DataTable := aDataTable; FPersonalLink := TDADataSource.Create(NIL); FPersonalLink.DataTable := aDataTable; FSeleccionableInterface := TSeleccionable.Create(aDataTable); end; destructor TBizContacto.Destroy; begin FDatosBancarios := NIL; FDatosBancariosLink.Free; FDirecciones := NIL; FDireccionesLink.Free; FPersonal := NIL; FPersonalLink.Free; FSeleccionableInterface := NIL; inherited; end; function TBizContacto.EsNuevo: Boolean; begin Result := (ID < 0); end; function TBizContacto.GetCategoria: String; begin case ID_CATEGORIA of 1 : Result := 'Cliente'; 2 : Result := 'Proveedor'; 3 : Result := 'Vendedor'; 4 : Result := 'Instalador'; end; end; function TBizContacto.GetDatosBancarios: IBizContactosDatosBancarios; begin Result := FDatosBancarios; end; function TBizContacto.GetDirecciones: IBizDireccionesContacto; begin Result := FDirecciones; end; function TBizContacto.GetPersonal: IBizContactoPersonal; begin Result := FPersonal; end; procedure TBizContacto.IniciarValoresContactoNuevo; begin USUARIO := AppFactuGES.UsuarioActivo.UserName; ID_TIENDA := AppFactuGES.TiendaActiva.ID; TIENDA := AppFactuGES.TiendaActiva.NOMBRE; end; procedure TBizContacto.OnNewRecord(Sender: TDADataTable); begin inherited; IniciarValoresContactoNuevo; end; procedure TBizContacto.SetDatosBancarios(AValue: IBizContactosDatosBancarios); begin FDatosBancarios := AValue; EnlazarMaestroDetalle(FDatosBancariosLink, FDatosBancarios); end; procedure TBizContacto.SetDirecciones(const Value: IBizDireccionesContacto); begin FDirecciones := Value; EnlazarMaestroDetalle(FDireccionesLink, FDirecciones); end; procedure TBizContacto.SetPersonal(AValue: IBizContactoPersonal); begin FPersonal := AValue; EnlazarMaestroDetalle(FPersonalLink, FPersonal); end; { TBizCliente } constructor TBizCliente.Create(aDataTable: TDADataTable); begin inherited; FDescuentos := NIL; FDescuentosLink := TDADataSource.Create(NIL); FDescuentosLink.DataTable := aDataTable; FSubCuentas := NIL; FSubCuentasLink := TDADataSource.Create(NIL); FSubCuentasLink.DataTable := aDataTable; end; destructor TBizCliente.Destroy; begin FDescuentos := NIL; FreeAndNIL(FDescuentosLink); FSubCuentas := NIL; FreeAndNIL(FSubCuentasLink); inherited; end; function TBizCliente.GetBLOQUEADOValue: Integer; begin result := DataTable.Fields[idx_ClientesBLOQUEADO].AsInteger; end; function TBizCliente.GetDescuentos: IBizClienteDescuentos; begin Result := FDescuentos; end; function TBizCliente.GetGRUPO_CLIENTEValue: String; begin result := DataTable.Fields[idx_ClientesGRUPO_CLIENTE].AsString; end; function TBizCliente.GetID_FORMA_PAGOValue: Integer; begin result := DataTable.Fields[idx_ClientesID_FORMA_PAGO].AsInteger; end; function TBizCliente.GetID_TIPO_IVAValue: Integer; begin result := DataTable.Fields[idx_ClientesID_TIPO_IVA].AsInteger; end; function TBizCliente.GetIgnorar_Contabilidad: Integer; begin result := DataTable.Fields[idx_ClientesIGNORAR_CONTABILIDAD].AsInteger; end; function TBizCliente.GetLOPDValue: Integer; begin result := DataTable.Fields[idx_ClientesLOPD].AsInteger; end; function TBizCliente.GetMOTIVO_BLOQUEOValue: String; begin result := DataTable.Fields[idx_ClientesMOTIVO_BLOQUEO].AsString; end; function TBizCliente.GetNOMBRE_COMERCIALValue: String; begin result := DataTable.Fields[idx_ClientesNOMBRE_COMERCIAL].AsString; end; function TBizCliente.GetPROCEDENCIA_CLIENTEValue: String; begin result := DataTable.Fields[idx_ClientesPROCEDENCIA_CLIENTE].AsString; end; procedure TBizCliente.SetBLOQUEADOValue(const aValue: Integer); begin DataTable.Fields[idx_ClientesBLOQUEADO].AsInteger := aValue; end; procedure TBizCliente.SetDescuentos(Value: IBizClienteDescuentos); begin FDescuentos := Value; EnlazarMaestroDetalle(FDescuentosLink, FDescuentos); end; procedure TBizCliente.SetGRUPO_CLIENTEValue(const aValue: String); begin DataTable.Fields[idx_ClientesGRUPO_CLIENTE].AsString := aValue; end; procedure TBizCliente.SetID_FORMA_PAGOValue(const aValue: Integer); begin DataTable.Fields[idx_ClientesID_FORMA_PAGO].AsInteger := aValue; end; procedure TBizCliente.SetID_TIPO_IVAValue(const aValue: Integer); begin DataTable.Fields[idx_ClientesID_TIPO_IVA].AsInteger := aValue; end; procedure TBizCliente.SetIgnorar_Contabilidad(const Value: Integer); begin DataTable.Fields[idx_ClientesIGNORAR_CONTABILIDAD].AsInteger := Value; end; procedure TBizCliente.SetLOPDValue(const aValue: Integer); begin DataTable.Fields[idx_ClientesLOPD].AsInteger := aValue; end; procedure TBizCliente.SetMOTIVO_BLOQUEOValue(const aValue: String); begin DataTable.Fields[idx_ClientesMOTIVO_BLOQUEO].AsString := aValue; end; procedure TBizCliente.SetNOMBRE_COMERCIALValue(const aValue: String); begin DataTable.Fields[idx_ClientesNOMBRE_COMERCIAL].AsString := aValue; end; procedure TBizCliente.SetPROCEDENCIA_CLIENTEValue(const aValue: String); begin DataTable.Fields[idx_ClientesPROCEDENCIA_CLIENTE].AsString := aValue; end; function TBizCliente.GetRECARGO_EQUIVALENCIAValue: Integer; begin Result := DataTable.Fields[idx_ClientesRECARGO_EQUIVALENCIA].AsInteger; end; function TBizCliente.GetREGIMEN_IVAValue: String; begin Result := DataTable.Fields[idx_ClientesREGIMEN_IVA].AsString; end; function TBizCliente.GetSubCuentas: IBizSubCuentasContacto; begin Result := FSubCuentas; end; function TBizCliente.GetTIENDA_WEBValue: Integer; begin result := DataTable.Fields[idx_ClientesTIENDA_WEB].AsInteger; end; function TBizCliente.GetTiene_Subcuenta: Integer; begin result := DataTable.Fields[idx_ClientesTIENE_SUBCUENTA].AsInteger; end; function TBizCliente.GetVENCIMIENTO_FACTURAS_1Value: Integer; begin result := DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_1].AsInteger; end; function TBizCliente.GetVENCIMIENTO_FACTURAS_2Value: Integer; begin result := DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_2].AsInteger; end; function TBizCliente.GetVENCIMIENTO_FACTURAS_3Value: Integer; begin result := DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_3].AsInteger; end; procedure TBizCliente.SetRECARGO_EQUIVALENCIAValue(const aValue: Integer); begin DataTable.Fields[idx_ClientesRECARGO_EQUIVALENCIA].AsInteger := aValue; end; procedure TBizCliente.SetREGIMEN_IVAValue(const aValue: String); begin DataTable.Fields[idx_ClientesREGIMEN_IVA].AsString := aValue; end; procedure TBizCliente.SetSubCuentas(const Value: IBizSubCuentasContacto); begin FSubCuentas := Value; EnlazarMaestroDetalle(FSubCuentasLink, FSubCuentas); end; procedure TBizCliente.SetTIENDA_WEBValue(const aValue: Integer); begin DataTable.Fields[idx_ClientesTIENDA_WEB].AsInteger := aValue; end; procedure TBizCliente.SetTiene_Subcuenta(const Value: Integer); begin DataTable.Fields[idx_ClientesTIENE_SUBCUENTA].AsInteger := Value; end; procedure TBizCliente.SetVENCIMIENTO_FACTURAS_1Value(const aValue: Integer); begin DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_1].AsInteger := aValue; end; procedure TBizCliente.SetVENCIMIENTO_FACTURAS_2Value(const aValue: Integer); begin DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_2].AsInteger := aValue; end; procedure TBizCliente.SetVENCIMIENTO_FACTURAS_3Value(const aValue: Integer); begin DataTable.Fields[idx_ClientesVENCIMIENTO_FACTURAS_3].AsInteger := aValue; end; procedure TBizCliente.IniciarValoresContactoNuevo; begin inherited; ID_CATEGORIA := CATEGORIA_CLIENTE; BLOQUEADO := 0; LOPD := 0; RECARGO_EQUIVALENCIA := CLIENTE_RECARGO_EQUIVALENCIA; REGIMEN_IVA := AppFactuGES.Configuracion.GetSettingAsString(teXML, 'Clientes.RegimenIVA', CLIENTE_REGIMEN_IVA); //CONTABILIDAD // if Assigned(AppFactuGES.EjercicioActivo) then // IGNORAR_CONTABILIDAD := 0 // else IGNORAR_CONTABILIDAD := 1; TIENE_SUBCUENTA := 0; ID_FORMA_PAGO := AppFactuGES.EmpresaActiva.ID_FORMA_PAGO; ID_TIPO_IVA := AppFactuGES.EmpresaActiva.ID_TIPO_IVA; end; { TBizProveedor } function TBizProveedor.GetGRUPO_PROVEEDORValue: String; begin result := DataTable.Fields[idx_ProveedoresGRUPO_PROVEEDOR].AsString; end; function TBizProveedor.GetHOMOLOGADOValue: Integer; begin result := DataTable.Fields[idx_ProveedoresHOMOLOGADO].AsInteger; end; function TBizProveedor.GetID_FORMA_PAGOValue: Integer; begin result := DataTable.Fields[idx_ProveedoresID_FORMA_PAGO].AsInteger; end; function TBizProveedor.GetID_TIPO_IVAValue: Integer; begin result := DataTable.Fields[idx_ProveedoresID_TIPO_IVA].AsInteger; end; function TBizProveedor.GetIgnorar_Contabilidad: Integer; begin result := DataTable.Fields[idx_ProveedoresIGNORAR_CONTABILIDAD].AsInteger; end; function TBizProveedor.GetNOMBRE_COMERCIALValue: String; begin result := DataTable.Fields[idx_ProveedoresNOMBRE_COMERCIAL].AsString; end; function TBizProveedor.GetREGIMEN_IVAValue: String; begin result := DataTable.Fields[idx_ProveedoresREGIMEN_IVA].AsString; end; function TBizProveedor.GetSubCuentas: IBizSubCuentasContacto; begin Result := FSubCuentas; end; function TBizProveedor.GetTIENDA_WEBValue: Integer; begin result := DataTable.Fields[idx_ProveedoresTIENDA_WEB].AsInteger; end; function TBizProveedor.GetTiene_Subcuenta: Integer; begin result := DataTable.Fields[idx_ProveedoresTIENE_SUBCUENTA].AsInteger; end; function TBizProveedor.GetVENCIMIENTO_FACTURAS_1Value: Integer; begin result := DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_1].AsInteger; end; function TBizProveedor.GetVENCIMIENTO_FACTURAS_2Value: Integer; begin result := DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_2].AsInteger; end; function TBizProveedor.GetVENCIMIENTO_FACTURAS_3Value: Integer; begin result := DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_3].AsInteger; end; procedure TBizProveedor.IniciarValoresContactoNuevo; begin inherited; ID_CATEGORIA := CATEGORIA_PROVEEDOR; REGIMEN_IVA := AppFactuGES.Configuracion.GetSettingAsString(teXML, 'Proveedores.RegimenIVA', PROVEEDOR_REGIMEN_IVA); //CONTABILIDAD // if Assigned(AppFactuGES.EjercicioActivo) then // IGNORAR_CONTABILIDAD := 0 // else IGNORAR_CONTABILIDAD := 1; TIENE_SUBCUENTA := 0; ES_ACREEDOR := 0; ID_FORMA_PAGO := AppFactuGES.EmpresaActiva.ID_FORMA_PAGO; ID_TIPO_IVA := AppFactuGES.EmpresaActiva.ID_TIPO_IVA; end; constructor TBizProveedor.Create(aDataTable: TDADataTable); begin inherited; FSubCuentas := NIL; FSubCuentasLink := TDADataSource.Create(NIL); FSubCuentasLink.DataTable := aDataTable; end; destructor TBizProveedor.Destroy; begin FSubCuentas := NIL; FreeAndNIL(FSubCuentasLink); inherited; end; function TBizProveedor.GetCERTIFICACIONValue: String; begin result := DataTable.Fields[idx_ProveedoresCERTIFICACION].AsString; end; function TBizProveedor.GetCODIGO_ASIGNADOValue: String; begin result := DataTable.Fields[idx_ProveedoresCODIGO_ASIGNADO].AsString; end; function TBizProveedor.GetDESCRIPCION_PROVEEDORValue: String; begin result := DataTable.Fields[idx_ProveedoresDESCRIPCION_PROVEEDOR].AsString; end; function TBizProveedor.GetDESCUENTOValue: Float; begin result := DataTable.Fields[idx_ProveedoresDESCUENTO].AsFloat; end; function TBizProveedor.GetEs_Acreedor: Integer; begin result := DataTable.Fields[idx_ProveedoresES_ACREEDOR].AsInteger; end; procedure TBizProveedor.SetCERTIFICACIONValue(const aValue: String); begin DataTable.Fields[idx_ProveedoresCERTIFICACION].AsString := aValue; end; procedure TBizProveedor.SetCODIGO_ASIGNADOValue(const aValue: String); begin DataTable.Fields[idx_ProveedoresCODIGO_ASIGNADO].AsString := aValue; end; procedure TBizProveedor.SetDESCRIPCION_PROVEEDORValue(const aValue: String); begin DataTable.Fields[idx_ProveedoresDESCRIPCION_PROVEEDOR].AsString := aValue; end; procedure TBizProveedor.SetDESCUENTOValue(const aValue: Float); begin DataTable.Fields[idx_ProveedoresDESCUENTO].AsFloat := aValue; end; procedure TBizProveedor.SetEs_Acreedor(const Value: Integer); begin DataTable.Fields[idx_ProveedoresES_ACREEDOR].AsInteger := Value; end; procedure TBizProveedor.SetGRUPO_PROVEEDORValue(const aValue: String); begin DataTable.Fields[idx_ProveedoresGRUPO_PROVEEDOR].AsString := aValue; end; procedure TBizProveedor.SetHOMOLOGADOValue(const aValue: Integer); begin DataTable.Fields[idx_ProveedoresHOMOLOGADO].AsInteger := aValue; end; procedure TBizProveedor.SetID_FORMA_PAGOValue(const aValue: Integer); begin DataTable.Fields[idx_ProveedoresID_FORMA_PAGO].AsInteger := aValue; end; procedure TBizProveedor.SetID_TIPO_IVAValue(const aValue: Integer); begin DataTable.Fields[idx_ProveedoresID_TIPO_IVA].AsInteger := aValue; end; procedure TBizProveedor.SetIgnorar_Contabilidad(const Value: Integer); begin DataTable.Fields[idx_ProveedoresIGNORAR_CONTABILIDAD].AsInteger := Value; end; procedure TBizProveedor.SetNOMBRE_COMERCIALValue(const aValue: String); begin DataTable.Fields[idx_ProveedoresNOMBRE_COMERCIAL].AsString := aValue; end; procedure TBizProveedor.SetREGIMEN_IVAValue(const aValue: String); begin DataTable.Fields[idx_ProveedoresREGIMEN_IVA].AsString := aValue; end; procedure TBizProveedor.SetSubCuentas(const Value: IBizSubCuentasContacto); begin FSubCuentas := Value; EnlazarMaestroDetalle(FSubCuentasLink, FSubCuentas); end; procedure TBizProveedor.SetTIENDA_WEBValue(const aValue: Integer); begin DataTable.Fields[idx_ProveedoresTIENDA_WEB].AsInteger := aValue; end; procedure TBizProveedor.SetTiene_Subcuenta(const Value: Integer); begin DataTable.Fields[idx_ProveedoresTIENE_SUBCUENTA].AsInteger := Value; end; procedure TBizProveedor.SetVENCIMIENTO_FACTURAS_1Value(const aValue: Integer); begin DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_1].AsInteger := aValue; end; procedure TBizProveedor.SetVENCIMIENTO_FACTURAS_2Value(const aValue: Integer); begin DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_2].AsInteger := aValue; end; procedure TBizProveedor.SetVENCIMIENTO_FACTURAS_3Value(const aValue: Integer); begin DataTable.Fields[idx_ProveedoresVENCIMIENTO_FACTURAS_3].AsInteger := aValue; end; { TBizVendedor } function TBizVendedor.GetCOMISIONValue: Float; begin result := DataTable.Fields[idx_VendedoresCOMISION].AsFloat; end; function TBizVendedor.GetID_USUARIOValue: Integer; begin result := DataTable.Fields[idx_VendedoresID_USUARIO].AsInteger; end; procedure TBizVendedor.IniciarValoresContactoNuevo; begin inherited; ID_CATEGORIA := CATEGORIA_VENDEDOR; end; procedure TBizVendedor.SetCOMISIONValue(const aValue: Float); begin DataTable.Fields[idx_VendedoresCOMISION].AsFloat := aValue; end; procedure TBizVendedor.SetID_USUARIOValue(const aValue: Integer); begin DataTable.Fields[idx_VendedoresID_USUARIO].AsInteger := aValue; end; initialization RegisterDataTableRules(BIZ_CLIENT_CONTACTO, TBizContacto); RegisterDataTableRules(BIZ_CLIENT_CLIENTE, TBizCliente); RegisterDataTableRules(BIZ_CLIENT_PROVEEDOR, TBizProveedor); RegisterDataTableRules(BIZ_CLIENT_VENDEDOR, TBizVendedor); finalization end.