diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj
index 92f2a92e..82f998db 100644
--- a/Source/Base/Base.dproj
+++ b/Source/Base/Base.dproj
@@ -45,6 +45,10 @@
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
@@ -54,58 +58,58 @@
MainSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
TForm
diff --git a/Source/Cliente/FactuGES.dproj b/Source/Cliente/FactuGES.dproj
index db59be65..eaa173bb 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\TrueFalse2400FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.4.0.0FactuGESFactuGES2.4.0.0FactuGES.dprFalse
+FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse2510FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.5.1.0FactuGESFactuGES2.5.1.0FactuGES.dprFalse
diff --git a/Source/Cliente/FactuGES.rc b/Source/Cliente/FactuGES.rc
index 34e40ecf..5a7ab119 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 2,4,0,0
-PRODUCTVERSION 2,4,0,0
+FILEVERSION 2,5,1,0
+PRODUCTVERSION 2,5,1,0
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L
FILEOS 0x40004L
@@ -13,10 +13,10 @@ BEGIN
BLOCK "0C0A04E4"
BEGIN
VALUE "CompanyName", "Rodax Software S.L.\0"
- VALUE "FileVersion", "2.4.0.0\0"
+ VALUE "FileVersion", "2.5.1.0\0"
VALUE "InternalName", "FactuGES\0"
VALUE "ProductName", "FactuGES\0"
- VALUE "ProductVersion", "2.4.0.0\0"
+ VALUE "ProductVersion", "2.5.1.0\0"
END
END
BLOCK "VarFileInfo"
diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res
index 7e638f7b..75d4651f 100644
Binary files a/Source/Cliente/FactuGES.res and b/Source/Cliente/FactuGES.res differ
diff --git a/Source/Informes/1/FacturaCliente.rdx b/Source/Informes/1/FacturaCliente.rdx
index 571c5640..c578a557 100644
Binary files a/Source/Informes/1/FacturaCliente.rdx and b/Source/Informes/1/FacturaCliente.rdx differ
diff --git a/Source/Informes/1/InfFacturaCliente.fr3 b/Source/Informes/1/InfFacturaCliente.fr3
index 649760e3..91f4d785 100644
--- a/Source/Informes/1/InfFacturaCliente.fr3
+++ b/Source/Informes/1/InfFacturaCliente.fr3
@@ -1,9 +1,9 @@
-
+
-
+
@@ -65,11 +65,13 @@
-
+
+
+
-
+
diff --git a/Source/Modulos/Facturas de cliente/Data/uDataModuleFacturasCliente.dfm b/Source/Modulos/Facturas de cliente/Data/uDataModuleFacturasCliente.dfm
index 46fc474b..714cf85b 100644
--- a/Source/Modulos/Facturas de cliente/Data/uDataModuleFacturasCliente.dfm
+++ b/Source/Modulos/Facturas de cliente/Data/uDataModuleFacturasCliente.dfm
@@ -287,6 +287,10 @@ inherited DataModuleFacturasCliente: TDataModuleFacturasCliente
item
Name = 'FACTURA_WEB'
DataType = datSmallInt
+ end
+ item
+ Name = 'ANTICIPADA'
+ DataType = datSmallInt
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
diff --git a/Source/Modulos/Facturas de cliente/Model/schFacturasClienteClient_Intf.pas b/Source/Modulos/Facturas de cliente/Model/schFacturasClienteClient_Intf.pas
index 71d0ff1f..cde47eb3 100644
--- a/Source/Modulos/Facturas de cliente/Model/schFacturasClienteClient_Intf.pas
+++ b/Source/Modulos/Facturas de cliente/Model/schFacturasClienteClient_Intf.pas
@@ -9,9 +9,9 @@ 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_ListaAnosFacturas = '{B6420F5C-D91E-48CE-B5AE-1601C339BCFB}';
- RID_FacturasCliente = '{CFAF95F1-1417-4EFB-9434-9F6E72BEC0A2}';
- RID_FacturasCliente_Detalles = '{48E213DD-72ED-44BB-9E6F-FB5D350B50D4}';
+ RID_ListaAnosFacturas = '{73B3E607-12AC-45CC-A271-B71B7CB04265}';
+ RID_FacturasCliente = '{CCDFBD59-C5F8-4D55-B1FF-6ADED793246B}';
+ RID_FacturasCliente_Detalles = '{D4D44383-AE2B-448A-BE39-BA7A7BF96DC2}';
{ Data table names }
nme_ListaAnosFacturas = 'ListaAnosFacturas';
@@ -69,6 +69,7 @@ const
fld_FacturasClienteID_PRESUPUESTO = 'ID_PRESUPUESTO';
fld_FacturasClienteREFERENCIA_PRESUPUESTO = 'REFERENCIA_PRESUPUESTO';
fld_FacturasClienteFACTURA_WEB = 'FACTURA_WEB';
+ fld_FacturasClienteANTICIPADA = 'ANTICIPADA';
{ FacturasCliente field indexes }
idx_FacturasClienteID = 0;
@@ -115,6 +116,7 @@ const
idx_FacturasClienteID_PRESUPUESTO = 41;
idx_FacturasClienteREFERENCIA_PRESUPUESTO = 42;
idx_FacturasClienteFACTURA_WEB = 43;
+ idx_FacturasClienteANTICIPADA = 44;
{ FacturasCliente_Detalles fields }
fld_FacturasCliente_DetallesID = 'ID';
@@ -153,7 +155,7 @@ const
type
{ IListaAnosFacturas }
IListaAnosFacturas = interface(IDAStronglyTypedDataTable)
- ['{5CB55BC4-3F60-4960-A0CB-B487CC69AE87}']
+ ['{2DB3E7B0-074E-437F-8A05-B13A13B86C3F}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
@@ -188,7 +190,7 @@ type
{ IFacturasCliente }
IFacturasCliente = interface(IDAStronglyTypedDataTable)
- ['{DD0C6685-6F03-48F9-9628-0C1B2255F118}']
+ ['{A82FC171-C66B-428B-BB34-FE7FD430543A}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -365,6 +367,10 @@ type
procedure SetFACTURA_WEBValue(const aValue: SmallInt);
function GetFACTURA_WEBIsNull: Boolean;
procedure SetFACTURA_WEBIsNull(const aValue: Boolean);
+ function GetANTICIPADAValue: SmallInt;
+ procedure SetANTICIPADAValue(const aValue: SmallInt);
+ function GetANTICIPADAIsNull: Boolean;
+ procedure SetANTICIPADAIsNull(const aValue: Boolean);
{ Properties }
@@ -456,6 +462,8 @@ type
property REFERENCIA_PRESUPUESTOIsNull: Boolean read GetREFERENCIA_PRESUPUESTOIsNull write SetREFERENCIA_PRESUPUESTOIsNull;
property FACTURA_WEB: SmallInt read GetFACTURA_WEBValue write SetFACTURA_WEBValue;
property FACTURA_WEBIsNull: Boolean read GetFACTURA_WEBIsNull write SetFACTURA_WEBIsNull;
+ property ANTICIPADA: SmallInt read GetANTICIPADAValue write SetANTICIPADAValue;
+ property ANTICIPADAIsNull: Boolean read GetANTICIPADAIsNull write SetANTICIPADAIsNull;
end;
{ TFacturasClienteDataTableRules }
@@ -640,6 +648,10 @@ type
procedure SetFACTURA_WEBValue(const aValue: SmallInt); virtual;
function GetFACTURA_WEBIsNull: Boolean; virtual;
procedure SetFACTURA_WEBIsNull(const aValue: Boolean); virtual;
+ function GetANTICIPADAValue: SmallInt; virtual;
+ procedure SetANTICIPADAValue(const aValue: SmallInt); virtual;
+ function GetANTICIPADAIsNull: Boolean; virtual;
+ procedure SetANTICIPADAIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
@@ -730,6 +742,8 @@ type
property REFERENCIA_PRESUPUESTOIsNull: Boolean read GetREFERENCIA_PRESUPUESTOIsNull write SetREFERENCIA_PRESUPUESTOIsNull;
property FACTURA_WEB: SmallInt read GetFACTURA_WEBValue write SetFACTURA_WEBValue;
property FACTURA_WEBIsNull: Boolean read GetFACTURA_WEBIsNull write SetFACTURA_WEBIsNull;
+ property ANTICIPADA: SmallInt read GetANTICIPADAValue write SetANTICIPADAValue;
+ property ANTICIPADAIsNull: Boolean read GetANTICIPADAIsNull write SetANTICIPADAIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
@@ -739,7 +753,7 @@ type
{ IFacturasCliente_Detalles }
IFacturasCliente_Detalles = interface(IDAStronglyTypedDataTable)
- ['{C6858DC1-BBDE-4EC0-93E6-E1D177191707}']
+ ['{F3DED1B6-4C46-4A15-97C0-C5E56824CF36}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -1919,6 +1933,27 @@ begin
DataTable.Fields[idx_FacturasClienteFACTURA_WEB].AsVariant := Null;
end;
+function TFacturasClienteDataTableRules.GetANTICIPADAValue: SmallInt;
+begin
+ result := DataTable.Fields[idx_FacturasClienteANTICIPADA].AsSmallInt;
+end;
+
+procedure TFacturasClienteDataTableRules.SetANTICIPADAValue(const aValue: SmallInt);
+begin
+ DataTable.Fields[idx_FacturasClienteANTICIPADA].AsSmallInt := aValue;
+end;
+
+function TFacturasClienteDataTableRules.GetANTICIPADAIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_FacturasClienteANTICIPADA].IsNull;
+end;
+
+procedure TFacturasClienteDataTableRules.SetANTICIPADAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_FacturasClienteANTICIPADA].AsVariant := Null;
+end;
+
{ TFacturasCliente_DetallesDataTableRules }
constructor TFacturasCliente_DetallesDataTableRules.Create(aDataTable: TDADataTable);
diff --git a/Source/Modulos/Facturas de cliente/Model/schFacturasClienteServer_Intf.pas b/Source/Modulos/Facturas de cliente/Model/schFacturasClienteServer_Intf.pas
index ccd701ff..75b0490e 100644
--- a/Source/Modulos/Facturas de cliente/Model/schFacturasClienteServer_Intf.pas
+++ b/Source/Modulos/Facturas de cliente/Model/schFacturasClienteServer_Intf.pas
@@ -9,14 +9,14 @@ 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_ListaAnosFacturasDelta = '{4545AB94-BA1A-498B-82CC-6BB34ACFBF86}';
- RID_FacturasClienteDelta = '{AB0BB13F-03DD-46A7-9C1E-82C075A9DE7B}';
- RID_FacturasCliente_DetallesDelta = '{3C02B67E-221C-403B-AE8D-FAD1AB3E0FCC}';
+ RID_ListaAnosFacturasDelta = '{2C4A6B5A-64F9-4553-99CE-A567BBC9D1EF}';
+ RID_FacturasClienteDelta = '{92A860A2-9687-477D-BD9C-EFDB42BAAEFC}';
+ RID_FacturasCliente_DetallesDelta = '{F439447E-F248-42DF-8BEA-2E1049E06244}';
type
{ IListaAnosFacturasDelta }
IListaAnosFacturasDelta = interface(IListaAnosFacturas)
- ['{4545AB94-BA1A-498B-82CC-6BB34ACFBF86}']
+ ['{2C4A6B5A-64F9-4553-99CE-A567BBC9D1EF}']
{ Property getters and setters }
function GetOldANOValue : String;
@@ -50,7 +50,7 @@ type
{ IFacturasClienteDelta }
IFacturasClienteDelta = interface(IFacturasCliente)
- ['{AB0BB13F-03DD-46A7-9C1E-82C075A9DE7B}']
+ ['{92A860A2-9687-477D-BD9C-EFDB42BAAEFC}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@@ -96,6 +96,7 @@ type
function GetOldID_PRESUPUESTOValue : Integer;
function GetOldREFERENCIA_PRESUPUESTOValue : String;
function GetOldFACTURA_WEBValue : SmallInt;
+ function GetOldANTICIPADAValue : SmallInt;
{ Properties }
property OldID : Integer read GetOldIDValue;
@@ -142,6 +143,7 @@ type
property OldID_PRESUPUESTO : Integer read GetOldID_PRESUPUESTOValue;
property OldREFERENCIA_PRESUPUESTO : String read GetOldREFERENCIA_PRESUPUESTOValue;
property OldFACTURA_WEB : SmallInt read GetOldFACTURA_WEBValue;
+ property OldANTICIPADA : SmallInt read GetOldANTICIPADAValue;
end;
{ TFacturasClienteBusinessProcessorRules }
@@ -414,6 +416,12 @@ type
function GetOldFACTURA_WEBIsNull: Boolean; virtual;
procedure SetFACTURA_WEBValue(const aValue: SmallInt); virtual;
procedure SetFACTURA_WEBIsNull(const aValue: Boolean); virtual;
+ function GetANTICIPADAValue: SmallInt; virtual;
+ function GetANTICIPADAIsNull: Boolean; virtual;
+ function GetOldANTICIPADAValue: SmallInt; virtual;
+ function GetOldANTICIPADAIsNull: Boolean; virtual;
+ procedure SetANTICIPADAValue(const aValue: SmallInt); virtual;
+ procedure SetANTICIPADAIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID : Integer read GetIDValue write SetIDValue;
@@ -592,6 +600,10 @@ type
property FACTURA_WEBIsNull : Boolean read GetFACTURA_WEBIsNull write SetFACTURA_WEBIsNull;
property OldFACTURA_WEB : SmallInt read GetOldFACTURA_WEBValue;
property OldFACTURA_WEBIsNull : Boolean read GetOldFACTURA_WEBIsNull;
+ property ANTICIPADA : SmallInt read GetANTICIPADAValue write SetANTICIPADAValue;
+ property ANTICIPADAIsNull : Boolean read GetANTICIPADAIsNull write SetANTICIPADAIsNull;
+ property OldANTICIPADA : SmallInt read GetOldANTICIPADAValue;
+ property OldANTICIPADAIsNull : Boolean read GetOldANTICIPADAIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
@@ -601,7 +613,7 @@ type
{ IFacturasCliente_DetallesDelta }
IFacturasCliente_DetallesDelta = interface(IFacturasCliente_Detalles)
- ['{3C02B67E-221C-403B-AE8D-FAD1AB3E0FCC}']
+ ['{F439447E-F248-42DF-8BEA-2E1049E06244}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_FACTURAValue : Integer;
@@ -2232,6 +2244,37 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteFACTURA_WEB] := Null;
end;
+function TFacturasClienteBusinessProcessorRules.GetANTICIPADAValue: SmallInt;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteANTICIPADA];
+end;
+
+function TFacturasClienteBusinessProcessorRules.GetANTICIPADAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteANTICIPADA]);
+end;
+
+function TFacturasClienteBusinessProcessorRules.GetOldANTICIPADAValue: SmallInt;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasClienteANTICIPADA];
+end;
+
+function TFacturasClienteBusinessProcessorRules.GetOldANTICIPADAIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasClienteANTICIPADA]);
+end;
+
+procedure TFacturasClienteBusinessProcessorRules.SetANTICIPADAValue(const aValue: SmallInt);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteANTICIPADA] := aValue;
+end;
+
+procedure TFacturasClienteBusinessProcessorRules.SetANTICIPADAIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteANTICIPADA] := Null;
+end;
+
{ TFacturasCliente_DetallesBusinessProcessorRules }
constructor TFacturasCliente_DetallesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
diff --git a/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas b/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas
index 299dd9e3..f6be2700 100644
--- a/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas
+++ b/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas
@@ -270,6 +270,7 @@ begin
RE := 0;
SITUACION := CTE_PENDIENTE;
FACTURA_WEB := 0;
+ ANTICIPADA := 0;
end;
procedure TBizFacturaCliente.IVAOnChange(Sender: TDACustomField);
diff --git a/Source/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm b/Source/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm
index 8c7265af..f10c9e7d 100644
--- a/Source/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm
+++ b/Source/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm
@@ -223,6 +223,10 @@ object srvFacturasCliente: TsrvFacturasCliente
item
DatasetField = 'FACTURA_WEB'
TableField = 'FACTURA_WEB'
+ end
+ item
+ DatasetField = 'ANTICIPADA'
+ TableField = 'ANTICIPADA'
end>
end>
Name = 'FacturasCliente'
@@ -454,6 +458,10 @@ object srvFacturasCliente: TsrvFacturasCliente
item
Name = 'FACTURA_WEB'
DataType = datSmallInt
+ end
+ item
+ Name = 'ANTICIPADA'
+ DataType = datSmallInt
end>
end
item
@@ -1031,6 +1039,11 @@ object srvFacturasCliente: TsrvFacturasCliente
Name = 'FACTURA_WEB'
DataType = datSmallInt
Value = ''
+ end
+ item
+ Name = 'ANTICIPADA'
+ DataType = datSmallInt
+ Value = ''
end>
Statements = <
item
@@ -1048,18 +1061,19 @@ object srvFacturasCliente: TsrvFacturasCliente
'IO,'#10' ID_FORMA_PAGO,'#10' RECARGO_EQUIVALENCIA,'#10' ID_TIPO_IVA' +
','#10' IMPORTE_NETO,'#10' IMPORTE_PORTE,'#10' DATOS_BANCARIOS,'#10' ' +
'CLIENTE_FINAL,'#10' RETENCION,'#10' IMPORTE_RETENCION,'#10' CERTIFI' +
- 'CADO_ISO,'#10' ID_PRESUPUESTO,'#10' FACTURA_WEB)'#10' VALUES ('#10' :I' +
- 'D,'#10' :ID_EMPRESA,'#10' :REFERENCIA,'#10' :FECHA_FACTURA,'#10' :FE' +
- 'CHA_VENCIMIENTO,'#10' :FECHA_RETENCION,'#10' :BASE_IMPONIBLE,'#10' ' +
- ':DESCUENTO,'#10' :IMPORTE_DESCUENTO,'#10' :IVA,'#10' :IMPORTE_IVA,'#10 +
- ' :RE,'#10' :IMPORTE_RE,'#10' :IMPORTE_TOTAL,'#10' :OBSERVACIONES' +
- ','#10' :ID_CLIENTE,'#10' :NIF_CIF,'#10' :NOMBRE,'#10' :ID_DIRECCION,' +
- #10' :CALLE,'#10' :POBLACION,'#10' :PROVINCIA,'#10' :CODIGO_POSTAL,' +
- #10' :FECHA_ALTA,'#10' :FECHA_MODIFICACION,'#10' :USUARIO,'#10' :ID' +
- '_FORMA_PAGO,'#10' :RECARGO_EQUIVALENCIA,'#10' :ID_TIPO_IVA,'#10' :I' +
- 'MPORTE_NETO,'#10' :IMPORTE_PORTE,'#10' :DATOS_BANCARIOS,'#10' :CLIE' +
- 'NTE_FINAL,'#10' :RETENCION,'#10' :IMPORTE_RETENCION,'#10' :CERTIFIC' +
- 'ADO_ISO,'#10' :ID_PRESUPUESTO,'#10' :FACTURA_WEB);'#10
+ 'CADO_ISO,'#10' ID_PRESUPUESTO,'#10' FACTURA_WEB,'#10' ANTICIPADA)'#10' ' +
+ ' VALUES ('#10' :ID,'#10' :ID_EMPRESA,'#10' :REFERENCIA,'#10' :FECHA_' +
+ 'FACTURA,'#10' :FECHA_VENCIMIENTO,'#10' :FECHA_RETENCION,'#10' :BASE' +
+ '_IMPONIBLE,'#10' :DESCUENTO,'#10' :IMPORTE_DESCUENTO,'#10' :IVA,'#10' ' +
+ ' :IMPORTE_IVA,'#10' :RE,'#10' :IMPORTE_RE,'#10' :IMPORTE_TOTAL,'#10' ' +
+ ' :OBSERVACIONES,'#10' :ID_CLIENTE,'#10' :NIF_CIF,'#10' :NOMBRE,'#10' ' +
+ ' :ID_DIRECCION,'#10' :CALLE,'#10' :POBLACION,'#10' :PROVINCIA,'#10' ' +
+ ' :CODIGO_POSTAL,'#10' :FECHA_ALTA,'#10' :FECHA_MODIFICACION,'#10' :' +
+ 'USUARIO,'#10' :ID_FORMA_PAGO,'#10' :RECARGO_EQUIVALENCIA,'#10' :ID_' +
+ 'TIPO_IVA,'#10' :IMPORTE_NETO,'#10' :IMPORTE_PORTE,'#10' :DATOS_BANC' +
+ 'ARIOS,'#10' :CLIENTE_FINAL,'#10' :RETENCION,'#10' :IMPORTE_RETENCIO' +
+ 'N,'#10' :CERTIFICADO_ISO,'#10' :ID_PRESUPUESTO,'#10' :FACTURA_WEB,'#10 +
+ ' :ANTICIPADA);'#10
StatementType = stSQL
ColumnMappings = <>
end>
@@ -1262,6 +1276,11 @@ object srvFacturasCliente: TsrvFacturasCliente
DataType = datSmallInt
Value = ''
end
+ item
+ Name = 'ANTICIPADA'
+ DataType = datSmallInt
+ Value = ''
+ end
item
Name = 'OLD_ID'
Value = ''
@@ -1290,7 +1309,8 @@ object srvFacturasCliente: TsrvFacturasCliente
'ANCARIOS,'#10' CLIENTE_FINAL = :CLIENTE_FINAL,'#10' RETENCION = :R' +
'ETENCION,'#10' IMPORTE_RETENCION = :IMPORTE_RETENCION,'#10' CERTIF' +
'ICADO_ISO = :CERTIFICADO_ISO,'#10' ID_PRESUPUESTO = :ID_PRESUPUES' +
- 'TO,'#10' FACTURA_WEB = :FACTURA_WEB'#10' WHERE'#10' (ID = :OLD_ID);'#10
+ 'TO,'#10' FACTURA_WEB = :FACTURA_WEB,'#10' ANTICIPADA = :ANTICIPADA' +
+ #10' WHERE'#10' (ID = :OLD_ID);'#10
StatementType = stSQL
ColumnMappings = <>
end>
diff --git a/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.dfm
index 8fb5907e..c1a53bea 100644
--- a/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.dfm
+++ b/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.dfm
@@ -98,7 +98,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.SkinName = ''
- TabOrder = 11
+ TabOrder = 12
Height = 345
Width = 355
end
@@ -136,7 +136,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.SkinName = ''
- TabOrder = 4
+ TabOrder = 5
Width = 269
end
object bFormasPago: TButton
@@ -145,7 +145,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
Width = 132
Height = 23
Caption = 'Ver las formas de pago...'
- TabOrder = 5
+ TabOrder = 6
OnClick = bFormasPagoClick
end
object cbCuentaBancaria: TcxDBComboBox
@@ -167,7 +167,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
- TabOrder = 7
+ TabOrder = 8
Width = 165
end
object cbClienteFinal: TcxDBTextEdit
@@ -195,7 +195,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.SkinName = ''
- TabOrder = 9
+ TabOrder = 10
Width = 339
end
object bElegirClienteFinal: TButton
@@ -204,7 +204,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
Width = 23
Height = 25
Action = actElegirClienteFinal
- TabOrder = 10
+ TabOrder = 11
end
inline frViewDatosYSeleccionClienteFacturaCliente1: TfrViewDatosYSeleccionClienteFacturaCliente
Left = 343
@@ -217,16 +217,19 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
- TabOrder = 8
+ TabOrder = 9
ReadOnly = False
ExplicitLeft = 343
ExplicitTop = 30
inherited dxLayoutControl1: TdxLayoutControl
+ ExplicitWidth = 101
inherited edtlNombre: TcxDBTextEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
+ ExplicitWidth = 224
+ Width = 224
end
inherited edtNIFCIF: TcxDBTextEdit
Left = 171
@@ -245,6 +248,8 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
+ ExplicitWidth = 121
+ Width = 121
end
inherited Button4: TButton
Left = 251
@@ -287,13 +292,14 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.SkinName = ''
- TabOrder = 6
+ TabOrder = 7
Width = 275
end
object eCertificadoISO: TcxDBCheckBox
Left = 22
Top = 84
Caption = 'Certificaci'#243'n ISO'
+ Constraints.MinWidth = 110
DataBinding.DataField = 'CERTIFICADO_ISO'
DataBinding.DataSource = DADataSource
Properties.ValueChecked = 1
@@ -308,10 +314,10 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 2
Transparent = True
- Width = 125
+ Width = 110
end
object eFacturaWeb: TcxDBCheckBox
- Left = 153
+ Left = 219
Top = 84
Caption = 'Factura WEB'
DataBinding.DataField = 'FACTURA_WEB'
@@ -327,10 +333,32 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
- TabOrder = 3
+ TabOrder = 4
Transparent = True
Width = 293
end
+ object eFacturaANT: TcxDBCheckBox
+ Left = 138
+ Top = 84
+ Caption = 'Anticipada'
+ Constraints.MinWidth = 75
+ DataBinding.DataField = 'ANTICIPADA'
+ DataBinding.DataSource = DADataSource
+ Properties.ImmediatePost = True
+ Properties.ValueChecked = 1
+ Properties.ValueUnchecked = 0
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 3
+ Transparent = True
+ Width = 75
+ end
object dxLayoutControl1Group_Root: TdxLayoutGroup
ShowCaption = False
Hidden = True
@@ -364,8 +392,17 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
LayoutDirection = ldHorizontal
ShowBorder = False
object dxLayoutControl1Item11: TdxLayoutItem
+ AutoAligns = [aaVertical]
ShowCaption = False
Control = eCertificadoISO
+ ControlOptions.MinWidth = 100
+ ControlOptions.ShowBorder = False
+ end
+ object dxLayoutControl1Item13: TdxLayoutItem
+ AutoAligns = [aaVertical]
+ ShowCaption = False
+ Control = eFacturaANT
+ ControlOptions.MinWidth = 75
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item12: TdxLayoutItem
diff --git a/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.pas b/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.pas
index 3a7e4c60..898a644b 100644
--- a/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.pas
+++ b/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.pas
@@ -72,6 +72,8 @@ type
dxLayoutControl1Item12: TdxLayoutItem;
eFacturaWeb: TcxDBCheckBox;
dxLayoutControl1Group10: TdxLayoutGroup;
+ dxLayoutControl1Item13: TdxLayoutItem;
+ eFacturaANT: TcxDBCheckBox;
procedure bFormasPagoClick(Sender: TObject);
procedure CustomViewDestroy(Sender: TObject);
procedure CustomViewCreate(Sender: TObject);
diff --git a/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.dfm
index 8b900b21..41eac715 100644
--- a/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.dfm
+++ b/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.dfm
@@ -22,6 +22,21 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente
DataController.OnCompare = cxGridViewDataControllerCompare
OptionsCustomize.ColumnHidingOnGrouping = False
OptionsView.GroupFooters = gfAlwaysVisible
+ object cxGridViewANTICIPADA: TcxGridDBColumn
+ Caption = 'Anticipada'
+ DataBinding.FieldName = 'ANTICIPADA'
+ PropertiesClassName = 'TcxImageComboBoxProperties'
+ Properties.Images = GridPNGImageList
+ Properties.Items = <
+ item
+ Description = 'Anticipada'
+ ImageIndex = 0
+ Value = 1
+ end
+ item
+ Value = 0
+ end>
+ end
object cxGridViewWEB: TcxGridDBColumn
Caption = 'Web'
DataBinding.FieldName = 'FACTURA_WEB'
diff --git a/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.pas b/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.pas
index c28ab359..76d16503 100644
--- a/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.pas
+++ b/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.pas
@@ -62,6 +62,7 @@ type
cxGridPendientes: TcxGridLevel;
cxGridParcial: TcxGridLevel;
cxGridPagadas: TcxGridLevel;
+ cxGridViewANTICIPADA: TcxGridDBColumn;
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem;
out AStyle: TcxStyle);
diff --git a/Source/Modulos/Formas de pago/Views/uEditorFormaPago.pas b/Source/Modulos/Formas de pago/Views/uEditorFormaPago.pas
index cedcb8a6..e096a446 100644
--- a/Source/Modulos/Formas de pago/Views/uEditorFormaPago.pas
+++ b/Source/Modulos/Formas de pago/Views/uEditorFormaPago.pas
@@ -121,6 +121,9 @@ end;
procedure TfEditorFormaPago.actAnadirExecute(Sender: TObject);
begin
+ if Assigned(FFormaPago) and (FFormaPago.State = dsInsert) then
+ FController.Guardar(FFormaPago);
+
FPlazos.Append;
end;
diff --git a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas
index 56abbddf..ad717b74 100644
--- a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas
+++ b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas
@@ -61,7 +61,9 @@ type
procedure Preview(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false; Const AVerSello: Integer = 1);
procedure Print(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false; Const AVerSello: Integer = 1);
function GenerarCertificados(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false): Boolean;
- function CambiarSituacion(APresupuesto : IBizPresupuestoCliente; Situacion: String; FechaDecision: TDateTime; AllItems: Boolean = false): Boolean;
+ function CambiarSituacion(APresupuesto : IBizPresupuestoCliente; Situacion: String; FechaDecision: TDateTime; AllItems: Boolean = false): Boolean; overload;
+ function CambiarSituacion(APresupuesto : IBizPresupuestoCliente; Situacion: String): Boolean; overload;
+ function PedidoRecibido(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false): Boolean;
function EnviarPresupuestoPorEMail(APresupuesto : IBizPresupuestoCliente;
const AEnviarDirectamente: Boolean = True;
@@ -146,7 +148,9 @@ type
procedure Preview(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false; Const AVerSello: Integer = 1);
procedure Print(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false; Const AVerSello: Integer = 1);
function GenerarCertificados(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false): Boolean;
- function CambiarSituacion(APresupuesto : IBizPresupuestoCliente; Situacion: String; FechaDecision: TDateTime; AllItems: Boolean = false): Boolean;
+ function CambiarSituacion(APresupuesto : IBizPresupuestoCliente; Situacion: String; FechaDecision: TDateTime; AllItems: Boolean = false): Boolean; overload;
+ function CambiarSituacion(APresupuesto : IBizPresupuestoCliente; Situacion: String): Boolean; overload;
+ function PedidoRecibido(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false): Boolean;
function EnviarPresupuestoPorEMail(APresupuesto : IBizPresupuestoCliente;
const AEnviarDirectamente: Boolean = True;
@@ -381,6 +385,38 @@ begin
end;
end;
+function TPresupuestosClienteController.CambiarSituacion(
+ APresupuesto: IBizPresupuestoCliente; Situacion: String): Boolean;
+ //Solo cambia la situacion del presupuesto seleccionado
+begin
+ if not Assigned(APresupuesto) then
+ raise Exception.Create ('APresupuesto no asignado');
+
+ ShowHourglassCursor;
+ try
+ if not APresupuesto.DataTable.Active then
+ APresupuesto.DataTable.Active := True;
+
+ if (APresupuesto.State in dsEditModes) then
+ APresupuesto.Cancel;
+
+ //Siempre cambiaremos de situacion el seleccionado
+ if APresupuesto.SITUACION <> Situacion then
+ begin
+ APresupuesto.DataTable.Edit;
+ APresupuesto.SITUACION := Situacion;
+ APresupuesto.DataTable.Post;
+ end;
+
+ APresupuesto.DataTable.ApplyUpdates;
+ Result := True;
+
+ finally
+ HideHourglassCursor;
+ end;
+
+end;
+
constructor TPresupuestosClienteController.Create;
begin
inherited;
@@ -1079,6 +1115,58 @@ begin
}
end;
+function TPresupuestosClienteController.PedidoRecibido(
+ APresupuesto: IBizPresupuestoCliente; AllItems: Boolean): Boolean;
+//En el caso de cambiar al menos un presupuesto devuelve true
+begin
+ Result := false;
+
+ if not Assigned(APresupuesto) then
+ raise Exception.Create ('APresupuesto no asignado');
+
+ ShowHourglassCursor;
+ try
+ if not APresupuesto.DataTable.Active then
+ APresupuesto.DataTable.Active := True;
+
+ if (APresupuesto.State in dsEditModes) then
+ APresupuesto.Cancel;
+
+ //Siempre cambiaremos de situacion el seleccionado
+ if APresupuesto.SIN_PEDIDO > 0 then
+ begin
+ APresupuesto.DataTable.Edit;
+ APresupuesto.SIN_PEDIDO := 0;
+ APresupuesto.DataTable.Post;
+ Result := true
+ end;
+
+ //En el caso de querer eliminar todos los items del objeto APresupuesto
+ if AllItems then
+ begin
+ with APresupuesto.DataTable do
+ begin
+ First;
+ while not EOF do
+ begin
+ if APresupuesto.SIN_PEDIDO > 0 then
+ begin
+ APresupuesto.DataTable.Edit;
+ APresupuesto.SIN_PEDIDO := 0;
+ APresupuesto.DataTable.Post;
+ Result := true;
+ end;
+ Next;
+ end;
+ end;
+ end;
+
+ APresupuesto.DataTable.ApplyUpdates;
+ finally
+ HideHourglassCursor;
+ end;
+end;
+
procedure TPresupuestosClienteController.Preview(APresupuesto: IBizPresupuestoCliente; AllItems: Boolean = false; Const AVerSello: Integer = 1);
var
AReportController : IPresupuestosClienteReportController;
diff --git a/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm
index 014e5c4b..7179620a 100644
--- a/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm
+++ b/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm
@@ -246,6 +246,10 @@ inherited DataModulePresupuestosCliente: TDataModulePresupuestosCliente
item
Name = 'PRESUPUESTO_WEB'
DataType = datSmallInt
+ end
+ item
+ Name = 'SIN_PEDIDO'
+ DataType = datSmallInt
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
diff --git a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas
index 8f5ef670..10e50f9e 100644
--- a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas
+++ b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas
@@ -9,9 +9,9 @@ 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_ListaAnosPresupuestos = '{57F229C4-0E25-4B14-9EF2-FDDD99E71C84}';
- RID_PresupuestosCliente = '{59171E8B-CE19-4D89-B535-C89A0CF3A7A8}';
- RID_PresupuestosCliente_Detalles = '{DEBB6BD7-53C4-423A-A7BC-7EDB8FE1E85B}';
+ RID_ListaAnosPresupuestos = '{4CFB1796-BDFD-43C6-AE2B-B751A8B4F255}';
+ RID_PresupuestosCliente = '{BD0FBC36-0736-4EE2-892E-F861F1C5FF2C}';
+ RID_PresupuestosCliente_Detalles = '{2381DA76-3CDB-4826-BEBA-8064B4EB7A98}';
{ Data table names }
nme_ListaAnosPresupuestos = 'ListaAnosPresupuestos';
@@ -61,6 +61,7 @@ const
fld_PresupuestosClienteCERTIFICADO_ISO = 'CERTIFICADO_ISO';
fld_PresupuestosClienteNUM_FACTURA = 'NUM_FACTURA';
fld_PresupuestosClientePRESUPUESTO_WEB = 'PRESUPUESTO_WEB';
+ fld_PresupuestosClienteSIN_PEDIDO = 'SIN_PEDIDO';
{ PresupuestosCliente field indexes }
idx_PresupuestosClienteID = 0;
@@ -99,6 +100,7 @@ const
idx_PresupuestosClienteCERTIFICADO_ISO = 33;
idx_PresupuestosClienteNUM_FACTURA = 34;
idx_PresupuestosClientePRESUPUESTO_WEB = 35;
+ idx_PresupuestosClienteSIN_PEDIDO = 36;
{ PresupuestosCliente_Detalles fields }
fld_PresupuestosCliente_DetallesID = 'ID';
@@ -137,7 +139,7 @@ const
type
{ IListaAnosPresupuestos }
IListaAnosPresupuestos = interface(IDAStronglyTypedDataTable)
- ['{8205902D-1C1B-4481-8FA3-990C69B260CA}']
+ ['{ADC742B8-CD7D-4E50-82DB-3DBFE70E49FD}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
@@ -172,7 +174,7 @@ type
{ IPresupuestosCliente }
IPresupuestosCliente = interface(IDAStronglyTypedDataTable)
- ['{80C8000B-8736-4612-B2A2-0D4B0EFD5401}']
+ ['{84ED34FA-3A9A-4299-A2F9-C5E4C9758F8B}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -314,6 +316,10 @@ type
procedure SetPRESUPUESTO_WEBValue(const aValue: SmallInt);
function GetPRESUPUESTO_WEBIsNull: Boolean;
procedure SetPRESUPUESTO_WEBIsNull(const aValue: Boolean);
+ function GetSIN_PEDIDOValue: SmallInt;
+ procedure SetSIN_PEDIDOValue(const aValue: SmallInt);
+ function GetSIN_PEDIDOIsNull: Boolean;
+ procedure SetSIN_PEDIDOIsNull(const aValue: Boolean);
{ Properties }
@@ -389,6 +395,8 @@ type
property NUM_FACTURAIsNull: Boolean read GetNUM_FACTURAIsNull write SetNUM_FACTURAIsNull;
property PRESUPUESTO_WEB: SmallInt read GetPRESUPUESTO_WEBValue write SetPRESUPUESTO_WEBValue;
property PRESUPUESTO_WEBIsNull: Boolean read GetPRESUPUESTO_WEBIsNull write SetPRESUPUESTO_WEBIsNull;
+ property SIN_PEDIDO: SmallInt read GetSIN_PEDIDOValue write SetSIN_PEDIDOValue;
+ property SIN_PEDIDOIsNull: Boolean read GetSIN_PEDIDOIsNull write SetSIN_PEDIDOIsNull;
end;
{ TPresupuestosClienteDataTableRules }
@@ -544,6 +552,10 @@ type
procedure SetPRESUPUESTO_WEBValue(const aValue: SmallInt); virtual;
function GetPRESUPUESTO_WEBIsNull: Boolean; virtual;
procedure SetPRESUPUESTO_WEBIsNull(const aValue: Boolean); virtual;
+ function GetSIN_PEDIDOValue: SmallInt; virtual;
+ procedure SetSIN_PEDIDOValue(const aValue: SmallInt); virtual;
+ function GetSIN_PEDIDOIsNull: Boolean; virtual;
+ procedure SetSIN_PEDIDOIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
@@ -618,6 +630,8 @@ type
property NUM_FACTURAIsNull: Boolean read GetNUM_FACTURAIsNull write SetNUM_FACTURAIsNull;
property PRESUPUESTO_WEB: SmallInt read GetPRESUPUESTO_WEBValue write SetPRESUPUESTO_WEBValue;
property PRESUPUESTO_WEBIsNull: Boolean read GetPRESUPUESTO_WEBIsNull write SetPRESUPUESTO_WEBIsNull;
+ property SIN_PEDIDO: SmallInt read GetSIN_PEDIDOValue write SetSIN_PEDIDOValue;
+ property SIN_PEDIDOIsNull: Boolean read GetSIN_PEDIDOIsNull write SetSIN_PEDIDOIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
@@ -627,7 +641,7 @@ type
{ IPresupuestosCliente_Detalles }
IPresupuestosCliente_Detalles = interface(IDAStronglyTypedDataTable)
- ['{F117D80D-7B65-4791-8611-ACCF1099A09E}']
+ ['{A258EA65-0288-4875-A0B7-EE0C858B7FF7}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -1654,6 +1668,27 @@ begin
DataTable.Fields[idx_PresupuestosClientePRESUPUESTO_WEB].AsVariant := Null;
end;
+function TPresupuestosClienteDataTableRules.GetSIN_PEDIDOValue: SmallInt;
+begin
+ result := DataTable.Fields[idx_PresupuestosClienteSIN_PEDIDO].AsSmallInt;
+end;
+
+procedure TPresupuestosClienteDataTableRules.SetSIN_PEDIDOValue(const aValue: SmallInt);
+begin
+ DataTable.Fields[idx_PresupuestosClienteSIN_PEDIDO].AsSmallInt := aValue;
+end;
+
+function TPresupuestosClienteDataTableRules.GetSIN_PEDIDOIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PresupuestosClienteSIN_PEDIDO].IsNull;
+end;
+
+procedure TPresupuestosClienteDataTableRules.SetSIN_PEDIDOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PresupuestosClienteSIN_PEDIDO].AsVariant := Null;
+end;
+
{ TPresupuestosCliente_DetallesDataTableRules }
constructor TPresupuestosCliente_DetallesDataTableRules.Create(aDataTable: TDADataTable);
diff --git a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteServer_Intf.pas b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteServer_Intf.pas
index bcdd5613..91b12b6c 100644
--- a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteServer_Intf.pas
+++ b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteServer_Intf.pas
@@ -9,14 +9,14 @@ 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_ListaAnosPresupuestosDelta = '{C0D3D85C-14FE-4640-ABB5-AFFA1E455AB5}';
- RID_PresupuestosClienteDelta = '{DBAC9306-FDD2-4E1C-8E32-1AD77204437E}';
- RID_PresupuestosCliente_DetallesDelta = '{5C3B3F44-DBFB-471E-B345-BCD2673FED43}';
+ RID_ListaAnosPresupuestosDelta = '{2412538C-013F-4AAB-96F0-980B873F50C5}';
+ RID_PresupuestosClienteDelta = '{5310863C-EAE6-4F47-A8CE-BB25CD1ECDF7}';
+ RID_PresupuestosCliente_DetallesDelta = '{2A18B37C-F170-4EFD-8EC9-42258636D47D}';
type
{ IListaAnosPresupuestosDelta }
IListaAnosPresupuestosDelta = interface(IListaAnosPresupuestos)
- ['{C0D3D85C-14FE-4640-ABB5-AFFA1E455AB5}']
+ ['{2412538C-013F-4AAB-96F0-980B873F50C5}']
{ Property getters and setters }
function GetOldANOValue : String;
@@ -50,7 +50,7 @@ type
{ IPresupuestosClienteDelta }
IPresupuestosClienteDelta = interface(IPresupuestosCliente)
- ['{DBAC9306-FDD2-4E1C-8E32-1AD77204437E}']
+ ['{5310863C-EAE6-4F47-A8CE-BB25CD1ECDF7}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@@ -88,6 +88,7 @@ type
function GetOldCERTIFICADO_ISOValue : SmallInt;
function GetOldNUM_FACTURAValue : String;
function GetOldPRESUPUESTO_WEBValue : SmallInt;
+ function GetOldSIN_PEDIDOValue : SmallInt;
{ Properties }
property OldID : Integer read GetOldIDValue;
@@ -126,6 +127,7 @@ type
property OldCERTIFICADO_ISO : SmallInt read GetOldCERTIFICADO_ISOValue;
property OldNUM_FACTURA : String read GetOldNUM_FACTURAValue;
property OldPRESUPUESTO_WEB : SmallInt read GetOldPRESUPUESTO_WEBValue;
+ property OldSIN_PEDIDO : SmallInt read GetOldSIN_PEDIDOValue;
end;
{ TPresupuestosClienteBusinessProcessorRules }
@@ -353,6 +355,12 @@ type
function GetOldPRESUPUESTO_WEBIsNull: Boolean; virtual;
procedure SetPRESUPUESTO_WEBValue(const aValue: SmallInt); virtual;
procedure SetPRESUPUESTO_WEBIsNull(const aValue: Boolean); virtual;
+ function GetSIN_PEDIDOValue: SmallInt; virtual;
+ function GetSIN_PEDIDOIsNull: Boolean; virtual;
+ function GetOldSIN_PEDIDOValue: SmallInt; virtual;
+ function GetOldSIN_PEDIDOIsNull: Boolean; virtual;
+ procedure SetSIN_PEDIDOValue(const aValue: SmallInt); virtual;
+ procedure SetSIN_PEDIDOIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID : Integer read GetIDValue write SetIDValue;
@@ -499,6 +507,10 @@ type
property PRESUPUESTO_WEBIsNull : Boolean read GetPRESUPUESTO_WEBIsNull write SetPRESUPUESTO_WEBIsNull;
property OldPRESUPUESTO_WEB : SmallInt read GetOldPRESUPUESTO_WEBValue;
property OldPRESUPUESTO_WEBIsNull : Boolean read GetOldPRESUPUESTO_WEBIsNull;
+ property SIN_PEDIDO : SmallInt read GetSIN_PEDIDOValue write SetSIN_PEDIDOValue;
+ property SIN_PEDIDOIsNull : Boolean read GetSIN_PEDIDOIsNull write SetSIN_PEDIDOIsNull;
+ property OldSIN_PEDIDO : SmallInt read GetOldSIN_PEDIDOValue;
+ property OldSIN_PEDIDOIsNull : Boolean read GetOldSIN_PEDIDOIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
@@ -508,7 +520,7 @@ type
{ IPresupuestosCliente_DetallesDelta }
IPresupuestosCliente_DetallesDelta = interface(IPresupuestosCliente_Detalles)
- ['{5C3B3F44-DBFB-471E-B345-BCD2673FED43}']
+ ['{2A18B37C-F170-4EFD-8EC9-42258636D47D}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_PRESUPUESTOValue : Integer;
@@ -1909,6 +1921,37 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClientePRESUPUESTO_WEB] := Null;
end;
+function TPresupuestosClienteBusinessProcessorRules.GetSIN_PEDIDOValue: SmallInt;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteSIN_PEDIDO];
+end;
+
+function TPresupuestosClienteBusinessProcessorRules.GetSIN_PEDIDOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteSIN_PEDIDO]);
+end;
+
+function TPresupuestosClienteBusinessProcessorRules.GetOldSIN_PEDIDOValue: SmallInt;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteSIN_PEDIDO];
+end;
+
+function TPresupuestosClienteBusinessProcessorRules.GetOldSIN_PEDIDOIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteSIN_PEDIDO]);
+end;
+
+procedure TPresupuestosClienteBusinessProcessorRules.SetSIN_PEDIDOValue(const aValue: SmallInt);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteSIN_PEDIDO] := aValue;
+end;
+
+procedure TPresupuestosClienteBusinessProcessorRules.SetSIN_PEDIDOIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteSIN_PEDIDO] := Null;
+end;
+
{ TPresupuestosCliente_DetallesBusinessProcessorRules }
constructor TPresupuestosCliente_DetallesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
diff --git a/Source/Modulos/Presupuestos de cliente/Model/uBizPresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Model/uBizPresupuestosCliente.pas
index 0871730e..223bcd29 100644
--- a/Source/Modulos/Presupuestos de cliente/Model/uBizPresupuestosCliente.pas
+++ b/Source/Modulos/Presupuestos de cliente/Model/uBizPresupuestosCliente.pas
@@ -13,6 +13,8 @@ const
SITUACION_PRESUPUESTO_PENDIENTE = 'PENDIENTE';
SITUACION_PRESUPUESTO_ACEPTADO = 'ACEPTADO';
SITUACION_PRESUPUESTO_ANULADO = 'ANULADO';
+ SITUACION_PRESUPUESTO_PARCIAL = 'PARCIALMENTE FACTURADO';
+ SITUACION_PRESUPUESTO_TOTAL = 'FACTURADO';
type
IBizPresupuestoCliente = interface(IPresupuestosCliente)
@@ -206,6 +208,7 @@ begin
INCIDENCIAS_ACTIVAS := 0;
CERTIFICADO_ISO := 1;
PRESUPUESTO_WEB := 0;
+ SIN_PEDIDO := 1;
// INCIDENCIAS := NIL;
REFERENCIA := '';
SITUACION := SITUACION_PRESUPUESTO_PENDIENTE;
diff --git a/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm b/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm
index 4de33a21..4cc57c21 100644
--- a/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm
+++ b/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm
@@ -190,6 +190,10 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
item
DatasetField = 'PRESUPUESTO_WEB'
TableField = 'PRESUPUESTO_WEB'
+ end
+ item
+ DatasetField = 'SIN_PEDIDO'
+ TableField = 'SIN_PEDIDO'
end>
end>
Name = 'PresupuestosCliente'
@@ -384,6 +388,10 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
item
Name = 'PRESUPUESTO_WEB'
DataType = datSmallInt
+ end
+ item
+ Name = 'SIN_PEDIDO'
+ DataType = datSmallInt
end>
end
item
@@ -728,6 +736,11 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
Name = 'PRESUPUESTO_WEB'
DataType = datSmallInt
Value = ''
+ end
+ item
+ Name = 'SIN_PEDIDO'
+ DataType = datSmallInt
+ Value = ''
end>
Statements = <
item
@@ -743,16 +756,16 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
'E_PORTE, DESCUENTO, IMPORTE_DESCUENTO, '#10' BASE_IMPONIBLE, IVA' +
', IMPORTE_IVA, IMPORTE_TOTAL, ID_FORMA_PAGO,'#10' PERSONA_CONTAC' +
'TO, DESCRIPCION_BONIFICACION, IMPORTE_BONIFICACION, CERTIFICADO_' +
- 'ISO,'#10' PRESUPUESTO_WEB)'#10' VALUES'#10' (:ID, :ID_EMPRESA, :FECH' +
- 'A_PRESUPUESTO, :FECHA_DECISION, :REFERENCIA,'#10' :REFERENCIA_AU' +
- 'X, :SITUACION, :ID_CLIENTE, :ID_DIRECCION, :REFERENCIA_CLIENTE,'#10 +
- ' :CLIENTE_FINAL, :PORTADA, :MEMORIA, :OBSERVACIONES, '#10' :' +
- 'INCIDENCIAS, :INCIDENCIAS_ACTIVAS, CURRENT_TIMESTAMP,'#10' :USUA' +
- 'RIO, :IMPORTE_NETO, :IMPORTE_PORTE, :DESCUENTO, '#10' :IMPORTE_D' +
- 'ESCUENTO, :BASE_IMPONIBLE, :IVA, :IMPORTE_IVA, '#10' :IMPORTE_TO' +
- 'TAL, :ID_FORMA_PAGO, :PERSONA_CONTACTO,'#10' :DESCRIPCION_BONIFI' +
- 'CACION, :IMPORTE_BONIFICACION, :CERTIFICADO_ISO, :PRESUPUESTO_WE' +
- 'B)'#10
+ 'ISO,'#10' PRESUPUESTO_WEB, SIN_PEDIDO)'#10' VALUES'#10' (:ID, :ID_EM' +
+ 'PRESA, :FECHA_PRESUPUESTO, :FECHA_DECISION, :REFERENCIA,'#10' :R' +
+ 'EFERENCIA_AUX, :SITUACION, :ID_CLIENTE, :ID_DIRECCION, :REFERENC' +
+ 'IA_CLIENTE,'#10' :CLIENTE_FINAL, :PORTADA, :MEMORIA, :OBSERVACIO' +
+ 'NES, '#10' :INCIDENCIAS, :INCIDENCIAS_ACTIVAS, CURRENT_TIMESTAMP' +
+ ','#10' :USUARIO, :IMPORTE_NETO, :IMPORTE_PORTE, :DESCUENTO, '#10' ' +
+ ' :IMPORTE_DESCUENTO, :BASE_IMPONIBLE, :IVA, :IMPORTE_IVA, '#10' ' +
+ ' :IMPORTE_TOTAL, :ID_FORMA_PAGO, :PERSONA_CONTACTO,'#10' :DESCRI' +
+ 'PCION_BONIFICACION, :IMPORTE_BONIFICACION, :CERTIFICADO_ISO, :PR' +
+ 'ESUPUESTO_WEB,'#10' :SIN_PEDIDO)'#10
StatementType = stSQL
ColumnMappings = <>
end>
@@ -943,6 +956,11 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
DataType = datSmallInt
Value = ''
end
+ item
+ Name = 'SIN_PEDIDO'
+ DataType = datSmallInt
+ Value = ''
+ end
item
Name = 'OLD_ID'
Value = ''
@@ -971,7 +989,8 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
'PERSONA_CONTACTO = :PERSONA_CONTACTO,'#10' DESCRIPCION_BONIFICACI' +
'ON = :DESCRIPCION_BONIFICACION,'#10' IMPORTE_BONIFICACION = :IMPO' +
'RTE_BONIFICACION,'#10' CERTIFICADO_ISO = :CERTIFICADO_ISO,'#10' PR' +
- 'ESUPUESTO_WEB = :PRESUPUESTO_WEB'#10' WHERE'#10' (ID = :OLD_ID)'#10
+ 'ESUPUESTO_WEB = :PRESUPUESTO_WEB,'#10' SIN_PEDIDO = :SIN_PEDIDO'#10' ' +
+ ' WHERE'#10' (ID = :OLD_ID)'#10
StatementType = stSQL
ColumnMappings = <>
end>
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm
index 1c15c08c..929429bf 100644
--- a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm
+++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm
@@ -205,9 +205,9 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
ExplicitHeight = 338
inherited ToolBar1: TToolBar
Width = 750
- Height = 46
+ Height = 78
ExplicitWidth = 750
- ExplicitHeight = 46
+ ExplicitHeight = 78
inherited ToolButton3: TToolButton
Wrap = False
end
@@ -220,88 +220,95 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
inherited ToolButton14: TToolButton
Left = 334
Top = 0
+ Wrap = False
ExplicitLeft = 334
ExplicitTop = 0
end
inherited FontName: TJvFontComboBox
- Top = 22
- ExplicitTop = 22
+ Left = 399
+ Top = 0
+ ExplicitLeft = 399
+ ExplicitTop = 0
end
- inherited FontSize: TEdit
- Top = 22
+ inherited ToolButton13: TToolButton [6]
+ Left = 0
+ Top = 0
+ Wrap = True
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitHeight = 27
+ end
+ inherited FontSize: TEdit [7]
+ Left = 0
+ Top = 27
Width = 200
- ExplicitTop = 22
+ ExplicitLeft = 0
+ ExplicitTop = 27
ExplicitWidth = 200
end
- inherited UpDown1: TUpDown
- Left = 345
- Top = 22
- ExplicitLeft = 345
- ExplicitTop = 22
- end
- inherited ToolButton13: TToolButton
- Left = 362
- Top = 22
- ExplicitLeft = 362
- ExplicitTop = 22
+ inherited UpDown1: TUpDown [8]
+ Left = 200
+ Top = 27
+ ExplicitLeft = 200
+ ExplicitTop = 27
end
inherited ToolButton6: TToolButton
- Left = 370
- Top = 22
- ExplicitLeft = 370
- ExplicitTop = 22
+ Left = 217
+ Top = 27
+ ExplicitLeft = 217
+ ExplicitTop = 27
end
inherited ToolButton7: TToolButton
- Left = 436
- Top = 22
- ExplicitLeft = 436
- ExplicitTop = 22
+ Left = 283
+ Top = 27
+ ExplicitLeft = 283
+ ExplicitTop = 27
end
inherited ToolButton8: TToolButton
- Left = 503
- Top = 22
- ExplicitLeft = 503
- ExplicitTop = 22
+ Left = 350
+ Top = 27
+ ExplicitLeft = 350
+ ExplicitTop = 27
end
inherited ToolButton12: TToolButton
Left = 0
- Top = 22
+ Top = 27
Wrap = True
ExplicitLeft = 0
- ExplicitTop = 22
+ ExplicitTop = 27
ExplicitHeight = 27
end
inherited ToolButton9: TToolButton
Left = 0
- Top = 49
+ Top = 54
ExplicitLeft = 0
- ExplicitTop = 49
+ ExplicitTop = 54
end
inherited ToolButton10: TToolButton
Left = 145
- Top = 49
+ Top = 54
ExplicitLeft = 145
- ExplicitTop = 49
+ ExplicitTop = 54
end
inherited ToolButton11: TToolButton
Left = 270
- Top = 49
+ Top = 54
ExplicitLeft = 270
- ExplicitTop = 49
+ ExplicitTop = 54
end
end
inherited cxGrid: TcxGrid
- Top = 99
+ Top = 104
Width = 750
- Height = 239
- ExplicitTop = 77
+ Height = 234
+ ExplicitTop = 104
ExplicitWidth = 750
- ExplicitHeight = 239
+ ExplicitHeight = 234
end
inherited TBXDock1: TTBXDock
- Top = 73
+ Top = 78
Width = 750
- ExplicitTop = 46
+ ExplicitTop = 78
ExplicitWidth = 750
inherited TBXToolbar1: TTBXToolbar
ExplicitWidth = 750
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.dfm
index 7af47009..c234948d 100644
--- a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.dfm
+++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.dfm
@@ -2,7 +2,6 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
Caption = 'Lista de presupuestos de cliente'
ClientWidth = 805
ExplicitWidth = 813
- ExplicitHeight = 240
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
@@ -177,6 +176,10 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
Action = actAnular
DisplayMode = nbdmImageAndText
end
+ object TBXItem49: TTBXItem
+ Action = actPedidoRecibido
+ DisplayMode = nbdmImageAndText
+ end
object TBXSeparatorItem18: TTBXSeparatorItem
end
object TBXItem42: TTBXItem
@@ -264,6 +267,13 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
ImageIndex = 24
OnExecute = actVerFacturasRelacionadasExecute
end
+ object actPedidoRecibido: TAction
+ Category = 'Acciones'
+ Caption = 'Pedido recibido'
+ ImageIndex = 29
+ OnExecute = actPedidoRecibidoExecute
+ OnUpdate = actPedidoRecibidoUpdate
+ end
end
inherited SmallImages: TPngImageList
PngImages = <
@@ -995,6 +1005,108 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
0049454E44AE426082}
Name = 'PngImage28'
Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD25200000A4D694343505068
+ 6F746F73686F70204943432070726F66696C65000078DA9D53775893F7163EDF
+ F7650F5642D8F0B1976C81002223AC08C81059A21092006184101240C585880A
+ 561415119C4855C482D50A489D88E2A028B867418A885A8B555C38EE1FDCA7B5
+ 7D7AEFEDEDFBD7FBBCE79CE7FCCE79CF0F8011122691E6A26A003952853C3AD8
+ 1F8F4F48C4C9BD80021548E0042010E6CBC26705C50000F00379787E74B03FFC
+ 01AF6F00020070D52E2412C7E1FF83BA50265700209100E02212E70B01905200
+ C82E54C81400C81800B053B3640A009400006C797C422200AA0D00ECF4493E05
+ 00D8A993DC1700D8A21CA908008D0100992847240240BB00605581522C02C0C2
+ 00A0AC40222E04C0AE018059B632470280BD0500768E58900F4060008099422C
+ CC0020380200431E13CD03204C03A030D2BFE0A95F7085B8480100C0CB95CD97
+ 4BD23314B895D01A77F2F0E0E221E2C26CB142611729106609E4229C979B2313
+ 48E7034CCE0C00001AF9D1C1FE383F90E7E6E4E1E666E76CEFF4C5A2FE6BF06F
+ 223E21F1DFFEBC8C020400104ECFEFDA5FE5E5D60370C701B075BF6BA95B00DA
+ 560068DFF95D33DB09A05A0AD07AF98B7938FC401E9EA150C83C1D1C0A0B0BED
+ 2562A1BD30E38B3EFF33E16FE08B7EF6FC401EFEDB7AF000719A4099ADC0A383
+ FD71616E76AE528EE7CB0442316EF7E723FEC7857FFD8E29D1E234B15C2C158A
+ F15889B850224DC779B952914421C995E212E97F32F11F96FD0993770D00AC86
+ 4FC04EB607B5CB6CC07EEE01028B0E58D27600407EF32D8C1A0B910010673432
+ 79F7000093BFF98F402B0100CD97A4E30000BCE8185CA894174CC608000044A0
+ 812AB041070CC114ACC00E9CC11DBCC01702610644400C24C03C104206E4801C
+ 0AA11896411954C03AD804B5B0031AA0119AE110B4C131380DE7E0125C81EB70
+ 170660189EC218BC86090441C8081361213A8811628ED822CE0817998E042261
+ 48349280A420E988145122C5C872A402A9426A915D4823F22D7214398D5C40FA
+ 90DBC820328AFC8ABC47319481B25103D4027540B9A81F1A8AC6A073D174340F
+ 5D8096A26BD11AB41E3D80B6A2A7D14BE87574007D8A8E6380D1310E668CD961
+ 5C8C87456089581A26C71663E55835568F35631D583776151BC09E61EF082402
+ 8B8013EC085E8410C26C82909047584C5843A825EC23B412BA085709838431C2
+ 272293A84FB4257A12F9C478623AB1905846AC26EE211E219E255E270E135F93
+ 48240EC992E44E0A21259032490B496B48DB482DA453A43ED210699C4C26EB90
+ 6DC9DEE408B280AC209791B7900F904F92FBC9C3E4B7143AC588E24C09A22452
+ A494124A35653FE504A59F324299A0AA51CDA99ED408AA883A9F5A496DA07650
+ 2F5387A91334759A25CD9B1643CBA42DA3D5D09A696769F7682FE974BA09DD83
+ 1E4597D097D26BE807E9E7E983F4770C0D860D83C7486228196B197B19A718B7
+ 192F994CA605D39799C85430D7321B9967980F986F55582AF62A7C1591CA1295
+ 3A9556957E95E7AA545573553FD579AA0B54AB550FAB5E567DA64655B350E3A9
+ 09D416ABD5A91D55BBA936AECE5277528F50CF515FA3BE5FFD82FA630DB28685
+ 46A08648A35463B7C6198D2116C63265F15842D6725603EB2C6B984D625BB2F9
+ EC4C7605FB1B762F7B4C534373AA66AC6691669DE671CD010EC6B1E0F039D99C
+ 4ACE21CE0DCE7B2D032D3F2DB1D66AAD66AD7EAD37DA7ADABEDA62ED72ED16ED
+ EBDAEF75709D409D2C9DF53A6D3AF77509BA36BA51BA85BADB75CFEA3ED363EB
+ 79E909F5CAF50EE9DDD147F56DF4A3F517EAEFD6EFD11F373034083690196C31
+ 3863F0CC9063E86B9869B8D1F084E1A811CB68BA91C468A3D149A327B826EE87
+ 67E33578173E66AC6F1C62AC34DE65DC6B3C61626932DBA4C4A4C5E4BE29CD94
+ 6B9A66BAD1B4D374CCCCC82CDCACD8ACC9EC8E39D59C6B9E61BED9BCDBFC8D85
+ A5459CC54A8B368BC796DA967CCB05964D96F7AC98563E567956F556D7AC49D6
+ 5CEB2CEB6DD6576C501B579B0C9B3A9BCBB6A8AD9BADC4769B6DDF14E2148F29
+ D229F5536EDA31ECFCEC0AEC9AEC06ED39F661F625F66DF6CF1DCC1C121DD63B
+ 743B7C727475CC766C70BCEBA4E134C3A9C4A9C3E957671B67A1739DF33517A6
+ 4B90CB1297769717536DA78AA76E9F7ACB95E51AEEBAD2B5D3F5A39BBB9BDCAD
+ D96DD4DDCC3DC57DABFB4D2E9B1BC95DC33DEF41F4F0F758E271CCE39DA79BA7
+ C2F390E72F5E765E595EFBBD1E4FB39C269ED6306DC8DBC45BE0BDCB7B603A3E
+ 3D65FACEE9033EC63E029F7A9F87BEA6BE22DF3DBE237ED67E997E07FC9EFB3B
+ FACBFD8FF8BFE179F216F14E056001C101E501BD811A81B3036B031F049904A5
+ 0735058D05BB062F0C3E15420C090D591F72936FC017F21BF96333DC672C9AD1
+ 15CA089D155A1BFA30CC264C1ED6118E86CF08DF107E6FA6F94CE9CCB60888E0
+ 476C88B81F69199917F97D14292A32AA2EEA51B453747174F72CD6ACE459FB67
+ BD8EF18FA98CB93BDB6AB6727667AC6A6C526C63EC9BB880B8AAB8817887F845
+ F1971274132409ED89E4C4D8C43D89E37302E76C9A339CE49A54967463AEE5DC
+ A2B917E6E9CECB9E773C593559907C3885981297B23FE5832042502F184FE5A7
+ 6E4D1D13F2849B854F45BEA28DA251B1B7B84A3C92E69D5695F638DD3B7D43FA
+ 68864F4675C633094F522B79911992B923F34D5644D6DEACCFD971D92D39949C
+ 949CA3520D6996B42BD730B728B74F662B2B930DE479E66DCA1B9387CAF7E423
+ F973F3DB156C854CD1A3B452AE500E164C2FA82B785B185B78B848BD485AD433
+ DF66FEEAF9230B82167CBD90B050B8B0B3D8B87859F1E022BF45BB16238B5317
+ 772E315D52BA647869F0D27DCB68CBB296FD50E2585255F26A79DCF28E5283D2
+ A5A5432B82573495A994C9CB6EAEF45AB9631561956455EF6A97D55B567F2A17
+ 955FAC70ACA8AEF8B046B8E6E2574E5FD57CF5796DDADADE4AB7CAEDEB48EBA4
+ EB6EACF759BFAF4ABD6A41D5D086F00DAD1BF18DE51B5F6D4ADE74A17A6AF58E
+ CDB4CDCACD03356135ED5BCCB6ACDBF2A136A3F67A9D7F5DCB56FDADABB7BED9
+ 26DAD6BFDD777BF30E831D153BDEEF94ECBCB52B78576BBD457DF56ED2EE82DD
+ 8F1A621BBABFE67EDDB847774FC59E8F7BA57B07F645EFEB6A746F6CDCAFBFBF
+ B2096D52368D1E483A70E59B806FDA9BED9A77B5705A2A0EC241E5C127DFA67C
+ 7BE350E8A1CEC3DCC3CDDF997FB7F508EB48792BD23ABF75AC2DA36DA03DA1BD
+ EFE88CA39D1D5E1D47BEB7FF7EEF31E36375C7358F579EA09D283DF1F9E48293
+ E3A764A79E9D4E3F3DD499DC79F74CFC996B5D515DBD6743CF9E3F1774EE4CB7
+ 5FF7C9F3DEE78F5DF0BC70F422F762DB25B74BAD3DAE3D477E70FDE148AF5B6F
+ EB65F7CBED573CAE74F44DEB3BD1EFD37FFA6AC0D573D7F8D72E5D9F79BDEFC6
+ EC1BB76E26DD1CB825BAF5F876F6ED17770AEE4CDC5D7A8F78AFFCBEDAFDEA07
+ FA0FEA7FB4FEB165C06DE0F860C060CFC3590FEF0E09879EFE94FFD387E1D247
+ CC47D52346238D8F9D1F1F1B0D1ABDF264CE93E1A7B2A713CFCA7E56FF79EB73
+ ABE7DFFDE2FB4BCF58FCD8F00BF98BCFBFAE79A9F372EFABA9AF3AC723C71FBC
+ CE793DF1A6FCADCEDB7DEFB8EFBADFC7BD1F9928FC40FE50F3D1FA63C7A7D04F
+ F73EE77CFEFC2FF784F3FB25D29F33000001764944415478DA63FCFFFF3FC394
+ C53BFE33900172623D1819610600394469FAF3F71FC3EF3F7F19ACFDF319CEED
+ 98866A80CB7E5B14C57B1C0F836964F1CD56FB18E6AEDACB306FE9264C03F081
+ 5FBFFF826D06E1251B0E623700DD05D8C07283ED0C2BB71CC16D00CCD920F00F
+ 28F7E7CF3FB8CD2167DC1816EB6C6558BBE3187E03602ED9667380C1EB8803DC
+ E6C80B9E0CF33436316CDA7312BF01309B3FDF3ECCF072712C3E1FB96018B0CB
+ E11083DB013BB0ECA45D0F18941B6A18D8D9D33174FEFC3993615E620B038601
+ 2067C3FCFCAC4D8D41ABFD3158311CFCF801C4DF1966EF326060DE9E8A302023
+ CA8DC1E3903D8A2D2017A01800D2FCE11DC480534EA806248739836D85857AF4
+ 252F5403609AC106FC64987D2B08D580B8200794284BB8E68B30E0E34484E60F
+ 1F202E7895826A40949F1D5C33DCA0194610031ED62334C3BCF0AB0CD580502F
+ 6B86D5DB8EA28481D3B554702CCC5E258F350E510C00250C74A0CDFB86C18AF5
+ 38CE44602FCFE00200175B62A961F8A2FD0000000049454E44AE426082}
+ Name = 'PngImage29'
+ Background = clWindow
end>
Bitmap = {}
end
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.pas
index cffb347d..441055d1 100644
--- a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.pas
+++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.pas
@@ -49,6 +49,8 @@ type
actVerFacturasRelacionadas: TAction;
TBXSeparatorItem19: TTBXSeparatorItem;
TBXItem48: TTBXItem;
+ actPedidoRecibido: TAction;
+ TBXItem49: TTBXItem;
procedure FormShow(Sender: TObject);
procedure actGenerarAlbaranCliExecute(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject);
@@ -67,6 +69,8 @@ type
procedure actInformesExecute(Sender: TObject);
procedure OnListaAnosChange(Sender: TObject; const Text: string);
procedure actVerFacturasRelacionadasExecute(Sender: TObject);
+ procedure actPedidoRecibidoExecute(Sender: TObject);
+ procedure actPedidoRecibidoUpdate(Sender: TObject);
protected
FPresupuestos: IBizPresupuestoCliente;
@@ -339,11 +343,21 @@ begin
inherited;
if (ShowConfirmMessage('Generar factura', Format('¿Desea copiar todos los conceptos del presupuesto %s a la factura?', [Presupuestos.REFERENCIA])) = IDYES) then
- GenerarFacturaCliPre(Presupuestos.ID)
+ begin
+ if GenerarFacturaCliPre(Presupuestos.ID) then
+ begin
+ FController.CambiarSituacion(Presupuestos, SITUACION_PRESUPUESTO_TOTAL);
+ actRefrescar.Execute;
+ end;
+ end
else
- GenerarFacturaCliPre(Presupuestos.ID, False);
-
- actRefrescar.Execute;
+ begin
+ if GenerarFacturaCliPre(Presupuestos.ID, False) then
+ begin
+ FController.CambiarSituacion(Presupuestos, SITUACION_PRESUPUESTO_TOTAL);
+ actRefrescar.Execute;
+ end;
+ end;
end;
procedure TfEditorPresupuestosCliente.actGenerarFacturaUpdate(Sender: TObject);
@@ -387,6 +401,43 @@ begin
end;
end;
+procedure TfEditorPresupuestosCliente.actPedidoRecibidoExecute(Sender: TObject);
+var
+ APresupuestos: IBizPresupuestoCliente;
+ AllItems: Boolean;
+ AFecha: Variant;
+begin
+ APresupuestos := Nil;
+ AllItems := False;
+
+ if MultiSelect and Assigned(ViewGrid) then
+ AllItems := (ViewGrid.NumSeleccionados > 1);
+
+ if AllItems then
+ begin
+ SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Presupuestos as ISeleccionable).SelectedRecords);
+ APresupuestos := (Controller as IPresupuestosClienteController).ExtraerSeleccionados(Presupuestos) as IBizPresupuestoCliente;
+ end
+ else begin
+ APresupuestos := Presupuestos;
+ end;
+
+ ViewGrid._Grid.BeginUpdate;
+ if Assigned(APresupuestos) then
+ begin
+ if FController.PedidoRecibido(APresupuestos, AllItems) then
+ actRefrescar.Execute;
+ end;
+ ViewGrid._Grid.EndUpdate;
+end;
+
+procedure TfEditorPresupuestosCliente.actPedidoRecibidoUpdate(Sender: TObject);
+begin
+ inherited;
+ (Sender as TAction).Enabled := HayDatos
+ and ViewGrid.esSeleccionCeldaDatos
+end;
+
procedure TfEditorPresupuestosCliente.actVerFacturasRelacionadasExecute(
Sender: TObject);
begin
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.dfm
index 83311df6..8d754474 100644
--- a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.dfm
+++ b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.dfm
@@ -52,7 +52,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.SkinName = ''
- TabOrder = 5
+ TabOrder = 6
Width = 260
end
object memObservaciones: TcxDBMemo
@@ -77,7 +77,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.SkinName = ''
- TabOrder = 10
+ TabOrder = 11
Height = 217
Width = 507
end
@@ -142,7 +142,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.SkinName = ''
- TabOrder = 8
+ TabOrder = 9
Width = 122
end
object bFormasPago: TButton
@@ -151,7 +151,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
Width = 132
Height = 21
Caption = 'Ver las formas de pago...'
- TabOrder = 9
+ TabOrder = 10
OnClick = bFormasPagoClick
end
object edtFechaDecision: TcxDBDateEdit
@@ -177,7 +177,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.SkinName = ''
- TabOrder = 6
+ TabOrder = 7
Width = 260
end
object eRefCliente: TcxDBTextEdit
@@ -234,7 +234,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.SkinName = ''
- TabOrder = 12
+ TabOrder = 13
Width = 350
end
object cbSituacion: TcxDBImageComboBox
@@ -255,6 +255,14 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
item
Description = 'ANULADO'
Value = 'ANULADO'
+ end
+ item
+ Description = 'PARCIALMENTE FACTURADO'
+ Value = 'PARCIALMENTE FACTURADO'
+ end
+ item
+ Description = 'FACTURADO'
+ Value = 'FACTURADO'
end>
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
@@ -268,7 +276,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.SkinName = ''
- TabOrder = 7
+ TabOrder = 8
Width = 260
end
object eReferenciaAux: TcxDBTextEdit
@@ -311,7 +319,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
- TabOrder = 11
+ TabOrder = 12
ReadOnly = False
ExplicitLeft = 480
ExplicitTop = 28
@@ -368,7 +376,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
Width = 23
Height = 25
Action = actElegirClienteFinal
- TabOrder = 13
+ TabOrder = 14
end
object eCertificadoISO: TcxDBCheckBox
Left = 22
@@ -391,11 +399,33 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
Width = 110
end
object eFacturaWeb: TcxDBCheckBox
- Left = 138
+ Left = 234
Top = 82
Caption = 'Presupuesto WEB'
DataBinding.DataField = 'PRESUPUESTO_WEB'
DataBinding.DataSource = DADataSource
+ Enabled = False
+ Properties.ImmediatePost = True
+ Properties.ValueChecked = 1
+ Properties.ValueUnchecked = 0
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 5
+ Transparent = True
+ Width = 162
+ end
+ object eSinPedido: TcxDBCheckBox
+ Left = 138
+ Top = 82
+ Caption = 'Sin pedido'
+ DataBinding.DataField = 'SIN_PEDIDO'
+ DataBinding.DataSource = DADataSource
Properties.ImmediatePost = True
Properties.ValueChecked = 1
Properties.ValueUnchecked = 0
@@ -409,7 +439,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 4
Transparent = True
- Width = 162
+ Width = 90
end
object dxLayoutControl1Group_Root: TdxLayoutGroup
ShowCaption = False
@@ -461,10 +491,17 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
Control = eCertificadoISO
ControlOptions.ShowBorder = False
end
+ object dxLayoutControl1Item16: TdxLayoutItem
+ ShowCaption = False
+ Control = eSinPedido
+ ControlOptions.ShowBorder = False
+ end
object dxLayoutControl1Item14: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahClient
+ Enabled = False
ShowCaption = False
+ Visible = False
Control = eFacturaWeb
ControlOptions.ShowBorder = False
end
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.pas
index 8315f90c..50474f1a 100644
--- a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.pas
+++ b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestoCliente.pas
@@ -72,6 +72,8 @@ type
dxLayoutControl1Item14: TdxLayoutItem;
eFacturaWeb: TcxDBCheckBox;
dxLayoutControl1Group10: TdxLayoutGroup;
+ dxLayoutControl1Item16: TdxLayoutItem;
+ eSinPedido: TcxDBCheckBox;
procedure CustomViewCreate(Sender: TObject);
procedure CustomViewDestroy(Sender: TObject);
procedure bFormasPagoClick(Sender: TObject);
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.dfm
index 6ad43480..9d87f893 100644
--- a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.dfm
+++ b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.dfm
@@ -54,6 +54,23 @@ inherited frViewPresupuestosCliente: TfrViewPresupuestosCliente
Visible = False
VisibleForCustomization = False
end
+ object cxGridViewSIN_PEDIDO: TcxGridDBColumn
+ Caption = 'Pedido'
+ DataBinding.FieldName = 'SIN_PEDIDO'
+ PropertiesClassName = 'TcxImageComboBoxProperties'
+ Properties.Images = GridPNGImageList
+ Properties.Items = <
+ item
+ Description = 'Sin pedido'
+ ImageIndex = 3
+ Value = 1
+ end
+ item
+ Description = 'Con pedido'
+ Tag = 1
+ Value = 0
+ end>
+ end
object cxGridViewPRESUPUESTO_WEB: TcxGridDBColumn
Caption = 'Web'
DataBinding.FieldName = 'PRESUPUESTO_WEB'
@@ -70,7 +87,9 @@ inherited frViewPresupuestosCliente: TfrViewPresupuestosCliente
Value = 1
end>
Properties.ShowDescriptions = False
+ Visible = False
BestFitMaxWidth = 40
+ VisibleForCustomization = False
Width = 40
end
object cxGridViewINCIDENCIASACTIVAS: TcxGridDBColumn
@@ -172,12 +191,18 @@ inherited frViewPresupuestosCliente: TfrViewPresupuestosCliente
object cxGridLevelPendientes: TcxGridLevel
Caption = 'Pendientes'
end
- object cxGridLevelEnProceso: TcxGridLevel
+ object cxGridLevelAceptados: TcxGridLevel
Caption = 'Aceptados'
end
- object cxGridLevelServidor: TcxGridLevel
+ object cxGridLevelAnulados: TcxGridLevel
Caption = 'Anulados'
end
+ object cxGridLevelParciales: TcxGridLevel
+ Caption = 'Parcialmente facturados'
+ end
+ object cxGridLevelTotales: TcxGridLevel
+ Caption = 'Facturados'
+ end
end
inherited frViewFiltroBase1: TfrViewFiltroBase
Width = 903
@@ -312,15 +337,19 @@ inherited frViewPresupuestosCliente: TfrViewPresupuestosCliente
end
object cxStyleACEPTADO: TcxStyle
AssignedValues = [svTextColor]
- TextColor = clGreen
+ TextColor = 33023
end
object cxStyleRECHAZADO: TcxStyle
AssignedValues = [svTextColor]
TextColor = clGrayText
end
- object cxStyleConFacturas: TcxStyle
+ object cxStyleFACTURADOS: TcxStyle
AssignedValues = [svTextColor]
- TextColor = 23737
+ TextColor = clGreen
+ end
+ object cxStylePARCIAL: TcxStyle
+ AssignedValues = [svTextColor]
+ TextColor = clBackground
end
end
inherited ActionList1: TActionList
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.pas
index 9f287278..d7336e54 100644
--- a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.pas
+++ b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.pas
@@ -32,8 +32,8 @@ type
cxGridViewCLIENTE_FINAL: TcxGridDBColumn;
cxGridViewIMPORTE_TOTAL: TcxGridDBColumn;
cxGridLevelPendientes: TcxGridLevel;
- cxGridLevelEnProceso: TcxGridLevel;
- cxGridLevelServidor: TcxGridLevel;
+ cxGridLevelAceptados: TcxGridLevel;
+ cxGridLevelAnulados: TcxGridLevel;
cxStylePENDIENTES: TcxStyle;
cxStyleACEPTADO: TcxStyle;
actCliente: TAction;
@@ -48,8 +48,12 @@ type
cxStyleRECHAZADO: TcxStyle;
cxGridViewCERTIFICADO_ISO: TcxGridDBColumn;
cxGridViewNUM_FACTURAS: TcxGridDBColumn;
- cxStyleConFacturas: TcxStyle;
cxGridViewPRESUPUESTO_WEB: TcxGridDBColumn;
+ cxGridViewSIN_PEDIDO: TcxGridDBColumn;
+ cxGridLevelParciales: TcxGridLevel;
+ cxGridLevelTotales: TcxGridLevel;
+ cxStyleFACTURADOS: TcxStyle;
+ cxStylePARCIAL: TcxStyle;
procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel:
TcxGridLevel);
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
@@ -228,6 +232,8 @@ begin
1 : FFiltro.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PRESUPUESTO_PENDIENTE, SITUACION_PRESUPUESTO_PENDIENTE);
2 : FFiltro.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PRESUPUESTO_ACEPTADO, SITUACION_PRESUPUESTO_ACEPTADO);
3 : FFiltro.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PRESUPUESTO_ANULADO, SITUACION_PRESUPUESTO_ANULADO);
+ 4 : FFiltro.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PRESUPUESTO_PARCIAL, SITUACION_PRESUPUESTO_PARCIAL);
+ 5 : FFiltro.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PRESUPUESTO_TOTAL, SITUACION_PRESUPUESTO_TOTAL);
end;
end;
@@ -338,16 +344,20 @@ begin
if ASituacion = SITUACION_PRESUPUESTO_PENDIENTE then
AStyle.TextColor := cxStylePENDIENTES.TextColor
else if ASituacion = SITUACION_PRESUPUESTO_ACEPTADO then
- begin
- AStyle.TextColor := cxStyleACEPTADO.TextColor;
+ AStyle.TextColor := cxStyleACEPTADO.TextColor
+ else if ASituacion = SITUACION_PRESUPUESTO_TOTAL then
+ AStyle.TextColor := cxStyleFACTURADOS.TextColor
+ else if ASituacion = SITUACION_PRESUPUESTO_PARCIAL then
+ AStyle.TextColor := cxStylePARCIAL.TextColor
+ else if ASituacion = SITUACION_PRESUPUESTO_ANULADO then
+ AStyle.TextColor := cxStyleRECHAZADO.TextColor;
+
//Si está aceptado y no facturado que resalte
- IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName(fld_PresupuestosClienteNUM_FACTURA).Index;
+{ IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName(fld_PresupuestosClienteNUM_FACTURA).Index;
AFacturas := VarToStr(ARecord.DisplayTexts[IndiceCol]);
if EsCadenaVacia(AFacturas) then
AStyle.TextColor := cxStyleConFacturas.TextColor;
- end
- else if ASituacion = SITUACION_PRESUPUESTO_ANULADO then
- AStyle.TextColor := cxStyleRECHAZADO.TextColor;
+}
end;
end;
diff --git a/Source/Servidor/FactuGES_Server.RES b/Source/Servidor/FactuGES_Server.RES
index 70400aa3..b396db8b 100644
Binary files a/Source/Servidor/FactuGES_Server.RES and b/Source/Servidor/FactuGES_Server.RES differ
diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr
index fd57bfe3..f4dab56b 100644
--- a/Source/Servidor/FactuGES_Server.dpr
+++ b/Source/Servidor/FactuGES_Server.dpr
@@ -126,17 +126,17 @@ uses
schArticulosServer_Intf in '..\Modulos\Articulos\Model\schArticulosServer_Intf.pas',
schRecibosProveedorClient_Intf in '..\Modulos\Recibos de proveedor\Model\schRecibosProveedorClient_Intf.pas',
schRecibosProveedorServer_Intf in '..\Modulos\Recibos de proveedor\Model\schRecibosProveedorServer_Intf.pas',
- schFacturasClienteClient_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas',
- schFacturasClienteServer_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas',
- schPresupuestosClienteClient_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas',
- schPresupuestosClienteServer_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas',
uRTFUtils in '..\Base\Utiles\uRTFUtils.pas',
schContactosClient_Intf in '..\Modulos\Contactos\Model\schContactosClient_Intf.pas',
schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas',
schPedidosProveedorClient_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas',
schPedidosProveedorServer_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas',
schFacturasProveedorClient_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas',
- schFacturasProveedorServer_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas';
+ schFacturasProveedorServer_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas',
+ schPresupuestosClienteClient_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas',
+ schPresupuestosClienteServer_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas',
+ schFacturasClienteClient_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas',
+ schFacturasClienteServer_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas';
{$R *.res}
{$R ..\Servicios\RODLFile.res}
diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj
index cbdecfff..db0ef70a 100644
--- a/Source/Servidor/FactuGES_Server.dproj
+++ b/Source/Servidor/FactuGES_Server.dproj
@@ -35,7 +35,7 @@
Delphi.Personality
- FalseTrueFalse/standaloneTrueFalse2400FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.4.0.0FactuGES Servidor2.4.0.0viernes, 03 de septiembre de 2021 19:33
+ FalseTrueFalse/standaloneTrueFalse2510FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.5.1.0FactuGES Servidor2.5.1.0martes, 10 de mayo de 2022 11:18
ExpressPrinting System by Developer Express Inc.
FactuGES_Server.dpr
diff --git a/Source/Servidor/FactuGES_Server.rc b/Source/Servidor/FactuGES_Server.rc
index 61d1d412..65db864e 100644
--- a/Source/Servidor/FactuGES_Server.rc
+++ b/Source/Servidor/FactuGES_Server.rc
@@ -1,7 +1,7 @@
MAINICON ICON "C:\Codigo tecsitel\Resources\Iconos\Servidor.ico"
1 VERSIONINFO
-FILEVERSION 2,4,0,0
-PRODUCTVERSION 2,4,0,0
+FILEVERSION 2,5,1,0
+PRODUCTVERSION 2,5,1,0
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L
FILEOS 0x40004L
@@ -13,10 +13,10 @@ BEGIN
BLOCK "0C0A04E4"
BEGIN
VALUE "CompanyName", "Rodax Software S.L.\0"
- VALUE "FileVersion", "2.4.0.0\0"
+ VALUE "FileVersion", "2.5.1.0\0"
VALUE "ProductName", "FactuGES Servidor\0"
- VALUE "ProductVersion", "2.4.0.0\0"
- VALUE "CompileDate", "miércoles, 08 de septiembre de 2021 18:46\0"
+ VALUE "ProductVersion", "2.5.1.0\0"
+ VALUE "CompileDate", "jueves, 23 de junio de 2022 12:10\0"
END
END
BLOCK "VarFileInfo"