diff --git a/Build/Build.fbpInf b/Build/Build.fbpInf index 9b63b41..f2fd38b 100644 --- a/Build/Build.fbpInf +++ b/Build/Build.fbpInf @@ -14,8 +14,8 @@ - 00:00:01 - 14/01/2014 15:34:24 + 00:04:06 + 06/02/2014 17:13:55 True diff --git a/Build/Build.fbz6 b/Build/Build.fbz6 index 21f48b0..ee748cf 100644 Binary files a/Build/Build.fbz6 and b/Build/Build.fbz6 differ diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql index e54686d..fc45e71 100644 --- a/Database/scripts/factuges.sql +++ b/Database/scripts/factuges.sql @@ -232,6 +232,9 @@ SET GENERATOR GEN_PRESUPUESTOS_CLI_DETALLE_ID TO 1; CREATE GENERATOR GEN_PRESUPUESTOS_CLI_ID; SET GENERATOR GEN_PRESUPUESTOS_CLI_ID TO 1; +CREATE GENERATOR GEN_PRESUPUESTOS_TIPOS_ID; +SET GENERATOR GEN_PRESUPUESTOS_TIPOS_ID TO 1; + CREATE GENERATOR GEN_PROVEEDORES_GRUPOS_ID; SET GENERATOR GEN_PROVEEDORES_GRUPOS_ID TO 1; @@ -686,7 +689,8 @@ CREATE TABLE EMPRESAS ( PARAM_MARGEN TIPO_PORCENTAJE, ID_TIPO_IVA SMALLINT, ID_FORMA_PAGO SMALLINT, - ID_ALMACEN SMALLINT + ID_ALMACEN SMALLINT, + VALIDEZ_PRESUPUESTOS SMALLINT ); CREATE TABLE EMPRESAS_CONTACTOS ( @@ -971,7 +975,8 @@ CREATE TABLE PEDIDOS_CLIENTE ( ID_FORMA_PAGO TIPO_ID, REF_TIENDA_WEB INTEGER, FECHA_PREVISTA_ENVIO DATE, - REFERENCIA_CLIENTE VARCHAR(255) + REFERENCIA_CLIENTE VARCHAR(255), + ID_PRESUPUESTO TIPO_ID ); CREATE TABLE PEDIDOS_CLIENTE_DETALLES ( @@ -1072,6 +1077,11 @@ CREATE TABLE POBLACIONES ( DESCRIPCION VARCHAR(255) NOT NULL ); +CREATE TABLE PRESUPUESTOS_TIPOS ( + ID TIPO_ID NOT NULL, + DESCRIPCION VARCHAR(255) +); + CREATE TABLE PRESUPUESTOS_CLIENTE ( ID TIPO_ID NOT NULL, ID_EMPRESA TIPO_ID, @@ -1104,7 +1114,11 @@ CREATE TABLE PRESUPUESTOS_CLIENTE ( PERSONA_CONTACTO VARCHAR(255), ID_DIRECCION TIPO_ID, DESCRIPCION_BONIFICACION VARCHAR(255) COLLATE ES_ES, - IMPORTE_BONIFICACION TIPO_IMPORTE + IMPORTE_BONIFICACION TIPO_IMPORTE, + FECHA_VIGENCIA DATE, + TIPO_PRESUPUESTO VARCHAR(255) COLLATE ES_ES, + ID_PEDIDO TIPO_ID, + ID_TIPO_IVA TIPO_ID ); CREATE TABLE PRESUPUESTOS_CLIENTE_DETALLES ( @@ -3662,7 +3676,11 @@ CREATE VIEW V_PRESUPUESTOS_CLIENTE( FACTURA, PERSONA_CONTACTO, DESCRIPCION_BONIFICACION, - IMPORTE_BONIFICACION) + IMPORTE_BONIFICACION, + FECHA_VIGENCIA, + TIPO_PRESUPUESTO, + ID_PEDIDO, + REFERENCIA_PEDIDO) AS SELECT PRESUPUESTOS_CLIENTE.ID, @@ -3696,14 +3714,20 @@ SELECT PRESUPUESTOS_CLIENTE.IMPORTE_TOTAL, PRESUPUESTOS_CLIENTE.ID_FORMA_PAGO, PRESUPUESTOS_CLIENTE.ID_FACTURA, - FACTURAS_CLIENTE.REFERENCIA, +/* FACTURAS_CLIENTE.REFERENCIA,*/ + NULL as REFERENCIA_FACTURA, PRESUPUESTOS_CLIENTE.PERSONA_CONTACTO, PRESUPUESTOS_CLIENTE.DESCRIPCION_BONIFICACION, - PRESUPUESTOS_CLIENTE.IMPORTE_BONIFICACION + PRESUPUESTOS_CLIENTE.IMPORTE_BONIFICACION, + PRESUPUESTOS_CLIENTE.FECHA_VIGENCIA, + PRESUPUESTOS_CLIENTE.TIPO_PRESUPUESTO, + PRESUPUESTOS_CLIENTE.ID_PEDIDO, + PEDIDOS_CLIENTE.REFERENCIA + FROM PRESUPUESTOS_CLIENTE INNER JOIN CONTACTOS ON (CONTACTOS.ID = PRESUPUESTOS_CLIENTE.ID_CLIENTE) - LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = PRESUPUESTOS_CLIENTE.ID_FACTURA) + LEFT OUTER JOIN PEDIDOS_CLIENTE ON (PEDIDOS_CLIENTE.ID = PRESUPUESTOS_CLIENTE.ID_PEDIDO) ; /* View: V_PROVEEDORES */ @@ -4409,7 +4433,9 @@ CREATE VIEW V_PEDIDOS_CLIENTE( REF_TIENDA_WEB, FECHA_PREVISTA_ENVIO, NUM_COPIAS, - NUM_CORREOS) + NUM_CORREOS, + ID_PRESUPUESTO, + REFERENCIA_PRESUPUESTO) AS SELECT PEDIDOS_CLIENTE.ID, @@ -4449,10 +4475,13 @@ SELECT PEDIDOS_CLIENTE.REF_TIENDA_WEB, PEDIDOS_CLIENTE.FECHA_PREVISTA_ENVIO, IMPRESIONES.NUM_COPIAS, - REGISTRO_CORREOS.NUM_CORREOS + REGISTRO_CORREOS.NUM_CORREOS, + PEDIDOS_CLIENTE.ID_PRESUPUESTO, + PRESUPUESTOS_CLIENTE.REFERENCIA FROM PEDIDOS_CLIENTE LEFT JOIN V_PED_CLI_SITUACION_X_ALBARANES ON (V_PED_CLI_SITUACION_X_ALBARANES.ID_PEDIDO = PEDIDOS_CLIENTE.ID) + LEFT JOIN PRESUPUESTOS_CLIENTE ON (PRESUPUESTOS_CLIENTE.id = PEDIDOS_CLIENTE.ID_PRESUPUESTO) /* INNER JOIN PEDIDOS_CLIENTE ON (PEDIDOS_CLIENTE.ID = V_PED_CLI_SITUACION.ID_PEDIDO)*/ INNER JOIN CONTACTOS ON (PEDIDOS_CLIENTE.ID_CLIENTE = CONTACTOS.ID) LEFT JOIN IMPRESIONES @@ -5109,6 +5138,7 @@ ALTER TABLE PEDIDOS_PROVEEDOR_DETALLES ADD CONSTRAINT PK_PEDIDOS_PROVEEDOR_DETAL ALTER TABLE PERMISOS ADD CONSTRAINT PK_PERMISOS PRIMARY KEY (ID); ALTER TABLE PERMISOSEX ADD CONSTRAINT PK_PERMISOSEX PRIMARY KEY (ID); ALTER TABLE POBLACIONES ADD CONSTRAINT PK_POBLACIONES PRIMARY KEY (ID); +ALTER TABLE PRESUPUESTOS_TIPOS ADD CONSTRAINT PK_PRESUPUESTOS_TIPOS PRIMARY KEY (ID); ALTER TABLE PRESUPUESTOS_CLIENTE ADD CONSTRAINT PK_PRESUPUESTOS_CLIENTE PRIMARY KEY (ID); ALTER TABLE PRESUPUESTOS_CLIENTE_DETALLES ADD CONSTRAINT PK_PRESUPUESTOS_CLIENTE_DETALLE PRIMARY KEY (ID); ALTER TABLE PROVEEDORES_DATOS ADD CONSTRAINT PK_PROVEEDORES_DATOS PRIMARY KEY (ID_PROVEEDOR); @@ -5156,12 +5186,13 @@ ALTER TABLE PAGOS_CLIENTE ADD CONSTRAINT FK_PAGOS_CLIENTE FOREIGN KEY (ID_RECIBO ALTER TABLE PAGOS_PROVEEDOR ADD CONSTRAINT FK_PAGOS_PROVEEDOR FOREIGN KEY (ID_RECIBO) REFERENCES RECIBOS_PROVEEDOR (ID); ALTER TABLE PEDIDOS_CLIENTE ADD CONSTRAINT FK_PEDIDOS_CLIENTE FOREIGN KEY (ID_CLIENTE) REFERENCES CONTACTOS (ID); ALTER TABLE PEDIDOS_CLIENTE ADD CONSTRAINT FK_PEDIDOS_CLIENTE_ID_EMPRESA FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID); +alter table PEDIDOS_CLIENTE add constraint FK_PEDIDOS_CLIENTE_1 foreign key (ID_PRESUPUESTO) references PRESUPUESTOS_CLIENTE(ID); ALTER TABLE PEDIDOS_PROVEEDOR ADD CONSTRAINT FK_PEDIDOS_PROVEEDOR FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID); ALTER TABLE PEDIDOS_PROVEEDOR ADD CONSTRAINT FK_PEDIDOS_PROVEEDOR2 FOREIGN KEY (ID_PROVEEDOR) REFERENCES CONTACTOS (ID); ALTER TABLE PEDIDOS_PROVEEDOR ADD CONSTRAINT FK_PEDIDOS_PROVEEDOR_1 FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_PROVEEDOR (ID) ON DELETE SET NULL ON UPDATE CASCADE; ALTER TABLE PRESUPUESTOS_CLIENTE ADD CONSTRAINT FK_PRESUPUESTOS_CLIENTE_1 FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID); ALTER TABLE PRESUPUESTOS_CLIENTE ADD CONSTRAINT FK_PRESUPUESTOS_CLIENTE_2 FOREIGN KEY (ID_CLIENTE) REFERENCES CONTACTOS (ID); -ALTER TABLE PRESUPUESTOS_CLIENTE ADD CONSTRAINT FK_PRESUPUESTOS_CLIENTE_3 FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_CLIENTE (ID) ON DELETE SET NULL ON UPDATE SET NULL; +alter table PRESUPUESTOS_CLIENTE add constraint FK_PRESUPUESTOS_CLIENTE_3 foreign key (ID_FACTURA_PROFORMA) references FACTURAS_PROFORMA(ID); ALTER TABLE RECIBOS_CLIENTE ADD CONSTRAINT FK_RECIBOS_CLIENTE FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_CLIENTE (ID) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE RECIBOS_CLIENTE ADD CONSTRAINT FK_RECIBOS_CLIENTE2 FOREIGN KEY (ID_REMESA) REFERENCES REMESAS_CLIENTE (ID) ON DELETE SET NULL ON UPDATE SET NULL; ALTER TABLE RECIBOS_PROVEEDOR ADD CONSTRAINT FK_RECIBOS_PROVEEDOR FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_PROVEEDOR (ID) ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj index b868ce6..1035ed3 100644 --- a/Source/Base/Base.dproj +++ b/Source/Base/Base.dproj @@ -45,6 +45,8 @@ Package FalseTrueFalseLibreria base de FactuGESFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 + + Microsoft Office 2000 Sample Automation Server Wrapper Components Microsoft Office XP Sample Automation Server Wrapper Components Base.dpk @@ -58,63 +60,63 @@
DataModuleImpresiones
TDataModule + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DataModuleRegistroCorreos
TDataModule
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
fConfigurarConexion
TForm diff --git a/Source/Cliente/uBootStrap.pas b/Source/Cliente/uBootStrap.pas index 6ff6c6a..b763b06 100644 --- a/Source/Cliente/uBootStrap.pas +++ b/Source/Cliente/uBootStrap.pas @@ -33,7 +33,7 @@ begin // LoadModule('Obras_plugin.bpl'); LoadModule('Articulos_plugin.bpl'); -// LoadModule(MODULENAME_PRESUPUESTOS_CLIENTE); + LoadModule(MODULENAME_PRESUPUESTOS_CLIENTE); LoadModule(MODULENAME_PEDIDOS_CLIENTE); LoadModule(MODULENAME_ALBARANES_CLIENTE); diff --git a/Source/Informes/5/InfPresupuestoCliente.fr3 b/Source/Informes/5/InfPresupuestoCliente.fr3 new file mode 100644 index 0000000..651ba35 --- /dev/null +++ b/Source/Informes/5/InfPresupuestoCliente.fr3 @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Informes/6/InfPresupuestoCliente.fr3 b/Source/Informes/6/InfPresupuestoCliente.fr3 new file mode 100644 index 0000000..651ba35 --- /dev/null +++ b/Source/Informes/6/InfPresupuestoCliente.fr3 @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Modulos/Contactos/Controller/Contactos_controller.identcache b/Source/Modulos/Contactos/Controller/Contactos_controller.identcache index 8ff2c49..ebe70e8 100644 Binary files a/Source/Modulos/Contactos/Controller/Contactos_controller.identcache and b/Source/Modulos/Contactos/Controller/Contactos_controller.identcache differ diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm index 68c8eb2..dd0029e 100644 --- a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm +++ b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm @@ -123,7 +123,9 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente 290) inherited Label1: TLabel Left = 383 + Width = 311 ExplicitLeft = 383 + ExplicitWidth = 311 end inherited eReferencia: TcxDBTextEdit Style.LookAndFeel.SkinName = '' @@ -178,6 +180,8 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 383 + ExplicitWidth = 339 + Width = 339 end inherited bElegirClienteFinal: TButton Left = 736 @@ -220,6 +224,8 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' + ExplicitWidth = 121 + Width = 121 end end end @@ -228,6 +234,8 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' + ExplicitWidth = 275 + Width = 275 end end end @@ -255,9 +263,9 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente ExplicitHeight = 290 inherited ToolBar1: TToolBar Width = 809 - Height = 73 + Height = 46 ExplicitWidth = 809 - ExplicitHeight = 73 + ExplicitHeight = 46 inherited ToolButton3: TToolButton Wrap = False end @@ -283,7 +291,13 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente ExplicitTop = 22 ExplicitWidth = 296 end - inherited ToolButton13: TToolButton [7] + inherited UpDown1: TUpDown + Left = 441 + Top = 22 + ExplicitLeft = 441 + ExplicitTop = 22 + end + inherited ToolButton13: TToolButton Left = 0 Top = 22 Wrap = True @@ -291,52 +305,46 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente ExplicitTop = 22 ExplicitHeight = 27 end - inherited UpDown1: TUpDown [8] + inherited ToolButton6: TToolButton Left = 0 Top = 49 ExplicitLeft = 0 ExplicitTop = 49 end - inherited ToolButton6: TToolButton - Left = 17 - Top = 49 - ExplicitLeft = 17 - ExplicitTop = 49 - end inherited ToolButton7: TToolButton - Left = 83 + Left = 66 Top = 49 - ExplicitLeft = 83 + ExplicitLeft = 66 ExplicitTop = 49 end inherited ToolButton8: TToolButton - Left = 150 + Left = 133 Top = 49 - ExplicitLeft = 150 + ExplicitLeft = 133 ExplicitTop = 49 end inherited ToolButton12: TToolButton - Left = 233 + Left = 216 Top = 49 - ExplicitLeft = 233 + ExplicitLeft = 216 ExplicitTop = 49 end inherited ToolButton9: TToolButton - Left = 241 + Left = 224 Top = 49 - ExplicitLeft = 241 + ExplicitLeft = 224 ExplicitTop = 49 end inherited ToolButton10: TToolButton - Left = 386 + Left = 369 Top = 49 - ExplicitLeft = 386 + ExplicitLeft = 369 ExplicitTop = 49 end inherited ToolButton11: TToolButton - Left = 511 + Left = 494 Top = 49 - ExplicitLeft = 511 + ExplicitLeft = 494 ExplicitTop = 49 end end diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.pas b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.pas index ec830d8..442ea50 100644 --- a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.pas +++ b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.pas @@ -139,7 +139,6 @@ begin inherited; Factura := NIL; FTiposIVA := NIL; - FTiposIVAController := Nil; FController := NIL; FViewFactura := NIL; diff --git a/Source/Modulos/Pedidos de cliente/Data/uDataModulePedidosCliente.dfm b/Source/Modulos/Pedidos de cliente/Data/uDataModulePedidosCliente.dfm index f91b53b..02900a9 100644 --- a/Source/Modulos/Pedidos de cliente/Data/uDataModulePedidosCliente.dfm +++ b/Source/Modulos/Pedidos de cliente/Data/uDataModulePedidosCliente.dfm @@ -330,6 +330,15 @@ inherited DataModulePedidosCliente: TDataModulePedidosCliente DataType = datSmallInt DisplayLabel = 'PedidosCliente_NUM_CORREOS' DictionaryEntry = 'PedidosCliente_NUM_CORREOS' + end + item + Name = 'ID_PRESUPUESTO' + DataType = datInteger + end + item + Name = 'REFERENCIA_PRESUPUESTO' + DataType = datString + Size = 255 end> Params = <> StreamingOptions = [soDisableEventsWhileStreaming] diff --git a/Source/Modulos/Pedidos de cliente/Model/schPedidosClienteClient_Intf.pas b/Source/Modulos/Pedidos de cliente/Model/schPedidosClienteClient_Intf.pas index b7efff0..473b77f 100644 --- a/Source/Modulos/Pedidos de cliente/Model/schPedidosClienteClient_Intf.pas +++ b/Source/Modulos/Pedidos de cliente/Model/schPedidosClienteClient_Intf.pas @@ -9,13 +9,13 @@ const { Data table rules ids Feel free to change them to something more human readable but make sure they are unique in the context of your application } - RID_ListaAnosPedidos = '{52367490-087A-469F-B93B-4AFF89D7D4FE}'; - RID_PedidosProveedor = '{ED584C2A-011D-4C96-96D4-4C1CA33A11BD}'; - RID_PedidosCliente = '{CD51EA1E-706D-47A9-9750-B21DC98C84BC}'; - RID_PedidosCliente_Detalles = '{0E41F534-D8F7-4323-9ECA-3D2FE77C83B1}'; - RID_PedidosCliente_Articulos_Pendientes = '{4B037FD2-288E-47FB-853E-7E9F75BE9705}'; - RID_PedidoCliente_ArticulosPendientesPedirAProv = '{C541B99A-F566-48B3-8C27-4AF629628F68}'; - RID_PedidoCliente_ArticulosPendientesPedirAProvNoArticulos = '{832C1605-743A-4685-B3CF-17C5D2CD1902}'; + RID_ListaAnosPedidos = '{B03310DC-4A84-4779-BF7B-33FF0F741912}'; + RID_PedidosProveedor = '{95F27FC7-2016-4B25-A964-29A647BEB277}'; + RID_PedidosCliente = '{11401A1B-9CA5-4528-BD63-FCA01EA10603}'; + RID_PedidosCliente_Detalles = '{69AF4753-C444-4247-AAD5-59E95435B041}'; + RID_PedidosCliente_Articulos_Pendientes = '{5A42E580-E6B3-4B44-83B7-FDFDCD5C1980}'; + RID_PedidoCliente_ArticulosPendientesPedirAProv = '{23A4639E-E866-4BAB-969A-DC5AE706B5CB}'; + RID_PedidoCliente_ArticulosPendientesPedirAProvNoArticulos = '{35396E3E-190B-4197-9979-7753ED63C5B7}'; { Data table names } nme_ListaAnosPedidos = 'ListaAnosPedidos'; @@ -79,6 +79,8 @@ const fld_PedidosClienteFECHA_PREVISTA_ENVIO = 'FECHA_PREVISTA_ENVIO'; fld_PedidosClienteNUM_COPIAS = 'NUM_COPIAS'; fld_PedidosClienteNUM_CORREOS = 'NUM_CORREOS'; + fld_PedidosClienteID_PRESUPUESTO = 'ID_PRESUPUESTO'; + fld_PedidosClienteREFERENCIA_PRESUPUESTO = 'REFERENCIA_PRESUPUESTO'; { PedidosCliente field indexes } idx_PedidosClienteID = 0; @@ -115,6 +117,8 @@ const idx_PedidosClienteFECHA_PREVISTA_ENVIO = 31; idx_PedidosClienteNUM_COPIAS = 32; idx_PedidosClienteNUM_CORREOS = 33; + idx_PedidosClienteID_PRESUPUESTO = 34; + idx_PedidosClienteREFERENCIA_PRESUPUESTO = 35; { PedidosCliente_Detalles fields } fld_PedidosCliente_DetallesID = 'ID'; @@ -211,7 +215,7 @@ const type { IListaAnosPedidos } IListaAnosPedidos = interface(IDAStronglyTypedDataTable) - ['{C9EAE65F-5971-4B08-ABC0-274B4FD22461}'] + ['{B3BAA253-80EF-4183-8FD5-6CA4B0593DAE}'] { Property getters and setters } function GetANOValue: String; procedure SetANOValue(const aValue: String); @@ -246,7 +250,7 @@ type { IPedidosProveedor } IPedidosProveedor = interface(IDAStronglyTypedDataTable) - ['{772F1791-6705-4292-A9CF-9CAFDA0FCB3B}'] + ['{A4FF4E03-9C95-4B87-AFCF-B3A8F53EC5CC}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -317,7 +321,7 @@ type { IPedidosCliente } IPedidosCliente = interface(IDAStronglyTypedDataTable) - ['{319F8BCF-0CA3-4185-896C-DD22DF9847FD}'] + ['{1B16009A-2B49-46C3-955E-6FD4F533D570}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -453,6 +457,14 @@ type procedure SetNUM_CORREOSValue(const aValue: SmallInt); function GetNUM_CORREOSIsNull: Boolean; procedure SetNUM_CORREOSIsNull(const aValue: Boolean); + function GetID_PRESUPUESTOValue: Integer; + procedure SetID_PRESUPUESTOValue(const aValue: Integer); + function GetID_PRESUPUESTOIsNull: Boolean; + procedure SetID_PRESUPUESTOIsNull(const aValue: Boolean); + function GetREFERENCIA_PRESUPUESTOValue: String; + procedure SetREFERENCIA_PRESUPUESTOValue(const aValue: String); + function GetREFERENCIA_PRESUPUESTOIsNull: Boolean; + procedure SetREFERENCIA_PRESUPUESTOIsNull(const aValue: Boolean); { Properties } @@ -524,6 +536,10 @@ type property NUM_COPIASIsNull: Boolean read GetNUM_COPIASIsNull write SetNUM_COPIASIsNull; property NUM_CORREOS: SmallInt read GetNUM_CORREOSValue write SetNUM_CORREOSValue; property NUM_CORREOSIsNull: Boolean read GetNUM_CORREOSIsNull write SetNUM_CORREOSIsNull; + property ID_PRESUPUESTO: Integer read GetID_PRESUPUESTOValue write SetID_PRESUPUESTOValue; + property ID_PRESUPUESTOIsNull: Boolean read GetID_PRESUPUESTOIsNull write SetID_PRESUPUESTOIsNull; + property REFERENCIA_PRESUPUESTO: String read GetREFERENCIA_PRESUPUESTOValue write SetREFERENCIA_PRESUPUESTOValue; + property REFERENCIA_PRESUPUESTOIsNull: Boolean read GetREFERENCIA_PRESUPUESTOIsNull write SetREFERENCIA_PRESUPUESTOIsNull; end; { TPedidosClienteDataTableRules } @@ -669,6 +685,14 @@ type procedure SetNUM_CORREOSValue(const aValue: SmallInt); virtual; function GetNUM_CORREOSIsNull: Boolean; virtual; procedure SetNUM_CORREOSIsNull(const aValue: Boolean); virtual; + function GetID_PRESUPUESTOValue: Integer; virtual; + procedure SetID_PRESUPUESTOValue(const aValue: Integer); virtual; + function GetID_PRESUPUESTOIsNull: Boolean; virtual; + procedure SetID_PRESUPUESTOIsNull(const aValue: Boolean); virtual; + function GetREFERENCIA_PRESUPUESTOValue: String; virtual; + procedure SetREFERENCIA_PRESUPUESTOValue(const aValue: String); virtual; + function GetREFERENCIA_PRESUPUESTOIsNull: Boolean; virtual; + procedure SetREFERENCIA_PRESUPUESTOIsNull(const aValue: Boolean); virtual; { Properties } property ID: Integer read GetIDValue write SetIDValue; @@ -739,6 +763,10 @@ type property NUM_COPIASIsNull: Boolean read GetNUM_COPIASIsNull write SetNUM_COPIASIsNull; property NUM_CORREOS: SmallInt read GetNUM_CORREOSValue write SetNUM_CORREOSValue; property NUM_CORREOSIsNull: Boolean read GetNUM_CORREOSIsNull write SetNUM_CORREOSIsNull; + property ID_PRESUPUESTO: Integer read GetID_PRESUPUESTOValue write SetID_PRESUPUESTOValue; + property ID_PRESUPUESTOIsNull: Boolean read GetID_PRESUPUESTOIsNull write SetID_PRESUPUESTOIsNull; + property REFERENCIA_PRESUPUESTO: String read GetREFERENCIA_PRESUPUESTOValue write SetREFERENCIA_PRESUPUESTOValue; + property REFERENCIA_PRESUPUESTOIsNull: Boolean read GetREFERENCIA_PRESUPUESTOIsNull write SetREFERENCIA_PRESUPUESTOIsNull; public constructor Create(aDataTable: TDADataTable); override; @@ -748,7 +776,7 @@ type { IPedidosCliente_Detalles } IPedidosCliente_Detalles = interface(IDAStronglyTypedDataTable) - ['{69F92C81-F6E3-4D2C-B8CB-B90ADEC9A021}'] + ['{040BF8A0-FB19-40A1-B02F-37914032D78C}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -939,7 +967,7 @@ type { IPedidosCliente_Articulos_Pendientes } IPedidosCliente_Articulos_Pendientes = interface(IDAStronglyTypedDataTable) - ['{5EEFF610-2808-4B2C-8C67-842BF7362503}'] + ['{23014D12-09EB-408F-9986-D7E3297DE88B}'] { Property getters and setters } function GetID_ARTICULOValue: Integer; procedure SetID_ARTICULOValue(const aValue: Integer); @@ -1010,7 +1038,7 @@ type { IPedidoCliente_ArticulosPendientesPedirAProv } IPedidoCliente_ArticulosPendientesPedirAProv = interface(IDAStronglyTypedDataTable) - ['{7204B7EC-2122-4B60-8D15-24E8F26FD247}'] + ['{8CBCEE12-469C-4C52-B76B-9BDE025988D8}'] { Property getters and setters } function GetID_PEDIDOValue: Integer; procedure SetID_PEDIDOValue(const aValue: Integer); @@ -1153,7 +1181,7 @@ type { IPedidoCliente_ArticulosPendientesPedirAProvNoArticulos } IPedidoCliente_ArticulosPendientesPedirAProvNoArticulos = interface(IDAStronglyTypedDataTable) - ['{C4465D1A-71FC-4F76-BC11-59F1FBCA620D}'] + ['{2A72E2BD-CAF4-4187-A671-8BA3E9F36C27}'] { Property getters and setters } function GetID_PEDIDOValue: Integer; procedure SetID_PEDIDOValue(const aValue: Integer); @@ -2164,6 +2192,48 @@ begin DataTable.Fields[idx_PedidosClienteNUM_CORREOS].AsVariant := Null; end; +function TPedidosClienteDataTableRules.GetID_PRESUPUESTOValue: Integer; +begin + result := DataTable.Fields[idx_PedidosClienteID_PRESUPUESTO].AsInteger; +end; + +procedure TPedidosClienteDataTableRules.SetID_PRESUPUESTOValue(const aValue: Integer); +begin + DataTable.Fields[idx_PedidosClienteID_PRESUPUESTO].AsInteger := aValue; +end; + +function TPedidosClienteDataTableRules.GetID_PRESUPUESTOIsNull: boolean; +begin + result := DataTable.Fields[idx_PedidosClienteID_PRESUPUESTO].IsNull; +end; + +procedure TPedidosClienteDataTableRules.SetID_PRESUPUESTOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_PedidosClienteID_PRESUPUESTO].AsVariant := Null; +end; + +function TPedidosClienteDataTableRules.GetREFERENCIA_PRESUPUESTOValue: String; +begin + result := DataTable.Fields[idx_PedidosClienteREFERENCIA_PRESUPUESTO].AsString; +end; + +procedure TPedidosClienteDataTableRules.SetREFERENCIA_PRESUPUESTOValue(const aValue: String); +begin + DataTable.Fields[idx_PedidosClienteREFERENCIA_PRESUPUESTO].AsString := aValue; +end; + +function TPedidosClienteDataTableRules.GetREFERENCIA_PRESUPUESTOIsNull: boolean; +begin + result := DataTable.Fields[idx_PedidosClienteREFERENCIA_PRESUPUESTO].IsNull; +end; + +procedure TPedidosClienteDataTableRules.SetREFERENCIA_PRESUPUESTOIsNull(const aValue: Boolean); +begin + if aValue then + DataTable.Fields[idx_PedidosClienteREFERENCIA_PRESUPUESTO].AsVariant := Null; +end; + { TPedidosCliente_DetallesDataTableRules } constructor TPedidosCliente_DetallesDataTableRules.Create(aDataTable: TDADataTable); diff --git a/Source/Modulos/Pedidos de cliente/Model/schPedidosClienteServer_Intf.pas b/Source/Modulos/Pedidos de cliente/Model/schPedidosClienteServer_Intf.pas index 5dddb5a..14aeaf8 100644 --- a/Source/Modulos/Pedidos de cliente/Model/schPedidosClienteServer_Intf.pas +++ b/Source/Modulos/Pedidos de cliente/Model/schPedidosClienteServer_Intf.pas @@ -9,18 +9,18 @@ const { Delta rules ids Feel free to change them to something more human readable but make sure they are unique in the context of your application } - RID_ListaAnosPedidosDelta = '{F7087B26-16C3-4E50-AD14-5EF21B59DB5C}'; - RID_PedidosProveedorDelta = '{7D954D17-215A-4D4C-A7FE-6BA75062958F}'; - RID_PedidosClienteDelta = '{9B8545B7-930D-4DF6-B52A-C07AC8BD6EA7}'; - RID_PedidosCliente_DetallesDelta = '{99199B9F-C476-4E54-8385-4D894E1E857F}'; - RID_PedidosCliente_Articulos_PendientesDelta = '{21228D66-8988-46CB-AFD0-E265C9D1F4DB}'; - RID_PedidoCliente_ArticulosPendientesPedirAProvDelta = '{6A988443-1420-48A3-8E88-444796A56BE1}'; - RID_PedidoCliente_ArticulosPendientesPedirAProvNoArticulosDelta = '{53B6BA3C-0BC4-40E5-9CB1-04539F4EB028}'; + RID_ListaAnosPedidosDelta = '{5366095E-0D85-41E6-BDE1-4A242E0624D2}'; + RID_PedidosProveedorDelta = '{15E9212C-237F-43DA-93BB-F731DCF39D72}'; + RID_PedidosClienteDelta = '{67B51E78-FF9E-4546-92F0-FF273F32237F}'; + RID_PedidosCliente_DetallesDelta = '{503A2F9C-8B5D-4889-8071-8EF2D1716D29}'; + RID_PedidosCliente_Articulos_PendientesDelta = '{73729328-922F-4458-A20F-ECE1969FD04D}'; + RID_PedidoCliente_ArticulosPendientesPedirAProvDelta = '{E0FA4DF3-2220-4992-9563-754ACEE319D3}'; + RID_PedidoCliente_ArticulosPendientesPedirAProvNoArticulosDelta = '{054BBD78-D3EB-4180-BDA1-19DEC4400A55}'; type { IListaAnosPedidosDelta } IListaAnosPedidosDelta = interface(IListaAnosPedidos) - ['{F7087B26-16C3-4E50-AD14-5EF21B59DB5C}'] + ['{5366095E-0D85-41E6-BDE1-4A242E0624D2}'] { Property getters and setters } function GetOldANOValue : String; @@ -54,7 +54,7 @@ type { IPedidosProveedorDelta } IPedidosProveedorDelta = interface(IPedidosProveedor) - ['{7D954D17-215A-4D4C-A7FE-6BA75062958F}'] + ['{15E9212C-237F-43DA-93BB-F731DCF39D72}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldREFERENCIAValue : String; @@ -124,7 +124,7 @@ type { IPedidosClienteDelta } IPedidosClienteDelta = interface(IPedidosCliente) - ['{9B8545B7-930D-4DF6-B52A-C07AC8BD6EA7}'] + ['{67B51E78-FF9E-4546-92F0-FF273F32237F}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_EMPRESAValue : Integer; @@ -160,6 +160,8 @@ type function GetOldFECHA_PREVISTA_ENVIOValue : DateTime; function GetOldNUM_COPIASValue : SmallInt; function GetOldNUM_CORREOSValue : SmallInt; + function GetOldID_PRESUPUESTOValue : Integer; + function GetOldREFERENCIA_PRESUPUESTOValue : String; { Properties } property OldID : Integer read GetOldIDValue; @@ -196,6 +198,8 @@ type property OldFECHA_PREVISTA_ENVIO : DateTime read GetOldFECHA_PREVISTA_ENVIOValue; property OldNUM_COPIAS : SmallInt read GetOldNUM_COPIASValue; property OldNUM_CORREOS : SmallInt read GetOldNUM_CORREOSValue; + property OldID_PRESUPUESTO : Integer read GetOldID_PRESUPUESTOValue; + property OldREFERENCIA_PRESUPUESTO : String read GetOldREFERENCIA_PRESUPUESTOValue; end; { TPedidosClienteBusinessProcessorRules } @@ -409,6 +413,18 @@ type function GetOldNUM_CORREOSIsNull: Boolean; virtual; procedure SetNUM_CORREOSValue(const aValue: SmallInt); virtual; procedure SetNUM_CORREOSIsNull(const aValue: Boolean); virtual; + function GetID_PRESUPUESTOValue: Integer; virtual; + function GetID_PRESUPUESTOIsNull: Boolean; virtual; + function GetOldID_PRESUPUESTOValue: Integer; virtual; + function GetOldID_PRESUPUESTOIsNull: Boolean; virtual; + procedure SetID_PRESUPUESTOValue(const aValue: Integer); virtual; + procedure SetID_PRESUPUESTOIsNull(const aValue: Boolean); virtual; + function GetREFERENCIA_PRESUPUESTOValue: String; virtual; + function GetREFERENCIA_PRESUPUESTOIsNull: Boolean; virtual; + function GetOldREFERENCIA_PRESUPUESTOValue: String; virtual; + function GetOldREFERENCIA_PRESUPUESTOIsNull: Boolean; virtual; + procedure SetREFERENCIA_PRESUPUESTOValue(const aValue: String); virtual; + procedure SetREFERENCIA_PRESUPUESTOIsNull(const aValue: Boolean); virtual; { Properties } property ID : Integer read GetIDValue write SetIDValue; @@ -547,6 +563,14 @@ type property NUM_CORREOSIsNull : Boolean read GetNUM_CORREOSIsNull write SetNUM_CORREOSIsNull; property OldNUM_CORREOS : SmallInt read GetOldNUM_CORREOSValue; property OldNUM_CORREOSIsNull : Boolean read GetOldNUM_CORREOSIsNull; + property ID_PRESUPUESTO : Integer read GetID_PRESUPUESTOValue write SetID_PRESUPUESTOValue; + property ID_PRESUPUESTOIsNull : Boolean read GetID_PRESUPUESTOIsNull write SetID_PRESUPUESTOIsNull; + property OldID_PRESUPUESTO : Integer read GetOldID_PRESUPUESTOValue; + property OldID_PRESUPUESTOIsNull : Boolean read GetOldID_PRESUPUESTOIsNull; + property REFERENCIA_PRESUPUESTO : String read GetREFERENCIA_PRESUPUESTOValue write SetREFERENCIA_PRESUPUESTOValue; + property REFERENCIA_PRESUPUESTOIsNull : Boolean read GetREFERENCIA_PRESUPUESTOIsNull write SetREFERENCIA_PRESUPUESTOIsNull; + property OldREFERENCIA_PRESUPUESTO : String read GetOldREFERENCIA_PRESUPUESTOValue; + property OldREFERENCIA_PRESUPUESTOIsNull : Boolean read GetOldREFERENCIA_PRESUPUESTOIsNull; public constructor Create(aBusinessProcessor: TDABusinessProcessor); override; @@ -556,7 +580,7 @@ type { IPedidosCliente_DetallesDelta } IPedidosCliente_DetallesDelta = interface(IPedidosCliente_Detalles) - ['{99199B9F-C476-4E54-8385-4D894E1E857F}'] + ['{503A2F9C-8B5D-4889-8071-8EF2D1716D29}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_PEDIDOValue : Integer; @@ -746,7 +770,7 @@ type { IPedidosCliente_Articulos_PendientesDelta } IPedidosCliente_Articulos_PendientesDelta = interface(IPedidosCliente_Articulos_Pendientes) - ['{21228D66-8988-46CB-AFD0-E265C9D1F4DB}'] + ['{73729328-922F-4458-A20F-ECE1969FD04D}'] { Property getters and setters } function GetOldID_ARTICULOValue : Integer; function GetOldCANTIDAD_PEDValue : Currency; @@ -816,7 +840,7 @@ type { IPedidoCliente_ArticulosPendientesPedirAProvDelta } IPedidoCliente_ArticulosPendientesPedirAProvDelta = interface(IPedidoCliente_ArticulosPendientesPedirAProv) - ['{6A988443-1420-48A3-8E88-444796A56BE1}'] + ['{E0FA4DF3-2220-4992-9563-754ACEE319D3}'] { Property getters and setters } function GetOldID_PEDIDOValue : Integer; function GetOldID_ARTICULOValue : Integer; @@ -958,7 +982,7 @@ type { IPedidoCliente_ArticulosPendientesPedirAProvNoArticulosDelta } IPedidoCliente_ArticulosPendientesPedirAProvNoArticulosDelta = interface(IPedidoCliente_ArticulosPendientesPedirAProvNoArticulos) - ['{53B6BA3C-0BC4-40E5-9CB1-04539F4EB028}'] + ['{054BBD78-D3EB-4180-BDA1-19DEC4400A55}'] { Property getters and setters } function GetOldID_PEDIDOValue : Integer; function GetOldID_ARTICULOValue : Integer; @@ -2361,6 +2385,68 @@ begin BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteNUM_CORREOS] := Null; end; +function TPedidosClienteBusinessProcessorRules.GetID_PRESUPUESTOValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_PRESUPUESTO]; +end; + +function TPedidosClienteBusinessProcessorRules.GetID_PRESUPUESTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_PRESUPUESTO]); +end; + +function TPedidosClienteBusinessProcessorRules.GetOldID_PRESUPUESTOValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteID_PRESUPUESTO]; +end; + +function TPedidosClienteBusinessProcessorRules.GetOldID_PRESUPUESTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteID_PRESUPUESTO]); +end; + +procedure TPedidosClienteBusinessProcessorRules.SetID_PRESUPUESTOValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_PRESUPUESTO] := aValue; +end; + +procedure TPedidosClienteBusinessProcessorRules.SetID_PRESUPUESTOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_PRESUPUESTO] := Null; +end; + +function TPedidosClienteBusinessProcessorRules.GetREFERENCIA_PRESUPUESTOValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREFERENCIA_PRESUPUESTO]; +end; + +function TPedidosClienteBusinessProcessorRules.GetREFERENCIA_PRESUPUESTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREFERENCIA_PRESUPUESTO]); +end; + +function TPedidosClienteBusinessProcessorRules.GetOldREFERENCIA_PRESUPUESTOValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteREFERENCIA_PRESUPUESTO]; +end; + +function TPedidosClienteBusinessProcessorRules.GetOldREFERENCIA_PRESUPUESTOIsNull: Boolean; +begin + result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteREFERENCIA_PRESUPUESTO]); +end; + +procedure TPedidosClienteBusinessProcessorRules.SetREFERENCIA_PRESUPUESTOValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREFERENCIA_PRESUPUESTO] := aValue; +end; + +procedure TPedidosClienteBusinessProcessorRules.SetREFERENCIA_PRESUPUESTOIsNull(const aValue: Boolean); +begin + if aValue then + BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREFERENCIA_PRESUPUESTO] := Null; +end; + { TPedidosCliente_DetallesBusinessProcessorRules } constructor TPedidosCliente_DetallesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); diff --git a/Source/Modulos/Pedidos de cliente/Servidor/srvPedidosCliente_Impl.dfm b/Source/Modulos/Pedidos de cliente/Servidor/srvPedidosCliente_Impl.dfm index e6a721b..a7f7e43 100644 --- a/Source/Modulos/Pedidos de cliente/Servidor/srvPedidosCliente_Impl.dfm +++ b/Source/Modulos/Pedidos de cliente/Servidor/srvPedidosCliente_Impl.dfm @@ -234,6 +234,14 @@ object srvPedidosCliente: TsrvPedidosCliente item DatasetField = 'ID_DIRECCION' TableField = 'ID_DIRECCION' + end + item + DatasetField = 'ID_PRESUPUESTO' + TableField = 'ID_PRESUPUESTO' + end + item + DatasetField = 'REFERENCIA_PRESUPUESTO' + TableField = 'REFERENCIA_PRESUPUESTO' end> end> Name = 'PedidosCliente' @@ -422,6 +430,15 @@ object srvPedidosCliente: TsrvPedidosCliente Name = 'NUM_CORREOS' DataType = datSmallInt DictionaryEntry = 'PedidosCliente_NUM_CORREOS' + end + item + Name = 'ID_PRESUPUESTO' + DataType = datInteger + end + item + Name = 'REFERENCIA_PRESUPUESTO' + DataType = datString + Size = 255 end> end item @@ -1021,6 +1038,11 @@ object srvPedidosCliente: TsrvPedidosCliente Name = 'FECHA_PREVISTA_ENVIO' DataType = datDateTime Value = '' + end + item + Name = 'ID_PRESUPUESTO' + DataType = datInteger + Value = '' end> Statements = < item @@ -1035,15 +1057,15 @@ object srvPedidosCliente: TsrvPedidosCliente 'AS_ACTIVAS, OBSERVACIONES, FECHA_ALTA, FECHA_MODIFICACION,'#10' ' + 'IMPORTE_NETO, IMPORTE_PORTE, DESCUENTO,'#10' IMPORTE_DESCUENTO, ' + 'BASE_IMPONIBLE, IVA, IMPORTE_IVA,'#10' ID_FORMA_PAGO, REF_TIENDA' + - '_WEB, FECHA_PREVISTA_ENVIO)'#10' VALUES'#10' (:ID, :ID_EMPRESA, :ID_' + - 'CLIENTE, :ID_DIRECCION, :USUARIO, :FECHA_PEDIDO,'#10' :CALLE, :C' + - 'ODIGO_POSTAL, :POBLACION, :PROVINCIA, :PERSONA_CONTACTO,'#10' :T' + - 'ELEFONO, :REFERENCIA, :REFERENCIA_CLIENTE, :IMPORTE_TOTAL, :INCI' + - 'DENCIAS,'#10' :INCIDENCIAS_ACTIVAS, :OBSERVACIONES, :FECHA_ALTA,' + - #10' :FECHA_MODIFICACION, :IMPORTE_NETO, :IMPORTE_PORTE,'#10' :' + - 'DESCUENTO, :IMPORTE_DESCUENTO, :BASE_IMPONIBLE, :IVA,'#10' :IMPO' + - 'RTE_IVA, :ID_FORMA_PAGO, :REF_TIENDA_WEB, :FECHA_PREVISTA_ENVIO)' + - #10 + '_WEB, FECHA_PREVISTA_ENVIO, ID_PRESUPUESTO)'#10' VALUES'#10' (:ID, :' + + 'ID_EMPRESA, :ID_CLIENTE, :ID_DIRECCION, :USUARIO, :FECHA_PEDIDO,' + + #10' :CALLE, :CODIGO_POSTAL, :POBLACION, :PROVINCIA, :PERSONA_C' + + 'ONTACTO,'#10' :TELEFONO, :REFERENCIA, :REFERENCIA_CLIENTE, :IMPO' + + 'RTE_TOTAL, :INCIDENCIAS,'#10' :INCIDENCIAS_ACTIVAS, :OBSERVACION' + + 'ES, :FECHA_ALTA,'#10' :FECHA_MODIFICACION, :IMPORTE_NETO, :IMPOR' + + 'TE_PORTE,'#10' :DESCUENTO, :IMPORTE_DESCUENTO, :BASE_IMPONIBLE, ' + + ':IVA,'#10' :IMPORTE_IVA, :ID_FORMA_PAGO, :REF_TIENDA_WEB, :FECHA' + + '_PREVISTA_ENVIO, :ID_PRESUPUESTO)'#10 StatementType = stSQL ColumnMappings = <> end> @@ -1223,6 +1245,11 @@ object srvPedidosCliente: TsrvPedidosCliente DataType = datDateTime Value = '' end + item + Name = 'ID_PRESUPUESTO' + DataType = datInteger + Value = '' + end item Name = 'OLD_ID' Value = '' @@ -1248,8 +1275,8 @@ object srvPedidosCliente: TsrvPedidosCliente 'MPORTE_DESCUENTO = :IMPORTE_DESCUENTO,'#10' BASE_IMPONIBLE = :BAS' + 'E_IMPONIBLE,'#10' IVA = :IVA,'#10' IMPORTE_IVA = :IMPORTE_IVA,'#10' ' + ' ID_FORMA_PAGO = :ID_FORMA_PAGO,'#10' REF_TIENDA_WEB = :REF_TIEND' + - 'A_WEB,'#10' FECHA_PREVISTA_ENVIO = :FECHA_PREVISTA_ENVIO'#10' WHERE'#10 + - ' (ID = :OLD_ID)'#10 + 'A_WEB,'#10' FECHA_PREVISTA_ENVIO = :FECHA_PREVISTA_ENVIO,'#10' ID_' + + 'PRESUPUESTO = :ID_PRESUPUESTO'#10' WHERE'#10' (ID = :OLD_ID)'#10 StatementType = stSQL ColumnMappings = <> end> diff --git a/Source/Modulos/Pedidos de cliente/Views/uEditorPedidoCliente.dfm b/Source/Modulos/Pedidos de cliente/Views/uEditorPedidoCliente.dfm index d9e38bc..0961ccc 100644 --- a/Source/Modulos/Pedidos de cliente/Views/uEditorPedidoCliente.dfm +++ b/Source/Modulos/Pedidos de cliente/Views/uEditorPedidoCliente.dfm @@ -309,13 +309,14 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente ExplicitLeft = 278 ExplicitTop = 0 end - inherited ToolButton14: TToolButton [4] + inherited ToolButton14: TToolButton Left = 334 Top = 0 + Wrap = False ExplicitLeft = 334 ExplicitTop = 0 end - inherited FontName: TJvFontComboBox [5] + inherited FontName: TJvFontComboBox Left = 399 Top = 0 ExplicitLeft = 399 @@ -324,14 +325,18 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente inherited FontSize: TEdit Left = 544 Top = 0 - Width = 106 + Width = 122 ExplicitLeft = 544 ExplicitTop = 0 - ExplicitWidth = 106 + ExplicitWidth = 122 end inherited ToolButton13: TToolButton [7] + Left = 0 Top = 0 + Wrap = True + ExplicitLeft = 0 ExplicitTop = 0 + ExplicitHeight = 27 end inherited UpDown1: TUpDown [8] Left = 0 @@ -339,38 +344,37 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente ExplicitLeft = 0 ExplicitTop = 27 end - inherited ToolButton6: TToolButton [9] + inherited ToolButton6: TToolButton Left = 17 Top = 27 ExplicitLeft = 17 ExplicitTop = 27 end - inherited ToolButton7: TToolButton [10] + inherited ToolButton7: TToolButton Left = 83 Top = 27 ExplicitLeft = 83 ExplicitTop = 27 end - inherited ToolButton8: TToolButton [11] + inherited ToolButton8: TToolButton Left = 150 Top = 27 ExplicitLeft = 150 ExplicitTop = 27 end - inherited ToolButton12: TToolButton [12] + inherited ToolButton12: TToolButton Left = 233 Top = 27 ExplicitLeft = 233 ExplicitTop = 27 - ExplicitHeight = 22 end - inherited ToolButton9: TToolButton [13] + inherited ToolButton9: TToolButton Left = 241 Top = 27 ExplicitLeft = 241 ExplicitTop = 27 end - inherited ToolButton10: TToolButton [14] + inherited ToolButton10: TToolButton Left = 386 Top = 27 ExplicitLeft = 386 diff --git a/Source/Modulos/Pedidos de cliente/Views/uEditorPedidoCliente.pas b/Source/Modulos/Pedidos de cliente/Views/uEditorPedidoCliente.pas index 9feec5d..4bdce47 100644 --- a/Source/Modulos/Pedidos de cliente/Views/uEditorPedidoCliente.pas +++ b/Source/Modulos/Pedidos de cliente/Views/uEditorPedidoCliente.pas @@ -64,13 +64,13 @@ type procedure OnClienteChanged(Sender : TObject); function PuedoImprimir: Boolean; override; function PuedoEnviar: Boolean; virtual; - + //Si queremos crear otra vista para el editor heredado solo tendriamos que //sobreescribir este metodo procedure AsignarVista; virtual; property ViewPedido: IViewPedidoCliente read GetViewPedido write SetViewPedido; - + public procedure PonerTitulos(const ATitulo: string = ''); override; property Controller : IPedidosClienteController read GetController write SetController; @@ -128,7 +128,6 @@ constructor TfEditorPedidoCliente.Create(AOwner: TComponent); begin inherited; pgPaginas.ActivePageIndex := 0; - AsignarVista; end; diff --git a/Source/Modulos/Pedidos de cliente/Views/uViewDatosYSeleccionClientePedido.pas b/Source/Modulos/Pedidos de cliente/Views/uViewDatosYSeleccionClientePedido.pas index 66eb331..8c256a5 100644 --- a/Source/Modulos/Pedidos de cliente/Views/uViewDatosYSeleccionClientePedido.pas +++ b/Source/Modulos/Pedidos de cliente/Views/uViewDatosYSeleccionClientePedido.pas @@ -318,7 +318,6 @@ begin if (not FDireccion.FAXIsNull) and (FDireccion.FAX <> '') then ACadena := ACadena + #13#10 + 'Fax: ' + FDireccion.FAX; - end; edtDireccion.Text := ACadena; diff --git a/Source/Modulos/Pedidos de cliente/Views/uViewDetallesPedidoCliente.dfm b/Source/Modulos/Pedidos de cliente/Views/uViewDetallesPedidoCliente.dfm index 6c10734..7ab351b 100644 --- a/Source/Modulos/Pedidos de cliente/Views/uViewDetallesPedidoCliente.dfm +++ b/Source/Modulos/Pedidos de cliente/Views/uViewDetallesPedidoCliente.dfm @@ -23,15 +23,17 @@ inherited frViewDetallesPedidoCliente: TfrViewDetallesPedidoCliente end inherited FontSize: TEdit Top = 22 - Width = 74 + Width = 106 ExplicitTop = 22 - ExplicitWidth = 74 + ExplicitWidth = 106 end inherited ToolButton13: TToolButton [7] Left = 0 Top = 22 + Wrap = True ExplicitLeft = 0 ExplicitTop = 22 + ExplicitHeight = 27 end inherited UpDown1: TUpDown [8] Left = 0 @@ -87,11 +89,9 @@ inherited frViewDetallesPedidoCliente: TfrViewDetallesPedidoCliente inherited cxGrid: TcxGrid Top = 126 Height = 178 + ExplicitTop = 126 + ExplicitHeight = 178 inherited cxGridView: TcxGridDBTableView - inherited cxGridViewTIPO: TcxGridDBColumn - Visible = False - VisibleForCustomization = False - end inherited cxGridViewREFERENCIA_PROVEEDOR: TcxGridDBColumn Properties.Buttons = < item @@ -118,7 +118,9 @@ inherited frViewDetallesPedidoCliente: TfrViewDetallesPedidoCliente end inherited TBXDock1: TTBXDock Top = 100 + ExplicitTop = 100 inherited TBXToolbar1: TTBXToolbar + DockPos = 0 inherited TBXSubmenuItem1: TTBXSubmenuItem Visible = False end @@ -132,7 +134,6 @@ inherited frViewDetallesPedidoCliente: TfrViewDetallesPedidoCliente inherited ActionListContenido: TActionList inherited actExportar: TAction Enabled = False - Visible = False end end inherited GridGeneralPopupMenu: TPopupMenu diff --git a/Source/Modulos/Pedidos de cliente/Views/uViewPedidosCliente.dfm b/Source/Modulos/Pedidos de cliente/Views/uViewPedidosCliente.dfm index 681f50f..f511410 100644 --- a/Source/Modulos/Pedidos de cliente/Views/uViewPedidosCliente.dfm +++ b/Source/Modulos/Pedidos de cliente/Views/uViewPedidosCliente.dfm @@ -145,6 +145,10 @@ inherited frViewPedidosCliente: TfrViewPedidosCliente Visible = False VisibleForCustomization = False end + object cxGridViewREFERENCIA_PRESUPUESTO: TcxGridDBColumn + Caption = 'Ref. presupuesto' + DataBinding.FieldName = 'REFERENCIA_PRESUPUESTO' + end end object cxGridDBTableView1: TcxGridDBTableView [1] NavigatorButtons.ConfirmDelete = False diff --git a/Source/Modulos/Pedidos de cliente/Views/uViewPedidosCliente.pas b/Source/Modulos/Pedidos de cliente/Views/uViewPedidosCliente.pas index 08b07ae..d438547 100644 --- a/Source/Modulos/Pedidos de cliente/Views/uViewPedidosCliente.pas +++ b/Source/Modulos/Pedidos de cliente/Views/uViewPedidosCliente.pas @@ -50,6 +50,7 @@ type cxGridViewNUM_COPIAS: TcxGridDBColumn; cxGridViewNUM_CORREOS: TcxGridDBColumn; cxGridViewREFERENCIA_CLIENTE: TcxGridDBColumn; + cxGridViewREFERENCIA_PRESUPUESTO: TcxGridDBColumn; procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel: TcxGridLevel); procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView; diff --git a/Source/Modulos/Presupuestos de cliente/Controller/PresupuestosCliente_controller.dpk b/Source/Modulos/Presupuestos de cliente/Controller/PresupuestosCliente_controller.dpk index 25e2249..9c874c3 100644 Binary files a/Source/Modulos/Presupuestos de cliente/Controller/PresupuestosCliente_controller.dpk and b/Source/Modulos/Presupuestos de cliente/Controller/PresupuestosCliente_controller.dpk differ diff --git a/Source/Modulos/Presupuestos de cliente/Controller/PresupuestosCliente_controller.dproj b/Source/Modulos/Presupuestos de cliente/Controller/PresupuestosCliente_controller.dproj index 0143b92..58eb2f0 100644 --- a/Source/Modulos/Presupuestos de cliente/Controller/PresupuestosCliente_controller.dproj +++ b/Source/Modulos/Presupuestos de cliente/Controller/PresupuestosCliente_controller.dproj @@ -49,16 +49,30 @@ MainSource + + + + + + + + + + + + + + + + - - - - - - + + + + diff --git a/Source/Modulos/Presupuestos de cliente/Controller/uDetallesPresupuestoClienteController.pas b/Source/Modulos/Presupuestos de cliente/Controller/uDetallesPresupuestoClienteController.pas index f7aeb89..81db084 100644 --- a/Source/Modulos/Presupuestos de cliente/Controller/uDetallesPresupuestoClienteController.pas +++ b/Source/Modulos/Presupuestos de cliente/Controller/uDetallesPresupuestoClienteController.pas @@ -14,7 +14,7 @@ type procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable); function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double; function VariarPrecios(var APorcentaje: Variant; var ATipoOperacion: Integer): Boolean; - procedure AplicarAumento(ADataTable: IDAStronglyTypedDataTable; Posicion: TIntegerArray; APorcentaje: Variant); + procedure AplicarAumento(ADataTable: IDAStronglyTypedDataTable; Posicion: TIntegerArray; APorcentaje: Variant); end; TDetallesPresupuestoClienteController = class(TControllerDetallesArticulos, IDetallesPresupuestoClienteController) @@ -188,12 +188,22 @@ begin end; procedure TDetallesPresupuestoClienteController.RellenarOtros(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo); +var + AField: TDAField; + begin -//En Tecsitel no se tiene en cuenta el descuento de cliente para el precio PVP -// if Assigned(AArticulos) then -// ADetalles.DataTable.FieldByName(CAMPO_DESCUENTO).AsFloat := AArticulos.DESCUENTO -// else -// ADetalles.DataTable.FieldByName(CAMPO_DESCUENTO).AsFloat := 0; + if Assigned(AArticulos) then + ADetalles.DataTable.FieldByName(CAMPO_DESCUENTO).AsFloat := AArticulos.DESCUENTO + else + ADetalles.DataTable.FieldByName(CAMPO_DESCUENTO).AsFloat := 0; + + //Sobreescribimos el id del articulo por el campo ID_ARTICULO que nos hemos tenido que crear para + //almacenar el codigo de artículo ya que ID esta destinado a ID_ARTICULO||ID_PROVEEDOR, para identificar de forma + //unica los articulos desglosados por proveedor. + AField := AArticulos.DataTable.FindField(CAMPO_ID_ARTICULOS); + if Assigned(AField) then + ADetalles.DataTable.FieldByName(CAMPO_ID_ARTICULOS).AsVariant := AField.AsVariant; + end; procedure TDetallesPresupuestoClienteController.ValidarCampos(DataTable: TDADataTable); @@ -226,13 +236,10 @@ end; procedure TDetallesPresupuestoClienteController.RellenarImportes(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo); begin -//Como en tecsitel no hay descuento por linea de detalle, solo recuperamos nuevamente el valor del articulo cuando el detalle no tenga niguno -//de esta forma evitamos que al cambiar de cliente se quiten los importes que se hubiesen establecido para los articulos. - if ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).IsNull then - if Assigned(AArticulos) then - ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := AArticulos.PRECIO_NETO - else - ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := Null; + if Assigned(AArticulos) then + ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := AArticulos.PRECIO_COSTE + else + ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := Null; end; end. diff --git a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas index 0d3e189..b6d67dd 100644 --- a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas +++ b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas @@ -286,7 +286,7 @@ begin with Result.DataTable.DynamicWhere do begin // (ID_FACTURA = NULL) - Condicion := NewBinaryExpression(NewField('', fld_PresupuestosClienteID_FACTURA), NewNull(), dboEqual); + Condicion := NewBinaryExpression(NewField('', fld_PresupuestosClienteID_FACTURA_PROFORMA), NewNull(), dboEqual); if IsEmpty then Expression := Condicion @@ -457,7 +457,7 @@ begin FECHA_PRESUPUESTO := DateOf(Now); INCIDENCIAS_ACTIVAS := 0; INCIDENCIASIsNull := True; - ID_FACTURAIsNull := True; + ID_FACTURA_PROFORMAIsNull := True; FECHA_DECISIONIsNull := True; REFERENCIA := ''; SITUACION := SITUACION_PRESUPUESTO_PENDIENTE; diff --git a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteReportController.pas b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteReportController.pas index c01f9b1..0f7f445 100644 --- a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteReportController.pas +++ b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteReportController.pas @@ -185,7 +185,7 @@ begin AEditor.ListaID := AListaID; AEditor.Title := 'Presupuesto - ' + AppFactuGES.EmpresaActiva.NOMBRE; AEditor.LoadFromStream(AStream); - AEditor.TablaImpresion := nme_PresupuestosCliente; +// AEditor.TablaImpresion := nme_PresupuestosCliente; AEditor.IdTablaImpresion := AListaID.ToString; AEditor.Print; finally diff --git a/Source/Modulos/Presupuestos de cliente/Controller/uTiposPresupuestoController.pas b/Source/Modulos/Presupuestos de cliente/Controller/uTiposPresupuestoController.pas new file mode 100644 index 0000000..3da3024 --- /dev/null +++ b/Source/Modulos/Presupuestos de cliente/Controller/uTiposPresupuestoController.pas @@ -0,0 +1,222 @@ +unit uTiposPresupuestoController; + +interface + + +uses + Classes, SysUtils, uDADataTable, uControllerBase, uEditorDBItem, + uIDataModulePresupuestosCliente, uBizTiposPresupuesto; + +type + ITiposPresupuestoController = interface(IControllerBase) + ['{7BFA4153-A300-462F-A4C5-F3140360F088}'] + function BuscarTodos: IBizTipoPresupuesto; + procedure VerTodos(ATiposPresupuesto: IBizTipoPresupuesto); + procedure Anadir(ATipoPresupuesto : IBizTipoPresupuesto); + function Eliminar(ATipoPresupuesto : IBizTipoPresupuesto): Boolean; + function Guardar(ATipoPresupuesto : IBizTipoPresupuesto): Boolean; + procedure DescartarCambios(ATipoPresupuesto : IBizTipoPresupuesto); + function Localizar(ATiposPresupuesto: IBizTipoPresupuesto; ADescripcion:String): Boolean; + function DarListaTiposPresupuesto: TStringList; + end; + + TTiposPresupuestoController = class(TControllerBase, ITiposPresupuestoController) + protected + FDataModule : IDataModulePresupuestosCliente; + procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override; + function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean; + function ValidarTipoPresupuesto(ATipoPresupuesto: IBizTipoPresupuesto): Boolean; + procedure AsignarDataModule; virtual; + public + constructor Create; override; + destructor Destroy; override; + + function Eliminar(ATipoPresupuesto : IBizTipoPresupuesto): Boolean; + function Guardar(ATipoPresupuesto : IBizTipoPresupuesto): Boolean; + procedure DescartarCambios(ATipoPresupuesto : IBizTipoPresupuesto); virtual; + procedure Anadir(ATipoPresupuesto : IBizTipoPresupuesto); + function BuscarTodos: IBizTipoPresupuesto; + procedure VerTodos(ATiposPresupuesto: IBizTipoPresupuesto); + function Localizar(ATiposPresupuesto: IBizTipoPresupuesto; ADescripcion:String): Boolean; + function DarListaTiposPresupuesto: TStringList; + end; + +implementation + +uses + cxControls, DB, uEditorRegistryUtils, +// uIEditorTiposPresupuesto, + uDataModulePresupuestosCliente, + uDAInterfaces, uDataTableUtils, + uDateUtils, uROTypes, DateUtils, Controls, Windows, schPresupuestosClienteClient_Intf; + +{ TTiposPresupuestoController } + +procedure TTiposPresupuestoController.Anadir(ATipoPresupuesto: IBizTipoPresupuesto); +begin + ATipoPresupuesto.Insert; +end; + +procedure TTiposPresupuestoController.AsignarDataModule; +begin + FDataModule := TDataModulePresupuestosCliente.Create(Nil); +end; + +function TTiposPresupuestoController.BuscarTodos: IBizTipoPresupuesto; +begin + Result := FDataModule.GetTiposPresupuesto; +end; + +constructor TTiposPresupuestoController.Create; +begin + inherited; + AsignarDataModule; +end; + +function TTiposPresupuestoController.CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean; +begin + Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf); +end; + +function TTiposPresupuestoController.DarListaTiposPresupuesto: TStringList; +var + ATiposPresupuesto: IBizTipoPresupuesto; +begin + ATiposPresupuesto := BuscarTodos; + ATiposPresupuesto.DataTable.Active := True; + Result := TStringList.Create; + try + with Result do + begin + ATiposPresupuesto.DataTable.First; + while not ATiposPresupuesto.DataTable.EOF do + begin + Add(ATiposPresupuesto.DESCRIPCION); + ATiposPresupuesto.DataTable.Next; + end; + end; + finally + ATiposPresupuesto := NIL; + end; +end; + +procedure TTiposPresupuestoController.DescartarCambios(ATipoPresupuesto: IBizTipoPresupuesto); +begin + if not Assigned(ATipoPresupuesto) then + raise Exception.Create ('GrupoCliente no asignado'); + + ShowHourglassCursor; + try + if (ATipoPresupuesto.State in dsEditModes) then + ATipoPresupuesto.Cancel; + + ATipoPresupuesto.DataTable.CancelUpdates; + finally + HideHourglassCursor; + end; +end; + +destructor TTiposPresupuestoController.Destroy; +begin + FDataModule := Nil; + inherited; +end; + +function TTiposPresupuestoController.ValidarTipoPresupuesto(ATipoPresupuesto: IBizTipoPresupuesto): Boolean; +begin + if not Assigned(ATipoPresupuesto) then + raise Exception.Create ('TipoCliente no asignada'); + + if (ATipoPresupuesto.DataTable.State in dsEditModes) then + ATipoPresupuesto.DataTable.Post; + + if Length(ATipoPresupuesto.DESCRIPCION) = 0 then + raise Exception.Create('Debe indicar al menos la descripción de este tipo.'); + + Result := True; +end; + +procedure TTiposPresupuestoController.VerTodos(ATiposPresupuesto: IBizTipoPresupuesto); +//var +// AEditor : IEditorTiposPresupuesto; +begin +{ + AEditor := NIL; + + CreateEditor('EditorTiposPresupuesto', IEditorTiposPresupuesto, AEditor); + if Assigned(AEditor) then + try + AEditor.Controller := Self; //OJO ORDEN MUY IMPORTANTE + AEditor.TiposPresupuesto := ATiposPresupuesto; + AEditor.ShowModal; + finally + AEditor.Release; + AEditor := NIL; + end; +} +end; + +function TTiposPresupuestoController.Eliminar(ATipoPresupuesto: IBizTipoPresupuesto): Boolean; +begin + if not Assigned(ATipoPresupuesto) then + raise Exception.Create ('TipoCliente no asignada'); + + ShowHourglassCursor; + try + if (ATipoPresupuesto.State in dsEditModes) then + ATipoPresupuesto.Cancel; + + ATipoPresupuesto.Delete; + ATipoPresupuesto.DataTable.ApplyUpdates; + HideHourglassCursor; + Result := True; + finally + HideHourglassCursor; + end; +end; + +procedure TTiposPresupuestoController.RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); +begin + inherited; +// +end; + +function TTiposPresupuestoController.Guardar(ATipoPresupuesto: IBizTipoPresupuesto): Boolean; +begin + Result := False; + + if ValidarTipoPresupuesto(ATipoPresupuesto) then + begin + ShowHourglassCursor; + try + if (ATipoPresupuesto.DataTable.State in dsEditModes) then + ATipoPresupuesto.DataTable.Post; + + ATipoPresupuesto.DataTable.ApplyUpdates; + + Result := True; + finally + HideHourglassCursor; + end; + end; +end; + +function TTiposPresupuestoController.Localizar(ATiposPresupuesto: IBizTipoPresupuesto; ADescripcion: String): Boolean; +begin + Result := True; + ShowHourglassCursor; + try + with ATiposPresupuesto.DataTable do + begin + DisableControls; + First; + if not Locate(fld_TiposPresupuestoDESCRIPCION, ADescripcion, []) then + Result := False; + EnableControls; + end; + finally + HideHourglassCursor; + end; +end; + +end. diff --git a/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm index 549b421..a05f07e 100644 --- a/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm +++ b/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm @@ -218,11 +218,11 @@ inherited DataModulePresupuestosCliente: TDataModulePresupuestosCliente DictionaryEntry = 'PresupuestosCliente_ID_FORMA_PAGO' end item - Name = 'ID_FACTURA' + Name = 'ID_FACTURA_PROFORMA' DataType = datInteger end item - Name = 'FACTURA' + Name = 'FACTURA_PROFORMA' DataType = datString Size = 255 end @@ -242,6 +242,19 @@ inherited DataModulePresupuestosCliente: TDataModulePresupuestosCliente Name = 'IMPORTE_BONIFICACION' DataType = datCurrency ServerAutoRefresh = True + end + item + Name = 'FECHA_VIGENCIA' + DataType = datDateTime + end + item + Name = 'TIPO_PRESUPUESTO' + DataType = datString + Size = 255 + end + item + Name = 'ID_TIPO_IVA' + DataType = datInteger end> Params = <> StreamingOptions = [soDisableEventsWhileStreaming] @@ -406,4 +419,37 @@ inherited DataModulePresupuestosCliente: TDataModulePresupuestosCliente Left = 248 Top = 144 end + object tbl_TiposPresupuesto: TDAMemDataTable + RemoteUpdatesOptions = [] + Fields = < + item + Name = 'ID' + DataType = datAutoInc + GeneratorName = 'GEN_PRESUPUESTOS_TIPOS_ID' + Required = True + DisplayLabel = 'TiposPresupuesto_ID' + DictionaryEntry = 'TiposPresupuesto_ID' + InPrimaryKey = True + end + item + Name = 'DESCRIPCION' + DataType = datString + Size = 255 + DisplayLabel = 'TiposPresupuesto_DESCRIPCION' + DictionaryEntry = 'TiposPresupuesto_DESCRIPCION' + end> + Params = <> + StreamingOptions = [soDisableEventsWhileStreaming] + RemoteDataAdapter = rda_PresupuestosCliente + LogicalName = 'TiposPresupuesto' + IndexDefs = <> + Left = 464 + Top = 208 + end + object ds_TiposPresupuesto: TDADataSource + DataSet = tbl_TiposPresupuesto.Dataset + DataTable = tbl_TiposPresupuesto + Left = 464 + Top = 152 + end end diff --git a/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.pas index b617682..25776cf 100644 --- a/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.pas +++ b/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.pas @@ -11,7 +11,7 @@ uses uIDataModulePresupuestosCliente, uBizPresupuestosCliente, uBizDetallesPresupuestoCliente, uIDataModulePresupuestosClienteReport, uDataModuleBase, uDAInterfaces, uRODynamicRequest, uDADataStreamer, uDARemoteDataAdapter, uDABin2DataStreamer, - uDAMemDataTable, uIntegerListUtils; + uDAMemDataTable, uIntegerListUtils, uBizTiposPresupuesto; type TDataModulePresupuestosCliente = class(TDataModuleBase, IDataModulePresupuestosCliente, IDataModulePresupuestosClienteReport) @@ -25,6 +25,8 @@ type RORemoteService1: TRORemoteService; tbl_ListaAnosPresupuestos: TDAMemDataTable; ds_ListaAnosPresupuestos: TDADataSource; + tbl_TiposPresupuesto: TDAMemDataTable; + ds_TiposPresupuesto: TDADataSource; procedure DAClientDataModuleCreate(Sender: TObject); private @@ -46,7 +48,8 @@ type function GetRptWordCertificadoTrabajos(const AID: Integer): Binary; function GetRptPDFPresupuesto(const AID: Integer; Const AVerSello: Integer): Binary; - function GetAnosItems : TStringList; + function GetAnosItems : TStringList; + function GetTiposPresupuesto : IBizTipoPresupuesto; end; implementation @@ -98,12 +101,27 @@ end; function TDataModulePresupuestosCliente.GetRptWordCertificadoTrabajos( const AID: Integer): Binary; begin - Result := (RORemoteService as IsrvPresupuestosCliente).GenerarCertificadoTrabajosEnWord(AID) +// Result := (RORemoteService as IsrvPresupuestosCliente).GenerarCertificadoTrabajosEnWord(AID) end; function TDataModulePresupuestosCliente.GetRptWordPresupuesto(const AID: Integer; Const AVerSello: Integer): Binary; begin - Result := (RORemoteService as IsrvPresupuestosCliente).GenerarInformeEnWord(AID, AVerSello) +// Result := (RORemoteService as IsrvPresupuestosCliente).GenerarInformeEnWord(AID, AVerSello) +end; + +function TDataModulePresupuestosCliente.GetTiposPresupuesto: IBizTipoPresupuesto; +var + ATipoPresupuesto : TDAMemDataTable; +begin + ShowHourglassCursor; + try + ATipoPresupuesto := CloneDataTable(tbl_TiposPresupuesto); + ATipoPresupuesto.BusinessRulesID := BIZ_CLIENT_TIPOSPRESUPUESTO; + Result := (ATipoPresupuesto as IBizTipoPresupuesto); + finally + HideHourglassCursor; + end; + end; function TDataModulePresupuestosCliente.NewItem: IBizPresupuestoCliente; diff --git a/Source/Modulos/Presupuestos de cliente/Model/Data/uIDataModulePresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Model/Data/uIDataModulePresupuestosCliente.pas index 74a027c..b244ba3 100644 --- a/Source/Modulos/Presupuestos de cliente/Model/Data/uIDataModulePresupuestosCliente.pas +++ b/Source/Modulos/Presupuestos de cliente/Model/Data/uIDataModulePresupuestosCliente.pas @@ -4,7 +4,7 @@ interface uses Classes, uROTypes, uBizPresupuestosCliente, uBizDetallesPresupuestoCliente, - uIntegerListUtils; + uIntegerListUtils, uBizTiposPresupuesto; type IDataModulePresupuestosCliente = interface @@ -14,6 +14,7 @@ type function GetItems(const AListaID: TIntegerList) : IBizPresupuestoCliente; overload; function GetItem(const ID : Integer) : IBizPresupuestoCliente; function NewItem : IBizPresupuestoCliente; + function GetTiposPresupuesto : IBizTipoPresupuesto; end; implementation diff --git a/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.dpk b/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.dpk index f67bdc8..6e4e584 100644 --- a/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.dpk +++ b/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.dpk @@ -25,14 +25,9 @@ package PresupuestosCliente_model; {$IMPLICITBUILD OFF} requires - rtl, - dbrtl, - vcl, - vcldb, - dsnap, - adortl, Base, - Contactos_model; + Contactos_model, + TiposIVA_controller; contains uIDataModulePresupuestosCliente in 'Data\uIDataModulePresupuestosCliente.pas', @@ -40,6 +35,7 @@ contains uBizPresupuestosCliente in 'uBizPresupuestosCliente.pas', uIDataModulePresupuestosClienteReport in 'Data\uIDataModulePresupuestosClienteReport.pas', schPresupuestosClienteClient_Intf in 'schPresupuestosClienteClient_Intf.pas', - schPresupuestosClienteServer_Intf in 'schPresupuestosClienteServer_Intf.pas'; + schPresupuestosClienteServer_Intf in 'schPresupuestosClienteServer_Intf.pas', + uBizTiposPresupuesto in 'uBizTiposPresupuesto.pas'; end. diff --git a/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.dproj b/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.dproj index a9dc511..d72cc2a 100644 --- a/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.dproj +++ b/Source/Modulos/Presupuestos de cliente/Model/PresupuestosCliente_model.dproj @@ -43,6 +43,12 @@ Package FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 + + + + + + RemObjects Pascal Script - RemObjects SDK 3.0 Integration EurekaLog 5.1.9 PresupuestosCliente_model.dpk @@ -52,20 +58,16 @@ MainSource - - - - - - - - + + + + - diff --git a/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/PedProv_FacProv_relation.dpk b/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/PedProv_FacProv_relation.dpk deleted file mode 100644 index 57cd942..0000000 --- a/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/PedProv_FacProv_relation.dpk +++ /dev/null @@ -1,48 +0,0 @@ -package PedProv_FacProv_relation; - -{$R *.res} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO ON} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS ON} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO ON} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$IMPLICITBUILD OFF} - -requires - rtl, - Base, - ControllerBase, - Contactos_model, - Contactos_controller, - PNG_D10, - vcl, - JSDialog100, - vclx, - vclactnband, - xmlrtl, - designide, - FacturasProveedor_model, - FacturasProveedor_controller, - PedidosProveedor_controller, - PedidosProveedor_model; - -contains - uGenerarFacturasProvPedProvUtils in 'uGenerarFacturasProvPedProvUtils.pas'; - -end. diff --git a/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/PedProv_FacProv_relation.dproj b/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/PedProv_FacProv_relation.dproj deleted file mode 100644 index 2322789..0000000 --- a/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/PedProv_FacProv_relation.dproj +++ /dev/null @@ -1,219 +0,0 @@ - - - {69494a8c-0a35-41ea-b8ec-ea790bfc0662} - PedProv_FacProv_relation.dpk - Debug - AnyCPU - DCC32 - ..\..\..\..\Output\Debug\Cliente\PedProv_FacProv_relation.bpl - - - 7.0 - False - False - 0 - .\ - .\ - .\ - ..\..\..\..\Output\Debug\Cliente - ..\..\Lib - ..\..\..\Lib;..\..\Lib - ..\..\..\Lib;..\..\Lib - ..\..\..\Lib;..\..\Lib - ..\..\..\Lib;..\..\Lib - RELEASE - - - 7.0 - .\ - .\ - .\ - ..\..\..\..\Output\Debug\Cliente - ..\..\Lib - ..\..\..\Lib;..\..\Lib - ..\..\..\Lib;..\..\Lib - ..\..\..\Lib;..\..\Lib - ..\..\..\Lib;..\..\Lib - DEBUG - - - Delphi.Personality - Package - - - False - True - False - - - False - False - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 3082 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Borland Sample Components - Delphi 1.0 Compatibility Components - Borland MyBase DataAccess Components - TeeChart Components - Borland SimpleDataset Component (DBX) - ExpressBars extended items by Developer Express Inc. - ExpressBars by Developer Express Inc. - ExpressScheduler 2 by Developer Express Inc. - ExpressVerticalGrid by Developer Express Inc. - ExpressBars DBNavigator by Developer Express Inc. - ExpressBars extended DB items by Developer Express Inc. - ExpressSideBar by Developer Express Inc. - JVCL Band Objects - JVCL Non-Visual Components - JVCL Encryption and Compression Components - JVCL Dialog Components - JVCL Docking Components - JVCL DotNet Controls - JVCL EDI Components Designtime Package - JVCL HMI Controls design time unit - JVCL Interpreter Components - JVCL Jans Components - JVCL Managed Threads - JVCL Multimedia and Image Components - JVCL Network Components - JVCL Page Style Components - JVCL Plugin Components - JVCL Print Preview Components - JVCL Runtime Design Components - JVCL Time Framework - JVCL Unified Interbase Components - JVCL Validators and Error Provider Components - SMImport suite: data importing into dataset. Scalabium/Mike Shkolnik, 2000-2005 - SMExport suite: data export from dataset. Written by Mike Shkolnik/Scalabium, 1998-2004. - Intraweb 8.0 Design Package for Borland Development Studio 2006 - Internet Explorer Components - - - PedProv_FacProv_relation.dpk - - - - - - - MainSource - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/PedProv_FacProv_relation.rc b/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/PedProv_FacProv_relation.rc deleted file mode 100644 index e69de29..0000000 diff --git a/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/PedProv_FacProv_relation.res b/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/PedProv_FacProv_relation.res deleted file mode 100644 index 86c94e6..0000000 Binary files a/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/PedProv_FacProv_relation.res and /dev/null differ diff --git a/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/uGenerarFacturasProvPedProvUtils.dfm b/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/uGenerarFacturasProvPedProvUtils.dfm deleted file mode 100644 index 182262d..0000000 --- a/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/uGenerarFacturasProvPedProvUtils.dfm +++ /dev/null @@ -1,315 +0,0 @@ -object dmGenerarFacturasProv: TdmGenerarFacturasProv - OldCreateOrder = False - Height = 176 - Width = 254 - object JsListaFacturasGeneradas: TJSDialog - Glyph.Data = { - 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00 - 00001C0806000000720DDF940000000970485973000017120000171201679FD2 - 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14 - 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD - 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2 - 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD - B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010 - 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3 - 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045 - A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8 - 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281 - 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87 - A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F - 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B - EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F - 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8 - 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10 - 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8 - CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF - 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32 - F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF - 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165 - 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF - 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2 - ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312 - FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312 - 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA - 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082} - Instruction.Text = 'Se ha generado el albar'#195#161'n...' - Instruction.Glyph.Data = { - 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00 - 00001C0806000000720DDF940000000970485973000017120000171201679FD2 - 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14 - 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD - 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2 - 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD - B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010 - 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3 - 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045 - A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8 - 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281 - 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87 - A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F - 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B - EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F - 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8 - 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10 - 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8 - CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF - 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32 - F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF - 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165 - 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF - 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2 - ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312 - FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312 - 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA - 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082} - Instruction.Icon = tdiCustom - CustomButtons = < - item - Caption = 'Ver el albar'#225'n' - Value = 100 - end - item - Caption = 'Continuar' - Value = 200 - Cancel = True - end> - ButtonBar.Buttons = [] - ButtonBar.Cancel = cbOK - ButtonBar.UseCancel = False - MainIcon = tdiCustom - Title = 'FactuGES' - Position = dpMainFormCenter - Icon.Data = { - 0000010003002020100001000400E8020000360000002020000001000800A808 - 00001E0300002020000001002000A8100000C60B000028000000200000004000 - 0000010004000000000000020000000000000000000000000000000000000000 - 000000008000008000000080800080000000800080008080000080808000C0C0 - C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000 - 0000000000000000000000000000000008777777777777777777777700000000 - 0877767777677776777767760000000008F88888888888888888888700000000 - 08F8FF8F8F888888888888860000000008FF8F8F88F8F8888888888C00000000 - 08F88888F8888888888888860000000008F8688878E8888E88E8788700000000 - 08F8688888F8F8FFFFFF88760000000008FF4888888F8FFFFFFF788700000000 - 08F8676767677677677658E50000000008FF8888888887878787888700000000 - 08FF8887887E8888888888860000000008FFE8E8E788C8E8FF8F8F8600000000 - 08FFF8F8F8F8FF8F88F8F8870000000008FFFFFF8FF8F8F8F88F888600000000 - 0FF8477878787878788788860000000008FF68888888F8FF8F8F788700000000 - 08B7588888FF8FFFFFFF78860000083008BB47887776777777776F86000000B7 - 8B9B73BB88788787E87878870000008BB8B9BB78888888EFF8F8FF8600000087 - B8BB8B888E8E8E88FFF8F886000000088BBB888FFFFFFFFFF8F877770000B9BB - B8FFBB9B9BFFFFFFF87466460000BBB9BB8FBBBBB8FFFFFFF88F888700000008 - B8BB88888FFFFFFFF88F8F7700000008BBBBBB8FFFFFFFFFFF8887700000007B - B7B98BB8FFFFFFFFF8887700000000B78B9B87B888F88F88F8877000000007B0 - 08BB883B78888788787700000000000000B9000000000000000000000000FFFF - FFFFF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800 - 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800 - 000FF800000FF800000F9800000FC000000FC000000FC000000FE000000F0000 - 000F0000000FE000000FE000001FC000003FC000007F980000FFFCFFFFFF2800 - 0000200000004000000001000800000000000004000000000000000000000001 - 00000001000000000000694731007C5D49007E604C0081635000826451008567 - 540085685500886B5900896D5B008A6E5D008B705F008E715F008B7260008C72 - 61008E74640084766C00957A6900977D6D00887B72009A8171009D8272009C84 - 76009D8778009F897B00A28A7900A08B7D00A18C7E00E1B06E00E1B67D003E7A - 970073A0A5007AA2B70074AFBD007BB2BB003CAACE0028A5DB0020ADDF000D9A - E500209EE3000DA6E2001AA4EF0000A6FF000CABFE0009ACFE0010A4F10015AC - FA0000B5FB0000B0FD000CB6FC0000BFF90000BAFD0004BAFD0009BBFB0013B6 - F40015BFFA001CBDFB0026B7FD00589EC50040A4CD0040ABCC0050A2C7005DAE - C00060A3C20062A4C60060B7CB006AB0CD007BB6C80077BAC80061BADD0044AD - E50000C3F80007C6FB0000CAF80000CFFB0000D4F90026C8FA0026CDF8002BCC - F90039C4FB0039C2FC0039CAFA003FCFFB0024D6F80030D2F80039D5F80000F8 - F8001FF8F8002CF6F8003EF4F8005AC6DC0070CDDF0052C0E40054C9E3004DCE - FA005FC7FF004FD2FB004DD9F8005FD9FB006ED3E70063CDFE0060D1FB0060D8 - F90060DDF80046F8F90056F0F8005FFAFA0073E3F80073E4F90073EEF80060F1 - F800958A84009A918C0081999500A68F8200AD968500A3968C00AE988900AD9A - 8D00B19A8B00AF9C9000B09E9200B59F9200B7A29300B2A19600B5A19400B7A4 - 9700BDA79700B4A39800B1A59D00B4A79F00BAA69800BCA79900B4A89F00BCA8 - 9900BAA89C00BDAA9D00BEAC9E0083ADBD00B5A9A100BDABA000BEADA100BFAF - A500A0BABE00C0AB9E00C1AC9E00C6AE9F00E2B98100E4BA8300E4BB8400E5BC - 8500E1BD8E00E3BF9000C0ADA000C2B0A300C2B1A500C4B2A600C1B2A800C3B5 - AB00C8B4A800CCB9AD00CEBCB100D0BEB200D1BFB400E4C19300E5C29400E6C4 - 9600E8C69900D0C9A300CFC1B800D2C1B600D3C3B800D5C4B900D6C6BC00D8C6 - BC00D6C8BE00DAC9BF00ECD3B000EDD4B200EFD6B500E7D1B800E7D3BD00F0D8 - B6008CB7C40080BEC70097C3C70099C3C900ABD7CF00AFD9DD0086E3F90086E7 - F90086ECF8009EE5FB0090E8F900ACEDFC00BCEAFD00BCF1FB00BFF1FD00D7C9 - C000D9CAC100DCCBC200DACCC200DDCCC300DACCC400DDCEC400DED0C600DED1 - C900DED3CC00DFD4CD00E1D1C900E2D5CD00F0DCC200E3D8D200E5D9D200E2DA - D500E6DBD400E5DCD500E8DDD600E6DDD800E9DFD900E6E0DB00EAE0DA00EAE2 - DD00ECE3DE00EBE4DE00ECE4DE00F3E7D900C6E1EF00C9EFFD00D7F6FD00DFF3 - FF00DFFEFE00EBE7E300EDE6E100EFE7E400EEE8E400F0EAE600F2EDE900F2EE - EC00F4EFEC00F5F0EE00F9F4ED00E7FAFD00EBF8FF00F6F2F000F7F4F100F8F4 - F200F9F7F500FAF8F600FBF9F900FCFBFA00FCFCFB00FEFEFE00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000007D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D - 0D0D0000000000000000009C9C19191919191919191919191919191919191919 - 1903000000000000000000ABDECBCBC7C7AFABABABABAAA3A2A2A0A0A0A0A0A0 - 8607000000000000000000ABECEAE9DEDEDEDED7D5D2D2D2CBCBCBCBB0CBB0CB - 9007000000000000000000ABEDECEAE9DEDEDBD7D7D5D2D2D2CDCDCBB0B0B0B0 - 9007000000000000000000AFEDE9A9CFD2CFD2CDCBCBCBB0B0ABACA3A3A3A3B0 - 9007000000000000000000AFF0D5017783838386868686869099909999907BB0 - 9007000000000000000000B0F4D501A0B0CBD2D5DEECEDF7FAFAFAFAFAF77BAA - 9007000000000000000000CBF4DC01A0B0B0B0D2D5DBEAEDF7FAFAFAFAF47BB0 - 9007000000000000000000CBF8DC010404070604090909090D0D110D110D02A3 - 9007000000000000000000CBFAED9E9E9E9C999E8C8C8C868683837E7D7D7ACB - 9007000000000000000000CBFAF1A7A7A6A6A6A69898989898B5DBDBD5D5D2D2 - 9907000000000000000000CDFAF796969696961D961D931D1DB4DEDBD7D5D5D2 - 9C07000000000000000000CFFAFAFAFAF8F7F0F0EDEDEDECE9E9DEDEDED7D5D5 - 9907000000000000000000CDFAFAEAF0EDEDECEAEAE9DEDEDBDCD5D5D5D5D2D5 - 9C07000000000000000000D2FAEC01737D7D7B7D7D7B7D7B7D7B7B7B7D7B7DD2 - 9907000000000000000000CFFAEC019EABB0CBD2D5DCDEECEDF4F4F4F4EA7BD2 - 9C07000000000000000000B9524601A0B0B0CBB5D5DEEAEDF7FAFAFAFAF47DD5 - 9C070000000000213F0000B83226010C3F5C1F111214141616191B1B1B1807D2 - 9C07000000000000253D8A5B322D711E2860BA7E7E7A7E797A797979767676D5 - 9E0700000000000041375E662F2B65314EBBB6B6B6B6B4B4B1E2F4EDEDEDECEA - 9C070000000000008F5D66663232394EC1A81C1C1C1C1C1C1CD3F7F4EDDED7D5 - 9C0700000000000000B7BE6E5758BEBDE4E6E6F3FAFAFAFAFAFAF7F4D5928675 - 7304000000002A2A2A2A4A6AFAE7562F2A2A2A5FFAFAFAFAFAFAF8D577010101 - 0101000000004747472F4A59C5E7564A32474766FAFAFAFAFAFAFADCA0D2CFB0 - A20C00000000000000436C6958686D6BC2C5C5E7FAFAFAFAFAFAFADEAADEDBCB - 1470000000000000004551534A4A5250C0E7FAFAFAFAFAFAFAFAFADEAAD7B514 - 700000000000000042384C54472B613550C3FAFAFAFAFAFAFAFAFADEA1B0196F - 000000000000000024234463322EBC5A3664E3ECE9E9E9E9E9E9E9CF90731300 - 000000000000003A3C00002232298B8B3E3B207E8B7E8B7E827E817E74100000 - 0000000000000000000000003227000000000000000000000000000000000000 - 000000000000FFFFFFFFF800000FF800000FF800000FF800000FF800000FF800 - 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800 - 000FF800000FF800000FF800000FF800000F9800000FC000000FC000000FC000 - 000FE000000F0000000F0000000FE000000FE000001FC000003FC000007F9800 - 00FFFCFFFFFF2800000020000000400000000100200000000000801000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000007067 - 5F70AA9382E570513CE3735540E3735540E3735540E3735540E3735540E37355 - 40E3735540E3735540E3735540E3735540E3735540E3735540E3735540E37355 - 40E3735540E3735540E3735540E3735540E3735540E3735540E372533EE5BAAB - A070000000000000000000000000000000000000000000000000000000005E54 - 4C7FCAB7ABFFC5B5AAFFA18877FFA28A78FFA28A79FFA28A79FFA28A79FFA28A - 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A - 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA58D7CFF7A5B46FFB2A1 - 967F000000000000000000000000000000000000000000000000000000006055 - 4D7ED7C6BBFFEDE4E0FFD9CCC4FFD9CCC4FFD9CBC3FFD8CAC1FFD7C9BFFFD6C7 - BDFFD5C6BBFFD4C4BAFFD3C3B8FFD2C1B7FFD1C0B5FFD0BEB3FFCFBDB2FFCEBC - B0FFCEBBAFFFCEBBAFFFCEBBAFFFCEBBAFFFCEBCB0FFBEAA9CFF82644FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006056 - 4D7ED7C8BCFFF2EBE8FFEFE9E5FFEEE7E2FFECE5E0FFEBE2DEFFEAE0DBFFE9DE - D8FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCDC4FFDCCB - C2FFDBC9BFFFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC1FFC1AC9FFF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006155 - 4E7ED8C9BDFFF3EDE9FFF1EAE6FFF0E9E6FFEEE6E1FFECE4DFFFEBE2DDFFEAE0 - DAFFE9DED7FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCD - C4FFDCCBC2FFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC0FFC1AC9FFF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006157 - 4E7ED9C9BFFFF4EFEDFFEFE8E3FFD0C2B9FFDFD5CEFFE0D5CEFFE0D4CCFFDED3 - CBFFDDD1C8FFDCCFC6FFDACCC4FFD9CBC1FFD8C9BFFFD7C7BDFFD6C5BBFFD5C4 - B9FFD3C2B7FFD2C0B5FFD2BFB4FFD2BFB4FFDAC8BEFFC1AC9FFF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006256 - 4F7EDACCC0FFF5F2EFFFE5DDD9FF5C3821FFB0998AFFB8A394FFB8A394FFB9A3 - 94FFB8A495FFB9A597FFB9A698FFBAA698FFBBA799FFBBA89AFFBBA89BFFBCA8 - 9BFFBCA89BFFBCA89BFFBBA89AFFB49E8FFFD8C6BBFFC1AC9FFF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006256 - 4F7EDBCBC1FFF8F4F3FFE7E0DBFF5F3C24FFD0BDB2FFDCCBC1FFDDCCC3FFE2D2 - CBFFE7DBD4FFEDE2DEFFF0E8E6FFF5F0EDFFF9F7F4FFFDFDFDFFFFFFFFFFFFFF - FFFFFFFFFFFFFFFFFFFFFAF8F7FFB39D8DFFD8C6BBFFC1AC9FFF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006256 - 4F7EDCCEC3FFFAF6F5FFE9E2DDFF5F3C24FFD2BFB5FFDFCDC4FFDECCC3FFE0CE - C6FFE4D4CDFFE9DDD6FFEFE4E0FFF1EAE8FFF7F1EFFFFBF8F6FFFFFEFFFFFFFF - FFFFFFFFFFFFFFFFFFFFFCFBFAFFB5A090FFD9C7BEFFC1AD9FFF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006257 - 4F7EDDCFC4FFFCF9F9FFE9E4E0FF5F3A23FF7C5D49FF7F5F4CFF7E5F4CFF7E60 - 4DFF7F614DFF816350FF826552FF836654FF846856FF856A57FF866B59FF876C - 5BFF876D5BFF876D5BFF866B59FF72523DFFD5C3B9FFC1AFA1FF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006357 - 507EDECFC6FFFCFCFBFFF4F1F0FFC3B6AEFFC3B5ADFFC1B4ACFFC0B3AAFFBFB1 - A9FFBEB0A6FFBDAEA5FFBDACA3FFBCABA2FFBBAAA0FFBAA99FFFB8A69AFFB8A4 - 98FFB6A396FFB5A194FFB49F93FFB39D90FFDCCDC4FFC2AEA1FF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006357 - 507EDFD2C7FFFEFEFDFFF9F5EFFFE8C696FFE9C799FFE8C697FFE7C596FFE7C4 - 95FFE6C394FFE5C293FFE4C091FFE4C090FFE3BF8FFFE2BD8CFFE9D5BFFFEBE1 - DCFFEADFD8FFE7DCD5FFE5DAD3FFE4D8D0FFE3D4CCFFC2AFA2FF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006458 - 517EE0D3C8FFFFFFFFFFFAF5EFFFE3B77CFFE4B97FFFE2B87EFFE3B77DFFE2B7 - 7CFFE2B67BFFE1B57AFFE1B479FFE0B478FFE0B377FFDFB174FFE6D0B7FFEBE1 - DCFFE8DFD9FFE8DDD6FFE6D9D2FFE3D8D1FFE4D7CFFFC3AFA2FF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006458 - 517EE1D2C9FFFFFFFFFFFEFEFDFFFEFFFFFFFCFDFEFFFBFBFBFFF9F7F8FFF8F5 - F6FFF7F3F2FFF5F1F0FFF4EFEEFFF1EDEBFFF0EBE9FFEEE9E6FFEDE6E2FFECE3 - DEFFEBE1DBFFE9DFD9FFE8DDD6FFE6DAD3FFE5D9D2FFC3B0A3FF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006459 - 517EE1D4CAFFFFFFFFFFFDFDFCFFEEEBE8FFF5F2F0FFF4F0EFFFF3EFECFFF2ED - EAFFF1EBE8FFEEE9E5FFEFE7E3FFECE5E1FFEAE4DEFFEAE1DCFFE8E0DAFFE7DE - D8FFE6DDD6FFE5DBD4FFE4D8D1FFE2D6CEFFE6DBD4FFC3B1A4FF81634EFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006559 - 527EE2D4CAFFFFFFFFFFF0ECEAFF5B361EFFAB9383FFB39D8EFFB39D8DFFB39D - 8DFFB29D8DFFB29C8DFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C - 8CFFB29C8CFFB29C8CFFB29C8DFFB39D8EFFE3D8D0FFC4B1A4FF81634EFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006559 - 527EE5D4CAFFFFFFFFFFF7F0EBFF5F3B24FFCCB8ADFFD7C5BAFFD9C7BDFFDCCC - C3FFE1D4CCFFE5DAD4FFE8E0DBFFEDE5E1FFF1EBE9FFF5F2EFFFF7F5F3FFF8F6 - F4FFF8F5F4FFF8F6F4FFF1EEEAFFB29C8DFFE6DAD3FFC4B2A5FF81634EFFB2A1 - 967E00000000000000000000000000000000000000000000000000000000685A - 527E9AC6C9FF35CFFEFF3DAEEBFF663E24FFD2BFB4FFE0CBBFFFE0C9BDFFE1CD - C4FFE4D5CDFFE9DED7FFEEE5E0FFF2EBE8FFF6F2F0FFFCF8F8FFFFFFFEFFFFFF - FFFFFFFFFFFFFFFFFFFFFCFAF9FFB49E8FFFE7DED7FFC5B3A6FF81634EFFB2A1 - 967E00000000000000000000000000000000007792910072A7A3001E33366957 - 4C7C86C1C8FF00BFFBFF079AEBFF6A3E23FF926D57FF5FA3C8FF4AC1E8FF6C9C - A2FF917260FF927767FF947A69FF957C6CFF977E6FFF998171FF9A8374FF9B85 - 76FF9C8678FF9C8678FF998274FF7D5E49FFE3D9D4FFC5B3A7FF81634EFFB2A1 - 967E00000000000000000000000000000000005A6F7000A9E5E40075AEAE5C90 - A5BD75D0E0FF00BFFAFF0CA3F4FF8A9A91FF3C7492FF03A4E4FF4AD5FFFF98C4 - CBFFB3A196FFB1A197FFB0A096FFB09F95FFAF9D92FFAF9C91FFAD9A8EFFAC99 - 8CFFAB988AFFAB9789FFAA9688FFA99386FFE8E0DAFFC5B4A7FF81634EFFB2A1 - 967E00000000000000000000000000000000000000002DA5BFC110C2FFFF4DD0 - FDFF64DBF9FF00B3FAFF09A8FEFF68D7FFFF04B5FFFF24CCFBFFAFD8CEFFF7DA - B8FFF3DBBBFFF3DBBAFFF2D9B9FFF1D8B7FFF0D7B4FFEED5B2FFF6EADDFFF9F6 - F4FFF7F3F1FFF5F1EEFFF5EFECFFF4EDEAFFF1EBE7FFC6B4A8FF81634EFFB2A1 - 967E00000000000000000000000000000000000000005F8A909142C7E4E960DE - F8FF64D7FAFF00B6FDFF00B8FDFF21B2FDFF1ECCF7FF93EBFCFFD2C69BFFE1AB - 63FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDEA961FFEFDBC0FFF8F6 - F5FFF6F2F0FFF3EDEBFFECE2DCFFE9DFD9FFE5DBD6FFC2B1A4FF81634FFFB2A1 - 967E000000000000000000000000000E171A000E171A00040B145994A4A990EB - FCFF61F1F7FF13FAF7FF23F9F7FF93EDF7FF8CE5F8FFD5F2FDFFE9F8FFFFE7F8 - FFFFF0FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFDFEFFFFFAFAF9FFF9F7 - F5FFF7F2F0FFE8DFD8FFC7AE9FFFBEA998FFAF9888FFB09A8AFF7F604DFFB2A1 - 967E00000000000000000000000000AAFFFF00AAFFFF00AAFFFF00A4FFFF00CD - FAFF5DFCF9FFFFFFFFFFEEFEFEFF00FBF7FF00AAFEFF00A1FFFF00A1FFFF00A0 - FFFF56C3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFDFBFFFCFBFAFFFBFA - F8FFE6DDD6FFAA9180FF5D3922FF603D26FF613E27FF613E28FF634029FFB4A3 - 987E00000000000000000000000000CAFFFF00CAFFFF00CBFFFF00B0FFFF00CD - FBFF38F5F7FFC3EFFAFFF0FFFEFF00FAF7FF00C8F7FF00C2F7FF00C2F7FF00C1 - F7FF57D7FAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFDFDFCFFFCFC - FBFFE7DED8FFCCB9ACFFE6DBD5FFE2D7D0FFDCCFC5FFD7C5BBFF8E705DFFB4A2 - 9680000000000000000000000000002E383C002E383C00252F364C99B0B57DE8 - FBFF59F1F7FF25F7F7FF41FAF8FF7CEEF7FF77E4F7FFB5EFFCFFC6F2FDFFC3F2 - FDFFD9F6FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFEFFFEFE - FEFFE9E1DAFFCEBCAFFFF1E9E3FFEADFD8FFE4D5CCFF9D816FFF3A291F868985 - 831C00000000000000000000000000000000000000004E7073774AB0DADC37C9 - FBFF22D5F7FF00D3F9FF02C3FBFF37D5F7FF34BEFCFFA2E6FAFFECFBFDFFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF - FFFFEAE2DCFFCDBBADFFEADFD8FFE3D5CBFF9F8271FF3E2D2386050100200000 - 000000000000000000000000000000000000000000003E9CC4C219C0FFFF23C9 - FCFF30D3F8FF00BEF8FF06A8FEFF4FDCF8FF00B8FCFF32C2FBFFC0EBFCFFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFEAE3DEFFCDB9ABFFDDCEC4FFA58979FF3E2C1F8F0905041B000000000000 - 000000000000000000000000000000000000003451510099DDDB0091C0C35DAD - BCCF76D7E9FF00BEF9FF10A9FBFFBDDEDEFF5AC8DDFF0AB5F7FF62CEFFFFCBE4 - F1FFF1E7E0FFEFE7E1FFEEE6E1FFEEE6E1FFEEE6E0FFEDE6E0FFEDE5E0FFEEE6 - E1FFE1D4CCFFC5AE9FFFA68D7FF53E2718A10402000E00000000000000000000 - 0000000000000000000000000000000000000075B7AF0099C7C500323E425442 - 3B5C6BA8B1DA00C1FCFF0EA1F3F8A98E80C0AB9081C12698B1C10088C4C14C85 - A3C1A18D80C19E8D81C19E8B81C19D8C80C19B8C7FC19B8A7FC19C897FC19A89 - 7EC19B8B7EC1897769C2432B1BAC000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000045565A00C5FFFF0094E6E2000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000FFFFFFFFF0000007F0000007F0000007F000 - 0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000 - 0007F0000007F0000007F0000007F0000007F0000007F0000007800000078000 - 0007C0000007C000000700000007000000070000000700000007C000000FC000 - 001F8000003F800000FFF8FFFFFF} - Width = 450 - Left = 72 - Top = 16 - end -end diff --git a/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/uGenerarFacturasProvPedProvUtils.pas b/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/uGenerarFacturasProvPedProvUtils.pas deleted file mode 100644 index fc04178..0000000 --- a/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/uGenerarFacturasProvPedProvUtils.pas +++ /dev/null @@ -1,234 +0,0 @@ -unit uGenerarFacturasProvPedProvUtils; - -interface - -uses - Windows, SysUtils, Classes, uBizPedidosProveedor, pngimage, JSDialog; - -type - TdmGenerarFacturasProv = class(TDataModule) - JsListaFacturasGeneradas: TJSDialog; - end; - - function GenerarFacturaProv(const IDPedido : Integer) : Boolean; overload; - function GenerarFacturaProv(APedidos : IBizPedidoProveedor) : Boolean; overload; - function GenerarFacturaProv : Boolean; overload; - -implementation - -{$R *.dfm} - -uses - uDialogUtils, - uBizDetallesPedidoProveedor, - uPedidosProveedorController, uDetallesPedidoProveedorController, - uFacturasProveedorController, uBizFacturasProveedor, uBizDetallesFacturaProveedor; - -// , -// , uProveedoresController, -// , uControllerDetallesBase, - - -// , uBizContactos, schPedidosClienteClient_Intf, -// schPedidosProveedorClient_Intf; - -var - dmGenerarFacturasProv: TdmGenerarFacturasProv; - APedidosProveedorController : IPedidosProveedorController; - ADetallesPedidosProveedorController : IDetallesPedidoProveedorController; - AFacturasProveedorController : IFacturasProveedorController; -// AProveedoresController : IProveedoresController; - -{ Métodos auxiliares } -{procedure CopiarPedidoAPedido(APedido: IBizPedidoCliente; - APedido : IBizFacturaProveedor); -begin - if not Assigned(APedido) then - raise Exception.Create ('Albarán no asignado (CopiarPedidoAPedido)'); - - if not Assigned(APedido) then - raise Exception.Create ('Pedido no asignado (CopiarPedidoAPedido)'); - - if not APedido.DataTable.Active then - APedido.DataTable.Active := True; - - // El albarán tiene que venir ya abierto y posicionado donde hay que copiar - APedido.ID_CLIENTE := APedido.ID_CLIENTE; - APedido.ID_PEDIDO := APedido.ID; - APedido.CALLE := APedido.CALLE; - APedido.CODIGO_POSTAL := APedido.CODIGO_POSTAL; - APedido.POBLACION := APedido.POBLACION; - APedido.PROVINCIA := APedido.PROVINCIA; - APedido.PERSONA_CONTACTO := APedido.PERSONA_CONTACTO; - APedido.TELEFONO := APedido.TELEFONO; - APedido.IMPORTE_NETO := APedido.IMPORTE_NETO; - APedido.IMPORTE_PORTE := APedido.IMPORTE_PORTE; - APedido.DESCUENTO := APedido.DESCUENTO; - APedido.IMPORTE_DESCUENTO := APedido.IMPORTE_DESCUENTO; - APedido.BASE_IMPONIBLE := APedido.BASE_IMPONIBLE; - APedido.IVA := APedido.IVA; - APedido.IMPORTE_IVA := APedido.IMPORTE_IVA; - APedido.IMPORTE_TOTAL := APedido.IMPORTE_TOTAL; - APedido.DataTable.FieldByName(fld_PedidosClienteOBSERVACIONES).AsVariant := APedido.DataTable.FieldByName(fld_PedidosClienteOBSERVACIONES).AsVariant; - APedido.ID_FORMA_PAGO := APedido.ID_FORMA_PAGO; -end; - -procedure CopiarArticulosPendAPedido( - APedido: IBizPedidoCliente; - APedido: IBizFacturaProveedor; - AArticulosPendientes: IBizPedidoClienteArticulosPend); -var - i : integer; - ADetalles : IBizDetallesFacturaProveedor; - ADetallesController : IDetallesFacturaProveedorController; -begin - if not Assigned(APedido) then - raise Exception.Create ('Albarán no asignado (CopiarArticulosPendAPedido)'); - - if not Assigned(APedido) then - raise Exception.Create ('Pedido no asignado (CopiarArticulosPendAPedido)'); - - if not Assigned(AArticulosPendientes) then - raise Exception.Create ('Artículos pendientes no asignado (CopiarArticulosPendAPedido)'); - - if not AArticulosPendientes.DataTable.Active then - AArticulosPendientes.DataTable.Active := True; - - // El albarán tiene que venir ya abierto y posicionado donde hay que copiar - - ADetalles := APedido.Detalles; - ADetallesController := TDetallesFacturaProveedorController.Create; - try - //OJO IMPORTANTE - //Siempre que vayamos a trabajar con los detalles debemos hacer un beginupdate de los mismos y un endupdate para - //obligarle siempre a recalcular los detalles una sola vez - ADetallesController.BeginUpdate(ADetalles); - - AArticulosPendientes.DataTable.First; - for i := 0 to AArticulosPendientes.DataTable.RecordCount - 1 do - begin - APedido.Detalles.First; - if (APedido.Detalles.Locate('ID_ARTICULO', AArticulosPendientes.ID_ARTICULO, [])) then - if (AArticulosPendientes.CANTIDAD_PENDIENTE > 0) then - begin - ADetallesController.Add(ADetalles, TIPO_DETALLE_CONCEPTO); - ADetalles.Edit; - ADetalles.REFERENCIA := APedido.Detalles.REFERENCIA; - ADetalles.ID_ARTICULO := APedido.Detalles.ID_ARTICULO; - ADetalles.CONCEPTO := APedido.Detalles.CONCEPTO; - ADetalles.CANTIDAD := AArticulosPendientes.CANTIDAD_PENDIENTE; - ADetalles.IMPORTE_UNIDAD := APedido.Detalles.IMPORTE_UNIDAD; - ADetalles.IMPORTE_TOTAL := APedido.Detalles.IMPORTE_TOTAL; - ADetalles.DESCUENTO := APedido.Detalles.DESCUENTO; - ADetalles.IMPORTE_PORTE := APedido.Detalles.IMPORTE_PORTE; - ADetalles.VISIBLE := APedido.Detalles.VISIBLE; - ADetalles.REFERENCIA_PROVEEDOR := APedido.Detalles.REFERENCIA_PROVEEDOR; - ADetalles.Post; - AArticulosPendientes.Next; - end; - end; - finally - ADetallesController.EndUpdate(ADetalles); - ADetallesController := NIL; - end; -end; } - -procedure Inicializar; -begin - dmGenerarFacturasProv := TdmGenerarFacturasProv.Create(nil); - APedidosProveedorController := TPedidosProveedorController.Create; - ADetallesPedidosProveedorController := TDetallesPedidoProveedorController.Create; - AFacturasProveedorController := TFacturasProveedorController.Create; -// AProveedoresController := TProveedoresController.Create; -end; - -procedure Finalizar; -begin - FreeAndNIL(dmGenerarFacturasProv); - APedidosProveedorController := nil; - ADetallesPedidosProveedorController := nil; - AFacturasProveedorController := nil; -// AProveedoresController := nil; -end; - - -function GenerarFacturaProv(const IDPedido : Integer) : Boolean; overload; -var - APedido : IBizPedidoProveedor; -begin - Result := False; - if not Assigned(APedidosProveedorController) then - Inicializar; - - APedido := APedidosProveedorController.Buscar(IDPedido); - Result := GenerarFacturaProv(APedido); - - if Assigned(APedidosProveedorController) then - Finalizar; -end; - -function GenerarFacturaProv(APedidos : IBizPedidoProveedor) : Boolean; overload; -var - ARespuesta : Integer; - AFacturasNuevas : IBizFacturaProveedor; -// AArticulos: IBizPedidoClienteArticulosPend; - i: Integer; -begin - Result := False; - if not Assigned(APedidosProveedorController) then - Inicializar; - - if not Assigned(APedidos) then - raise Exception.Create('Albarán de proveedor no asignado (GenerarFacturaProv)'); - - if not APedidos.DataTable.Active then - APedidos.DataTable.Active := True; - - try - AFacturasNuevas := AFacturasProveedorController.Nuevo(False); - if AFacturasProveedorController.Anadir(AFacturasNuevas, APedidos.ID) then - begin - if AFacturasNuevas.DataTable.RecordCount = 1 then - AFacturasProveedorController.Ver(AFacturasNuevas) - else begin - with dmGenerarFacturasProv.JsListaFacturasGeneradas.Content do - begin - Clear; - AFacturasNuevas.DataTable.Last; - for i := 0 to AFacturasNuevas.DataTable.RecordCount - 1 do - begin - if Length(AFacturasNuevas.REFERENCIA) > 0 then - Add(AFacturasNuevas.REFERENCIA + ': ' + AFacturasNuevas.NOMBRE); - AFacturasNuevas.DataTable.Prior; - end; - end; - dmGenerarFacturasProv.JsListaFacturasGeneradas.Execute; - end; -// actRefrescar.Execute; - end; - finally - AFacturasNuevas := NIL; - end; -end; - -function GenerarFacturaProv : Boolean; overload; -var - APedidos : IBizPedidoProveedor; -begin -{ - Result := False; - if not Assigned(APedidosProveedorController) then - Inicializar; - - APedidos := APedidosProveedorController.ElegirPedidos(APedidosProveedorController.BuscarSinFacturar, - 'Elija el albarán o Pedidos de proveedor que desea utilizar para dar de alta la factura.' - + #10#13 + 'Si elige Pedidos de proveedores diferentes se dará de alta una factura por cada uno de ellos.' , True); - - Result := GenerarFacturaProv(APedidos); - - if Assigned(APedidosProveedorController) then - Finalizar; -} -end; - -end. diff --git a/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/uGenerarFacturasProvUtils.dfm b/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/uGenerarFacturasProvUtils.dfm deleted file mode 100644 index 182262d..0000000 --- a/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/uGenerarFacturasProvUtils.dfm +++ /dev/null @@ -1,315 +0,0 @@ -object dmGenerarFacturasProv: TdmGenerarFacturasProv - OldCreateOrder = False - Height = 176 - Width = 254 - object JsListaFacturasGeneradas: TJSDialog - Glyph.Data = { - 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00 - 00001C0806000000720DDF940000000970485973000017120000171201679FD2 - 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14 - 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD - 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2 - 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD - B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010 - 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3 - 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045 - A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8 - 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281 - 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87 - A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F - 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B - EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F - 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8 - 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10 - 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8 - CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF - 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32 - F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF - 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165 - 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF - 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2 - ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312 - FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312 - 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA - 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082} - Instruction.Text = 'Se ha generado el albar'#195#161'n...' - Instruction.Glyph.Data = { - 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00 - 00001C0806000000720DDF940000000970485973000017120000171201679FD2 - 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14 - 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD - 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2 - 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD - B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010 - 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3 - 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045 - A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8 - 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281 - 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87 - A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F - 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B - EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F - 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8 - 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10 - 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8 - CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF - 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32 - F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF - 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165 - 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF - 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2 - ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312 - FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312 - 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA - 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082} - Instruction.Icon = tdiCustom - CustomButtons = < - item - Caption = 'Ver el albar'#225'n' - Value = 100 - end - item - Caption = 'Continuar' - Value = 200 - Cancel = True - end> - ButtonBar.Buttons = [] - ButtonBar.Cancel = cbOK - ButtonBar.UseCancel = False - MainIcon = tdiCustom - Title = 'FactuGES' - Position = dpMainFormCenter - Icon.Data = { - 0000010003002020100001000400E8020000360000002020000001000800A808 - 00001E0300002020000001002000A8100000C60B000028000000200000004000 - 0000010004000000000000020000000000000000000000000000000000000000 - 000000008000008000000080800080000000800080008080000080808000C0C0 - C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000 - 0000000000000000000000000000000008777777777777777777777700000000 - 0877767777677776777767760000000008F88888888888888888888700000000 - 08F8FF8F8F888888888888860000000008FF8F8F88F8F8888888888C00000000 - 08F88888F8888888888888860000000008F8688878E8888E88E8788700000000 - 08F8688888F8F8FFFFFF88760000000008FF4888888F8FFFFFFF788700000000 - 08F8676767677677677658E50000000008FF8888888887878787888700000000 - 08FF8887887E8888888888860000000008FFE8E8E788C8E8FF8F8F8600000000 - 08FFF8F8F8F8FF8F88F8F8870000000008FFFFFF8FF8F8F8F88F888600000000 - 0FF8477878787878788788860000000008FF68888888F8FF8F8F788700000000 - 08B7588888FF8FFFFFFF78860000083008BB47887776777777776F86000000B7 - 8B9B73BB88788787E87878870000008BB8B9BB78888888EFF8F8FF8600000087 - B8BB8B888E8E8E88FFF8F886000000088BBB888FFFFFFFFFF8F877770000B9BB - B8FFBB9B9BFFFFFFF87466460000BBB9BB8FBBBBB8FFFFFFF88F888700000008 - B8BB88888FFFFFFFF88F8F7700000008BBBBBB8FFFFFFFFFFF8887700000007B - B7B98BB8FFFFFFFFF8887700000000B78B9B87B888F88F88F8877000000007B0 - 08BB883B78888788787700000000000000B9000000000000000000000000FFFF - FFFFF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800 - 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800 - 000FF800000FF800000F9800000FC000000FC000000FC000000FE000000F0000 - 000F0000000FE000000FE000001FC000003FC000007F980000FFFCFFFFFF2800 - 0000200000004000000001000800000000000004000000000000000000000001 - 00000001000000000000694731007C5D49007E604C0081635000826451008567 - 540085685500886B5900896D5B008A6E5D008B705F008E715F008B7260008C72 - 61008E74640084766C00957A6900977D6D00887B72009A8171009D8272009C84 - 76009D8778009F897B00A28A7900A08B7D00A18C7E00E1B06E00E1B67D003E7A - 970073A0A5007AA2B70074AFBD007BB2BB003CAACE0028A5DB0020ADDF000D9A - E500209EE3000DA6E2001AA4EF0000A6FF000CABFE0009ACFE0010A4F10015AC - FA0000B5FB0000B0FD000CB6FC0000BFF90000BAFD0004BAFD0009BBFB0013B6 - F40015BFFA001CBDFB0026B7FD00589EC50040A4CD0040ABCC0050A2C7005DAE - C00060A3C20062A4C60060B7CB006AB0CD007BB6C80077BAC80061BADD0044AD - E50000C3F80007C6FB0000CAF80000CFFB0000D4F90026C8FA0026CDF8002BCC - F90039C4FB0039C2FC0039CAFA003FCFFB0024D6F80030D2F80039D5F80000F8 - F8001FF8F8002CF6F8003EF4F8005AC6DC0070CDDF0052C0E40054C9E3004DCE - FA005FC7FF004FD2FB004DD9F8005FD9FB006ED3E70063CDFE0060D1FB0060D8 - F90060DDF80046F8F90056F0F8005FFAFA0073E3F80073E4F90073EEF80060F1 - F800958A84009A918C0081999500A68F8200AD968500A3968C00AE988900AD9A - 8D00B19A8B00AF9C9000B09E9200B59F9200B7A29300B2A19600B5A19400B7A4 - 9700BDA79700B4A39800B1A59D00B4A79F00BAA69800BCA79900B4A89F00BCA8 - 9900BAA89C00BDAA9D00BEAC9E0083ADBD00B5A9A100BDABA000BEADA100BFAF - A500A0BABE00C0AB9E00C1AC9E00C6AE9F00E2B98100E4BA8300E4BB8400E5BC - 8500E1BD8E00E3BF9000C0ADA000C2B0A300C2B1A500C4B2A600C1B2A800C3B5 - AB00C8B4A800CCB9AD00CEBCB100D0BEB200D1BFB400E4C19300E5C29400E6C4 - 9600E8C69900D0C9A300CFC1B800D2C1B600D3C3B800D5C4B900D6C6BC00D8C6 - BC00D6C8BE00DAC9BF00ECD3B000EDD4B200EFD6B500E7D1B800E7D3BD00F0D8 - B6008CB7C40080BEC70097C3C70099C3C900ABD7CF00AFD9DD0086E3F90086E7 - F90086ECF8009EE5FB0090E8F900ACEDFC00BCEAFD00BCF1FB00BFF1FD00D7C9 - C000D9CAC100DCCBC200DACCC200DDCCC300DACCC400DDCEC400DED0C600DED1 - C900DED3CC00DFD4CD00E1D1C900E2D5CD00F0DCC200E3D8D200E5D9D200E2DA - D500E6DBD400E5DCD500E8DDD600E6DDD800E9DFD900E6E0DB00EAE0DA00EAE2 - DD00ECE3DE00EBE4DE00ECE4DE00F3E7D900C6E1EF00C9EFFD00D7F6FD00DFF3 - FF00DFFEFE00EBE7E300EDE6E100EFE7E400EEE8E400F0EAE600F2EDE900F2EE - EC00F4EFEC00F5F0EE00F9F4ED00E7FAFD00EBF8FF00F6F2F000F7F4F100F8F4 - F200F9F7F500FAF8F600FBF9F900FCFBFA00FCFCFB00FEFEFE00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000007D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D - 0D0D0000000000000000009C9C19191919191919191919191919191919191919 - 1903000000000000000000ABDECBCBC7C7AFABABABABAAA3A2A2A0A0A0A0A0A0 - 8607000000000000000000ABECEAE9DEDEDEDED7D5D2D2D2CBCBCBCBB0CBB0CB - 9007000000000000000000ABEDECEAE9DEDEDBD7D7D5D2D2D2CDCDCBB0B0B0B0 - 9007000000000000000000AFEDE9A9CFD2CFD2CDCBCBCBB0B0ABACA3A3A3A3B0 - 9007000000000000000000AFF0D5017783838386868686869099909999907BB0 - 9007000000000000000000B0F4D501A0B0CBD2D5DEECEDF7FAFAFAFAFAF77BAA - 9007000000000000000000CBF4DC01A0B0B0B0D2D5DBEAEDF7FAFAFAFAF47BB0 - 9007000000000000000000CBF8DC010404070604090909090D0D110D110D02A3 - 9007000000000000000000CBFAED9E9E9E9C999E8C8C8C868683837E7D7D7ACB - 9007000000000000000000CBFAF1A7A7A6A6A6A69898989898B5DBDBD5D5D2D2 - 9907000000000000000000CDFAF796969696961D961D931D1DB4DEDBD7D5D5D2 - 9C07000000000000000000CFFAFAFAFAF8F7F0F0EDEDEDECE9E9DEDEDED7D5D5 - 9907000000000000000000CDFAFAEAF0EDEDECEAEAE9DEDEDBDCD5D5D5D5D2D5 - 9C07000000000000000000D2FAEC01737D7D7B7D7D7B7D7B7D7B7B7B7D7B7DD2 - 9907000000000000000000CFFAEC019EABB0CBD2D5DCDEECEDF4F4F4F4EA7BD2 - 9C07000000000000000000B9524601A0B0B0CBB5D5DEEAEDF7FAFAFAFAF47DD5 - 9C070000000000213F0000B83226010C3F5C1F111214141616191B1B1B1807D2 - 9C07000000000000253D8A5B322D711E2860BA7E7E7A7E797A797979767676D5 - 9E0700000000000041375E662F2B65314EBBB6B6B6B6B4B4B1E2F4EDEDEDECEA - 9C070000000000008F5D66663232394EC1A81C1C1C1C1C1C1CD3F7F4EDDED7D5 - 9C0700000000000000B7BE6E5758BEBDE4E6E6F3FAFAFAFAFAFAF7F4D5928675 - 7304000000002A2A2A2A4A6AFAE7562F2A2A2A5FFAFAFAFAFAFAF8D577010101 - 0101000000004747472F4A59C5E7564A32474766FAFAFAFAFAFAFADCA0D2CFB0 - A20C00000000000000436C6958686D6BC2C5C5E7FAFAFAFAFAFAFADEAADEDBCB - 1470000000000000004551534A4A5250C0E7FAFAFAFAFAFAFAFAFADEAAD7B514 - 700000000000000042384C54472B613550C3FAFAFAFAFAFAFAFAFADEA1B0196F - 000000000000000024234463322EBC5A3664E3ECE9E9E9E9E9E9E9CF90731300 - 000000000000003A3C00002232298B8B3E3B207E8B7E8B7E827E817E74100000 - 0000000000000000000000003227000000000000000000000000000000000000 - 000000000000FFFFFFFFF800000FF800000FF800000FF800000FF800000FF800 - 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800 - 000FF800000FF800000FF800000FF800000F9800000FC000000FC000000FC000 - 000FE000000F0000000F0000000FE000000FE000001FC000003FC000007F9800 - 00FFFCFFFFFF2800000020000000400000000100200000000000801000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000007067 - 5F70AA9382E570513CE3735540E3735540E3735540E3735540E3735540E37355 - 40E3735540E3735540E3735540E3735540E3735540E3735540E3735540E37355 - 40E3735540E3735540E3735540E3735540E3735540E3735540E372533EE5BAAB - A070000000000000000000000000000000000000000000000000000000005E54 - 4C7FCAB7ABFFC5B5AAFFA18877FFA28A78FFA28A79FFA28A79FFA28A79FFA28A - 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A - 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA58D7CFF7A5B46FFB2A1 - 967F000000000000000000000000000000000000000000000000000000006055 - 4D7ED7C6BBFFEDE4E0FFD9CCC4FFD9CCC4FFD9CBC3FFD8CAC1FFD7C9BFFFD6C7 - BDFFD5C6BBFFD4C4BAFFD3C3B8FFD2C1B7FFD1C0B5FFD0BEB3FFCFBDB2FFCEBC - B0FFCEBBAFFFCEBBAFFFCEBBAFFFCEBBAFFFCEBCB0FFBEAA9CFF82644FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006056 - 4D7ED7C8BCFFF2EBE8FFEFE9E5FFEEE7E2FFECE5E0FFEBE2DEFFEAE0DBFFE9DE - D8FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCDC4FFDCCB - C2FFDBC9BFFFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC1FFC1AC9FFF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006155 - 4E7ED8C9BDFFF3EDE9FFF1EAE6FFF0E9E6FFEEE6E1FFECE4DFFFEBE2DDFFEAE0 - DAFFE9DED7FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCD - C4FFDCCBC2FFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC0FFC1AC9FFF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006157 - 4E7ED9C9BFFFF4EFEDFFEFE8E3FFD0C2B9FFDFD5CEFFE0D5CEFFE0D4CCFFDED3 - CBFFDDD1C8FFDCCFC6FFDACCC4FFD9CBC1FFD8C9BFFFD7C7BDFFD6C5BBFFD5C4 - B9FFD3C2B7FFD2C0B5FFD2BFB4FFD2BFB4FFDAC8BEFFC1AC9FFF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006256 - 4F7EDACCC0FFF5F2EFFFE5DDD9FF5C3821FFB0998AFFB8A394FFB8A394FFB9A3 - 94FFB8A495FFB9A597FFB9A698FFBAA698FFBBA799FFBBA89AFFBBA89BFFBCA8 - 9BFFBCA89BFFBCA89BFFBBA89AFFB49E8FFFD8C6BBFFC1AC9FFF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006256 - 4F7EDBCBC1FFF8F4F3FFE7E0DBFF5F3C24FFD0BDB2FFDCCBC1FFDDCCC3FFE2D2 - CBFFE7DBD4FFEDE2DEFFF0E8E6FFF5F0EDFFF9F7F4FFFDFDFDFFFFFFFFFFFFFF - FFFFFFFFFFFFFFFFFFFFFAF8F7FFB39D8DFFD8C6BBFFC1AC9FFF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006256 - 4F7EDCCEC3FFFAF6F5FFE9E2DDFF5F3C24FFD2BFB5FFDFCDC4FFDECCC3FFE0CE - C6FFE4D4CDFFE9DDD6FFEFE4E0FFF1EAE8FFF7F1EFFFFBF8F6FFFFFEFFFFFFFF - FFFFFFFFFFFFFFFFFFFFFCFBFAFFB5A090FFD9C7BEFFC1AD9FFF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006257 - 4F7EDDCFC4FFFCF9F9FFE9E4E0FF5F3A23FF7C5D49FF7F5F4CFF7E5F4CFF7E60 - 4DFF7F614DFF816350FF826552FF836654FF846856FF856A57FF866B59FF876C - 5BFF876D5BFF876D5BFF866B59FF72523DFFD5C3B9FFC1AFA1FF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006357 - 507EDECFC6FFFCFCFBFFF4F1F0FFC3B6AEFFC3B5ADFFC1B4ACFFC0B3AAFFBFB1 - A9FFBEB0A6FFBDAEA5FFBDACA3FFBCABA2FFBBAAA0FFBAA99FFFB8A69AFFB8A4 - 98FFB6A396FFB5A194FFB49F93FFB39D90FFDCCDC4FFC2AEA1FF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006357 - 507EDFD2C7FFFEFEFDFFF9F5EFFFE8C696FFE9C799FFE8C697FFE7C596FFE7C4 - 95FFE6C394FFE5C293FFE4C091FFE4C090FFE3BF8FFFE2BD8CFFE9D5BFFFEBE1 - DCFFEADFD8FFE7DCD5FFE5DAD3FFE4D8D0FFE3D4CCFFC2AFA2FF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006458 - 517EE0D3C8FFFFFFFFFFFAF5EFFFE3B77CFFE4B97FFFE2B87EFFE3B77DFFE2B7 - 7CFFE2B67BFFE1B57AFFE1B479FFE0B478FFE0B377FFDFB174FFE6D0B7FFEBE1 - DCFFE8DFD9FFE8DDD6FFE6D9D2FFE3D8D1FFE4D7CFFFC3AFA2FF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006458 - 517EE1D2C9FFFFFFFFFFFEFEFDFFFEFFFFFFFCFDFEFFFBFBFBFFF9F7F8FFF8F5 - F6FFF7F3F2FFF5F1F0FFF4EFEEFFF1EDEBFFF0EBE9FFEEE9E6FFEDE6E2FFECE3 - DEFFEBE1DBFFE9DFD9FFE8DDD6FFE6DAD3FFE5D9D2FFC3B0A3FF81634FFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006459 - 517EE1D4CAFFFFFFFFFFFDFDFCFFEEEBE8FFF5F2F0FFF4F0EFFFF3EFECFFF2ED - EAFFF1EBE8FFEEE9E5FFEFE7E3FFECE5E1FFEAE4DEFFEAE1DCFFE8E0DAFFE7DE - D8FFE6DDD6FFE5DBD4FFE4D8D1FFE2D6CEFFE6DBD4FFC3B1A4FF81634EFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006559 - 527EE2D4CAFFFFFFFFFFF0ECEAFF5B361EFFAB9383FFB39D8EFFB39D8DFFB39D - 8DFFB29D8DFFB29C8DFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C - 8CFFB29C8CFFB29C8CFFB29C8DFFB39D8EFFE3D8D0FFC4B1A4FF81634EFFB2A1 - 967E000000000000000000000000000000000000000000000000000000006559 - 527EE5D4CAFFFFFFFFFFF7F0EBFF5F3B24FFCCB8ADFFD7C5BAFFD9C7BDFFDCCC - C3FFE1D4CCFFE5DAD4FFE8E0DBFFEDE5E1FFF1EBE9FFF5F2EFFFF7F5F3FFF8F6 - F4FFF8F5F4FFF8F6F4FFF1EEEAFFB29C8DFFE6DAD3FFC4B2A5FF81634EFFB2A1 - 967E00000000000000000000000000000000000000000000000000000000685A - 527E9AC6C9FF35CFFEFF3DAEEBFF663E24FFD2BFB4FFE0CBBFFFE0C9BDFFE1CD - C4FFE4D5CDFFE9DED7FFEEE5E0FFF2EBE8FFF6F2F0FFFCF8F8FFFFFFFEFFFFFF - FFFFFFFFFFFFFFFFFFFFFCFAF9FFB49E8FFFE7DED7FFC5B3A6FF81634EFFB2A1 - 967E00000000000000000000000000000000007792910072A7A3001E33366957 - 4C7C86C1C8FF00BFFBFF079AEBFF6A3E23FF926D57FF5FA3C8FF4AC1E8FF6C9C - A2FF917260FF927767FF947A69FF957C6CFF977E6FFF998171FF9A8374FF9B85 - 76FF9C8678FF9C8678FF998274FF7D5E49FFE3D9D4FFC5B3A7FF81634EFFB2A1 - 967E00000000000000000000000000000000005A6F7000A9E5E40075AEAE5C90 - A5BD75D0E0FF00BFFAFF0CA3F4FF8A9A91FF3C7492FF03A4E4FF4AD5FFFF98C4 - CBFFB3A196FFB1A197FFB0A096FFB09F95FFAF9D92FFAF9C91FFAD9A8EFFAC99 - 8CFFAB988AFFAB9789FFAA9688FFA99386FFE8E0DAFFC5B4A7FF81634EFFB2A1 - 967E00000000000000000000000000000000000000002DA5BFC110C2FFFF4DD0 - FDFF64DBF9FF00B3FAFF09A8FEFF68D7FFFF04B5FFFF24CCFBFFAFD8CEFFF7DA - B8FFF3DBBBFFF3DBBAFFF2D9B9FFF1D8B7FFF0D7B4FFEED5B2FFF6EADDFFF9F6 - F4FFF7F3F1FFF5F1EEFFF5EFECFFF4EDEAFFF1EBE7FFC6B4A8FF81634EFFB2A1 - 967E00000000000000000000000000000000000000005F8A909142C7E4E960DE - F8FF64D7FAFF00B6FDFF00B8FDFF21B2FDFF1ECCF7FF93EBFCFFD2C69BFFE1AB - 63FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDEA961FFEFDBC0FFF8F6 - F5FFF6F2F0FFF3EDEBFFECE2DCFFE9DFD9FFE5DBD6FFC2B1A4FF81634FFFB2A1 - 967E000000000000000000000000000E171A000E171A00040B145994A4A990EB - FCFF61F1F7FF13FAF7FF23F9F7FF93EDF7FF8CE5F8FFD5F2FDFFE9F8FFFFE7F8 - FFFFF0FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFDFEFFFFFAFAF9FFF9F7 - F5FFF7F2F0FFE8DFD8FFC7AE9FFFBEA998FFAF9888FFB09A8AFF7F604DFFB2A1 - 967E00000000000000000000000000AAFFFF00AAFFFF00AAFFFF00A4FFFF00CD - FAFF5DFCF9FFFFFFFFFFEEFEFEFF00FBF7FF00AAFEFF00A1FFFF00A1FFFF00A0 - FFFF56C3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFDFBFFFCFBFAFFFBFA - F8FFE6DDD6FFAA9180FF5D3922FF603D26FF613E27FF613E28FF634029FFB4A3 - 987E00000000000000000000000000CAFFFF00CAFFFF00CBFFFF00B0FFFF00CD - FBFF38F5F7FFC3EFFAFFF0FFFEFF00FAF7FF00C8F7FF00C2F7FF00C2F7FF00C1 - F7FF57D7FAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFDFDFCFFFCFC - FBFFE7DED8FFCCB9ACFFE6DBD5FFE2D7D0FFDCCFC5FFD7C5BBFF8E705DFFB4A2 - 9680000000000000000000000000002E383C002E383C00252F364C99B0B57DE8 - FBFF59F1F7FF25F7F7FF41FAF8FF7CEEF7FF77E4F7FFB5EFFCFFC6F2FDFFC3F2 - FDFFD9F6FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFEFFFEFE - FEFFE9E1DAFFCEBCAFFFF1E9E3FFEADFD8FFE4D5CCFF9D816FFF3A291F868985 - 831C00000000000000000000000000000000000000004E7073774AB0DADC37C9 - FBFF22D5F7FF00D3F9FF02C3FBFF37D5F7FF34BEFCFFA2E6FAFFECFBFDFFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF - FFFFEAE2DCFFCDBBADFFEADFD8FFE3D5CBFF9F8271FF3E2D2386050100200000 - 000000000000000000000000000000000000000000003E9CC4C219C0FFFF23C9 - FCFF30D3F8FF00BEF8FF06A8FEFF4FDCF8FF00B8FCFF32C2FBFFC0EBFCFFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFEAE3DEFFCDB9ABFFDDCEC4FFA58979FF3E2C1F8F0905041B000000000000 - 000000000000000000000000000000000000003451510099DDDB0091C0C35DAD - BCCF76D7E9FF00BEF9FF10A9FBFFBDDEDEFF5AC8DDFF0AB5F7FF62CEFFFFCBE4 - F1FFF1E7E0FFEFE7E1FFEEE6E1FFEEE6E1FFEEE6E0FFEDE6E0FFEDE5E0FFEEE6 - E1FFE1D4CCFFC5AE9FFFA68D7FF53E2718A10402000E00000000000000000000 - 0000000000000000000000000000000000000075B7AF0099C7C500323E425442 - 3B5C6BA8B1DA00C1FCFF0EA1F3F8A98E80C0AB9081C12698B1C10088C4C14C85 - A3C1A18D80C19E8D81C19E8B81C19D8C80C19B8C7FC19B8A7FC19C897FC19A89 - 7EC19B8B7EC1897769C2432B1BAC000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000045565A00C5FFFF0094E6E2000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000FFFFFFFFF0000007F0000007F0000007F000 - 0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000 - 0007F0000007F0000007F0000007F0000007F0000007F0000007800000078000 - 0007C0000007C000000700000007000000070000000700000007C000000FC000 - 001F8000003F800000FFF8FFFFFF} - Width = 450 - Left = 72 - Top = 16 - end -end diff --git a/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/uGenerarFacturasProvUtils.pas b/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/uGenerarFacturasProvUtils.pas deleted file mode 100644 index ad87ec5..0000000 --- a/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/uGenerarFacturasProvUtils.pas +++ /dev/null @@ -1,234 +0,0 @@ -unit uGenerarFacturasProvUtils; - -interface - -uses - Windows, SysUtils, Classes, uBizAlbaranesProveedor, pngimage, JSDialog; - -type - TdmGenerarFacturasProv = class(TDataModule) - JsListaFacturasGeneradas: TJSDialog; - end; - - function GenerarFacturaProv(const IDAlbaran : Integer) : Boolean; overload; - function GenerarFacturaProv(AAlbaranes : IBizAlbaranProveedor) : Boolean; overload; - function GenerarFacturaProv : Boolean; overload; - -implementation - -{$R *.dfm} - -uses - uDialogUtils, - uBizDetallesAlbaranProveedor, - uAlbaranesProveedorController, uDetallesAlbaranProveedorController, - uFacturasProveedorController, uBizFacturasProveedor, uBizDetallesFacturaProveedor; - -// , -// , uProveedoresController, -// , uControllerDetallesBase, - - -// , uBizContactos, schPedidosClienteClient_Intf, -// schAlbaranesProveedorClient_Intf; - -var - dmGenerarFacturasProv: TdmGenerarFacturasProv; - AAlbaranesProveedorController : IAlbaranesProveedorController; - ADetallesAlbaranesProveedorController : IDetallesAlbaranProveedorController; - AFacturasProveedorController : IFacturasProveedorController; -// AProveedoresController : IProveedoresController; - -{ Métodos auxiliares } -{procedure CopiarPedidoAAlbaran(APedido: IBizPedidoCliente; - AAlbaran : IBizFacturaProveedor); -begin - if not Assigned(AAlbaran) then - raise Exception.Create ('Albarán no asignado (CopiarPedidoAAlbaran)'); - - if not Assigned(APedido) then - raise Exception.Create ('Pedido no asignado (CopiarPedidoAAlbaran)'); - - if not APedido.DataTable.Active then - APedido.DataTable.Active := True; - - // El albarán tiene que venir ya abierto y posicionado donde hay que copiar - AAlbaran.ID_CLIENTE := APedido.ID_CLIENTE; - AAlbaran.ID_PEDIDO := APedido.ID; - AAlbaran.CALLE := APedido.CALLE; - AAlbaran.CODIGO_POSTAL := APedido.CODIGO_POSTAL; - AAlbaran.POBLACION := APedido.POBLACION; - AAlbaran.PROVINCIA := APedido.PROVINCIA; - AAlbaran.PERSONA_CONTACTO := APedido.PERSONA_CONTACTO; - AAlbaran.TELEFONO := APedido.TELEFONO; - AAlbaran.IMPORTE_NETO := APedido.IMPORTE_NETO; - AAlbaran.IMPORTE_PORTE := APedido.IMPORTE_PORTE; - AAlbaran.DESCUENTO := APedido.DESCUENTO; - AAlbaran.IMPORTE_DESCUENTO := APedido.IMPORTE_DESCUENTO; - AAlbaran.BASE_IMPONIBLE := APedido.BASE_IMPONIBLE; - AAlbaran.IVA := APedido.IVA; - AAlbaran.IMPORTE_IVA := APedido.IMPORTE_IVA; - AAlbaran.IMPORTE_TOTAL := APedido.IMPORTE_TOTAL; - AAlbaran.DataTable.FieldByName(fld_AlbaranesClienteOBSERVACIONES).AsVariant := APedido.DataTable.FieldByName(fld_PedidosClienteOBSERVACIONES).AsVariant; - AAlbaran.ID_FORMA_PAGO := APedido.ID_FORMA_PAGO; -end; - -procedure CopiarArticulosPendAAlbaran( - APedido: IBizPedidoCliente; - AAlbaran: IBizFacturaProveedor; - AArticulosPendientes: IBizPedidoClienteArticulosPend); -var - i : integer; - ADetalles : IBizDetallesFacturaProveedor; - ADetallesController : IDetallesFacturaProveedorController; -begin - if not Assigned(AAlbaran) then - raise Exception.Create ('Albarán no asignado (CopiarArticulosPendAAlbaran)'); - - if not Assigned(APedido) then - raise Exception.Create ('Pedido no asignado (CopiarArticulosPendAAlbaran)'); - - if not Assigned(AArticulosPendientes) then - raise Exception.Create ('Artículos pendientes no asignado (CopiarArticulosPendAAlbaran)'); - - if not AArticulosPendientes.DataTable.Active then - AArticulosPendientes.DataTable.Active := True; - - // El albarán tiene que venir ya abierto y posicionado donde hay que copiar - - ADetalles := AAlbaran.Detalles; - ADetallesController := TDetallesFacturaProveedorController.Create; - try - //OJO IMPORTANTE - //Siempre que vayamos a trabajar con los detalles debemos hacer un beginupdate de los mismos y un endupdate para - //obligarle siempre a recalcular los detalles una sola vez - ADetallesController.BeginUpdate(ADetalles); - - AArticulosPendientes.DataTable.First; - for i := 0 to AArticulosPendientes.DataTable.RecordCount - 1 do - begin - APedido.Detalles.First; - if (APedido.Detalles.Locate('ID_ARTICULO', AArticulosPendientes.ID_ARTICULO, [])) then - if (AArticulosPendientes.CANTIDAD_PENDIENTE > 0) then - begin - ADetallesController.Add(ADetalles, TIPO_DETALLE_CONCEPTO); - ADetalles.Edit; - ADetalles.REFERENCIA := APedido.Detalles.REFERENCIA; - ADetalles.ID_ARTICULO := APedido.Detalles.ID_ARTICULO; - ADetalles.CONCEPTO := APedido.Detalles.CONCEPTO; - ADetalles.CANTIDAD := AArticulosPendientes.CANTIDAD_PENDIENTE; - ADetalles.IMPORTE_UNIDAD := APedido.Detalles.IMPORTE_UNIDAD; - ADetalles.IMPORTE_TOTAL := APedido.Detalles.IMPORTE_TOTAL; - ADetalles.DESCUENTO := APedido.Detalles.DESCUENTO; - ADetalles.IMPORTE_PORTE := APedido.Detalles.IMPORTE_PORTE; - ADetalles.VISIBLE := APedido.Detalles.VISIBLE; - ADetalles.REFERENCIA_PROVEEDOR := APedido.Detalles.REFERENCIA_PROVEEDOR; - ADetalles.Post; - AArticulosPendientes.Next; - end; - end; - finally - ADetallesController.EndUpdate(ADetalles); - ADetallesController := NIL; - end; -end; } - -procedure Inicializar; -begin - dmGenerarFacturasProv := TdmGenerarFacturasProv.Create(nil); - AAlbaranesProveedorController := TAlbaranesProveedorController.Create; - ADetallesAlbaranesProveedorController := TDetallesAlbaranProveedorController.Create; - AFacturasProveedorController := TFacturasProveedorController.Create; -// AProveedoresController := TProveedoresController.Create; -end; - -procedure Finalizar; -begin - FreeAndNIL(dmGenerarFacturasProv); - AAlbaranesProveedorController := nil; - ADetallesAlbaranesProveedorController := nil; - AFacturasProveedorController := nil; -// AProveedoresController := nil; -end; - - -function GenerarFacturaProv(const IDAlbaran : Integer) : Boolean; overload; -var - AAlbaran : IBizAlbaranProveedor; -begin - Result := False; - if not Assigned(AAlbaranesProveedorController) then - Inicializar; - - AAlbaran := AAlbaranesProveedorController.Buscar(IDAlbaran); - Result := GenerarFacturaProv(AAlbaran); - - if Assigned(AAlbaranesProveedorController) then - Finalizar; -end; - -function GenerarFacturaProv(AAlbaranes : IBizAlbaranProveedor) : Boolean; overload; -var - ARespuesta : Integer; - AFacturasNuevas : IBizFacturaProveedor; -// AArticulos: IBizPedidoClienteArticulosPend; - i: Integer; -begin -{ - Result := False; - if not Assigned(AAlbaranesProveedorController) then - Inicializar; - - if not Assigned(AAlbaranes) then - raise Exception.Create('Albarán de proveedor no asignado (GenerarFacturaProv)'); - - if not AAlbaranes.DataTable.Active then - AAlbaranes.DataTable.Active := True; - - try - AFacturasNuevas := AFacturasProveedorController.Nuevo(False); - if AFacturasProveedorController.Anadir(AFacturasNuevas, AAlbaranes) then - begin - if AFacturasNuevas.DataTable.RecordCount = 1 then - AFacturasProveedorController.Ver(AFacturasNuevas) - else begin - with dmGenerarFacturasProv.JsListaFacturasGeneradas.Content do - begin - Clear; - AFacturasNuevas.DataTable.Last; - for i := 0 to AFacturasNuevas.DataTable.RecordCount - 1 do - begin - if Length(AFacturasNuevas.REFERENCIA) > 0 then - Add(AFacturasNuevas.REFERENCIA + ': ' + AFacturasNuevas.NOMBRE); - AFacturasNuevas.DataTable.Prior; - end; - end; - dmGenerarFacturasProv.JsListaFacturasGeneradas.Execute; - end; -// actRefrescar.Execute; - end; - finally - AFacturasNuevas := NIL; - end; -} -end; - -function GenerarFacturaProv : Boolean; overload; -var - AAlbaranes : IBizAlbaranProveedor; -begin - Result := False; - if not Assigned(AAlbaranesProveedorController) then - Inicializar; - - AAlbaranes := AAlbaranesProveedorController.ElegirAlbaranes(AAlbaranesProveedorController.BuscarSinFacturar, - 'Elija el albarán o albaranes de proveedor que desea utilizar para dar de alta la factura.' - + #10#13 + 'Si elige albaranes de proveedores diferentes se dará de alta una factura por cada uno de ellos.' , True); - - Result := GenerarFacturaProv(AAlbaranes); - - if Assigned(AAlbaranesProveedorController) then - Finalizar; -end; - -end. diff --git a/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/PreCli_FacCli_relation.dpk b/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas proforma/PreCli_FacPro_relation.dpk similarity index 69% rename from Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/PreCli_FacCli_relation.dpk rename to Source/Modulos/Relaciones/Presupuestos de cliente - Facturas proforma/PreCli_FacPro_relation.dpk index 3d61622..b784118 100644 --- a/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas de cliente/PreCli_FacCli_relation.dpk +++ b/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas proforma/PreCli_FacPro_relation.dpk @@ -1,4 +1,4 @@ -package PreCli_FacCli_relation; +package PreCli_FacPro_relation; {$R *.res} {$ALIGN 8} @@ -27,10 +27,10 @@ package PreCli_FacCli_relation; requires PresupuestosCliente_model, PresupuestosCliente_controller, - FacturasCliente_controller, - FacturasCliente_model; + FacturasProforma_controller, + FacturasProforma_model; contains - uGenerarFacturasCliPreCliUtils in 'uGenerarFacturasCliPreCliUtils.pas' {dmGenerarFacturasCli}; + uGenerarFacturasProPreCliUtils in 'uGenerarFacturasProPreCliUtils.pas' {dmGenerarFacturasProPre}; end. diff --git a/Source/Modulos/Relaciones/Presupuestos de cliente - Albaranes de cliente/PreCli_AlbCli_relation.dproj b/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas proforma/PreCli_FacPro_relation.dproj similarity index 82% rename from Source/Modulos/Relaciones/Presupuestos de cliente - Albaranes de cliente/PreCli_AlbCli_relation.dproj rename to Source/Modulos/Relaciones/Presupuestos de cliente - Facturas proforma/PreCli_FacPro_relation.dproj index d9590a3..80501a5 100644 --- a/Source/Modulos/Relaciones/Presupuestos de cliente - Albaranes de cliente/PreCli_AlbCli_relation.dproj +++ b/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas proforma/PreCli_FacPro_relation.dproj @@ -1,11 +1,11 @@  {69494a8c-0a35-41ea-b8ec-ea790bfc0662} - PreCli_AlbCli_relation.dpk + PreCli_FacPro_relation.dpk Debug AnyCPU DCC32 - ..\..\..\..\Output\Debug\Cliente\PreCli_AlbCli_relation.bpl + ..\..\..\..\Output\Debug\Cliente\PreCli_FacPro_relation.bpl 7.0 @@ -39,188 +39,7 @@ Delphi.Personality Package - - False - True - False - - - False - False - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 3082 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 Borland Sample Components Delphi 1.0 Compatibility Components Borland MyBase DataAccess Components @@ -257,28 +76,22 @@ SMExport suite: data export from dataset. Written by Mike Shkolnik/Scalabium, 1998-2004. Intraweb 8.0 Design Package for Borland Development Studio 2006 Internet Explorer Components - - - PreCli_AlbCli_relation.dpk - - + PreCli_FacPro_relation.dpk - + - + MainSource - - - - + + - + +
dmGenerarFacturasProPre
+
-
-