diff --git a/Build/Build.fbl6 b/Build/Build.fbl6
index 491b7fb..df6e208 100644
Binary files a/Build/Build.fbl6 and b/Build/Build.fbl6 differ
diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj
index a0c3f23..d663a91 100644
--- a/Source/Base/Base.dproj
+++ b/Source/Base/Base.dproj
@@ -44,13 +44,6 @@
Package
FalseTrueFalseLibreria base de FactuGESFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0
-
-
-
-
-
-
-
VCL for the Web Design Package for CodeGear RAD Studio
CodeGear WebSnap Components
CodeGear SOAP Components
@@ -65,55 +58,55 @@
MainSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
TForm
diff --git a/Source/Base/Base.res b/Source/Base/Base.res
index 8b251f3..1641339 100644
Binary files a/Source/Base/Base.res and b/Source/Base/Base.res differ
diff --git a/Source/Base/Controladores/uControllerDetallesBase.pas b/Source/Base/Controladores/uControllerDetallesBase.pas
index f54b946..3436344 100644
--- a/Source/Base/Controladores/uControllerDetallesBase.pas
+++ b/Source/Base/Controladores/uControllerDetallesBase.pas
@@ -110,7 +110,7 @@ implementation
{ TControllerDetallesBase }
uses
- cxControls, SysUtils, DB, uDAInterfaces, Dialogs;
+ cxControls, SysUtils, DB, uDAInterfaces, Dialogs, uNumUtils;
procedure TControllerDetallesBase.ActualizarTotales(ADataTable: IDAStronglyTypedDataTable);
begin
diff --git a/Source/Informes/1/InfFacturaProforma.fr3 b/Source/Informes/1/InfFacturaProforma.fr3
new file mode 100644
index 0000000..308e98b
--- /dev/null
+++ b/Source/Informes/1/InfFacturaProforma.fr3
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Informes/InfFacturaCliente.fr3 b/Source/Informes/InfFacturaCliente.fr3
new file mode 100644
index 0000000..ec17076
--- /dev/null
+++ b/Source/Informes/InfFacturaCliente.fr3
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Informes/InfFacturaClienteProforma.fr3 b/Source/Informes/InfFacturaClienteProforma.fr3
new file mode 100644
index 0000000..308e98b
--- /dev/null
+++ b/Source/Informes/InfFacturaClienteProforma.fr3
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas b/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas
index 2672a58..ce9ec44 100644
--- a/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas
+++ b/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas
@@ -28,6 +28,7 @@ type
function Nuevo (WithInsert: Boolean = True) : IBizFacturaCliente;
function Anadir(AFactura : IBizFacturaCliente) : Boolean; overload;
function AnadirAbono(AFactura : IBizFacturaCliente) : Boolean;
+ function AnadirProforma(AFactura : IBizFacturaCliente) : Boolean;
function Anadir(AFacturas : IBizFacturaCliente; AListaAlbaranes : IBizAlbaranCliente): Boolean; overload;
function Eliminar(const ID : Integer): Boolean; overload;
@@ -36,7 +37,7 @@ type
procedure DescartarCambios(AFactura : IBizFacturaCliente);
function Existe(const ID: Integer) : Boolean;
procedure RecuperarCliente(AFactura : IBizFacturaCliente);
- procedure ActualizarFormaDePago(AFactura : IBizFacturaCliente; ID_FORMA_PAGO: Integer);
+ procedure ActualizarFormaDePago(AFactura : IBizFacturaCliente; ID_FORMA_PAGO: Integer);
function Duplicar(AFactura: IBizFacturaCliente): IBizFacturaCliente;
function GenerarAbono(AFactura: IBizFacturaCliente): IBizFacturaCliente;
@@ -92,6 +93,7 @@ type
function Existe(const ID: Integer) : Boolean; virtual;
function Anadir(AFactura : IBizFacturaCliente): Boolean; overload;
function AnadirAbono(AFactura : IBizFacturaCliente) : Boolean;
+ function AnadirProforma(AFactura : IBizFacturaCliente) : Boolean;
function Anadir(AFacturas : IBizFacturaCliente; AListaAlbaranes : IBizAlbaranCliente): Boolean; overload;
function Buscar(const ID: Integer): IBizFacturaCliente;
function BuscarTodos: IBizFacturaCliente;
@@ -204,6 +206,14 @@ begin
Result := True;
end;
+function TFacturasClienteController.AnadirProforma(
+ AFactura: IBizFacturaCliente): Boolean;
+begin
+ Anadir(AFactura);
+ AFactura.TIPO := CTE_TIPO_PROFORMA;
+ Result := True;
+end;
+
procedure TFacturasClienteController.ActualizarFormaDePago(
AFactura: IBizFacturaCliente; ID_FORMA_PAGO: Integer);
var
diff --git a/Source/Modulos/Facturas de cliente/Model/schFacturasClienteClient_Intf.pas b/Source/Modulos/Facturas de cliente/Model/schFacturasClienteClient_Intf.pas
index ace16b4..73eee61 100644
--- a/Source/Modulos/Facturas de cliente/Model/schFacturasClienteClient_Intf.pas
+++ b/Source/Modulos/Facturas de cliente/Model/schFacturasClienteClient_Intf.pas
@@ -3,7 +3,7 @@ unit schFacturasClienteClient_Intf;
interface
uses
- Classes, DB, SysUtils, uROClasses, uDAInterfaces, uDADataTable, FmtBCD, uROXMLIntf;
+ Classes, DB, schBase_Intf, SysUtils, uROClasses, uDAInterfaces, uDADataTable, FmtBCD, uROXMLIntf;
const
{ Data table rules ids
@@ -185,7 +185,7 @@ type
end;
{ TListaAnosFacturasDataTableRules }
- TListaAnosFacturasDataTableRules = class(TDADataTableRules, IListaAnosFacturas)
+ TListaAnosFacturasDataTableRules = class(TIntfObjectDADataTableRules, IListaAnosFacturas)
private
protected
{ Property getters and setters }
@@ -531,7 +531,7 @@ type
end;
{ TFacturasClienteDataTableRules }
- TFacturasClienteDataTableRules = class(TDADataTableRules, IFacturasCliente)
+ TFacturasClienteDataTableRules = class(TIntfObjectDADataTableRules, IFacturasCliente)
private
f_OBSERVACIONES: IROStrings;
procedure OBSERVACIONES_OnChange(Sender: TObject);
@@ -963,7 +963,7 @@ type
end;
{ TFacturasCliente_DetallesDataTableRules }
- TFacturasCliente_DetallesDataTableRules = class(TDADataTableRules, IFacturasCliente_Detalles)
+ TFacturasCliente_DetallesDataTableRules = class(TIntfObjectDADataTableRules, IFacturasCliente_Detalles)
private
protected
{ Property getters and setters }
diff --git a/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas b/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas
index 87283bb..efe5090 100644
--- a/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas
+++ b/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas
@@ -11,6 +11,7 @@ const
CTE_TIPO_ABONO = 'A';
CTE_TIPO_FACTURA = 'F';
+ CTE_TIPO_PROFORMA = 'P';
CTE_PENDIENTE = 'PENDIENTE';
CTE_PARCIAMENTE_PAGADA = 'PARCIALMENTE PAGADA';
diff --git a/Source/Modulos/Facturas de cliente/Model/uBizFacturasClienteServer.pas b/Source/Modulos/Facturas de cliente/Model/uBizFacturasClienteServer.pas
index 1401f30..73d9b2c 100644
--- a/Source/Modulos/Facturas de cliente/Model/uBizFacturasClienteServer.pas
+++ b/Source/Modulos/Facturas de cliente/Model/uBizFacturasClienteServer.pas
@@ -33,8 +33,10 @@ uses
const
REF_FACTURAS_CLIENTE = 'REF_FACTURAS_CLIENTE';
REF_ABONOS_CLIENTE = 'REF_ABONOS_CLIENTE';
+ REF_FACTURAS_PROFORMA = 'REF_FACTURAS_PROFORMA';
CTE_TIPO_ABONO = 'A';
CTE_TIPO_FACTURA = 'F';
+ CTE_TIPO_PROFORMA = 'P';
{ TBizFacturasClienteServer }
@@ -128,9 +130,11 @@ var
AClientID : TGUID;
ATipo : String;
begin
-//No se hace distinción en la referencia entre facturas y abonos
-// if TIPO = CTE_TIPO_FACTURA then
- ATipo := REF_FACTURAS_CLIENTE;
+//Se hace distinción en la referencia entre proformas y (facturas/abonos)
+ if TIPO = CTE_TIPO_PROFORMA then
+ ATipo := REF_FACTURAS_PROFORMA
+ else
+ ATipo := REF_FACTURAS_CLIENTE;
// else
// ATipo := REF_ABONOS_CLIENTE;
@@ -148,7 +152,9 @@ var
AClientID : TGUID;
ATipo : String;
begin
-// if TIPO = CTE_TIPO_FACTURA then
+ if TIPO = CTE_TIPO_PROFORMA then
+ ATipo := REF_FACTURAS_PROFORMA
+ else
ATipo := REF_FACTURAS_CLIENTE;
// else
// ATipo := REF_ABONOS_CLIENTE;
diff --git a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm
index 26a3e5f..6143010 100644
--- a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm
+++ b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm
@@ -642,32 +642,33 @@ object RptFacturasCliente: TRptFacturasCliente
TargetTable = 'FACTURAS_CLIENTE'
SQL =
'SELECT'#10' V_FACTURAS_CLIENTE.ID, V_FACTURAS_CLIENTE.REFERENCIA,' +
- ' V_FACTURAS_CLIENTE.FECHA_FACTURA,'#10' V_FACTURAS_CLIENTE.TIENDA' +
- ', V_FACTURAS_CLIENTE.ID_TIENDA,'#10' V_FACTURAS_CLIENTE.IMPORTE_N' +
- 'ETO,'#10' V_FACTURAS_CLIENTE.BASE_IMPONIBLE, V_FACTURAS_CLIENTE.D' +
- 'ESCUENTO, V_FACTURAS_CLIENTE.IMPORTE_DESCUENTO,'#10' V_FACTURAS_C' +
- 'LIENTE.IVA, V_FACTURAS_CLIENTE.IMPORTE_IVA,'#10' V_FACTURAS_CLIEN' +
- 'TE.RE, V_FACTURAS_CLIENTE.IMPORTE_RE,'#10' V_FACTURAS_CLIENTE.IMP' +
- 'ORTE_TOTAL,'#10' V_FACTURAS_CLIENTE.OBSERVACIONES, FORMAS_PAGO.DE' +
- 'SCRIPCION AS FORMA_PAGO, V_FACTURAS_CLIENTE.ID_CLIENTE,'#10' V_FA' +
- 'CTURAS_CLIENTE.REFERENCIA_CLIENTE, V_FACTURAS_CLIENTE.TELEFONO_C' +
- 'LIENTE, V_FACTURAS_CLIENTE.NIF_CIF, V_FACTURAS_CLIENTE.NOMBRE, V' +
- '_FACTURAS_CLIENTE.CALLE,'#10' V_FACTURAS_CLIENTE.PROVINCIA, V_FAC' +
- 'TURAS_CLIENTE.CODIGO_POSTAL, V_FACTURAS_CLIENTE.POBLACION,'#10' C' +
- 'ONTACTOS_DATOS_BANCO.TITULAR,'#10' CONTACTOS_DATOS_BANCO.ENTIDAD,' +
- #10' CONTACTOS_DATOS_BANCO.SUCURSAL,'#10' CONTACTOS_DATOS_BANCO.D' +
- 'C,'#10' CONTACTOS_DATOS_BANCO.CUENTA,'#10' ID_EMPRESA, EMPRESAS.NI' +
- 'F_CIF as NIF_CIF_EMPRESA, EMPRESAS.RAZON_SOCIAL,'#10' EMPRESAS.CA' +
- 'LLE as CALLE_EMPRESA, EMPRESAS.POBLACION as POBLACION_EMPRESA,'#10' ' +
- ' EMPRESAS.PROVINCIA as PROVINCIA_EMPRESA, EMPRESAS.CODIGO_POST' +
- 'AL as CODIGO_POSTAL_EMPRESA,'#10' EMPRESAS.TELEFONO_1, EMPRESAS.F' +
- 'AX, EMPRESAS.MOVIL_1, EMPRESAS.EMAIL_1,'#10' EMPRESAS.PAGINA_WEB,' +
- ' EMPRESAS.REGISTRO_MERCANTIL, EMPRESAS.LOGOTIPO,'#10' V_FACTURAS_' +
- 'CLIENTE.REFERENCIA_PRESUPUESTO'#10'FROM V_FACTURAS_CLIENTE'#10'LEFT JOIN' +
- ' EMPRESAS ON EMPRESAS.ID = ID_EMPRESA'#10'LEFT JOIN FORMAS_PAGO ON (' +
- 'FORMAS_PAGO.ID = V_FACTURAS_CLIENTE.ID_FORMA_PAGO)'#10'LEFT JOIN CON' +
- 'TACTOS_DATOS_BANCO ON (CONTACTOS_DATOS_BANCO.ID_CONTACTO = V_FAC' +
- 'TURAS_CLIENTE.ID_CLIENTE)'#10'WHERE V_FACTURAS_CLIENTE.ID = :ID'#10
+ ' V_FACTURAS_CLIENTE.FECHA_FACTURA,'#10' V_FACTURAS_CLIENTE.TIPO,'#10 +
+ ' V_FACTURAS_CLIENTE.TIENDA, V_FACTURAS_CLIENTE.ID_TIENDA,'#10' ' +
+ ' V_FACTURAS_CLIENTE.IMPORTE_NETO,'#10' V_FACTURAS_CLIENTE.BASE_IM' +
+ 'PONIBLE, V_FACTURAS_CLIENTE.DESCUENTO, V_FACTURAS_CLIENTE.IMPORT' +
+ 'E_DESCUENTO,'#10' V_FACTURAS_CLIENTE.IVA, V_FACTURAS_CLIENTE.IMPO' +
+ 'RTE_IVA,'#10' V_FACTURAS_CLIENTE.RE, V_FACTURAS_CLIENTE.IMPORTE_R' +
+ 'E,'#10' V_FACTURAS_CLIENTE.IMPORTE_TOTAL,'#10' V_FACTURAS_CLIENTE.' +
+ 'OBSERVACIONES, FORMAS_PAGO.DESCRIPCION AS FORMA_PAGO, V_FACTURAS' +
+ '_CLIENTE.ID_CLIENTE,'#10' V_FACTURAS_CLIENTE.REFERENCIA_CLIENTE, ' +
+ 'V_FACTURAS_CLIENTE.TELEFONO_CLIENTE, V_FACTURAS_CLIENTE.NIF_CIF,' +
+ ' V_FACTURAS_CLIENTE.NOMBRE, V_FACTURAS_CLIENTE.CALLE,'#10' V_FACT' +
+ 'URAS_CLIENTE.PROVINCIA, V_FACTURAS_CLIENTE.CODIGO_POSTAL, V_FACT' +
+ 'URAS_CLIENTE.POBLACION,'#10' CONTACTOS_DATOS_BANCO.TITULAR,'#10' C' +
+ 'ONTACTOS_DATOS_BANCO.ENTIDAD,'#10' CONTACTOS_DATOS_BANCO.SUCURSAL' +
+ ','#10' CONTACTOS_DATOS_BANCO.DC,'#10' CONTACTOS_DATOS_BANCO.CUENTA' +
+ ','#10' ID_EMPRESA, EMPRESAS.NIF_CIF as NIF_CIF_EMPRESA, EMPRESAS.' +
+ 'RAZON_SOCIAL,'#10' EMPRESAS.CALLE as CALLE_EMPRESA, EMPRESAS.POBL' +
+ 'ACION as POBLACION_EMPRESA,'#10' EMPRESAS.PROVINCIA as PROVINCIA_' +
+ 'EMPRESA, EMPRESAS.CODIGO_POSTAL as CODIGO_POSTAL_EMPRESA,'#10' EM' +
+ 'PRESAS.TELEFONO_1, EMPRESAS.FAX, EMPRESAS.MOVIL_1, EMPRESAS.EMAI' +
+ 'L_1,'#10' EMPRESAS.PAGINA_WEB, EMPRESAS.REGISTRO_MERCANTIL, EMPRE' +
+ 'SAS.LOGOTIPO,'#10' V_FACTURAS_CLIENTE.REFERENCIA_PRESUPUESTO'#10'FROM' +
+ ' V_FACTURAS_CLIENTE'#10'LEFT JOIN EMPRESAS ON EMPRESAS.ID = ID_EMPRE' +
+ 'SA'#10'LEFT JOIN FORMAS_PAGO ON (FORMAS_PAGO.ID = V_FACTURAS_CLIENTE' +
+ '.ID_FORMA_PAGO)'#10'LEFT JOIN CONTACTOS_DATOS_BANCO ON (CONTACTOS_DA' +
+ 'TOS_BANCO.ID_CONTACTO = V_FACTURAS_CLIENTE.ID_CLIENTE)'#10'WHERE V_F' +
+ 'ACTURAS_CLIENTE.ID = :ID'#10
StatementType = stSQL
ColumnMappings = <
item
@@ -871,6 +872,11 @@ object RptFacturasCliente: TRptFacturasCliente
DatasetField = 'TELEFONO_CLIENTE'
TableField = ''
SQLOrigin = 'TELEFONO_CLIENTE'
+ end
+ item
+ DatasetField = 'TIPO'
+ TableField = ''
+ SQLOrigin = 'TIPO'
end>
end>
Name = 'InformeFacturasCliente'
@@ -892,6 +898,11 @@ object RptFacturasCliente: TRptFacturasCliente
DataType = datDateTime
DictionaryEntry = 'FacturasCliente_FECHA_FACTURA'
end
+ item
+ Name = 'TIPO'
+ DataType = datString
+ Size = 1
+ end
item
Name = 'TIENDA'
DataType = datString
diff --git a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas
index 2a1f43b..29e9a3e 100644
--- a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas
+++ b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas
@@ -82,6 +82,7 @@ uses
const
rptFacturaCliente = 'InfFacturaCliente.fr3';
+ rptFacturaProforma = 'InfFacturaProforma.fr3';
rptInformeIVA = 'InformeIVAClientes.fr3';
rptInformeIVADesglosado = 'InformeIVAClientesDesglosado.fr3';
@@ -685,7 +686,12 @@ begin
tbl_Detalles.Active := True;
tbl_Vencimientos.Active := True;
- AInforme := DarRutaFichero(DarRutaInformes, rptFacturaCliente, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString, tbl_Cabecera.FieldByName('ID_TIENDA').AsString);
+ if (tbl_Cabecera.FieldByName('TIPO').AsString = 'P') then
+ AInforme := DarRutaFichero(DarRutaInformes, rptFacturaProforma, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString, tbl_Cabecera.FieldByName('ID_TIENDA').AsString)
+ else
+ AInforme := DarRutaFichero(DarRutaInformes, rptFacturaCliente, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString, tbl_Cabecera.FieldByName('ID_TIENDA').AsString);
+
+
if VarIsNull(AInforme) then
raise Exception.Create (('Error Servidor: _GenerarFactura, no encuentra informe ' + rptFacturaCliente));
diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm
index e24eef4..24bce2b 100644
--- a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm
+++ b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm
@@ -115,63 +115,43 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
- ExplicitWidth = 159
- Width = 159
end
inherited edtFecha: TcxDBDateEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
- ExplicitWidth = 159
- Width = 159
end
inherited cbFormaPago: TcxDBLookupComboBox
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
- ExplicitWidth = 78
- Width = 78
end
inherited bFormasPago: TButton
Left = 312
ExplicitLeft = 312
end
inherited frViewTienda1: TfrViewTienda
- Width = 351
- ExplicitWidth = 351
inherited dxLayoutControl1: TdxLayoutControl
- Width = 351
inherited cbTienda: TcxComboBox
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
- ExplicitWidth = 399
- Width = 399
end
end
end
inherited frViewClienteFactura1: TfrViewClienteFactura
Left = 472
- Width = 398
ExplicitLeft = 472
- ExplicitWidth = 398
inherited dxLayoutControl1: TdxLayoutControl
- Width = 398
- inherited Bevel1: TBevel
- Width = 266
- ExplicitWidth = 266
- end
inherited edtlNombre: TcxDBTextEdit
DataBinding.DataSource = dsDataTable
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
- ExplicitWidth = 276
- Width = 276
end
inherited edtNIFCIF: TcxDBTextEdit
DataBinding.DataSource = dsDataTable
@@ -179,8 +159,6 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
- ExplicitWidth = 276
- Width = 276
end
inherited edtCalle: TcxDBTextEdit
DataBinding.DataSource = dsDataTable
@@ -188,8 +166,6 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
- ExplicitWidth = 276
- Width = 276
end
inherited edtPoblacion: TcxDBTextEdit
DataBinding.DataSource = dsDataTable
@@ -197,8 +173,6 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
- ExplicitWidth = 158
- Width = 158
end
inherited edtProvincia: TcxDBTextEdit
DataBinding.DataSource = dsDataTable
@@ -206,8 +180,6 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
- ExplicitWidth = 276
- Width = 276
end
inherited edtCodigoPostal: TcxDBTextEdit
Left = 306
@@ -227,8 +199,6 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
- ExplicitWidth = 283
- Width = 283
end
end
end
@@ -237,19 +207,14 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
- ExplicitWidth = 310
- Width = 310
end
inherited frViewObservaciones1: TfrViewObservaciones
- Width = 521
Height = 228
- ExplicitWidth = 521
ExplicitHeight = 228
inherited memObservaciones: TcxDBMemo
DataBinding.DataSource = frViewFacturaCliente1.DADataSource
ExplicitHeight = 228
Height = 228
- Width = 521
end
end
inherited cbRecargoEquivalencia: TcxDBCheckBox
@@ -257,12 +222,6 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
- ExplicitWidth = 158
- Width = 158
- end
- inherited edtSituacion: TcxDBComboBox
- ExplicitWidth = 121
- Width = 121
end
end
end
@@ -475,10 +434,8 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
inherited Bevel3: TBevel
Left = 489
Top = 30
- Height = 122
ExplicitLeft = 489
ExplicitTop = 30
- ExplicitHeight = 122
end
inherited Bevel4: TBevel
Left = 601
@@ -597,8 +554,6 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
Style.IsFontAssigned = True
ExplicitLeft = 672
ExplicitTop = 104
- ExplicitWidth = 56
- Width = 56
end
inherited eImporteNeto: TcxDBCurrencyEdit
Top = 30
diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.pas b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.pas
index b2d24d5..61c3f27 100644
--- a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.pas
+++ b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.pas
@@ -293,13 +293,13 @@ begin
begin
if FFactura.TIPO = CTE_TIPO_FACTURA then
ShowInfoMessage('La factura se ha dado de alta con el código ' + FFactura.REFERENCIA)
+ else if FFactura.TIPO = CTE_TIPO_ABONO then
+ ShowInfoMessage('El abono se ha dado de alta con el código ' + FFactura.REFERENCIA)
else
- begin
- ShowInfoMessage('El abono se ha dado de alta con el código ' + FFactura.REFERENCIA);
+ ShowInfoMessage('La factura proforma se ha dado de alta con el código ' + FFactura.REFERENCIA)
//Preguntamos is desea hacer una orden de devolución asociada
// if (Application.MessageBox('¿Desea crear una orden de devolución para el abono?', 'Atención', MB_YESNO) = IDYES) then
// GenerarAlbaranCli(FFactura);
- end;
end;
Modified := False;
@@ -393,8 +393,10 @@ begin
begin
if FFactura.TIPO = CTE_TIPO_FACTURA then
ACadena := 'Antes debe elegir un cliente para esta factura'
+ else if FFactura.TIPO = CTE_TIPO_ABONO then
+ ACadena := 'Antes debe elegir un cliente para este abono'
else
- ACadena := 'Antes debe elegir un cliente para este abono';
+ ACadena := 'Antes debe elegir un cliente para esta factura proforma';
ShowWarningMessage(ACadena);
AllowChange := False;
end;
@@ -410,13 +412,17 @@ begin
if Factura.EsNuevo then
if Factura.TIPO = CTE_TIPO_FACTURA then
FTitulo := 'Nueva factura de cliente'
- else
+ else if Factura.TIPO = CTE_TIPO_ABONO then
FTitulo := 'Nuevo abono a cliente'
+ else
+ FTitulo := 'Nueva factura proforma de cliente'
else
if Factura.TIPO = CTE_TIPO_FACTURA then
FTitulo := 'Factura de cliente' + ' - ' + FFactura.Cliente.Nombre
+ else if Factura.TIPO = CTE_TIPO_ABONO then
+ FTitulo := 'Abono a cliente' + ' - ' + FFactura.Cliente.Nombre
else
- FTitulo := 'Abono a cliente' + ' - ' + FFactura.Cliente.Nombre
+ FTitulo := 'Factura proforma de cliente' + ' - ' + FFactura.Cliente.Nombre
end;
inherited PonerTitulos(FTitulo);
diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.dfm
index 66e839e..f327922 100644
--- a/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.dfm
+++ b/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.dfm
@@ -52,6 +52,9 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
Action = actNuevoAbono
Caption = 'Nuevo abono...'
end
+ object TBXItem41: TTBXItem
+ Action = actNuevaProforma
+ end
end
inherited TBXItem2: TTBXItem
Visible = False
@@ -285,6 +288,12 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
ImageIndex = 25
OnExecute = actInformesExecute
end
+ object actNuevaProforma: TAction
+ Category = 'Archivo'
+ Caption = 'Proforma'
+ ImageIndex = 6
+ OnExecute = actNuevaProformaExecute
+ end
end
inherited SmallImages: TPngImageList [5]
PngImages = <
diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.pas b/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.pas
index 52c44bd..1e61f66 100644
--- a/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.pas
+++ b/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.pas
@@ -35,12 +35,15 @@ type
actInformes: TAction;
JSInformesDialog: TJSDialog;
TBXItem40: TTBXItem;
+ actNuevaProforma: TAction;
+ TBXItem41: TTBXItem;
procedure FormShow(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject);
procedure actNuevaFacturaExecute(Sender: TObject);
procedure actNuevoAbonoExecute(Sender: TObject);
procedure actInformesExecute(Sender: TObject);
procedure OnListaAnosChange(Sender: TObject; const Text: string);
+ procedure actNuevaProformaExecute(Sender: TObject);
private
FFacturas: IBizFacturaCliente;
@@ -128,6 +131,12 @@ begin
actNuevo.Execute;
end;
+procedure TfEditorFacturasCliente.actNuevaProformaExecute(Sender: TObject);
+begin
+ if FController.AnadirProforma(Facturas) then
+ FController.Ver(Facturas);
+end;
+
procedure TfEditorFacturasCliente.actNuevoAbonoExecute(Sender: TObject);
var
Respuesta : Integer;
diff --git a/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.dfm
index 27b85f4..303924c 100644
--- a/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.dfm
+++ b/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.dfm
@@ -32,6 +32,10 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente
item
Description = 'Abono'
Value = 'A'
+ end
+ item
+ Description = 'Proforma'
+ Value = 'P'
end>
end
object cxGridViewTIENDA: TcxGridDBColumn
@@ -408,6 +412,10 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente
AssignedValues = [svTextColor]
TextColor = clBlue
end
+ object cxStyleProforma: TcxStyle
+ AssignedValues = [svTextColor]
+ TextColor = clGreen
+ end
end
object PngImageList: TPngImageList
PngImages = <
diff --git a/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.pas b/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.pas
index 471341d..fb22abc 100644
--- a/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.pas
+++ b/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.pas
@@ -64,6 +64,7 @@ type
cxGridViewREFERENCIA_PRESUPUESTO: TcxGridDBColumn;
cxGridViewREF_CLI_CONTRATO: TcxGridDBColumn;
cxGridViewFECHA_COBRO: TcxGridDBColumn;
+ cxStyleProforma: TcxStyle;
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem;
out AStyle: TcxStyle);
diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj
index 8713c69..0967b16 100644
--- a/Source/Servidor/FactuGES_Server.dproj
+++ b/Source/Servidor/FactuGES_Server.dproj
@@ -30,6 +30,9 @@
FalseTrueFalseTrueFalse2630FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.6.3.0FactuGES (Servidor)2.6.3.0martes, 08 de octubre de 2013 18:53
+
+
+
File C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl not found
FactuGES_Server.dprTrue
diff --git a/Source/Servidor/FactuGES_Server.res b/Source/Servidor/FactuGES_Server.res
index 171007a..6f7a634 100644
Binary files a/Source/Servidor/FactuGES_Server.res and b/Source/Servidor/FactuGES_Server.res differ