diff --git a/Build/Build.fbl6 b/Build/Build.fbl6 index 748b9f7..a75f923 100644 Binary files a/Build/Build.fbl6 and b/Build/Build.fbl6 differ diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql index cfa608f..442b6be 100644 --- a/Database/scripts/factuges.sql +++ b/Database/scripts/factuges.sql @@ -121,6 +121,9 @@ SET GENERATOR GEN_CATEGORIAS_ID TO 1; CREATE GENERATOR GEN_CLIENTES_DTOS_PROV_ID; SET GENERATOR GEN_CLIENTES_DTOS_PROV_ID TO 1; +CREATE GENERATOR GEN_CLIENTES_DTOS_ART_ID; +SET GENERATOR GEN_CLIENTES_DTOS_ART_ID TO 1; + CREATE GENERATOR GEN_CLIENTES_GRUPOS_ID; SET GENERATOR GEN_CLIENTES_GRUPOS_ID TO 1; @@ -503,6 +506,13 @@ CREATE TABLE CLIENTES_DTOS_PROVEEDORES ( DESCUENTO TIPO_PORCENTAJE DEFAULT 0 ); +CREATE TABLE CLIENTES_DTOS_ARTICULOS ( + ID TIPO_ID NOT NULL /* TIPO_ID = INTEGER */, + ID_CLIENTE TIPO_ID DEFAULT 0 NOT NULL /* TIPO_ID = INTEGER */, + ID_ARTICULO SMALLINT DEFAULT 0 NOT NULL, + DESCUENTO TIPO_PORCENTAJE DEFAULT 0 /* TIPO_PORCENTAJE = FLOAT */ +); + CREATE TABLE CLIENTES_GRUPOS ( ID TIPO_ID NOT NULL, DESCRIPCION VARCHAR(255) @@ -3987,8 +3997,14 @@ SELECT ARTICULOS.PRECIO_COSTE, - CLIENTES_DTOS_PROVEEDORES.DESCUENTO, - (ARTICULOS.PRECIO_COSTE * CLIENTES_DTOS_PROVEEDORES.DESCUENTO)/100 as PRECIO_NETO + +CASE when (CLIENTES_DTOS_ARTICULOS.DESCUENTO IS not NULL) then CLIENTES_DTOS_ARTICULOS.DESCUENTO +else CLIENTES_DTOS_PROVEEDORES.DESCUENTO +end as DESCUENTO, + +CASE when (CLIENTES_DTOS_ARTICULOS.DESCUENTO IS not NULL) then (ARTICULOS.PRECIO_COSTE * CLIENTES_DTOS_ARTICULOS.DESCUENTO)/100 +else (ARTICULOS.PRECIO_COSTE * CLIENTES_DTOS_PROVEEDORES.DESCUENTO)/100 +end as PRECIO_NETO from V_PED_CLI_ARTICULOS left join PEDIDOS_CLIENTE on (PEDIDOS_CLIENTE.id = V_PED_CLI_ARTICULOS.id_pedido) @@ -3999,6 +4015,10 @@ LEFT OUTER JOIN CLIENTES_DTOS_PROVEEDORES ON ((CLIENTES_DTOS_PROVEEDORES.ID_PROVEEDOR = ARTICULOS.ID_PROVEEDOR) AND (CLIENTES_DTOS_PROVEEDORES.ID_CLIENTE = contactos.id)) +LEFT OUTER JOIN CLIENTES_DTOS_ARTICULOS +ON ((CLIENTES_DTOS_ARTICULOS.ID_ARTICULO = ARTICULOS.ID) +AND (CLIENTES_DTOS_ARTICULOS.ID_CLIENTE = contactos.id)) + where cantidad_pendiente > 0; /*Aqui tendremos la situacion de todos los pedidos, por lógica de grupos*/ @@ -4490,6 +4510,7 @@ ALTER TABLE ARTICULOS_PROVEEDORES ADD CONSTRAINT PK_ARTICULOS_PROVEEDORES PRIMAR ALTER TABLE CATEGORIAS ADD CONSTRAINT PK_CATEGORIAS PRIMARY KEY (ID); ALTER TABLE CLIENTES_DATOS ADD CONSTRAINT PK_CLIENTES_DATOS PRIMARY KEY (ID_CLIENTE); ALTER TABLE CLIENTES_DTOS_PROVEEDORES ADD CONSTRAINT PK_CLIENTES_DTOS_PROV PRIMARY KEY (ID); +ALTER TABLE CLIENTES_DTOS_ARTICULOS ADD CONSTRAINT PK_CLIENTES_DTOS_ART PRIMARY KEY (ID); ALTER TABLE CLIENTES_GRUPOS ADD CONSTRAINT PK_CLIENTES_GRUPOS PRIMARY KEY (ID); ALTER TABLE COMISIONES_LIQUIDADAS ADD CONSTRAINT PK_COMISIONES_LIQUIDADAS PRIMARY KEY (ID); ALTER TABLE CONFIGURACION ADD CONSTRAINT PK_CONFIGURACION PRIMARY KEY (ID); @@ -4623,6 +4644,8 @@ CREATE INDEX IDX_CLIENTES_DATOS1 ON CLIENTES_DATOS (ID_FORMA_PAGO); CREATE INDEX IDX_CLIENTES_DATOS_ID_AGENTE ON CLIENTES_DATOS (ID_AGENTE); CREATE INDEX IDX_CLIENTES_DTOS_PROV_ID_CLI ON CLIENTES_DTOS_PROVEEDORES (ID_CLIENTE); CREATE INDEX IDX_CLIENTES_DTOS_PROV_ID_PROV ON CLIENTES_DTOS_PROVEEDORES (ID_PROVEEDOR); +CREATE INDEX CLIENTES_DTOS_ARTICULOS_IDX1 ON CLIENTES_DTOS_ARTICULOS (ID_CLIENTE); +CREATE INDEX CLIENTES_DTOS_ARTICULOS_IDX2 ON CLIENTES_DTOS_ARTICULOS (ID_ARTICULO); CREATE INDEX IDX_COMISIONES_LIQUIDADAS ON COMISIONES_LIQUIDADAS (ID_EMPRESA); CREATE INDEX IDX_CONFIGURACION ON CONFIGURACION (ID_EMPRESA); CREATE INDEX IDX_CONTACTOS_CATEGORIAS ON CONTACTOS_CATEGORIAS (ID_CONTACTO); diff --git a/Source/Base/Base.RES b/Source/Base/Base.RES index 1641339..8b251f3 100644 Binary files a/Source/Base/Base.RES and b/Source/Base/Base.RES differ diff --git a/Source/Cliente/FactuGES.dproj b/Source/Cliente/FactuGES.dproj index eb74a01..6137f46 100644 --- a/Source/Cliente/FactuGES.dproj +++ b/Source/Cliente/FactuGES.dproj @@ -53,7 +53,7 @@ Delphi.Personality VCLApplication -FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse4160FalseFalseFalseFalseFalse30821252Rodax Software S.L.4.1.6.0FactuGESFactuGES4.1.6.0FactuGES.dprFalse +FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse4170FalseFalseFalseFalseFalse30821252Rodax Software S.L.4.1.7.0FactuGESFactuGES4.1.7.0FactuGES.dprFalse diff --git a/Source/Cliente/FactuGES.rc b/Source/Cliente/FactuGES.rc index 6e11a15..ba8d97e 100644 --- a/Source/Cliente/FactuGES.rc +++ b/Source/Cliente/FactuGES.rc @@ -1,7 +1,7 @@ MAINICON ICON "C:\Codigo\Resources\Iconos\Factuges.ico" 1 VERSIONINFO -FILEVERSION 4,1,6,0 -PRODUCTVERSION 4,1,6,0 +FILEVERSION 4,1,7,0 +PRODUCTVERSION 4,1,7,0 FILEFLAGSMASK 0x3FL FILEFLAGS 0x00L FILEOS 0x40004L @@ -13,10 +13,10 @@ BEGIN BLOCK "0C0A04E4" BEGIN VALUE "CompanyName", "Rodax Software S.L.\0" - VALUE "FileVersion", "4.1.6.0\0" + VALUE "FileVersion", "4.1.7.0\0" VALUE "InternalName", "FactuGES\0" VALUE "ProductName", "FactuGES\0" - VALUE "ProductVersion", "4.1.6.0\0" + VALUE "ProductVersion", "4.1.7.0\0" END END BLOCK "VarFileInfo" diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res index b8c7fb0..50c42f5 100644 Binary files a/Source/Cliente/FactuGES.res and b/Source/Cliente/FactuGES.res differ diff --git a/Source/GUIBase/GUIBase.dproj b/Source/GUIBase/GUIBase.dproj index 39f4304..8659a94 100644 --- a/Source/GUIBase/GUIBase.dproj +++ b/Source/GUIBase/GUIBase.dproj @@ -59,30 +59,30 @@ MainSource - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +
fDialogBase
diff --git a/Source/GUIBase/GUIBase.res b/Source/GUIBase/GUIBase.res index 8b251f3..1641339 100644 Binary files a/Source/GUIBase/GUIBase.res and b/Source/GUIBase/GUIBase.res differ diff --git a/Source/Modulos/Albaranes de cliente/AlbaranesCliente_Group.groupproj b/Source/Modulos/Albaranes de cliente/AlbaranesCliente_Group.groupproj index 9424dd9..bc2ba07 100644 --- a/Source/Modulos/Albaranes de cliente/AlbaranesCliente_Group.groupproj +++ b/Source/Modulos/Albaranes de cliente/AlbaranesCliente_Group.groupproj @@ -11,6 +11,7 @@ + @@ -73,6 +74,15 @@ + + + + + + + + + @@ -272,13 +282,13 @@ - + - + - + \ No newline at end of file diff --git a/Source/Modulos/Albaranes de cliente/Views/uViewElegirArticulosAlbaranesCliente.dfm b/Source/Modulos/Albaranes de cliente/Views/uViewElegirArticulosAlbaranesCliente.dfm index a77bea6..67786ae 100644 --- a/Source/Modulos/Albaranes de cliente/Views/uViewElegirArticulosAlbaranesCliente.dfm +++ b/Source/Modulos/Albaranes de cliente/Views/uViewElegirArticulosAlbaranesCliente.dfm @@ -1,6 +1,18 @@ inherited frViewElegirArticulosAlbaranesCliente: TfrViewElegirArticulosAlbaranesCliente inherited cxGrid: TcxGrid inherited cxGridView: TcxGridDBTableView + inherited cxGridViewINVENTARIABLE: TcxGridDBColumn + Visible = False + VisibleForCustomization = False + end + inherited cxGridViewCOMISIONABLE: TcxGridDBColumn + Visible = False + VisibleForCustomization = False + end + inherited cxGridViewTIENDA_WEB: TcxGridDBColumn + Visible = False + VisibleForCustomization = False + end inherited cxGridViewPRECIO_NETO: TcxGridDBColumn Visible = False VisibleForCustomization = False diff --git a/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm b/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm index 6f1e3e5..db93f38 100644 --- a/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm +++ b/Source/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm @@ -903,12 +903,17 @@ object srvArticulos: TsrvArticulos '.IMAGEN, V_ARTICULOS.COMISIONABLE, V_ARTICULOS.FECHA_ALTA,'#10'V_ART' + 'ICULOS.FECHA_MODIFICACION, V_ARTICULOS.USUARIO, V_ARTICULOS.REFE' + 'RENCIA_PROV,'#10'V_ARTICULOS.PRECIO_COSTE, V_ARTICULOS.PRECIO_PORTE,' + - ' CLIENTES_DTOS_PROVEEDORES.DESCUENTO,'#10'V_ARTICULOS.PRECIO_NETO, V' + - '_ARTICULOS.INVENTARIABLE, V_ARTICULOS.ID_PROVEEDOR,'#10'V_ARTICULOS.' + - 'NOMBRE_PROVEEDOR, V_ARTICULOS.ELIMINADO, V_ARTICULOS.TIENDA_WEB'#10 + - 'FROM V_ARTICULOS'#10'LEFT OUTER JOIN CLIENTES_DTOS_PROVEEDORES'#10'ON ((' + - 'CLIENTES_DTOS_PROVEEDORES.ID_PROVEEDOR = V_ARTICULOS.ID_PROVEEDO' + - 'R)'#10'AND (CLIENTES_DTOS_PROVEEDORES.ID_CLIENTE = :ID_CLIENTE))'#10 + #10#10'CASE when (CLIENTES_DTOS_ARTICULOS.DESCUENTO IS not NULL) then' + + ' CLIENTES_DTOS_ARTICULOS.DESCUENTO'#10'else CLIENTES_DTOS_PROVEEDORE' + + 'S.DESCUENTO'#10'end as DESCUENTO,'#10#10'V_ARTICULOS.PRECIO_NETO, V_ARTICU' + + 'LOS.INVENTARIABLE, V_ARTICULOS.ID_PROVEEDOR,'#10'V_ARTICULOS.NOMBRE_' + + 'PROVEEDOR, V_ARTICULOS.ELIMINADO, V_ARTICULOS.TIENDA_WEB'#10'FROM V_' + + 'ARTICULOS'#10'LEFT OUTER JOIN CLIENTES_DTOS_PROVEEDORES'#10'ON ((CLIENTE' + + 'S_DTOS_PROVEEDORES.ID_PROVEEDOR = V_ARTICULOS.ID_PROVEEDOR)'#10'AND ' + + '(CLIENTES_DTOS_PROVEEDORES.ID_CLIENTE = :ID_CLIENTE))'#10#10'LEFT OUTE' + + 'R JOIN CLIENTES_DTOS_ARTICULOS'#10'ON ((CLIENTES_DTOS_ARTICULOS.ID_A' + + 'RTICULO = V_ARTICULOS.ID)'#10'AND (CLIENTES_DTOS_ARTICULOS.ID_CLIENT' + + 'E = :ID_CLIENTE))'#10 StatementType = stSQL ColumnMappings = < item diff --git a/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm b/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm index 31b7b72..763c6cb 100644 --- a/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm +++ b/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm @@ -9,7 +9,7 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos Width = 656 Caption = 'Lista de art'#237'culos' Visible = False - ExplicitTop = 168 + ExplicitTop = 113 ExplicitWidth = 656 inherited Image1: TImage Left = 629 @@ -20,13 +20,13 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos Top = 64 Width = 656 Height = 49 - ExplicitTop = 91 + ExplicitTop = 64 ExplicitWidth = 656 ExplicitHeight = 49 inherited tbxMain: TTBXToolbar Align = alLeft DockPos = -6 - ExplicitWidth = 283 + ExplicitWidth = 266 inherited TBXItem6: TTBXItem Visible = False end @@ -35,12 +35,12 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos end end inherited tbxFiltro: TTBXToolbar - Left = 283 + Left = 266 Top = 23 Align = alLeft DockPos = 101 DockRow = 1 - ExplicitLeft = 283 + ExplicitLeft = 266 ExplicitTop = 23 inherited TBXItem34: TTBXItem Action = actQuitarFiltro2 @@ -50,11 +50,11 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos ExplicitWidth = 656 end inherited TBXTMain2: TTBXToolbar - Left = 620 + Left = 603 Top = 23 DockPos = 395 DockRow = 1 - ExplicitLeft = 620 + ExplicitLeft = 603 ExplicitTop = 23 end end @@ -77,7 +77,6 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos Padding.Bottom = 8 ParentBackground = False TabOrder = 4 - ExplicitTop = 27 object lblTitle: TLabel AlignWithMargins = True Left = 25 diff --git a/Source/Modulos/Articulos/Views/uEditorElegirArticulos.pas b/Source/Modulos/Articulos/Views/uEditorElegirArticulos.pas index 0e85563..e8d1f13 100644 --- a/Source/Modulos/Articulos/Views/uEditorElegirArticulos.pas +++ b/Source/Modulos/Articulos/Views/uEditorElegirArticulos.pas @@ -185,15 +185,21 @@ procedure TfEditorElegirArticulos.SetArticulos(const Value: IBizArticulo); begin FArticulos := Value; dsDataTable.DataTable := FArticulos.DataTable; - if Assigned(ViewGrid) then - (ViewGrid as IViewArticulos).Articulos := FArticulos; + //En el caso de no tener vista asignada le asignamos la de articulos para que en clientes se pueda usar este editor + if not Assigned(ViewGrid) then + ViewGrid := CreateView(TfrViewArticulos) as IViewArticulos; + + (ViewGrid as IViewArticulos).Articulos := FArticulos; end; procedure TfEditorElegirArticulos.SetController(const Value: IArticulosController); begin FController := Value; - if Assigned(ViewGrid) then - (ViewGrid as IViewArticulos).Controller := FController; + //En el caso de no tener vista asignada le asignamos la de articulos para que en clientes se pueda usar este editor + if not Assigned(ViewGrid) then + ViewGrid := CreateView(TfrViewArticulos) as IViewArticulos; + + (ViewGrid as IViewArticulos).Controller := FController; end; procedure TfEditorElegirArticulos.SetMensaje(const AValue: String); @@ -203,7 +209,8 @@ end; procedure TfEditorElegirArticulos.SetMultiSelect(AValue: Boolean); begin - ViewGrid.MultiSelect := AValue; + if Assigned(ViewGrid) then + ViewGrid.MultiSelect := AValue; end; procedure TfEditorElegirArticulos.SetViewGrid(const Value: IViewGridBase); diff --git a/Source/Modulos/Contactos/Contactos_Group.groupproj b/Source/Modulos/Contactos/Contactos_Group.groupproj index 7e0fb6c..382c0b1 100644 --- a/Source/Modulos/Contactos/Contactos_Group.groupproj +++ b/Source/Modulos/Contactos/Contactos_Group.groupproj @@ -9,7 +9,10 @@ + + + @@ -131,14 +134,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + \ No newline at end of file diff --git a/Source/Modulos/Contactos/Controller/Contactos_controller.dproj b/Source/Modulos/Contactos/Controller/Contactos_controller.dproj index 0cc2fe7..bad7d4a 100644 --- a/Source/Modulos/Contactos/Controller/Contactos_controller.dproj +++ b/Source/Modulos/Contactos/Controller/Contactos_controller.dproj @@ -49,15 +49,6 @@ - - - - - - - - - JCL Debug IDE extension JCL Project Analyzer JCL Open and Save IDE dialogs with favorite folders @@ -68,30 +59,25 @@ MainSource - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -105,6 +91,10 @@ + + + + @@ -128,6 +118,7 @@ +