diff --git a/Database/scripts/factuges.sql b/Database/scripts/factuges.sql
index 20122d9b..da3f6797 100644
--- a/Database/scripts/factuges.sql
+++ b/Database/scripts/factuges.sql
@@ -295,7 +295,7 @@ CREATE TABLE ALBARANES_CLIENTE_DETALLES (
ID TIPO_ID NOT NULL,
ID_ALBARAN TIPO_ID NOT NULL,
POSICION INTEGER,
- TIPO_DETALLE VARCHAR(10),
+ TIPO_DETALLE VARCHAR(25),
ID_ARTICULO TIPO_ID,
CONCEPTO TIPO_CONCEPTO,
CANTIDAD INTEGER,
@@ -351,7 +351,7 @@ CREATE TABLE ALBARANES_PROVEEDOR_DETALLES (
ID TIPO_ID NOT NULL,
ID_ALBARAN TIPO_ID NOT NULL,
POSICION INTEGER,
- TIPO_DETALLE VARCHAR(10),
+ TIPO_DETALLE VARCHAR(25),
ID_ARTICULO TIPO_ID,
CONCEPTO TIPO_CONCEPTO,
CANTIDAD INTEGER,
@@ -681,7 +681,7 @@ CREATE TABLE FACTURAS_CLIENTE_DETALLES (
ID TIPO_ID NOT NULL,
ID_FACTURA TIPO_ID NOT NULL,
POSICION INTEGER,
- TIPO_DETALLE VARCHAR(10),
+ TIPO_DETALLE VARCHAR(25),
ID_ARTICULO TIPO_ID,
CONCEPTO TIPO_CONCEPTO,
CANTIDAD INTEGER,
@@ -733,7 +733,7 @@ CREATE TABLE FACTURAS_PROVEEDOR_DETALLES (
ID TIPO_ID NOT NULL,
ID_FACTURA TIPO_ID NOT NULL,
POSICION INTEGER,
- TIPO_DETALLE VARCHAR(10),
+ TIPO_DETALLE VARCHAR(25),
ID_ARTICULO TIPO_ID,
CONCEPTO TIPO_CONCEPTO,
CANTIDAD INTEGER,
@@ -884,7 +884,7 @@ CREATE TABLE PEDIDOS_CLIENTE_DETALLES (
ID TIPO_ID NOT NULL,
ID_PEDIDO TIPO_ID NOT NULL,
POSICION INTEGER,
- TIPO_DETALLE VARCHAR(10),
+ TIPO_DETALLE VARCHAR(25),
ID_ARTICULO TIPO_ID,
CONCEPTO TIPO_CONCEPTO,
CANTIDAD INTEGER,
@@ -940,7 +940,7 @@ CREATE TABLE PEDIDOS_PROVEEDOR_DETALLES (
ID TIPO_ID NOT NULL,
ID_PEDIDO TIPO_ID NOT NULL,
POSICION INTEGER,
- TIPO_DETALLE VARCHAR(10),
+ TIPO_DETALLE VARCHAR(25),
ID_ARTICULO TIPO_ID,
CONCEPTO TIPO_CONCEPTO,
CANTIDAD INTEGER,
@@ -1018,7 +1018,7 @@ CREATE TABLE PRESUPUESTOS_CLIENTE_DETALLES (
ID TIPO_ID NOT NULL,
ID_PRESUPUESTO TIPO_ID NOT NULL,
POSICION INTEGER,
- TIPO_DETALLE VARCHAR(10),
+ TIPO_DETALLE VARCHAR(25),
ID_ARTICULO TIPO_ID,
CONCEPTO TIPO_CONCEPTO,
CANTIDAD INTEGER,
@@ -3394,15 +3394,13 @@ CREATE INDEX IDX_REMESAS_PROVEEDOR ON REMESAS_PROVEEDOR (ID_DATOS_BANCO);
/******************************************************************************/
-SET TERM ^ ;
-
CREATE PROCEDURE PRO_PRES_CAPITULOS (
aid integer)
returns (
id integer,
id_presupuesto integer,
posicion integer,
- tipo_detalle varchar(10),
+ tipo_detalle varchar(25),
concepto varchar(2000),
importe_total numeric(11,2),
visible smallint)
@@ -3475,7 +3473,7 @@ begin
for select id, id_presupuesto, posicion, tipo_detalle, F_RTFTOTEXT(concepto) as concepto,
importe_total, coalesce(visible, 1)
from presupuestos_cliente_detalles
- where tipo_detalle = 'Titulo' and id_presupuesto = :AID
+ where ((tipo_detalle = 'Titulo') or (tipo_detalle = 'Titulo opcional'))and id_presupuesto = :AID
order by id_presupuesto, posicion
into :ID, :ID_PRESUPUESTO, :POSICION, :TIPO_DETALLE, :CONCEPTO,
:IMPORTE_TOTAL, :VISIBLE
@@ -3491,7 +3489,7 @@ GRANT SELECT ON PRESUPUESTOS_CLIENTE_DETALLES TO PROCEDURE PRO_PRES_CAPITULOS;
GRANT EXECUTE ON PROCEDURE PRO_PRES_CAPITULOS TO "PUBLIC";
GRANT EXECUTE ON PROCEDURE PRO_PRES_CAPITULOS TO SYSDBA;
-SET TERM ^ ;
+SET TERM ; ^
CREATE PROCEDURE PRO_PRES_CAPITULOS_CONCEPTOS (
aid integer)
@@ -3499,7 +3497,7 @@ returns (
id integer,
id_presupuesto integer,
posicion integer,
- tipo_detalle varchar(10),
+ tipo_detalle varchar(25),
id_capitulo integer,
id_articulo integer,
referencia varchar(255),
@@ -3529,7 +3527,7 @@ for select pre.id, pre.id_presupuesto, pre.posicion, pre.tipo_detalle,
:IMPORTE_PORTE, :IMPORTE_TOTAL, :VISIBLE
do
begin
- if (:tipo_detalle <> 'Concepto') then
+ if (:tipo_detalle <> 'Concepto') then
begin
capitulo_actual = :ID;
ID_CAPITULO = capitulo_actual;
@@ -3548,7 +3546,7 @@ GRANT SELECT ON ARTICULOS TO PROCEDURE PRO_PRES_CAPITULOS_CONCEPTOS;
GRANT EXECUTE ON PROCEDURE PRO_PRES_CAPITULOS_CONCEPTOS TO "PUBLIC";
GRANT EXECUTE ON PROCEDURE PRO_PRES_CAPITULOS_CONCEPTOS TO SYSDBA;
-SET TERM ^ ;
+SET TERM ; ^
CREATE PROCEDURE PRO_PRES_RESUMEN (
aid integer)
@@ -3556,7 +3554,7 @@ returns (
id integer,
id_presupuesto integer,
posicion integer,
- tipo_detalle varchar(10),
+ tipo_detalle varchar(25),
concepto varchar(2000),
importe_total numeric(11,2),
visible smallint)
@@ -3567,6 +3565,7 @@ declare variable contador integer;
declare variable existe numeric(11,2);
declare variable total_acumulado numeric(11,2);
declare variable concepto_capitulo varchar(2000);
+declare variable tipo varchar(25);
begin
existe = 0;
total_acumulado = 0.0;
@@ -3574,6 +3573,7 @@ begin
num_filas = 0;
num_capitulos = 0;
concepto_capitulo = '';
+ tipo = '';
/* ¿Existe el presupuesto? */
for select count(*)
@@ -3630,25 +3630,27 @@ begin
end
end
-
/* Tratar el resto de las filas */
for select id, id_presupuesto, posicion, tipo_detalle,
F_RTFTOTEXT(concepto) as concepto, importe_total, coalesce(visible, 1)
from presupuestos_cliente_detalles
where id_presupuesto = :AID and
- tipo_detalle in ('Titulo', 'Subtotal')
+ tipo_detalle in ('Titulo', 'Titulo opcional', 'Subtotal')
order by posicion
into :ID, :ID_PRESUPUESTO, :POSICION, :TIPO_DETALLE, :CONCEPTO,
:IMPORTE_TOTAL, :VISIBLE
do
begin
- if (tipo_detalle = 'Titulo') then
+ contador = contador + 1;
+ if ((tipo_detalle = 'Titulo') or (tipo_detalle = 'Titulo opcional')) then
begin
concepto_capitulo = concepto;
+ tipo = tipo_detalle;
end
if (tipo_detalle = 'Subtotal') then
begin
concepto = concepto_capitulo;
+ tipo_detalle = tipo;
suspend;
end
end
@@ -3661,7 +3663,7 @@ GRANT SELECT ON PRESUPUESTOS_CLIENTE_DETALLES TO PROCEDURE PRO_PRES_RESUMEN;
GRANT EXECUTE ON PROCEDURE PRO_PRES_RESUMEN TO "PUBLIC";
GRANT EXECUTE ON PROCEDURE PRO_PRES_RESUMEN TO SYSDBA;
-SET TERM ^ ;
+SET TERM ; ^
CREATE PROCEDURE PRO_ART_RECALCULAR_PVP (
id_empresa integer,
diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj
index aa2988cf..98224d23 100644
--- a/Source/Base/Base.dproj
+++ b/Source/Base/Base.dproj
@@ -44,6 +44,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
@@ -53,57 +55,57 @@
MainSource
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Base/Controladores/uControllerDetallesBase.pas b/Source/Base/Controladores/uControllerDetallesBase.pas
index f1ae2f00..7b8484ad 100644
--- a/Source/Base/Controladores/uControllerDetallesBase.pas
+++ b/Source/Base/Controladores/uControllerDetallesBase.pas
@@ -7,10 +7,10 @@ uses Classes, Variants, uDACDSDataTable, uDADataTable, uControllerBase, uCalculo
const
TIPO_DETALLE_CONCEPTO = 'Concepto';
TIPO_DETALLE_TITULO = 'Titulo';
+ TIPO_DETALLE_TITULO_OPCIONAL = 'Titulo opcional';
TIPO_DETALLE_SUBTOTAL = 'Subtotal';
TIPO_DETALLE_SALTO = 'Salto';
TIPO_DETALLE_DESCUENTO = 'Descuento';
- TIPO_DETALLE_OPCIONAL = 'Opcional';
CTE_DESC_SALTO = 'SALTO DE PAGINA >>';
type
@@ -35,7 +35,7 @@ type
function LocalizarPosicion(ADataTable: IDAStronglyTypedDataTable; const APosicion: Integer): Boolean;
procedure Renumerar(DataTable: TDADataTable; LocalizaPosicion: Integer);
function DarListaTiposDetalle: TStringList;
- procedure ValidarCierreCapitulos(ADataTable: IDAStronglyTypedDataTable);
+ procedure ValidarCierreCapitulos(ADataTable: IDAStronglyTypedDataTable);
end;
TControllerDetallesBase = class (TSujeto, IControllerDetallesBase)
@@ -55,17 +55,17 @@ type
//Si sobreescribimos este método podremos tener en cuenta otras columnas para el calculo del importe total de un concepto
function CalcularImporteTotalConcepto(DataTable: TDADataTable): Double; virtual;
procedure TratamientoDetalleConcepto(DataTable: TDADataTable); virtual;
- procedure CalculoDetalleConcepto(DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double); virtual;
+ procedure CalculoDetalleConcepto(DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double; const Opcional: Boolean); virtual;
procedure TratamientoDetalleSalto(DataTable: TDADataTable); virtual;
procedure CalculoDetalleSalto(DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double); virtual;
procedure TratamientoDetalleTitulo(DataTable: TDADataTable); virtual;
procedure CalculoDetalleTitulo(DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double); virtual;
+ procedure TratamientoDetalleTituloOpcional(DataTable: TDADataTable); virtual;
+ procedure CalculoDetalleTituloOpcional(DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double); virtual;
procedure TratamientoDetalleSubtotal(DataTable: TDADataTable); virtual;
procedure CalculoDetalleSubtotal(DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double); virtual;
procedure TratamientoDetalleDescuento(DataTable: TDADataTable); virtual;
procedure CalculoDetalleDescuento(DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double); virtual;
- procedure TratamientoDetalleOpcional(DataTable: TDADataTable); virtual;
- procedure CalculoDetalleOpcional(DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double); virtual;
//Si sobreescribimos este metodo es para continuar el CalcularTotales segun los tipos de concepto de los hijos
function CalcularTotalesHijos(Modificar: boolean; DataTable: TDADataTable; var ImporteAcumulado : Double; var ImporteTotal : Double): Double; virtual;
@@ -156,6 +156,7 @@ var
AuxPosicion : Integer;
AuxImporteAcumulado : Double;
AuxImporteTotal : Double;
+ SemaforoOpcional: Boolean;
begin
if (DataTable.State in dsEditModes) then
@@ -169,6 +170,7 @@ begin
AuxPosicion := 0;
AuxImporteAcumulado := 0;
AuxImporteTotal := 0;
+ SemaforoOpcional := False;
try
DataTable.First;
@@ -184,16 +186,26 @@ begin
//TITULOS
else if (DataTable.FieldByName(CAMPO_TIPO).AsString = TIPO_DETALLE_TITULO) then
begin
+ SemaforoOpcional := False;
if Modificar then
TratamientoDetalleTitulo(DataTable); //Se podrá sobreescribir para que se tengan en cuenta nuevos campos en hijos
CalculoDetalleTitulo(DataTable, AuxImporteAcumulado, AuxImporteTotal); //Se podrá sobreescribir para posibles nuevos calculos de los hijos
end
+ //TITULOS OPCIONALES
+ else if (DataTable.FieldByName(CAMPO_TIPO).AsString = TIPO_DETALLE_TITULO_OPCIONAL) then
+ begin
+ SemaforoOpcional := True;
+ if Modificar then
+ TratamientoDetalleTituloOpcional(DataTable); //Se podrá sobreescribir para que se tengan en cuenta nuevos campos en hijos
+ CalculoDetalleTituloOpcional(DataTable, AuxImporteAcumulado, AuxImporteTotal); //Se podrá sobreescribir para posibles nuevos calculos de los hijos
+ end
//SUBTOTAL
else if (DataTable.FieldByName(CAMPO_TIPO).AsString = TIPO_DETALLE_SUBTOTAL) then
begin
if Modificar then
TratamientoDetalleSubtotal(DataTable); //Se podrá sobreescribir para que se tengan en cuenta nuevos campos
CalculoDetalleSubtotal(DataTable, AuxImporteAcumulado, AuxImporteTotal); //Se podrá sobreescribir para posibles nuevos calculos de los hijos
+ SemaforoOpcional := False;
end
//DESCUENTO DE CAPITULO
else if (DataTable.FieldByName(CAMPO_TIPO).AsString = TIPO_DETALLE_DESCUENTO) then
@@ -207,14 +219,7 @@ begin
begin
if Modificar then
TratamientoDetalleConcepto(DataTable); //Se podrá sobreescribir para que se tengan en cuenta nuevos campos
- CalculoDetalleConcepto(DataTable, AuxImporteAcumulado, AuxImporteTotal); //Se podrá sobreescribir para posibles nuevos calculos de los hijos
- end
- //OPCIONALES
- else if (DataTable.FieldByName(CAMPO_TIPO).AsString = TIPO_DETALLE_OPCIONAL) then
- begin
- if Modificar then
- TratamientoDetalleOpcional(DataTable); //Se podrá sobreescribir para que se tengan en cuenta nuevos campos en hijos
- CalculoDetalleOpcional(DataTable, AuxImporteAcumulado, AuxImporteTotal); //Se podrá sobreescribir para posibles nuevos calculos de los hijos
+ CalculoDetalleConcepto(DataTable, AuxImporteAcumulado, AuxImporteTotal, SemaforoOpcional); //Se podrá sobreescribir para posibles nuevos calculos de los hijos
end
//HIJOS
else CalcularTotalesHijos(Modificar, DataTable, AuxImporteAcumulado, AuxImporteTotal);
@@ -238,12 +243,13 @@ begin
Result := 0;
end;
-procedure TControllerDetallesBase.CalculoDetalleConcepto(DataTable: TDADataTable; var ImporteAcumulado, ImporteTotal: Double);
+procedure TControllerDetallesBase.CalculoDetalleConcepto(DataTable: TDADataTable; var ImporteAcumulado, ImporteTotal: Double; const Opcional: Boolean);
begin
with DataTable do
begin
ImporteAcumulado := ImporteAcumulado + FieldByName(CAMPO_IMPORTE_TOTAL).AsFloat;
- ImporteTotal := ImporteTotal + FieldByName(CAMPO_IMPORTE_TOTAL).AsFloat;
+ if not Opcional then
+ ImporteTotal := ImporteTotal + FieldByName(CAMPO_IMPORTE_TOTAL).AsFloat;
end;
end;
@@ -262,12 +268,6 @@ begin
end;
end;
-procedure TControllerDetallesBase.CalculoDetalleOpcional(
- DataTable: TDADataTable; var ImporteAcumulado, ImporteTotal: Double);
-begin
- // No acumular ni sumar nada.
-end;
-
procedure TControllerDetallesBase.CalculoDetalleSalto(DataTable: TDADataTable; var ImporteAcumulado, ImporteTotal: Double);
begin
with DataTable do
@@ -296,6 +296,12 @@ begin
//
end;
+procedure TControllerDetallesBase.CalculoDetalleTituloOpcional(
+ DataTable: TDADataTable; var ImporteAcumulado, ImporteTotal: Double);
+begin
+//
+end;
+
procedure TControllerDetallesBase.Clear(ADataTable: IDAStronglyTypedDataTable);
begin
//
@@ -310,11 +316,11 @@ function TControllerDetallesBase.DarListaTiposDetalle: TStringList;
begin
Result := TStringList.Create;
Result.Values[TIPO_DETALLE_CONCEPTO] := TIPO_DETALLE_CONCEPTO;
- Result.Values[TIPO_DETALLE_OPCIONAL] := TIPO_DETALLE_OPCIONAL;
Result.Values[TIPO_DETALLE_TITULO] := TIPO_DETALLE_TITULO;
+ Result.Values[TIPO_DETALLE_TITULO_OPCIONAL] := TIPO_DETALLE_TITULO_OPCIONAL;
Result.Values[TIPO_DETALLE_SUBTOTAL] := TIPO_DETALLE_SUBTOTAL;
- //Result.Values[TIPO_DETALLE_DESCUENTO] := TIPO_DETALLE_DESCUENTO;
- //Result.Values[TIPO_DETALLE_SALTO] := TIPO_DETALLE_SALTO;
+// Result.Values[TIPO_DETALLE_DESCUENTO] := TIPO_DETALLE_DESCUENTO;
+// Result.Values[TIPO_DETALLE_SALTO] := TIPO_DETALLE_SALTO;
end;
function TControllerDetallesBase.DarTotalImporteTotal(ADataTable: IDAStronglyTypedDataTable): Double;
@@ -609,22 +615,6 @@ begin
end;
end;
-procedure TControllerDetallesBase.TratamientoDetalleOpcional(
- DataTable: TDADataTable);
-begin
- with DataTable do
- begin
- if not Editing then Edit;
- //Si alguno de los campos de calculo de total es nulo el total tambien será nulo
- if (VarIsNull(FieldByName(CAMPO_CANTIDAD).AsVariant) or
- VarIsNull(FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant)) then
- FieldByName(CAMPO_IMPORTE_TOTAL).AsVariant := Null
- else
- FieldByName(CAMPO_IMPORTE_TOTAL).AsFloat := CalcularImporteTotalConcepto(DataTable);
- Post;
- end;
-end;
-
procedure TControllerDetallesBase.TratamientoDetalleSalto(DataTable: TDADataTable);
begin
with DataTable do
@@ -665,6 +655,20 @@ begin
end;
end;
+procedure TControllerDetallesBase.TratamientoDetalleTituloOpcional(DataTable: TDADataTable);
+begin
+ with DataTable do
+ begin
+ if not Editing then Edit;
+ if (FieldByName(CAMPO_CONCEPTO).AsString = CTE_DESC_SALTO) then
+ FieldByName(CAMPO_CONCEPTO).AsVariant := Null;
+ FieldByName(CAMPO_CANTIDAD).AsVariant := Null;
+ FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := Null;
+ FieldByName(CAMPO_IMPORTE_TOTAL).AsVariant := Null;
+ Post;
+ end;
+end;
+
procedure TControllerDetallesBase.ValidarCampos(DataTable: TDADataTable);
var
AField: TDAField;
@@ -716,7 +720,7 @@ begin
if (ATipoCampo = TIPO_DETALLE_SUBTOTAL) and bEnCapitulo then
bEnCapitulo := False;
- if (ATipoCampo = TIPO_DETALLE_TITULO) then
+ if ((ATipoCampo = TIPO_DETALLE_TITULO) or (ATipoCampo = TIPO_DETALLE_TITULO_OPCIONAL)) then
begin
if bEnCapitulo then
begin
diff --git a/Source/Cliente/FactuGES.dproj b/Source/Cliente/FactuGES.dproj
index e821b8fd..8442ccd8 100644
--- a/Source/Cliente/FactuGES.dproj
+++ b/Source/Cliente/FactuGES.dproj
@@ -54,7 +54,7 @@
Delphi.Personality
VCLApplication
-FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse1310FalseFalseFalseFalseFalse30821252Rodax Software S.L.1.3.1.0FactuGESFactuGES1.3.1.0
+FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse1330FalseFalseFalseFalseFalse30821252Rodax Software S.L.1.3.3.0FactuGESFactuGES1.3.3.0
diff --git a/Source/Cliente/FactuGES.rc b/Source/Cliente/FactuGES.rc
index eb3acba8..e3334a06 100644
--- a/Source/Cliente/FactuGES.rc
+++ b/Source/Cliente/FactuGES.rc
@@ -1,7 +1,7 @@
MAINICON ICON "C:\Codigo Tecsitel\Resources\Iconos\Factuges.ico"
1 VERSIONINFO
-FILEVERSION 1,3,1,0
-PRODUCTVERSION 1,3,1,0
+FILEVERSION 1,3,3,0
+PRODUCTVERSION 1,3,3,0
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L
FILEOS 0x40004L
@@ -13,10 +13,10 @@ BEGIN
BLOCK "0C0A04E4"
BEGIN
VALUE "CompanyName", "Rodax Software S.L.\0"
- VALUE "FileVersion", "1.3.1.0\0"
+ VALUE "FileVersion", "1.3.3.0\0"
VALUE "InternalName", "FactuGES\0"
VALUE "ProductName", "FactuGES\0"
- VALUE "ProductVersion", "1.3.1.0\0"
+ VALUE "ProductVersion", "1.3.3.0\0"
END
END
BLOCK "VarFileInfo"
diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res
index dd627524..28cdca7e 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 040c5969..943c1950 100644
--- a/Source/GUIBase/GUIBase.dproj
+++ b/Source/GUIBase/GUIBase.dproj
@@ -58,30 +58,30 @@
MainSource
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/GUIBase/uViewDetallesBase.dfm b/Source/GUIBase/uViewDetallesBase.dfm
index 9eee3243..99efb495 100644
--- a/Source/GUIBase/uViewDetallesBase.dfm
+++ b/Source/GUIBase/uViewDetallesBase.dfm
@@ -64,7 +64,7 @@ inherited frViewDetallesBase: TfrViewDetallesBase
DroppedDownWidth = 145
MaxMRUCount = 0
FontName = 'Tahoma'
- ItemIndex = 43
+ ItemIndex = 42
Options = [foTrueTypeOnly, foNoOEMFonts, foScalableOnly, foWysiWyg]
Sorted = True
TabOrder = 2
@@ -969,6 +969,15 @@ inherited frViewDetallesBase: TfrViewDetallesBase
Font.Name = 'Tahoma'
Font.Style = []
end
+ object cxStyle_TITULO_OPCIONAL: TcxStyle
+ AssignedValues = [svColor, svFont]
+ Color = 546166271
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -16
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ end
end
object cxGridPopupMenu: TcxGridPopupMenu
Grid = cxGrid
diff --git a/Source/GUIBase/uViewDetallesBase.pas b/Source/GUIBase/uViewDetallesBase.pas
index f6ae04f3..b74e2312 100644
--- a/Source/GUIBase/uViewDetallesBase.pas
+++ b/Source/GUIBase/uViewDetallesBase.pas
@@ -103,7 +103,7 @@ type
TBXItem9: TTBXItem;
TBXItem10: TTBXItem;
TBXItem11: TTBXItem;
- cxStyle_SUBTOTAL: TcxStyle;
+ cxStyle_SUBTOTAL: TcxStyle;
cxStyle_TITULO: TcxStyle;
actAnchoAutomatico: TAction;
TBXSeparatorItem5: TTBXSeparatorItem;
@@ -144,6 +144,7 @@ type
ExportaraMicrosoftExcel1: TMenuItem;
actSeleccionarTodo: TAction;
Seleccionartodo1: TMenuItem;
+ cxStyle_TITULO_OPCIONAL: TcxStyle;
procedure actAnadirExecute(Sender: TObject);
procedure actEliminarExecute(Sender: TObject);
procedure actSubirExecute(Sender: TObject);
@@ -714,6 +715,9 @@ begin
if ATipo = TIPO_DETALLE_TITULO then
AStyle := cxStyle_TITULO;
+ if ATipo = TIPO_DETALLE_TITULO_OPCIONAL then
+ AStyle := cxStyle_TITULO_OPCIONAL;
+
if ATipo = TIPO_DETALLE_SUBTOTAL then
AStyle := cxStyle_SUBTOTAL;
@@ -741,6 +745,14 @@ begin
Result.Style := cxStyle_TITULO.Font.Style;
end;
+ if ATipo = TIPO_DETALLE_TITULO_OPCIONAL then
+ begin
+ Result.Name := cxStyle_TITULO_OPCIONAL.Font.Name;
+ Result.Color := cxStyle_TITULO_OPCIONAL.TextColor;
+ Result.Size := cxStyle_TITULO_OPCIONAL.Font.Size;
+ Result.Style := cxStyle_TITULO_OPCIONAL.Font.Style;
+ end;
+
if ATipo = TIPO_DETALLE_SUBTOTAL then
begin
Result.Name := cxStyle_SUBTOTAL.Font.Name;
@@ -809,6 +821,7 @@ begin
else
begin
if (AItem.GridView.Items[IndiceCol].EditValue = TIPO_DETALLE_SUBTOTAL)
+ or (AItem.GridView.Items[IndiceCol].EditValue = TIPO_DETALLE_TITULO_OPCIONAL)
or (AItem.GridView.Items[IndiceCol].EditValue = TIPO_DETALLE_TITULO) then
begin
IndiceCol := cxGridView.GetColumnByFieldName(CAMPO_CONCEPTO).Index;
diff --git a/Source/GUIBase/uViewDetallesDTO.dfm b/Source/GUIBase/uViewDetallesDTO.dfm
index fb2c0f66..3cd9f00e 100644
--- a/Source/GUIBase/uViewDetallesDTO.dfm
+++ b/Source/GUIBase/uViewDetallesDTO.dfm
@@ -1,91 +1,51 @@
inherited frViewDetallesDTO: TfrViewDetallesDTO
inherited ToolBar1: TToolBar
- Height = 95
- ExplicitHeight = 95
inherited ToolButton1: TToolButton
ExplicitWidth = 109
end
- inherited ToolButton3: TToolButton [1]
+ inherited ToolButton2: TToolButton
Left = 109
ExplicitLeft = 109
- end
- inherited ToolButton2: TToolButton [2]
- Left = 164
- ExplicitLeft = 164
ExplicitWidth = 114
end
- inherited ToolButton14: TToolButton
- Wrap = False
+ inherited ToolButton3: TToolButton
+ Left = 223
+ ExplicitLeft = 223
end
- inherited UpDown1: TUpDown [5]
- Left = 121
- Top = 22
- ExplicitLeft = 121
- ExplicitTop = 22
- end
- inherited ToolButton11: TToolButton [6]
- Left = 137
- Top = 22
- ExplicitLeft = 137
- ExplicitTop = 22
- end
- inherited FontSize: TEdit [7]
+ inherited ToolButton4: TToolButton
Left = 278
- Top = 22
- Width = 41
ExplicitLeft = 278
- ExplicitTop = 22
+ end
+ inherited ToolButton14: TToolButton
+ Left = 334
+ ExplicitLeft = 334
+ end
+ inherited FontSize: TEdit
+ Width = 41
ExplicitWidth = 41
end
- inherited ToolButton7: TToolButton [8]
- Left = 319
- Top = 22
- Wrap = True
- ExplicitLeft = 319
- ExplicitTop = 22
+ inherited UpDown1: TUpDown
+ Left = 186
+ ExplicitLeft = 186
end
- inherited FontName: TJvFontComboBox [9]
+ inherited ToolButton13: TToolButton
+ Left = 202
+ ExplicitLeft = 202
end
- inherited ToolButton6: TToolButton [10]
- Left = 145
- ExplicitLeft = 145
+ inherited ToolButton6: TToolButton
+ Left = 210
+ ExplicitLeft = 210
end
- inherited ToolButton13: TToolButton [11]
- Left = 0
- Wrap = True
- ExplicitLeft = 0
- ExplicitHeight = 27
+ inherited ToolButton7: TToolButton
+ Left = 276
+ ExplicitLeft = 276
end
- inherited ToolButton9: TToolButton [12]
- Left = 0
- Top = 71
- ExplicitLeft = 0
- ExplicitTop = 71
- end
- inherited ToolButton12: TToolButton [13]
- Left = 145
- Top = 71
- ExplicitLeft = 145
- ExplicitTop = 71
- end
- inherited ToolButton10: TToolButton
- Left = 153
- Top = 71
- ExplicitLeft = 153
- ExplicitTop = 71
- end
- inherited ToolButton8: TToolButton [15]
- Left = 278
- Top = 71
- ExplicitLeft = 278
- ExplicitTop = 71
+ inherited ToolButton8: TToolButton
+ Left = 343
+ ExplicitLeft = 343
end
end
inherited cxGrid: TcxGrid
- Top = 121
- Height = 183
- ExplicitTop = 121
- ExplicitHeight = 210
inherited cxGridView: TcxGridDBTableView
object cxGridViewDESCUENTO: TcxGridDBColumn [7]
Caption = 'Dto'
@@ -125,9 +85,6 @@ inherited frViewDetallesDTO: TfrViewDetallesDTO
end
end
end
- inherited TBXDock1: TTBXDock
- Top = 95
- end
inherited ActionListContenido: TActionList
inherited actAnadir: TAction
Caption = 'A'#241'adir concepto'
diff --git a/Source/Modulos/Albaranes de cliente/Data/uDataModuleAlbaranesCliente.dfm b/Source/Modulos/Albaranes de cliente/Data/uDataModuleAlbaranesCliente.dfm
index b3a3cf30..11a81413 100644
--- a/Source/Modulos/Albaranes de cliente/Data/uDataModuleAlbaranesCliente.dfm
+++ b/Source/Modulos/Albaranes de cliente/Data/uDataModuleAlbaranesCliente.dfm
@@ -322,7 +322,7 @@ inherited DataModuleAlbaranesCliente: TDataModuleAlbaranesCliente
item
Name = 'TIPO_DETALLE'
DataType = datString
- Size = 10
+ Size = 25
DictionaryEntry = 'AlbaranesCliente_Detalles_TIPO_DETALLE'
end
item
diff --git a/Source/Modulos/Albaranes de cliente/Model/schAlbaranesClienteClient_Intf.pas b/Source/Modulos/Albaranes de cliente/Model/schAlbaranesClienteClient_Intf.pas
index 5f816303..70197cba 100644
--- a/Source/Modulos/Albaranes de cliente/Model/schAlbaranesClienteClient_Intf.pas
+++ b/Source/Modulos/Albaranes de cliente/Model/schAlbaranesClienteClient_Intf.pas
@@ -9,8 +9,8 @@ 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_AlbaranesCliente = '{8E9C9E82-769C-4B9B-BBCD-15E8ABB5F341}';
- RID_AlbaranesCliente_Detalles = '{7438D3A0-220D-4882-8919-09C4E9995672}';
+ RID_AlbaranesCliente = '{C4ACA983-2E79-43A3-A993-241191F525D6}';
+ RID_AlbaranesCliente_Detalles = '{7B5B9AEF-8781-448C-A9BC-13D967D43796}';
{ Data table names }
nme_AlbaranesCliente = 'AlbaranesCliente';
@@ -137,7 +137,7 @@ const
type
{ IAlbaranesCliente }
IAlbaranesCliente = interface(IDAStronglyTypedDataTable)
- ['{7E7930B1-64D6-483A-AC1C-2CE60F883F41}']
+ ['{AF7FDCDE-1C18-4F3A-861D-EE8F29667409}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -628,7 +628,7 @@ type
{ IAlbaranesCliente_Detalles }
IAlbaranesCliente_Detalles = interface(IDAStronglyTypedDataTable)
- ['{08CCA27A-C500-4A1D-BEE3-ED4A8D8E8726}']
+ ['{80EB5D35-8AC0-4C15-A379-BE154FF2B8E2}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
diff --git a/Source/Modulos/Albaranes de cliente/Model/schAlbaranesClienteServer_Intf.pas b/Source/Modulos/Albaranes de cliente/Model/schAlbaranesClienteServer_Intf.pas
index 613c38af..91ec85ff 100644
--- a/Source/Modulos/Albaranes de cliente/Model/schAlbaranesClienteServer_Intf.pas
+++ b/Source/Modulos/Albaranes de cliente/Model/schAlbaranesClienteServer_Intf.pas
@@ -9,13 +9,13 @@ 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_AlbaranesClienteDelta = '{65D47153-FD9F-44D6-8200-78DC3F9417AC}';
- RID_AlbaranesCliente_DetallesDelta = '{3FF81C35-8B1C-4F7D-95EA-8F11EF184F45}';
+ RID_AlbaranesClienteDelta = '{D9971B77-2B74-450A-A0FB-9923C629A09B}';
+ RID_AlbaranesCliente_DetallesDelta = '{C5DD9D52-6097-4080-A97E-435B4D387C4E}';
type
{ IAlbaranesClienteDelta }
IAlbaranesClienteDelta = interface(IAlbaranesCliente)
- ['{65D47153-FD9F-44D6-8200-78DC3F9417AC}']
+ ['{D9971B77-2B74-450A-A0FB-9923C629A09B}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@@ -507,7 +507,7 @@ type
{ IAlbaranesCliente_DetallesDelta }
IAlbaranesCliente_DetallesDelta = interface(IAlbaranesCliente_Detalles)
- ['{3FF81C35-8B1C-4F7D-95EA-8F11EF184F45}']
+ ['{C5DD9D52-6097-4080-A97E-435B4D387C4E}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_ALBARANValue : Integer;
diff --git a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm
index acafde66..f6c3f18f 100644
--- a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm
+++ b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm
@@ -49,7 +49,6 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
end
object schReport: TDASchema
ConnectionManager = dmServer.ConnectionManager
- DataDictionary = DataDictionary
Datasets = <
item
Params = <
@@ -253,17 +252,17 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
StatementType = stSQL
ColumnMappings = <
item
- DatasetField = 'CANTIDAD'
- TableField = 'CANTIDAD'
+ DatasetField = 'ID'
+ TableField = 'ID'
+ end
+ item
+ DatasetField = 'ID_ALBARAN'
+ TableField = 'ID_ALBARAN'
end
item
DatasetField = 'POSICION'
TableField = 'POSICION'
end
- item
- DatasetField = 'ID'
- TableField = 'ID'
- end
item
DatasetField = 'TIPO_DETALLE'
TableField = 'TIPO_DETALLE'
@@ -272,6 +271,14 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
DatasetField = 'CONCEPTO'
TableField = 'CONCEPTO'
end
+ item
+ DatasetField = 'CANTIDAD'
+ TableField = 'CANTIDAD'
+ end
+ item
+ DatasetField = 'UNIDAD_MEDIDA'
+ TableField = 'UNIDAD_MEDIDA'
+ end
item
DatasetField = 'IMPORTE_UNIDAD'
TableField = 'IMPORTE_UNIDAD'
@@ -282,15 +289,8 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
end
item
DatasetField = 'REFERENCIA'
- TableField = 'REFERENCIA'
- end
- item
- DatasetField = 'ID_ALBARAN'
- TableField = 'ID_ALBARAN'
- end
- item
- DatasetField = 'UNIDAD_MEDIDA'
- TableField = 'UNIDAD_MEDIDA'
+ TableField = ''
+ SQLOrigin = 'REFERENCIA'
end>
end>
Name = 'Informe_Detalles'
@@ -310,7 +310,7 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
item
Name = 'TIPO_DETALLE'
DataType = datString
- Size = 10
+ Size = 25
end
item
Name = 'CONCEPTO'
@@ -425,7 +425,7 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
item
Name = 'TIPO_DETALLE'
DataType = datString
- Size = 10
+ Size = 25
end
item
Name = 'CONCEPTO'
@@ -464,200 +464,6 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
Left = 48
Top = 16
end
- object DataDictionary: TDADataDictionary
- Fields = <
- item
- Name = 'FacturasCliente_ID'
- DataType = datAutoInc
- Required = True
- DisplayLabel = 'ID'
- end
- item
- Name = 'FacturasCliente_ID_EMPRESA'
- DataType = datInteger
- DisplayLabel = 'ID_EMPRESA'
- end
- item
- Name = 'FacturasCliente_ID_CONTRATO'
- DataType = datInteger
- DisplayLabel = 'ID_CONTRATO'
- end
- item
- Name = 'FacturasCliente_FECHA_FACTURA'
- DataType = datDateTime
- DisplayLabel = 'Fecha de las factura'
- end
- item
- Name = 'FacturasCliente_VENCIMIENTO'
- DataType = datInteger
- DisplayLabel = 'Vencimiento'
- end
- item
- Name = 'FacturasCliente_SITUACION'
- DataType = datString
- Size = 255
- DisplayLabel = 'Situaci'#243'n'
- end
- item
- Name = 'FacturasCliente_BASE_IMPONIBLE'
- DataType = datFloat
- DisplayLabel = 'Base imponible'
- Alignment = taRightJustify
- end
- item
- Name = 'FacturasCliente_IMPORTE_DESCUENTO'
- DataType = datFloat
- DisplayLabel = 'Importe dto.'
- Alignment = taRightJustify
- end
- item
- Name = 'FacturasCliente_IMPORTE_IVA'
- DataType = datFloat
- DisplayLabel = 'Importe IVA'
- Alignment = taRightJustify
- end
- item
- Name = 'FacturasCliente_IMPORTE_TOTAL'
- DataType = datFloat
- DisplayLabel = 'Importe total'
- Alignment = taRightJustify
- end
- item
- Name = 'FacturasCliente_FORMA_PAGO'
- DataType = datMemo
- DisplayLabel = 'Forma de pago'
- end
- item
- Name = 'FacturasCliente_ID_CLIENTE'
- DataType = datInteger
- DisplayLabel = 'ID_CLIENTE'
- end
- item
- Name = 'FacturasCliente_NIF_CIF'
- DataType = datString
- Size = 15
- DisplayLabel = 'NIF/CIF'
- end
- item
- Name = 'FacturasCliente_CODIGO_POSTAL'
- DataType = datString
- Size = 10
- DisplayLabel = 'C'#243'd. postal'
- end
- item
- Name = 'FacturasCliente_FECHA_ALTA'
- DataType = datDateTime
- DisplayLabel = 'FECHA_ALTA'
- end
- item
- Name = 'FacturasCliente_FECHA_MODIFICACION'
- DataType = datDateTime
- DisplayLabel = 'FECHA_MODIFICACION'
- end
- item
- Name = 'FacturasCliente_OBSERVACIONES'
- DataType = datMemo
- DisplayLabel = 'Observaciones'
- end
- item
- Name = 'FacturasCliente_NOMBRE'
- DataType = datString
- Size = 100
- DisplayLabel = 'Cliente'
- end
- item
- Name = 'FacturasCliente_CALLE'
- DataType = datString
- Size = 150
- DisplayLabel = 'Direcci'#243'n'
- end
- item
- Name = 'FacturasCliente_PROVINCIA'
- DataType = datString
- Size = 30
- DisplayLabel = 'Provincia'
- end
- item
- Name = 'FacturasCliente_POBLACION'
- DataType = datString
- Size = 150
- DisplayLabel = 'Poblaci'#243'n'
- end
- item
- Name = 'FacturasCliente_IVA'
- DataType = datFloat
- DisplayLabel = 'IVA'
- end
- item
- Name = 'FacturasCliente_USUARIO'
- DataType = datString
- Size = 100
- DisplayLabel = 'USUARIO'
- end
- item
- Name = 'FacturasCliente_REFERENCIA'
- DataType = datString
- Size = 20
- DisplayLabel = 'Referencia'
- end
- item
- Name = 'FacturasCliente_DESCUENTO'
- DataType = datFloat
- DisplayLabel = 'Dto.'
- end
- item
- Name = 'FacturasCliente_Detalles_ID'
- DataType = datAutoInc
- Required = True
- DisplayLabel = 'ID'
- end
- item
- Name = 'FacturasCliente_Detalles_ID_FACTURA'
- DataType = datInteger
- DisplayLabel = 'ID_FACTURA'
- end
- item
- Name = 'FacturasCliente_Detalles_TIPO_DETALLE'
- DataType = datString
- Size = 10
- DisplayLabel = 'Tipo detalle'
- end
- item
- Name = 'FacturasCliente_Detalles_CONCEPTO'
- DataType = datString
- Size = 2000
- DisplayLabel = 'Concepto'
- end
- item
- Name = 'FacturasCliente_Detalles_IMPORTE_UNIDAD'
- DataType = datFloat
- DisplayLabel = 'Importe unidad'
- Alignment = taRightJustify
- end
- item
- Name = 'FacturasCliente_Detalles_IMPORTE_TOTAL'
- DataType = datFloat
- DisplayLabel = 'Importe total'
- Alignment = taRightJustify
- end
- item
- Name = 'FacturasCliente_Detalles_VISIBLE'
- DataType = datInteger
- DisplayLabel = #191'Visible?'
- end
- item
- Name = 'FacturasCliente_Detalles_POSICION'
- DataType = datInteger
- DisplayLabel = 'Posici'#243'n'
- end
- item
- Name = 'FacturasCliente_Detalles_CANTIDAD'
- DataType = datInteger
- DisplayLabel = 'Cantidad'
- end>
- Left = 46
- Top = 158
- end
object frxReport: TfrxReport
Version = '4.3'
DotMatrixReport = False
@@ -1093,7 +899,7 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
item
Name = 'TIPO_DETALLE'
DataType = datString
- Size = 10
+ Size = 25
end
item
Name = 'CONCEPTO'
diff --git a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas
index e3ada53d..0eb96409 100644
--- a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas
+++ b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas
@@ -61,7 +61,6 @@ type
tbl_Detalles: TDAMemDataTable;
frxPDFExport1: TfrxPDFExport;
schReport: TDASchema;
- DataDictionary: TDADataDictionary;
procedure DataModuleCreate(Sender: TObject);
private
FConnection: IDAConnection;
diff --git a/Source/Modulos/Albaranes de cliente/Reports/uRptWordAlbaranCliente.dfm b/Source/Modulos/Albaranes de cliente/Reports/uRptWordAlbaranCliente.dfm
index b02bbf38..d4a5c4b7 100644
--- a/Source/Modulos/Albaranes de cliente/Reports/uRptWordAlbaranCliente.dfm
+++ b/Source/Modulos/Albaranes de cliente/Reports/uRptWordAlbaranCliente.dfm
@@ -213,6 +213,10 @@ object RptWordAlbaranCliente: TRptWordAlbaranCliente
DatasetField = 'ID'
TableField = 'ID'
end
+ item
+ DatasetField = 'ID_ALBARAN'
+ TableField = 'ID_ALBARAN'
+ end
item
DatasetField = 'POSICION'
TableField = 'POSICION'
@@ -225,29 +229,25 @@ object RptWordAlbaranCliente: TRptWordAlbaranCliente
DatasetField = 'CONCEPTO'
TableField = 'CONCEPTO'
end
- item
- DatasetField = 'IMPORTE_TOTAL'
- TableField = 'IMPORTE_TOTAL'
- end
item
DatasetField = 'CANTIDAD'
TableField = 'CANTIDAD'
end
+ item
+ DatasetField = 'UNIDAD_MEDIDA'
+ TableField = 'UNIDAD_MEDIDA'
+ end
item
DatasetField = 'IMPORTE_UNIDAD'
TableField = 'IMPORTE_UNIDAD'
end
item
- DatasetField = 'ID_ALBARAN'
- TableField = 'ID_ALBARAN'
+ DatasetField = 'IMPORTE_TOTAL'
+ TableField = 'IMPORTE_TOTAL'
end
item
DatasetField = 'REFERENCIA'
TableField = 'REFERENCIA'
- end
- item
- DatasetField = 'UNIDAD_MEDIDA'
- TableField = 'UNIDAD_MEDIDA'
end>
end>
Name = 'Informe_Detalles'
@@ -268,7 +268,7 @@ object RptWordAlbaranCliente: TRptWordAlbaranCliente
item
Name = 'TIPO_DETALLE'
DataType = datString
- Size = 10
+ Size = 25
end
item
Name = 'CONCEPTO'
@@ -437,7 +437,7 @@ object RptWordAlbaranCliente: TRptWordAlbaranCliente
item
Name = 'TIPO_DETALLE'
DataType = datString
- Size = 10
+ Size = 25
end
item
Name = 'CONCEPTO'
diff --git a/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.dfm b/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.dfm
index 99cd388a..ec58154e 100644
--- a/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.dfm
+++ b/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.dfm
@@ -510,7 +510,7 @@ object srvAlbaranesCliente: TsrvAlbaranesCliente
item
Name = 'TIPO_DETALLE'
DataType = datString
- Size = 10
+ Size = 25
DictionaryEntry = 'AlbaranesCliente_Detalles_TIPO_DETALLE'
end
item
@@ -1363,7 +1363,7 @@ object srvAlbaranesCliente: TsrvAlbaranesCliente
item
Name = 'AlbaranesCliente_Detalles_TIPO_DETALLE'
DataType = datString
- Size = 10
+ Size = 25
DisplayLabel = 'TIPO_DETALLE'
end
item
diff --git a/Source/Modulos/Albaranes de proveedor/Data/uDataModuleAlbaranesProveedor.dfm b/Source/Modulos/Albaranes de proveedor/Data/uDataModuleAlbaranesProveedor.dfm
index 8330e5d2..9e323d17 100644
--- a/Source/Modulos/Albaranes de proveedor/Data/uDataModuleAlbaranesProveedor.dfm
+++ b/Source/Modulos/Albaranes de proveedor/Data/uDataModuleAlbaranesProveedor.dfm
@@ -309,7 +309,7 @@ inherited DataModuleAlbaranesProveedor: TDataModuleAlbaranesProveedor
item
Name = 'TIPO_DETALLE'
DataType = datString
- Size = 10
+ Size = 25
DictionaryEntry = 'AlbaranesProveedor_Detalles_TIPO_DETALLE'
end
item
diff --git a/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorClient_Intf.pas b/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorClient_Intf.pas
index bd282bfd..ac0cf027 100644
--- a/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorClient_Intf.pas
+++ b/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorClient_Intf.pas
@@ -9,8 +9,8 @@ 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_AlbaranesProveedor = '{AEA50745-91B1-4767-BD4C-0342B4369E7F}';
- RID_AlbaranesProveedor_Detalles = '{D4FA78EC-16C7-4A90-91B8-3A82A4E7E76A}';
+ RID_AlbaranesProveedor = '{7DB07FA1-C594-4F6F-A3AB-62B8AAE9EFA5}';
+ RID_AlbaranesProveedor_Detalles = '{7FCFF51E-1B40-47EE-BC5C-3925F440AD37}';
{ Data table names }
nme_AlbaranesProveedor = 'AlbaranesProveedor';
@@ -135,7 +135,7 @@ const
type
{ IAlbaranesProveedor }
IAlbaranesProveedor = interface(IDAStronglyTypedDataTable)
- ['{748AC7A5-9E6C-468E-BE35-CF169E6ADBC8}']
+ ['{AAF09857-D18A-4696-9964-9A7FE0E23C0F}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -602,7 +602,7 @@ type
{ IAlbaranesProveedor_Detalles }
IAlbaranesProveedor_Detalles = interface(IDAStronglyTypedDataTable)
- ['{7E9AB0E2-DB09-4CE4-9893-F72625C02A01}']
+ ['{09211C9C-4122-4F30-83FC-886D245B8952}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
diff --git a/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorServer_Intf.pas b/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorServer_Intf.pas
index 9de9f444..fd52a382 100644
--- a/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorServer_Intf.pas
+++ b/Source/Modulos/Albaranes de proveedor/Model/schAlbaranesProveedorServer_Intf.pas
@@ -9,13 +9,13 @@ 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_AlbaranesProveedorDelta = '{4D8E87E2-EC7B-4811-8361-AF6CA86C03AA}';
- RID_AlbaranesProveedor_DetallesDelta = '{54442582-9203-4008-9E87-3F639EBDA771}';
+ RID_AlbaranesProveedorDelta = '{2A2F0AD1-E371-4938-9505-C0733D91A9EE}';
+ RID_AlbaranesProveedor_DetallesDelta = '{1371B0E5-5F40-4895-9EE0-1ED3CAB202B3}';
type
{ IAlbaranesProveedorDelta }
IAlbaranesProveedorDelta = interface(IAlbaranesProveedor)
- ['{4D8E87E2-EC7B-4811-8361-AF6CA86C03AA}']
+ ['{2A2F0AD1-E371-4938-9505-C0733D91A9EE}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@@ -483,7 +483,7 @@ type
{ IAlbaranesProveedor_DetallesDelta }
IAlbaranesProveedor_DetallesDelta = interface(IAlbaranesProveedor_Detalles)
- ['{54442582-9203-4008-9E87-3F639EBDA771}']
+ ['{1371B0E5-5F40-4895-9EE0-1ED3CAB202B3}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_ALBARANValue : Integer;
diff --git a/Source/Modulos/Albaranes de proveedor/Servidor/srvAlbaranesProveedor_Impl.dfm b/Source/Modulos/Albaranes de proveedor/Servidor/srvAlbaranesProveedor_Impl.dfm
index 224d9774..7a41b531 100644
--- a/Source/Modulos/Albaranes de proveedor/Servidor/srvAlbaranesProveedor_Impl.dfm
+++ b/Source/Modulos/Albaranes de proveedor/Servidor/srvAlbaranesProveedor_Impl.dfm
@@ -502,7 +502,7 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
item
Name = 'TIPO_DETALLE'
DataType = datString
- Size = 10
+ Size = 25
DictionaryEntry = 'AlbaranesProveedor_Detalles_TIPO_DETALLE'
end
item
@@ -1340,7 +1340,7 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
item
Name = 'AlbaranesProveedor_Detalles_TIPO_DETALLE'
DataType = datString
- Size = 10
+ Size = 25
DisplayLabel = 'TIPO_DETALLE'
end
item
diff --git a/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm b/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm
index dc004c7a..0c8be22b 100644
--- a/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm
+++ b/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm
@@ -2,7 +2,6 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos
Caption = 'Seleccionar art'#237'culos'
ClientWidth = 656
ExplicitWidth = 664
- ExplicitHeight = 240
PixelsPerInch = 96
TextHeight = 13
object JvgWizardHeader1: TJvgWizardHeader [0]
@@ -56,10 +55,7 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos
inherited tbxMain: TTBXToolbar
Align = alLeft
DockPos = -6
- ExplicitWidth = 126
- inherited TBXItem2: TTBXItem
- Visible = False
- end
+ ExplicitWidth = 283
inherited TBXItem5: TTBXItem
Visible = False
end
@@ -74,12 +70,12 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos
end
end
inherited tbxFiltro: TTBXToolbar
- Left = 126
+ Left = 283
Top = 23
Align = alLeft
DockPos = 101
DockRow = 1
- ExplicitLeft = 126
+ ExplicitLeft = 283
ExplicitTop = 23
inherited TBXItem34: TTBXItem
Action = actQuitarFiltro2
@@ -89,11 +85,11 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos
ExplicitWidth = 656
end
inherited TBXTMain2: TTBXToolbar
- Left = 463
+ Left = 620
Top = 23
DockPos = 395
DockRow = 1
- ExplicitLeft = 463
+ ExplicitLeft = 620
ExplicitTop = 23
end
end
@@ -104,7 +100,7 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos
end
inline frViewBarraSeleccion1: TfrViewBarraSeleccion [4]
Left = 0
- Top = 376
+ Top = 436
Width = 656
Height = 49
Align = alBottom
@@ -116,7 +112,7 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos
ParentFont = False
TabOrder = 0
ReadOnly = False
- ExplicitTop = 376
+ ExplicitTop = 436
ExplicitWidth = 656
inherited JvFooter1: TJvFooter
Width = 656
diff --git a/Source/Modulos/Articulos/Views/uEditorElegirArticulos.pas b/Source/Modulos/Articulos/Views/uEditorElegirArticulos.pas
index bb140451..acc49cd4 100644
--- a/Source/Modulos/Articulos/Views/uEditorElegirArticulos.pas
+++ b/Source/Modulos/Articulos/Views/uEditorElegirArticulos.pas
@@ -44,6 +44,9 @@ type
procedure SetViewGrid(const Value: IViewGridBase); override;
procedure SetMensaje (const AValue: String);
function GetMensaje: String;
+
+ procedure NuevoInterno; override;
+
public
property Mensaje : String read GetMensaje write SetMensaje;
property ArticulosSeleccionados: IBizArticulo read GetArticulosSeleccionados;
@@ -99,7 +102,7 @@ begin
raise Exception.Create('No hay ningún articulo asignado');
Articulos.DataTable.Active := True;
- EditorActionList.State := asSuspended;
+// EditorActionList.State := asSuspended;
end;
procedure TfEditorElegirArticulos.frViewBarraSeleccion1actCancelarExecute(
@@ -150,6 +153,38 @@ begin
Result := ViewGrid.MultiSelect;
end;
+procedure TfEditorElegirArticulos.NuevoInterno;
+var
+ AArticulo: IBizArticulo;
+
+begin
+ inherited;
+ AArticulo := FController.Nuevo;
+ if not AArticulo.DataTable.Active then
+ AArticulo.DataTable.Active := True;
+
+ FController.Ver(AArticulo);
+ Articulos.DataTable.Refresh;
+
+{
+ if (FViewGrid._Grid.ActiveLevel.Tag = 1) then
+ AArticulo := FController.Nuevo
+ else
+ begin
+ AArticulo := Articulos;
+ FController.Anadir(AArticulo);
+ end;
+
+ if not AArticulo.DataTable.Active then
+ AArticulo.DataTable.Active := True;
+
+ FController.Ver(AArticulo);
+
+ if (FViewGrid._Grid.ActiveLevel.Tag = 1) then
+ Articulos.DataTable.Refresh;
+}
+end;
+
procedure TfEditorElegirArticulos.SetArticulos(const Value: IBizArticulo);
begin
FArticulos := Value;
diff --git a/Source/Modulos/Articulos/Views/uViewDetallesArticulos.dfm b/Source/Modulos/Articulos/Views/uViewDetallesArticulos.dfm
index f75a0771..57a51744 100644
--- a/Source/Modulos/Articulos/Views/uViewDetallesArticulos.dfm
+++ b/Source/Modulos/Articulos/Views/uViewDetallesArticulos.dfm
@@ -46,8 +46,6 @@ inherited frViewDetallesArticulos: TfrViewDetallesArticulos
end
end
inherited cxGrid: TcxGrid
- ExplicitTop = 99
- ExplicitHeight = 205
inherited cxGridView: TcxGridDBTableView
inherited cxGridViewTIPO: TcxGridDBColumn
MinWidth = 69
diff --git a/Source/Modulos/Facturas de cliente/Controller/uDetallesFacturaClienteController.pas b/Source/Modulos/Facturas de cliente/Controller/uDetallesFacturaClienteController.pas
index 202fc5c0..63df8b8d 100644
--- a/Source/Modulos/Facturas de cliente/Controller/uDetallesFacturaClienteController.pas
+++ b/Source/Modulos/Facturas de cliente/Controller/uDetallesFacturaClienteController.pas
@@ -3,7 +3,7 @@ unit uDetallesFacturaClienteController;
interface
uses
- uDADataTable, uControllerDetallesArticulos, uBizDetallesFacturaCliente, uIDataModuleFacturasCliente,
+ Classes, uDADataTable, uControllerDetallesArticulos, uBizDetallesFacturaCliente, uIDataModuleFacturasCliente,
uBizContactos, uBizArticulos;
type
@@ -32,6 +32,8 @@ type
function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
public
+ function DarListaTiposDetalle: TStringList; override;
+
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean = True; const ACantidad: Integer = 1); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
@@ -126,6 +128,17 @@ begin
FDataModule := TDataModuleFacturasCliente.Create(Nil);
end;
+function TDetallesFacturaClienteController.DarListaTiposDetalle: TStringList;
+begin
+ Result := TStringList.Create;
+ Result.Values[TIPO_DETALLE_CONCEPTO] := TIPO_DETALLE_CONCEPTO;
+ Result.Values[TIPO_DETALLE_TITULO] := TIPO_DETALLE_TITULO;
+// Result.Values[TIPO_DETALLE_TITULO_OPCIONAL] := TIPO_DETALLE_TITULO_OPCIONAL;
+ Result.Values[TIPO_DETALLE_SUBTOTAL] := TIPO_DETALLE_SUBTOTAL;
+// Result.Values[TIPO_DETALLE_DESCUENTO] := TIPO_DETALLE_DESCUENTO;
+// Result.Values[TIPO_DETALLE_SALTO] := TIPO_DETALLE_SALTO;
+end;
+
function TDetallesFacturaClienteController.DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
begin
Result := DarTotalPorte(ADetalles);
diff --git a/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas b/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas
index c22be6e6..887c9a1d 100644
--- a/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas
+++ b/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas
@@ -1082,6 +1082,7 @@ begin
and (MonthOf(AFechaVencimiento) = 3) and (DayOf(AFechaVencimiento) < 3) then
AFechaVencimiento := IncDay(AFechaVencimiento, - DayOf(AFechaVencimiento));
+ ARecibos.FECHA_EMISION := AFactura.FECHA_FACTURA;
ARecibos.FECHA_VENCIMIENTO := AFechaVencimiento;
ARecibos.IMPORTE := AFactura.IMPORTE_TOTAL * (AFormaPago.Plazos.PORCENTAJE / 100);
diff --git a/Source/Modulos/Facturas de cliente/Data/FacturasCliente_data.dproj b/Source/Modulos/Facturas de cliente/Data/FacturasCliente_data.dproj
index f4aa6191..9ff48890 100644
--- a/Source/Modulos/Facturas de cliente/Data/FacturasCliente_data.dproj
+++ b/Source/Modulos/Facturas de cliente/Data/FacturasCliente_data.dproj
@@ -42,7 +42,7 @@
Delphi.Personality
Package
-FalseTrueFalseTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0FacturasCliente_data.dpk
+FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0FacturasCliente_data.dpk
@@ -58,7 +58,7 @@