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
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+