diff --git a/Source/ApplicationBase/uFactuGES_App.pas b/Source/ApplicationBase/uFactuGES_App.pas
index 6e9f9eb3..994adb16 100644
--- a/Source/ApplicationBase/uFactuGES_App.pas
+++ b/Source/ApplicationBase/uFactuGES_App.pas
@@ -7,6 +7,12 @@ uses
uEmpresasController, uUsuariosController, uHostManager, uConfiguracionController,
uBizEmpresasTiendas, uModuleController;
+const
+ CTE_PERFIL_ADMINISTRADOR = 2;
+ CTE_PREFIL_GERENCIA = 3;
+ CTE_PERFIL_VENDEDOR = 4;
+ CTE_PREFIL_LOGISTICA = 5;
+
type
TAppFactuGES_Event = procedure;
diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj
index afb554c2..6d02c690 100644
--- a/Source/Base/Base.dproj
+++ b/Source/Base/Base.dproj
@@ -44,20 +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
@@ -72,54 +58,54 @@
MainSource
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Cliente/FactuGES.dproj b/Source/Cliente/FactuGES.dproj
index d491e968..7938b00b 100644
--- a/Source/Cliente/FactuGES.dproj
+++ b/Source/Cliente/FactuGES.dproj
@@ -52,7 +52,7 @@
Delphi.Personality
VCLApplication
-FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse2880FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.8.8.0FactuGESFactuGES2.8.8.0
+FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse2900FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.9.0.0FactuGESFactuGES2.9.0.0
File C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl not found
FactuGES.dprFalse
diff --git a/Source/Cliente/FactuGES.rc b/Source/Cliente/FactuGES.rc
index 635a18c3..830c2d48 100644
--- a/Source/Cliente/FactuGES.rc
+++ b/Source/Cliente/FactuGES.rc
@@ -1,7 +1,7 @@
MAINICON ICON "C:\Codigo Acana\Resources\Iconos\Factuges.ico"
1 VERSIONINFO
-FILEVERSION 2,8,8,0
-PRODUCTVERSION 2,8,8,0
+FILEVERSION 2,9,0,0
+PRODUCTVERSION 2,9,0,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.8.8.0\0"
+ VALUE "FileVersion", "2.9.0.0\0"
VALUE "InternalName", "FactuGES\0"
VALUE "ProductName", "FactuGES\0"
- VALUE "ProductVersion", "2.8.8.0\0"
+ VALUE "ProductVersion", "2.9.0.0\0"
END
END
BLOCK "VarFileInfo"
diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res
index 13b1bf64..3cf2b510 100644
Binary files a/Source/Cliente/FactuGES.res and b/Source/Cliente/FactuGES.res differ
diff --git a/Source/Cliente/uPantallaPrincipal.pas b/Source/Cliente/uPantallaPrincipal.pas
index 84d516d5..2f4c5d83 100644
--- a/Source/Cliente/uPantallaPrincipal.pas
+++ b/Source/Cliente/uPantallaPrincipal.pas
@@ -208,15 +208,15 @@ begin
InicializarUI;
//Solo verá administracion de usuarios el perfil Administrador(3), están en la tabla usuarios
- if (AppFactuGES.UsuarioActivo.ID_PERFIL <> 2) then
+ if (AppFactuGES.UsuarioActivo.ID_PERFIL <> CTE_PERFIL_ADMINISTRADOR) then
begin
Administracin1.Visible := False;
- if (AppFactuGES.UsuarioActivo.ID_PERFIL <> 3) then
+ if (AppFactuGES.UsuarioActivo.ID_PERFIL <> CTE_PREFIL_GERENCIA) then
ConfigurarFactuGES1.Visible := False;
end;
//perfil logistica
- if (AppFactuGES.UsuarioActivo.ID_PERFIL <> 5) then
+ if (AppFactuGES.UsuarioActivo.ID_PERFIL <> CTE_PREFIL_LOGISTICA) then
Logistica1.Visible := False;
end;
diff --git a/Source/GUIBase/GUIBase.dproj b/Source/GUIBase/GUIBase.dproj
index 8409acc9..72658c5d 100644
--- a/Source/GUIBase/GUIBase.dproj
+++ b/Source/GUIBase/GUIBase.dproj
@@ -58,34 +58,34 @@
MainSource
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/GUIBase/uEditorDBItem.dfm b/Source/GUIBase/uEditorDBItem.dfm
index b86815a9..0467683b 100644
--- a/Source/GUIBase/uEditorDBItem.dfm
+++ b/Source/GUIBase/uEditorDBItem.dfm
@@ -21,7 +21,7 @@ inherited fEditorDBItem: TfEditorDBItem
Width = 650
ExplicitWidth = 650
inherited tbxMain: TTBXToolbar
- ExplicitWidth = 650
+ ExplicitWidth = 605
inherited TBXItem26: TTBXItem
Visible = False
end
@@ -77,12 +77,14 @@ inherited fEditorDBItem: TfEditorDBItem
object pgPaginas: TPageControl [3]
AlignWithMargins = True
Left = 3
- Top = 118
+ Top = 109
Width = 644
- Height = 319
+ Height = 328
ActivePage = pagGeneral
Align = alClient
TabOrder = 2
+ ExplicitTop = 118
+ ExplicitHeight = 319
object pagGeneral: TTabSheet
Caption = 'General'
ExplicitLeft = 0
@@ -93,7 +95,7 @@ inherited fEditorDBItem: TfEditorDBItem
end
object PnlComentario: TPanel [4]
Left = 0
- Top = 85
+ Top = 76
Width = 650
Height = 30
Align = alTop
@@ -103,6 +105,7 @@ inherited fEditorDBItem: TfEditorDBItem
ParentBackground = False
TabOrder = 4
VerticalAlignment = taAlignTop
+ ExplicitTop = 85
object lbComentario: TLabel
AlignWithMargins = True
Left = 6
diff --git a/Source/Informes/InfPedidoProveedor.fr3 b/Source/Informes/InfPedidoProveedor.fr3
index ad4820a8..01f71de9 100644
--- a/Source/Informes/InfPedidoProveedor.fr3
+++ b/Source/Informes/InfPedidoProveedor.fr3
@@ -1,5 +1,5 @@
-
+
@@ -13,35 +13,31 @@
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
+
+
-
+
-
-
-
-
-
+
+
+
+
+
diff --git a/Source/Modulos/Facturas de cliente/Controller/FacturasCliente_controller.dpk b/Source/Modulos/Facturas de cliente/Controller/FacturasCliente_controller.dpk
index 83d57810..ac1db4ee 100644
Binary files a/Source/Modulos/Facturas de cliente/Controller/FacturasCliente_controller.dpk and b/Source/Modulos/Facturas de cliente/Controller/FacturasCliente_controller.dpk differ
diff --git a/Source/Modulos/Facturas de cliente/Controller/FacturasCliente_controller.dproj b/Source/Modulos/Facturas de cliente/Controller/FacturasCliente_controller.dproj
index cc9d93d1..59f29685 100644
--- a/Source/Modulos/Facturas de cliente/Controller/FacturasCliente_controller.dproj
+++ b/Source/Modulos/Facturas de cliente/Controller/FacturasCliente_controller.dproj
@@ -1,4 +1,5 @@
-
+
+
{7ed85635-c723-4c0b-bf1d-f719e0ea33ad}
FacturasCliente_controller.dpk
diff --git a/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas b/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas
index a97c5099..68803a1b 100644
--- a/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas
+++ b/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas
@@ -52,6 +52,7 @@ type
function DarListaAnosFacturas: TStringList;
procedure FiltrarAno(AFactura: IBizFacturaCliente; ADynWhereDataTable: WideString; const Ano: String);
+ function CambiarSituacion(AFactura : IBizFacturaCliente; AllItems: Boolean = false; ASituacion: String = CTE_PENDIENTE; AListaCausas: TStringList = nil): Boolean;
end;
TFacturasClienteController = class(TControllerBase, IFacturasClienteController)
@@ -119,6 +120,8 @@ type
function DarListaAnosFacturas: TStringList;
procedure FiltrarAno(AFactura: IBizFacturaCliente; ADynWhereDataTable: WideString; const Ano: String);
+
+ function CambiarSituacion(AFactura : IBizFacturaCliente; AllItems: Boolean = false; ASituacion: String = CTE_PENDIENTE; AListaCausas: TStringList = nil): Boolean;
end;
implementation
@@ -488,6 +491,124 @@ begin
FiltrarEmpresa(Result);
end;
+function TFacturasClienteController.CambiarSituacion(AFactura: IBizFacturaCliente; AllItems: Boolean; ASituacion: String;
+ AListaCausas: TStringList): Boolean;
+//Solo devolverá true en el caso de cambiar de situación a todas las facturas
+var
+ bCambioOK: Boolean;
+ ACausa: Variant;
+ bEnEdicion: Boolean;
+ ARecibosClienteController : IRecibosClienteController;
+ ARecibos: IBizRecibosCliente;
+
+begin
+ bCambioOK := True;
+ ARecibosClienteController := TRecibosClienteController.Create;
+
+ if not Assigned(AFactura) then
+ raise Exception.Create ('Factura no asignada');
+
+ ShowHourglassCursor;
+ try
+ if not AFactura.DataTable.Active then
+ AFactura.DataTable.Active := True;
+
+ if (AFactura.State in dsEditModes) then
+ AFactura.Cancel;
+
+ if not AllItems then
+ begin
+ if not EsModificable(AFactura, ACausa) then
+ begin
+ if Assigned(AListaCausas) then
+ AListaCausas.Add(Format('%s=%s', [AFactura.REFERENCIA, ACausa]));
+ bCambioOK := False;
+ end
+ else
+ begin
+ //Buscamos si tiene recibos la factura si es así no podrá cambiar de situación ya que son los recibos los que la definen
+ ARecibos := ARecibosClienteController.BuscarRecibosFactura(AFactura.ID);
+ ARecibos.open;
+ if (ARecibos.RecordCount > 0) then
+ begin
+ if Assigned(AListaCausas) then
+ AListaCausas.Add(Format('%s=%s', [AFactura.REFERENCIA, 'La factura tiene recibos asociados que definen su situación']));
+ bCambioOK := False;
+ ARecibos.Close;
+ ARecibos := Nil;
+ end
+ else
+ begin
+ bEnEdicion := (AFactura.DataTable.State in dsEditModes);
+ if not bEnEdicion then
+ AFactura.DataTable.Edit;
+
+ AFactura.SITUACION := ASituacion;
+
+ AFactura.DataTable.Post;
+ if bEnEdicion then
+ AFactura.DataTable.Edit;
+ end;
+ end
+ end
+ else //En el caso de querer modificar todos los items del objeto AFactura
+ begin
+ with AFactura.DataTable do
+ begin
+ First;
+ while not EOF do
+ begin
+ if not EsEliminable(AFactura, ACausa) then
+ begin
+ if Assigned(AListaCausas) then
+ AListaCausas.Add(Format('%s=%s', [AFactura.REFERENCIA, ACausa]));
+ bCambioOK := False;
+ end
+ else
+ begin
+ //Buscamos si tiene recibos la factura si es así no podrá cambiar de situación ya que son los recibos los que la definen
+ ARecibos := ARecibosClienteController.BuscarRecibosFactura(AFactura.ID);
+ ARecibos.open;
+ if (ARecibos.RecordCount > 0) then
+ begin
+ if Assigned(AListaCausas) then
+ AListaCausas.Add(Format('%s=%s', [AFactura.REFERENCIA, 'La factura tiene recibos asociados que definen su situación']));
+ bCambioOK := False;
+ ARecibos.Close;
+ ARecibos := Nil;
+ end
+ else
+ begin
+ bEnEdicion := (State in dsEditModes);
+ if not bEnEdicion then
+ Edit;
+
+ AFactura.SITUACION := ASituacion;
+
+ Post;
+ if bEnEdicion then
+ Edit;
+ end;
+ end;
+ Next;
+ end;
+ end;
+ end;
+
+ try
+ AFactura.DataTable.ApplyUpdates;
+ Result := bCambioOK;
+ except
+ AFactura.DataTable.CancelUpdates;
+ Result := False;
+ end;
+
+ finally
+ ARecibosClienteController:= Nil;
+ HideHourglassCursor;
+ end;
+end;
+
procedure TFacturasClienteController.CopiarDireccion(
const ADireccionEnvio: IBizDireccionesContacto; AFactura: IBizFacturaCliente);
var
@@ -923,6 +1044,7 @@ end;
function TFacturasClienteController.EsModificable(AFactura: IBizFacturaCliente; var AComentario: Variant): Boolean;
begin
+ Result := True;
AComentario := Null;
if not Assigned(AFactura) then
diff --git a/Source/Modulos/Facturas de cliente/Data/uDataModuleFacturasCliente.dfm b/Source/Modulos/Facturas de cliente/Data/uDataModuleFacturasCliente.dfm
index 7e29d3ab..a2b6dec0 100644
--- a/Source/Modulos/Facturas de cliente/Data/uDataModuleFacturasCliente.dfm
+++ b/Source/Modulos/Facturas de cliente/Data/uDataModuleFacturasCliente.dfm
@@ -329,6 +329,7 @@ inherited DataModuleFacturasCliente: TDataModuleFacturasCliente
DataType = datString
Size = 255
DisplayLabel = 'Otros nombres'
+ DictionaryEntry = 'FacturasCliente_LISTA_NOMBRES'
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 c8fb1e5d..df43e4d5 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 = '{AC458C56-0773-4661-8AA4-2B189CB69716}';
- RID_FacturasCliente = '{0F0BF96C-EF73-4658-93A2-63D12D3DCAD2}';
- RID_FacturasCliente_Detalles = '{906608D3-E31F-41F1-AE03-8212770A53CA}';
+ RID_ListaAnosFacturas = '{35EC352F-3CB5-431C-941C-773B56FC9C17}';
+ RID_FacturasCliente = '{EE5C9C18-5B51-475E-9CFC-A2F163B0F368}';
+ RID_FacturasCliente_Detalles = '{CECC09E5-CA18-4B27-A693-F38FD2708E6E}';
{ Data table names }
nme_ListaAnosFacturas = 'ListaAnosFacturas';
@@ -167,7 +167,7 @@ const
type
{ IListaAnosFacturas }
IListaAnosFacturas = interface(IDAStronglyTypedDataTable)
- ['{06173361-C007-4344-A43F-5AF52B29F8B7}']
+ ['{35B9CF8B-1998-4510-99B1-1EC13710F8AB}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
@@ -202,7 +202,7 @@ type
{ IFacturasCliente }
IFacturasCliente = interface(IDAStronglyTypedDataTable)
- ['{6E9D699F-963B-43BE-B76D-FB72A2674FDA}']
+ ['{ADFA571C-3DA5-4B91-A0A9-35AFF4CC2018}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -849,7 +849,7 @@ type
{ IFacturasCliente_Detalles }
IFacturasCliente_Detalles = interface(IDAStronglyTypedDataTable)
- ['{276F9B23-EBA6-457E-AEEF-CEBBF244B602}']
+ ['{1DBA415D-060E-4E81-99F9-6BBC34A48D3E}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
diff --git a/Source/Modulos/Facturas de cliente/Model/schFacturasClienteServer_Intf.pas b/Source/Modulos/Facturas de cliente/Model/schFacturasClienteServer_Intf.pas
index deb727fd..051d012a 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 = '{4F7128B4-BEAB-4EEA-A48D-6F47671DDA6E}';
- RID_FacturasClienteDelta = '{0D72186B-4364-45DB-B4CE-BC95F7C696C3}';
- RID_FacturasCliente_DetallesDelta = '{2BF7FECE-AC21-4D6D-80D0-79E75DBB6727}';
+ RID_ListaAnosFacturasDelta = '{AF9DCBE5-965F-4954-B3E3-028464D75916}';
+ RID_FacturasClienteDelta = '{F7ACAA8D-6710-4ECA-8FBF-0341136DF2CB}';
+ RID_FacturasCliente_DetallesDelta = '{D779175D-1E98-4B6B-9059-BEC7DCD94A11}';
type
{ IListaAnosFacturasDelta }
IListaAnosFacturasDelta = interface(IListaAnosFacturas)
- ['{4F7128B4-BEAB-4EEA-A48D-6F47671DDA6E}']
+ ['{AF9DCBE5-965F-4954-B3E3-028464D75916}']
{ Property getters and setters }
function GetOldANOValue : String;
@@ -50,7 +50,7 @@ type
{ IFacturasClienteDelta }
IFacturasClienteDelta = interface(IFacturasCliente)
- ['{0D72186B-4364-45DB-B4CE-BC95F7C696C3}']
+ ['{F7ACAA8D-6710-4ECA-8FBF-0341136DF2CB}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@@ -697,7 +697,7 @@ type
{ IFacturasCliente_DetallesDelta }
IFacturasCliente_DetallesDelta = interface(IFacturasCliente_Detalles)
- ['{2BF7FECE-AC21-4D6D-80D0-79E75DBB6727}']
+ ['{D779175D-1E98-4B6B-9059-BEC7DCD94A11}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_FACTURAValue : Integer;
diff --git a/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas b/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas
index 45a366da..6d0e1fdc 100644
--- a/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas
+++ b/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas
@@ -254,6 +254,7 @@ begin
USUARIO := AppFactuGES.UsuarioActivo.UserName;
FECHA_FACTURA := DateOf(Now);
TIPO := CTE_TIPO_FACTURA;
+ SITUACION := CTE_PENDIENTE;
ID_CLIENTE := ID_NULO;
SIN_COMISION := 0;
diff --git a/Source/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm b/Source/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm
index 122d18c9..7b16580a 100644
--- a/Source/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm
+++ b/Source/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm
@@ -1104,6 +1104,12 @@ object srvFacturasCliente: TsrvFacturasCliente
DataType = datString
Size = 255
Value = ''
+ end
+ item
+ Name = 'SITUACION'
+ DataType = datString
+ Size = 255
+ Value = ''
end>
Statements = <
item
@@ -1120,16 +1126,16 @@ object srvFacturasCliente: TsrvFacturasCliente
'RIO,'#10' ID_FORMA_PAGO,'#10' RECARGO_EQUIVALENCIA,'#10' ID_TIPO_IV' +
'A,'#10' IMPORTE_NETO,'#10' IMPORTE_PORTE,'#10' IGNORAR_CONTABILIDAD' +
','#10' ID_TIENDA,'#10' ID_CONTRATO,'#10' SIN_COMISION,'#10' TIPO_FAC' +
- 'TURA)'#10' VALUES ('#10' :ID,'#10' :ID_EMPRESA,'#10' :REFERENCIA,'#10' ' +
- ':FECHA_FACTURA,'#10' :FECHA_VENCIMIENTO,'#10' :BASE_IMPONIBLE,'#10' ' +
- ' :DESCUENTO,'#10' :IMPORTE_DESCUENTO,'#10' :IVA,'#10' :IMPORTE_IVA,' +
- #10' :RE,'#10' :IMPORTE_RE,'#10' :IMPORTE_TOTAL,'#10' :OBSERVACIONE' +
- 'S,'#10' :ID_CLIENTE,'#10' :NIF_CIF,'#10' :NOMBRE,'#10' :CALLE,'#10' :' +
- 'POBLACION,'#10' :PROVINCIA,'#10' :CODIGO_POSTAL,'#10' CURRENT_TIMES' +
- 'TAMP,'#10' :USUARIO,'#10' :ID_FORMA_PAGO,'#10' :RECARGO_EQUIVALENCI' +
- 'A,'#10' :ID_TIPO_IVA,'#10' :IMPORTE_NETO,'#10' :IMPORTE_PORTE,'#10' ' +
- ':IGNORAR_CONTABILIDAD,'#10' :ID_TIENDA,'#10' :ID_CONTRATO,'#10' :SI' +
- 'N_COMISION,'#10' :TIPO_FACTURA);'#10
+ 'TURA,'#10' SITUACION)'#10' VALUES ('#10' :ID,'#10' :ID_EMPRESA,'#10' :R' +
+ 'EFERENCIA,'#10' :FECHA_FACTURA,'#10' :FECHA_VENCIMIENTO,'#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' ' +
+ ' :CALLE,'#10' :POBLACION,'#10' :PROVINCIA,'#10' :CODIGO_POSTAL,'#10' ' +
+ ' CURRENT_TIMESTAMP,'#10' :USUARIO,'#10' :ID_FORMA_PAGO,'#10' :RECA' +
+ 'RGO_EQUIVALENCIA,'#10' :ID_TIPO_IVA,'#10' :IMPORTE_NETO,'#10' :IMPO' +
+ 'RTE_PORTE,'#10' :IGNORAR_CONTABILIDAD,'#10' :ID_TIENDA,'#10' :ID_CO' +
+ 'NTRATO,'#10' :SIN_COMISION,'#10' :TIPO_FACTURA,'#10' :SITUACION);'#10
StatementType = stSQL
ColumnMappings = <>
end>
@@ -1301,6 +1307,12 @@ object srvFacturasCliente: TsrvFacturasCliente
Size = 255
Value = ''
end
+ item
+ Name = 'SITUACION'
+ DataType = datString
+ Size = 255
+ Value = ''
+ end
item
Name = 'OLD_ID'
Value = ''
@@ -1326,8 +1338,8 @@ object srvFacturasCliente: TsrvFacturasCliente
'TO = :IMPORTE_NETO,'#10' IMPORTE_PORTE = :IMPORTE_PORTE,'#10' IGNO' +
'RAR_CONTABILIDAD = :IGNORAR_CONTABILIDAD,'#10' ID_TIENDA = :ID_TI' +
'ENDA,'#10' ID_CONTRATO = :ID_CONTRATO,'#10' SIN_COMISION = :SIN_CO' +
- 'MISION,'#10' TIPO_FACTURA = :TIPO_FACTURA'#10' WHERE'#10' (ID = :OLD_ID' +
- ');'#10
+ 'MISION,'#10' TIPO_FACTURA = :TIPO_FACTURA,'#10' SITUACION = :SITUA' +
+ 'CION'#10' WHERE'#10' (ID = :OLD_ID);'#10
StatementType = stSQL
ColumnMappings = <>
end>
diff --git a/Source/Modulos/Facturas de cliente/Views/FacturasCliente_view.dpk b/Source/Modulos/Facturas de cliente/Views/FacturasCliente_view.dpk
index dbe1ac2e..c923f180 100644
Binary files a/Source/Modulos/Facturas de cliente/Views/FacturasCliente_view.dpk and b/Source/Modulos/Facturas de cliente/Views/FacturasCliente_view.dpk differ
diff --git a/Source/Modulos/Facturas de cliente/Views/FacturasCliente_view.dproj b/Source/Modulos/Facturas de cliente/Views/FacturasCliente_view.dproj
index 0d2873e9..a769db74 100644
--- a/Source/Modulos/Facturas de cliente/Views/FacturasCliente_view.dproj
+++ b/Source/Modulos/Facturas de cliente/Views/FacturasCliente_view.dproj
@@ -49,35 +49,45 @@
MainSource
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
TForm
@@ -86,6 +96,10 @@
TfEditorElegirFacturasCliente
+
+
+ TForm
+
TfEditorFacturaCliente
diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorElegirSituacion.dfm b/Source/Modulos/Facturas de cliente/Views/uEditorElegirSituacion.dfm
new file mode 100644
index 00000000..37c29715
--- /dev/null
+++ b/Source/Modulos/Facturas de cliente/Views/uEditorElegirSituacion.dfm
@@ -0,0 +1,100 @@
+object fEditorElegirSituacion: TfEditorElegirSituacion
+ Left = 0
+ Top = 0
+ BorderStyle = bsDialog
+ Caption = 'Elegir situaci'#243'n'
+ ClientHeight = 140
+ ClientWidth = 392
+ Color = clWindow
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poScreenCenter
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Label1: TLabel
+ Left = 38
+ Top = 62
+ Width = 3
+ Height = 13
+ end
+ object Label2: TLabel
+ Left = 38
+ Top = 60
+ Width = 47
+ Height = 13
+ Alignment = taRightJustify
+ Caption = 'Situaci'#243'n:'
+ end
+ object PnlComentario: TPanel
+ Left = 0
+ Top = 0
+ Width = 392
+ Height = 45
+ Align = alTop
+ Alignment = taLeftJustify
+ AutoSize = True
+ Color = 13499902
+ ParentBackground = False
+ TabOrder = 0
+ VerticalAlignment = taAlignTop
+ object lbComentario: TLabel
+ AlignWithMargins = True
+ Left = 6
+ Top = 4
+ Width = 382
+ Height = 40
+ Margins.Left = 5
+ Align = alClient
+ Caption =
+ 'Seleccione la situaci'#243'n que quiere para la/s factura/s seleccion' +
+ 'ada/s:'
+ WordWrap = True
+ ExplicitHeight = 39
+ end
+ end
+ object Panel1: TPanel
+ Left = 0
+ Top = 99
+ Width = 392
+ Height = 41
+ Align = alBottom
+ TabOrder = 1
+ ExplicitTop = 138
+ object bAceptar: TButton
+ Left = 188
+ Top = 8
+ Width = 75
+ Height = 25
+ Caption = 'Aceptar'
+ ModalResult = 1
+ TabOrder = 0
+ end
+ object bCancelar: TButton
+ Left = 286
+ Top = 8
+ Width = 75
+ Height = 25
+ Caption = 'Cancelar'
+ ModalResult = 2
+ TabOrder = 1
+ end
+ end
+ object edtSituacion: TcxComboBox
+ Left = 99
+ Top = 56
+ Properties.DropDownListStyle = lsFixedList
+ Properties.ImmediatePost = True
+ Properties.Items.Strings = (
+ 'PENDIENTE'
+ 'PARCIALMENTE PAGADA'
+ 'PAGADA')
+ TabOrder = 2
+ Text = 'PENDIENTE'
+ Width = 263
+ end
+end
diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorElegirSituacion.pas b/Source/Modulos/Facturas de cliente/Views/uEditorElegirSituacion.pas
new file mode 100644
index 00000000..e500882e
--- /dev/null
+++ b/Source/Modulos/Facturas de cliente/Views/uEditorElegirSituacion.pas
@@ -0,0 +1,56 @@
+unit uEditorElegirSituacion;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, StdCtrls, cxControls, cxContainer, cxEdit, cxTextEdit, cxMaskEdit,
+ cxDropDownEdit, cxCalendar, ExtCtrls, uEditorBasico,
+ cxCheckBox, uSubCuentasController, Buttons, cxDBEdit, cxGraphics, uCustomView,
+ uViewBase, JvExStdCtrls, JvButton, JvCtrls, JvFooter,
+ JvExExtCtrls, JvExtComponent;
+
+type
+ TfEditorElegirSituacion = class(TfEditorBasico)
+ Label1: TLabel;
+ Label2: TLabel;
+ PnlComentario: TPanel;
+ lbComentario: TLabel;
+ Panel1: TPanel;
+ bAceptar: TButton;
+ bCancelar: TButton;
+ edtSituacion: TcxComboBox;
+ procedure FormShow(Sender: TObject);
+
+ private
+ FSituacion : String;
+ function GetSituacion: String;
+ procedure SetSituacion (const Value: String);
+
+ public
+ property Situacion: String Read GetSituacion write SetSituacion;
+ end;
+
+
+implementation
+{$R *.dfm}
+{$INCLUDE ..\..\..\FactuGES.inc}
+
+uses uDialogUtils, uFactuGES_App, uBizEjercicios;
+
+procedure TfEditorElegirSituacion.FormShow(Sender: TObject);
+begin
+ edtSituacion.ItemIndex := 0;
+end;
+
+function TfEditorElegirSituacion.GetSituacion: String;
+begin
+//
+end;
+
+procedure TfEditorElegirSituacion.SetSituacion(const Value: String);
+begin
+//
+end;
+
+end.
diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm
index beae314d..ffa39c55 100644
--- a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm
+++ b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm
@@ -13,6 +13,7 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
inherited JvNavPanelHeader: TJvNavPanelHeader
Width = 860
Caption = 'Nueva factura de cliente'
+ ExplicitTop = 49
ExplicitWidth = 860
inherited Image1: TImage
Left = 833
@@ -42,7 +43,7 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
Width = 860
ExplicitWidth = 860
inherited tbxMain: TTBXToolbar
- ExplicitWidth = 634
+ ExplicitWidth = 488
inherited TBXItem2: TTBXItem
Visible = False
end
@@ -80,20 +81,21 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
end
inherited pgPaginas: TPageControl
Width = 854
- Height = 359
+ Height = 368
OnChanging = pgPaginasChanging
+ ExplicitTop = 109
ExplicitWidth = 854
- ExplicitHeight = 359
+ ExplicitHeight = 368
inherited pagGeneral: TTabSheet
ExplicitLeft = 4
ExplicitTop = 24
ExplicitWidth = 846
- ExplicitHeight = 331
+ ExplicitHeight = 340
inline frViewFacturaCliente1: TfrViewFacturaCliente
Left = 0
Top = 0
Width = 846
- Height = 331
+ Height = 340
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@@ -104,12 +106,12 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
TabOrder = 0
ReadOnly = False
ExplicitWidth = 846
- ExplicitHeight = 331
+ ExplicitHeight = 340
inherited dxLayoutControl1: TdxLayoutControl
Width = 846
- Height = 331
+ Height = 340
ExplicitWidth = 846
- ExplicitHeight = 331
+ ExplicitHeight = 340
inherited eReferencia: TcxDBTextEdit
ExplicitWidth = 159
Width = 159
@@ -161,13 +163,13 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
Width = 276
end
inherited edtCodigoPostal: TcxDBTextEdit
- Left = 240
+ Left = 244
DataBinding.DataSource = dsDataTable
- ExplicitLeft = 240
+ ExplicitLeft = 244
end
inherited Button3: TBitBtn
- Left = 130
- ExplicitLeft = 130
+ Left = 134
+ ExplicitLeft = 134
end
inherited cxDBTextEdit1: TcxDBTextEdit
ExplicitWidth = 283
@@ -204,7 +206,7 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
Left = 0
Top = 0
Width = 846
- Height = 331
+ Height = 340
Align = alClient
BiDiMode = bdLeftToRight
Font.Charset = DEFAULT_CHARSET
@@ -217,7 +219,7 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
TabOrder = 0
ReadOnly = False
ExplicitWidth = 846
- ExplicitHeight = 331
+ ExplicitHeight = 340
inherited ToolBar1: TToolBar
Width = 846
Height = 24
@@ -302,12 +304,12 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
end
end
inherited cxGrid: TcxGrid
- Top = 53
+ Top = 50
Width = 846
- Height = 278
- ExplicitTop = 53
+ Height = 290
+ ExplicitTop = 50
ExplicitWidth = 846
- ExplicitHeight = 278
+ ExplicitHeight = 290
end
inherited TBXDock1: TTBXDock
Top = 24
@@ -315,7 +317,7 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
ExplicitTop = 24
ExplicitWidth = 846
inherited TBXToolbar1: TTBXToolbar
- ExplicitWidth = 731
+ ExplicitWidth = 548
end
end
end
@@ -366,6 +368,7 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
inherited PnlComentario: TPanel
Width = 860
TabOrder = 5
+ ExplicitTop = 76
ExplicitWidth = 860
inherited lbComentario: TLabel
Width = 850
diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.pas b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.pas
index 926b3771..9f9cd4a9 100644
--- a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.pas
+++ b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.pas
@@ -42,7 +42,8 @@ type
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
procedure frViewTotales1ePorteEditing(Sender: TObject; var CanEdit: Boolean);
procedure OnRecargoEquivalenciaPropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
- var Error: Boolean); //Importante en este punto se deben de quitar los eventos que puedan afectar a la tabla una vez se cierre el editor.
+ var Error: Boolean);
+ procedure actEliminarUpdate(Sender: TObject); //Importante en este punto se deben de quitar los eventos que puedan afectar a la tabla una vez se cierre el editor.
private
procedure RecalcularPortePorUnidad;
@@ -98,6 +99,14 @@ uses
**************************** TfEditorFacturaCliente ****************************
}
+procedure TfEditorFacturaCliente.actEliminarUpdate(Sender: TObject);
+begin
+ inherited;
+ if (Sender as TAction).Enabled then
+ (Sender as TAction).Enabled := (FFactura.SITUACION = 'PENDIENTE') and
+ (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PERFIL_ADMINISTRADOR);
+end;
+
constructor TfEditorFacturaCliente.Create(AOwner: TComponent);
begin
inherited;
diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.dfm
index 86c45136..d563bc5c 100644
--- a/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.dfm
+++ b/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.dfm
@@ -80,7 +80,13 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
Left = 431
Visible = True
ExplicitLeft = 431
- ExplicitWidth = 83
+ ExplicitWidth = 194
+ object TBXItem42: TTBXItem
+ Action = actCambiarSituacion
+ DisplayMode = nbdmImageAndText
+ end
+ object TBXSeparatorItem17: TTBXSeparatorItem
+ end
object TBXItem40: TTBXItem
Action = actInformes
DisplayMode = nbdmImageAndText
@@ -296,6 +302,11 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
OnExecute = actEnviarMailExecute
OnUpdate = actEnviarMailUpdate
end
+ object actCambiarSituacion: TAction
+ Category = 'Archivo'
+ Caption = 'Cambio de situaci'#243'n'
+ OnExecute = actCambiarSituacionExecute
+ end
end
inherited SmallImages: TPngImageList [5]
PngImages = <
@@ -4074,4 +4085,313 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
Left = 408
Top = 80
end
+ object JsListaFacturasNoModificadas: TJSDialog
+ Glyph.Data = {
+ 0B546478504E47496D61676589504E470D0A1A0A0000000D4948445200000018
+ 000000180806000000E0773DF8000000017352474200AECE1CE9000000046741
+ 4D410000B18F0BFC6105000000206348524D00007A26000080840000FA000000
+ 80E8000075300000EA6000003A98000017709CBA513C00000009704859730000
+ 0AE900000AE901FD75CED3000003F049444154484BBD557B6C53651C3D7DAD7B
+ B0ADADC0363ADDA0834D2DDA6E5904A24C17E64864BAF8484C348E104940FD47
+ 128D31121213134DD4C4F8644F794C6413188E81A003B3A15B8AC87C4CA39D9A
+ 685013515B36D8B3F7E7F9AEDCDAB9760F62BCC94D9ADEEF3BE7FCCE777EBFCF
+ 2422F8DF9ED781A56D0EFB730D56945D0EA9BE3F2F676F3D70DF36C01C15FF0A
+ 30AF333BB9E9E74ADF68E4A12A19A8F0851BADB869B6242F00292DD9AE6DBD2B
+ BD43273D4E79371D5A1DB05527B807B0BCE7C0FEC1EB20A3373A447B60B5688F
+ 544BF0567FA8113393D45970F3C9E265FD7D371448E77C93746442DB6945B322
+ D5099ACCD8F8DBD5D0467C90E1EB21178A6D3276979F247748B0A2385C6FC5EA
+ 789550A1EBD02247DD57AB964DF4E4A7C9072E487B06B426139E55A2D51E9DE0
+ 656051201B030A7C885584BC9073D740C2E55789B6799D0C54964CB1EB0D6065
+ 4F81EBC76FFDD9F2E17CE8E0B465BCC18C4763C544CF603B5074C68D5FFFBC16
+ C26AE49742C84F4B21677D193252532EC1B5A521E34C76D9CD0FF67B175CFCCC
+ 931A056F4BC3700370FFBF2B9D94D02660455F2E060DF01F3C90E062C8371E8B
+ FC5EE593606569B8353D69F7803F2B12C8B546C10F109CA9B92D9E8D535A6087
+ 05EBFADC1835C0BFCE837C7125E44C2EC94A72E4F4E264F928CB2427AE80BCEF
+ 841C9C8771567F6FA2B4C5EDB15D366CF8D48D8928B81B722A07D29305E95E80
+ 28383D8FD0F387A78B72C2266E4EC29304D5782E71C10F5D4ACB4C7D92904075
+ E1DE64040254FE319577C5283F9209A1EF5A1DE34802D39C2BA0A7B6B7D3936A
+ BFBC65B966801FA7E7C7E8F96182D31AD99F06D9930CAD16786A4E04044F6D77
+ BB0E9CDB52239F143A75E5F1C05B52206FD9216F5A75922DB33A6482671E5B92
+ 73E2E2E335F25DA57F0A382DFB638F1DE70DF09D3648A305B2DD840936DEA669
+ 634ACFAD47721D1D639BAA24B47EAD742D344D52DE9A82610A287B0D286C34A3
+ 7B87F56FF05A1384E0C2293AC66F35091BAD25DDF6F460758936B1A1424E79D2
+ A593AD7FD401E9C880EC4B458436AC3736B770CE10F431FE7741811BEF25128E
+ A17F1E3D4554527E7655FEB8DCE993EF4BDD93C0555AEA4D783E5EF954EC2568
+ 2F5F2D8668E455A0CA58AF139C2E5AD82FD5CBE5FC9A0239CE716B2867970A3B
+ BB4BA52AD121D2DA24126D25C9704C2543DCB3263A4DBBF39DAD91DBBD12C84B
+ 9904DE6CC7A0BAA1666A26F59D80C524E88BA924AC26AE5E418305777F5EE414
+ 5E3AC20E95362A6752D48DB47936E0C69A97003B053DA3CE82E0115A55A613A8
+ 32391A7ADBD9400AFC9D5426C48CA3AA9BE74260ACA5652BF8BE18B548FDE0F5
+ E662F40E2BE5CC77880B965C0EF8B4F7818A1F6D7982F1DBF85F801B15FC059E
+ 6028BEE22B69170000000049454E44AE426082}
+ Instruction.Text = 'Las siguientes facturas no han podido ser modificadas:'
+ Instruction.Glyph.Data = {
+ 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
+ 00001C0806000000720DDF940000000970485973000017120000171201679FD2
+ 520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14
+ 5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD
+ 1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2
+ 3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD
+ B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010
+ 60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3
+ 21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045
+ A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8
+ 225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281
+ 081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87
+ A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F
+ 70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B
+ EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F
+ 286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8
+ 6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10
+ 81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8
+ CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF
+ 469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32
+ F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF
+ 86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165
+ 4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF
+ 673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2
+ ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312
+ FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312
+ 82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA
+ 1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082}
+ Instruction.Icon = tdiCustom
+ ButtonBar.Buttons = [cbOK]
+ ButtonBar.Cancel = cbOK
+ ButtonBar.UseCancel = False
+ MainIcon = tdiCustom
+ Title = 'FactuGES'
+ Position = dpMainFormCenter
+ Icon.Data = {
+ 0000010003002020100001000400E8020000360000002020000001000800A808
+ 00001E0300002020000001002000A8100000C60B000028000000200000004000
+ 0000010004000000000000020000000000000000000000000000000000000000
+ 000000008000008000000080800080000000800080008080000080808000C0C0
+ C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000
+ 0000000000000000000000000000000008777777777777777777777700000000
+ 0877767777677776777767760000000008F88888888888888888888700000000
+ 08F8FF8F8F888888888888860000000008FF8F8F88F8F8888888888C00000000
+ 08F88888F8888888888888860000000008F8688878E8888E88E8788700000000
+ 08F8688888F8F8FFFFFF88760000000008FF4888888F8FFFFFFF788700000000
+ 08F8676767677677677658E50000000008FF8888888887878787888700000000
+ 08FF8887887E8888888888860000000008FFE8E8E788C8E8FF8F8F8600000000
+ 08FFF8F8F8F8FF8F88F8F8870000000008FFFFFF8FF8F8F8F88F888600000000
+ 0FF8477878787878788788860000000008FF68888888F8FF8F8F788700000000
+ 08B7588888FF8FFFFFFF78860000083008BB47887776777777776F86000000B7
+ 8B9B73BB88788787E87878870000008BB8B9BB78888888EFF8F8FF8600000087
+ B8BB8B888E8E8E88FFF8F886000000088BBB888FFFFFFFFFF8F877770000B9BB
+ B8FFBB9B9BFFFFFFF87466460000BBB9BB8FBBBBB8FFFFFFF88F888700000008
+ B8BB88888FFFFFFFF88F8F7700000008BBBBBB8FFFFFFFFFFF8887700000007B
+ B7B98BB8FFFFFFFFF8887700000000B78B9B87B888F88F88F8877000000007B0
+ 08BB883B78888788787700000000000000B9000000000000000000000000FFFF
+ FFFFF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000F9800000FC000000FC000000FC000000FE000000F0000
+ 000F0000000FE000000FE000001FC000003FC000007F980000FFFCFFFFFF2800
+ 0000200000004000000001000800000000000004000000000000000000000001
+ 00000001000000000000694731007C5D49007E604C0081635000826451008567
+ 540085685500886B5900896D5B008A6E5D008B705F008E715F008B7260008C72
+ 61008E74640084766C00957A6900977D6D00887B72009A8171009D8272009C84
+ 76009D8778009F897B00A28A7900A08B7D00A18C7E00E1B06E00E1B67D003E7A
+ 970073A0A5007AA2B70074AFBD007BB2BB003CAACE0028A5DB0020ADDF000D9A
+ E500209EE3000DA6E2001AA4EF0000A6FF000CABFE0009ACFE0010A4F10015AC
+ FA0000B5FB0000B0FD000CB6FC0000BFF90000BAFD0004BAFD0009BBFB0013B6
+ F40015BFFA001CBDFB0026B7FD00589EC50040A4CD0040ABCC0050A2C7005DAE
+ C00060A3C20062A4C60060B7CB006AB0CD007BB6C80077BAC80061BADD0044AD
+ E50000C3F80007C6FB0000CAF80000CFFB0000D4F90026C8FA0026CDF8002BCC
+ F90039C4FB0039C2FC0039CAFA003FCFFB0024D6F80030D2F80039D5F80000F8
+ F8001FF8F8002CF6F8003EF4F8005AC6DC0070CDDF0052C0E40054C9E3004DCE
+ FA005FC7FF004FD2FB004DD9F8005FD9FB006ED3E70063CDFE0060D1FB0060D8
+ F90060DDF80046F8F90056F0F8005FFAFA0073E3F80073E4F90073EEF80060F1
+ F800958A84009A918C0081999500A68F8200AD968500A3968C00AE988900AD9A
+ 8D00B19A8B00AF9C9000B09E9200B59F9200B7A29300B2A19600B5A19400B7A4
+ 9700BDA79700B4A39800B1A59D00B4A79F00BAA69800BCA79900B4A89F00BCA8
+ 9900BAA89C00BDAA9D00BEAC9E0083ADBD00B5A9A100BDABA000BEADA100BFAF
+ A500A0BABE00C0AB9E00C1AC9E00C6AE9F00E2B98100E4BA8300E4BB8400E5BC
+ 8500E1BD8E00E3BF9000C0ADA000C2B0A300C2B1A500C4B2A600C1B2A800C3B5
+ AB00C8B4A800CCB9AD00CEBCB100D0BEB200D1BFB400E4C19300E5C29400E6C4
+ 9600E8C69900D0C9A300CFC1B800D2C1B600D3C3B800D5C4B900D6C6BC00D8C6
+ BC00D6C8BE00DAC9BF00ECD3B000EDD4B200EFD6B500E7D1B800E7D3BD00F0D8
+ B6008CB7C40080BEC70097C3C70099C3C900ABD7CF00AFD9DD0086E3F90086E7
+ F90086ECF8009EE5FB0090E8F900ACEDFC00BCEAFD00BCF1FB00BFF1FD00D7C9
+ C000D9CAC100DCCBC200DACCC200DDCCC300DACCC400DDCEC400DED0C600DED1
+ C900DED3CC00DFD4CD00E1D1C900E2D5CD00F0DCC200E3D8D200E5D9D200E2DA
+ D500E6DBD400E5DCD500E8DDD600E6DDD800E9DFD900E6E0DB00EAE0DA00EAE2
+ DD00ECE3DE00EBE4DE00ECE4DE00F3E7D900C6E1EF00C9EFFD00D7F6FD00DFF3
+ FF00DFFEFE00EBE7E300EDE6E100EFE7E400EEE8E400F0EAE600F2EDE900F2EE
+ EC00F4EFEC00F5F0EE00F9F4ED00E7FAFD00EBF8FF00F6F2F000F7F4F100F8F4
+ F200F9F7F500FAF8F600FBF9F900FCFBFA00FCFCFB00FEFEFE00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000007D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D
+ 0D0D0000000000000000009C9C19191919191919191919191919191919191919
+ 1903000000000000000000ABDECBCBC7C7AFABABABABAAA3A2A2A0A0A0A0A0A0
+ 8607000000000000000000ABECEAE9DEDEDEDED7D5D2D2D2CBCBCBCBB0CBB0CB
+ 9007000000000000000000ABEDECEAE9DEDEDBD7D7D5D2D2D2CDCDCBB0B0B0B0
+ 9007000000000000000000AFEDE9A9CFD2CFD2CDCBCBCBB0B0ABACA3A3A3A3B0
+ 9007000000000000000000AFF0D5017783838386868686869099909999907BB0
+ 9007000000000000000000B0F4D501A0B0CBD2D5DEECEDF7FAFAFAFAFAF77BAA
+ 9007000000000000000000CBF4DC01A0B0B0B0D2D5DBEAEDF7FAFAFAFAF47BB0
+ 9007000000000000000000CBF8DC010404070604090909090D0D110D110D02A3
+ 9007000000000000000000CBFAED9E9E9E9C999E8C8C8C868683837E7D7D7ACB
+ 9007000000000000000000CBFAF1A7A7A6A6A6A69898989898B5DBDBD5D5D2D2
+ 9907000000000000000000CDFAF796969696961D961D931D1DB4DEDBD7D5D5D2
+ 9C07000000000000000000CFFAFAFAFAF8F7F0F0EDEDEDECE9E9DEDEDED7D5D5
+ 9907000000000000000000CDFAFAEAF0EDEDECEAEAE9DEDEDBDCD5D5D5D5D2D5
+ 9C07000000000000000000D2FAEC01737D7D7B7D7D7B7D7B7D7B7B7B7D7B7DD2
+ 9907000000000000000000CFFAEC019EABB0CBD2D5DCDEECEDF4F4F4F4EA7BD2
+ 9C07000000000000000000B9524601A0B0B0CBB5D5DEEAEDF7FAFAFAFAF47DD5
+ 9C070000000000213F0000B83226010C3F5C1F111214141616191B1B1B1807D2
+ 9C07000000000000253D8A5B322D711E2860BA7E7E7A7E797A797979767676D5
+ 9E0700000000000041375E662F2B65314EBBB6B6B6B6B4B4B1E2F4EDEDEDECEA
+ 9C070000000000008F5D66663232394EC1A81C1C1C1C1C1C1CD3F7F4EDDED7D5
+ 9C0700000000000000B7BE6E5758BEBDE4E6E6F3FAFAFAFAFAFAF7F4D5928675
+ 7304000000002A2A2A2A4A6AFAE7562F2A2A2A5FFAFAFAFAFAFAF8D577010101
+ 0101000000004747472F4A59C5E7564A32474766FAFAFAFAFAFAFADCA0D2CFB0
+ A20C00000000000000436C6958686D6BC2C5C5E7FAFAFAFAFAFAFADEAADEDBCB
+ 1470000000000000004551534A4A5250C0E7FAFAFAFAFAFAFAFAFADEAAD7B514
+ 700000000000000042384C54472B613550C3FAFAFAFAFAFAFAFAFADEA1B0196F
+ 000000000000000024234463322EBC5A3664E3ECE9E9E9E9E9E9E9CF90731300
+ 000000000000003A3C00002232298B8B3E3B207E8B7E8B7E827E817E74100000
+ 0000000000000000000000003227000000000000000000000000000000000000
+ 000000000000FFFFFFFFF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
+ 000FF800000FF800000FF800000FF800000F9800000FC000000FC000000FC000
+ 000FE000000F0000000F0000000FE000000FE000001FC000003FC000007F9800
+ 00FFFCFFFFFF2800000020000000400000000100200000000000801000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000007067
+ 5F70AA9382E570513CE3735540E3735540E3735540E3735540E3735540E37355
+ 40E3735540E3735540E3735540E3735540E3735540E3735540E3735540E37355
+ 40E3735540E3735540E3735540E3735540E3735540E3735540E372533EE5BAAB
+ A070000000000000000000000000000000000000000000000000000000005E54
+ 4C7FCAB7ABFFC5B5AAFFA18877FFA28A78FFA28A79FFA28A79FFA28A79FFA28A
+ 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A
+ 79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA58D7CFF7A5B46FFB2A1
+ 967F000000000000000000000000000000000000000000000000000000006055
+ 4D7ED7C6BBFFEDE4E0FFD9CCC4FFD9CCC4FFD9CBC3FFD8CAC1FFD7C9BFFFD6C7
+ BDFFD5C6BBFFD4C4BAFFD3C3B8FFD2C1B7FFD1C0B5FFD0BEB3FFCFBDB2FFCEBC
+ B0FFCEBBAFFFCEBBAFFFCEBBAFFFCEBBAFFFCEBCB0FFBEAA9CFF82644FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006056
+ 4D7ED7C8BCFFF2EBE8FFEFE9E5FFEEE7E2FFECE5E0FFEBE2DEFFEAE0DBFFE9DE
+ D8FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCDC4FFDCCB
+ C2FFDBC9BFFFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC1FFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006155
+ 4E7ED8C9BDFFF3EDE9FFF1EAE6FFF0E9E6FFEEE6E1FFECE4DFFFEBE2DDFFEAE0
+ DAFFE9DED7FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCD
+ C4FFDCCBC2FFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC0FFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006157
+ 4E7ED9C9BFFFF4EFEDFFEFE8E3FFD0C2B9FFDFD5CEFFE0D5CEFFE0D4CCFFDED3
+ CBFFDDD1C8FFDCCFC6FFDACCC4FFD9CBC1FFD8C9BFFFD7C7BDFFD6C5BBFFD5C4
+ B9FFD3C2B7FFD2C0B5FFD2BFB4FFD2BFB4FFDAC8BEFFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006256
+ 4F7EDACCC0FFF5F2EFFFE5DDD9FF5C3821FFB0998AFFB8A394FFB8A394FFB9A3
+ 94FFB8A495FFB9A597FFB9A698FFBAA698FFBBA799FFBBA89AFFBBA89BFFBCA8
+ 9BFFBCA89BFFBCA89BFFBBA89AFFB49E8FFFD8C6BBFFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006256
+ 4F7EDBCBC1FFF8F4F3FFE7E0DBFF5F3C24FFD0BDB2FFDCCBC1FFDDCCC3FFE2D2
+ CBFFE7DBD4FFEDE2DEFFF0E8E6FFF5F0EDFFF9F7F4FFFDFDFDFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFAF8F7FFB39D8DFFD8C6BBFFC1AC9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006256
+ 4F7EDCCEC3FFFAF6F5FFE9E2DDFF5F3C24FFD2BFB5FFDFCDC4FFDECCC3FFE0CE
+ C6FFE4D4CDFFE9DDD6FFEFE4E0FFF1EAE8FFF7F1EFFFFBF8F6FFFFFEFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFBFAFFB5A090FFD9C7BEFFC1AD9FFF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006257
+ 4F7EDDCFC4FFFCF9F9FFE9E4E0FF5F3A23FF7C5D49FF7F5F4CFF7E5F4CFF7E60
+ 4DFF7F614DFF816350FF826552FF836654FF846856FF856A57FF866B59FF876C
+ 5BFF876D5BFF876D5BFF866B59FF72523DFFD5C3B9FFC1AFA1FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006357
+ 507EDECFC6FFFCFCFBFFF4F1F0FFC3B6AEFFC3B5ADFFC1B4ACFFC0B3AAFFBFB1
+ A9FFBEB0A6FFBDAEA5FFBDACA3FFBCABA2FFBBAAA0FFBAA99FFFB8A69AFFB8A4
+ 98FFB6A396FFB5A194FFB49F93FFB39D90FFDCCDC4FFC2AEA1FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006357
+ 507EDFD2C7FFFEFEFDFFF9F5EFFFE8C696FFE9C799FFE8C697FFE7C596FFE7C4
+ 95FFE6C394FFE5C293FFE4C091FFE4C090FFE3BF8FFFE2BD8CFFE9D5BFFFEBE1
+ DCFFEADFD8FFE7DCD5FFE5DAD3FFE4D8D0FFE3D4CCFFC2AFA2FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006458
+ 517EE0D3C8FFFFFFFFFFFAF5EFFFE3B77CFFE4B97FFFE2B87EFFE3B77DFFE2B7
+ 7CFFE2B67BFFE1B57AFFE1B479FFE0B478FFE0B377FFDFB174FFE6D0B7FFEBE1
+ DCFFE8DFD9FFE8DDD6FFE6D9D2FFE3D8D1FFE4D7CFFFC3AFA2FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006458
+ 517EE1D2C9FFFFFFFFFFFEFEFDFFFEFFFFFFFCFDFEFFFBFBFBFFF9F7F8FFF8F5
+ F6FFF7F3F2FFF5F1F0FFF4EFEEFFF1EDEBFFF0EBE9FFEEE9E6FFEDE6E2FFECE3
+ DEFFEBE1DBFFE9DFD9FFE8DDD6FFE6DAD3FFE5D9D2FFC3B0A3FF81634FFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006459
+ 517EE1D4CAFFFFFFFFFFFDFDFCFFEEEBE8FFF5F2F0FFF4F0EFFFF3EFECFFF2ED
+ EAFFF1EBE8FFEEE9E5FFEFE7E3FFECE5E1FFEAE4DEFFEAE1DCFFE8E0DAFFE7DE
+ D8FFE6DDD6FFE5DBD4FFE4D8D1FFE2D6CEFFE6DBD4FFC3B1A4FF81634EFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006559
+ 527EE2D4CAFFFFFFFFFFF0ECEAFF5B361EFFAB9383FFB39D8EFFB39D8DFFB39D
+ 8DFFB29D8DFFB29C8DFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C
+ 8CFFB29C8CFFB29C8CFFB29C8DFFB39D8EFFE3D8D0FFC4B1A4FF81634EFFB2A1
+ 967E000000000000000000000000000000000000000000000000000000006559
+ 527EE5D4CAFFFFFFFFFFF7F0EBFF5F3B24FFCCB8ADFFD7C5BAFFD9C7BDFFDCCC
+ C3FFE1D4CCFFE5DAD4FFE8E0DBFFEDE5E1FFF1EBE9FFF5F2EFFFF7F5F3FFF8F6
+ F4FFF8F5F4FFF8F6F4FFF1EEEAFFB29C8DFFE6DAD3FFC4B2A5FF81634EFFB2A1
+ 967E00000000000000000000000000000000000000000000000000000000685A
+ 527E9AC6C9FF35CFFEFF3DAEEBFF663E24FFD2BFB4FFE0CBBFFFE0C9BDFFE1CD
+ C4FFE4D5CDFFE9DED7FFEEE5E0FFF2EBE8FFF6F2F0FFFCF8F8FFFFFFFEFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFCFAF9FFB49E8FFFE7DED7FFC5B3A6FF81634EFFB2A1
+ 967E00000000000000000000000000000000007792910072A7A3001E33366957
+ 4C7C86C1C8FF00BFFBFF079AEBFF6A3E23FF926D57FF5FA3C8FF4AC1E8FF6C9C
+ A2FF917260FF927767FF947A69FF957C6CFF977E6FFF998171FF9A8374FF9B85
+ 76FF9C8678FF9C8678FF998274FF7D5E49FFE3D9D4FFC5B3A7FF81634EFFB2A1
+ 967E00000000000000000000000000000000005A6F7000A9E5E40075AEAE5C90
+ A5BD75D0E0FF00BFFAFF0CA3F4FF8A9A91FF3C7492FF03A4E4FF4AD5FFFF98C4
+ CBFFB3A196FFB1A197FFB0A096FFB09F95FFAF9D92FFAF9C91FFAD9A8EFFAC99
+ 8CFFAB988AFFAB9789FFAA9688FFA99386FFE8E0DAFFC5B4A7FF81634EFFB2A1
+ 967E00000000000000000000000000000000000000002DA5BFC110C2FFFF4DD0
+ FDFF64DBF9FF00B3FAFF09A8FEFF68D7FFFF04B5FFFF24CCFBFFAFD8CEFFF7DA
+ B8FFF3DBBBFFF3DBBAFFF2D9B9FFF1D8B7FFF0D7B4FFEED5B2FFF6EADDFFF9F6
+ F4FFF7F3F1FFF5F1EEFFF5EFECFFF4EDEAFFF1EBE7FFC6B4A8FF81634EFFB2A1
+ 967E00000000000000000000000000000000000000005F8A909142C7E4E960DE
+ F8FF64D7FAFF00B6FDFF00B8FDFF21B2FDFF1ECCF7FF93EBFCFFD2C69BFFE1AB
+ 63FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDEA961FFEFDBC0FFF8F6
+ F5FFF6F2F0FFF3EDEBFFECE2DCFFE9DFD9FFE5DBD6FFC2B1A4FF81634FFFB2A1
+ 967E000000000000000000000000000E171A000E171A00040B145994A4A990EB
+ FCFF61F1F7FF13FAF7FF23F9F7FF93EDF7FF8CE5F8FFD5F2FDFFE9F8FFFFE7F8
+ FFFFF0FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFDFEFFFFFAFAF9FFF9F7
+ F5FFF7F2F0FFE8DFD8FFC7AE9FFFBEA998FFAF9888FFB09A8AFF7F604DFFB2A1
+ 967E00000000000000000000000000AAFFFF00AAFFFF00AAFFFF00A4FFFF00CD
+ FAFF5DFCF9FFFFFFFFFFEEFEFEFF00FBF7FF00AAFEFF00A1FFFF00A1FFFF00A0
+ FFFF56C3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFDFBFFFCFBFAFFFBFA
+ F8FFE6DDD6FFAA9180FF5D3922FF603D26FF613E27FF613E28FF634029FFB4A3
+ 987E00000000000000000000000000CAFFFF00CAFFFF00CBFFFF00B0FFFF00CD
+ FBFF38F5F7FFC3EFFAFFF0FFFEFF00FAF7FF00C8F7FF00C2F7FF00C2F7FF00C1
+ F7FF57D7FAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFDFDFCFFFCFC
+ FBFFE7DED8FFCCB9ACFFE6DBD5FFE2D7D0FFDCCFC5FFD7C5BBFF8E705DFFB4A2
+ 9680000000000000000000000000002E383C002E383C00252F364C99B0B57DE8
+ FBFF59F1F7FF25F7F7FF41FAF8FF7CEEF7FF77E4F7FFB5EFFCFFC6F2FDFFC3F2
+ FDFFD9F6FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFEFFFEFE
+ FEFFE9E1DAFFCEBCAFFFF1E9E3FFEADFD8FFE4D5CCFF9D816FFF3A291F868985
+ 831C00000000000000000000000000000000000000004E7073774AB0DADC37C9
+ FBFF22D5F7FF00D3F9FF02C3FBFF37D5F7FF34BEFCFFA2E6FAFFECFBFDFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF
+ FFFFEAE2DCFFCDBBADFFEADFD8FFE3D5CBFF9F8271FF3E2D2386050100200000
+ 000000000000000000000000000000000000000000003E9CC4C219C0FFFF23C9
+ FCFF30D3F8FF00BEF8FF06A8FEFF4FDCF8FF00B8FCFF32C2FBFFC0EBFCFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFEAE3DEFFCDB9ABFFDDCEC4FFA58979FF3E2C1F8F0905041B000000000000
+ 000000000000000000000000000000000000003451510099DDDB0091C0C35DAD
+ BCCF76D7E9FF00BEF9FF10A9FBFFBDDEDEFF5AC8DDFF0AB5F7FF62CEFFFFCBE4
+ F1FFF1E7E0FFEFE7E1FFEEE6E1FFEEE6E1FFEEE6E0FFEDE6E0FFEDE5E0FFEEE6
+ E1FFE1D4CCFFC5AE9FFFA68D7FF53E2718A10402000E00000000000000000000
+ 0000000000000000000000000000000000000075B7AF0099C7C500323E425442
+ 3B5C6BA8B1DA00C1FCFF0EA1F3F8A98E80C0AB9081C12698B1C10088C4C14C85
+ A3C1A18D80C19E8D81C19E8B81C19D8C80C19B8C7FC19B8A7FC19C897FC19A89
+ 7EC19B8B7EC1897769C2432B1BAC000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000045565A00C5FFFF0094E6E2000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000FFFFFFFFF0000007F0000007F0000007F000
+ 0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000
+ 0007F0000007F0000007F0000007F0000007F0000007F0000007800000078000
+ 0007C0000007C000000700000007000000070000000700000007C000000FC000
+ 001F8000003F800000FFF8FFFFFF}
+ Width = 600
+ Left = 224
+ Top = 112
+ end
end
diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.pas b/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.pas
index 3a580a98..3c2d1832 100644
--- a/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.pas
+++ b/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.pas
@@ -37,6 +37,10 @@ type
TBXItem40: TTBXItem;
actEnviarMail: TAction;
TBXItem41: TTBXItem;
+ actCambiarSituacion: TAction;
+ TBXItem42: TTBXItem;
+ TBXSeparatorItem17: TTBXSeparatorItem;
+ JsListaFacturasNoModificadas: TJSDialog;
procedure FormShow(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject);
procedure actNuevaFacturaExecute(Sender: TObject);
@@ -45,6 +49,7 @@ type
procedure OnListaAnosChange(Sender: TObject; const Text: string);
procedure actEnviarMailUpdate(Sender: TObject);
procedure actEnviarMailExecute(Sender: TObject);
+ procedure actCambiarSituacionExecute(Sender: TObject);
private
FFacturas: IBizFacturaCliente;
@@ -77,7 +82,7 @@ implementation
uses
uDataModuleFacturasCliente, uDataModuleUsuarios, uAlbaranesClienteController, uFactuGES_App,
- uBizejercicios, uGenerarFacturasCliAlbCliUtils,
+ uBizejercicios, uGenerarFacturasCliAlbCliUtils, uEditorElegirSituacion,
uBizAlbaranesCliente, uGestorInformesController,
uEditorBase, uGridUtils, uDBSelectionListUtils;
@@ -86,11 +91,73 @@ uses
{
*************************** TfEditorFacturasCliente ***************************
}
+procedure TfEditorFacturasCliente.actCambiarSituacionExecute(Sender: TObject);
+var
+ ASituacion : String;
+ AFacturas: IBizFacturaCliente;
+ AllItems: Boolean;
+ AListaCausas: TStringList;
+ AEditor : tfEditorElegirSituacion;
+ i: integer;
+
+begin
+ inherited;
+ AFacturas := Nil;
+ AllItems := False;
+ ASituacion := CTE_PENDIENTE;
+ AListaCausas := TStringList.Create;
+
+ if MultiSelect and Assigned(ViewGrid) then
+ AllItems := (ViewGrid.NumSeleccionados > 1);
+
+
+ AEditor := TfEditorElegirSituacion.Create(Nil);
+ if Assigned(AEditor) then
+ with AEditor do
+ begin
+ try
+ if IsPositiveResult(AEditor.ShowModal) then
+ begin
+ ASituacion := AEditor.edtSituacion.EditValue;
+
+ if AllItems then
+ begin
+ SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Facturas as ISeleccionable).SelectedRecords);
+ AFacturas := (Controller as IFacturasClienteController).ExtraerSeleccionados(Facturas) as IBizFacturaCliente;
+ end
+ else
+ AFacturas := Facturas;
+
+ if Assigned(AFacturas) then
+ FController.CambiarSituacion(AFacturas, AllItems, Asituacion, AListaCausas);
+ end;
+ finally
+ AEditor.Release;
+ AEditor := NIL;
+ end;
+ end;
+
+ if Assigned(AListaCausas) then
+ begin
+ JsListaFacturasNoModificadas.Content.Clear;
+ for i := 0 to AListaCausas.Count - 1 do
+ begin
+ JsListaFacturasNoModificadas.Content.Add(AListaCausas.Strings[i]);
+ end;
+ if (AListaCausas.Count > 0) then
+ JsListaFacturasNoModificadas.Execute;
+ end;
+
+ AListaCausas.Free;
+ actRefrescar.Execute;
+end;
+
procedure TfEditorFacturasCliente.actEliminarUpdate(Sender: TObject);
begin
inherited;
if (Sender as TAction).Enabled then
- (Sender as TAction).Enabled := (FFacturas.SITUACION = 'PENDIENTE');
+ (Sender as TAction).Enabled := (FFacturas.SITUACION = 'PENDIENTE') and
+ (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PERFIL_ADMINISTRADOR);
end;
procedure TfEditorFacturasCliente.actEnviarMailExecute(Sender: TObject);
diff --git a/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.dfm
index fd697b99..dd881aa3 100644
--- a/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.dfm
+++ b/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.dfm
@@ -64,7 +64,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
end
object cbFormaPago: TcxDBLookupComboBox
Left = 135
- Top = 108
+ Top = 135
DataBinding.DataField = 'ID_FORMA_PAGO'
DataBinding.DataSource = DADataSource
Properties.DropDownListStyle = lsFixedList
@@ -78,7 +78,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
Properties.ListOptions.ShowHeader = False
Properties.ListOptions.SyncMode = True
Properties.ListSource = dsFormaPago
- Properties.OnEditValueChanged = edtFechaVencimientoPropertiesEditValueChanged
+ Properties.OnEditValueChanged = cbFormaPagoPropertiesEditValueChanged
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
@@ -92,21 +92,21 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
- TabOrder = 3
+ TabOrder = 4
Width = 78
end
object bFormasPago: TButton
Left = 311
- Top = 108
+ Top = 135
Width = 132
Height = 23
Caption = 'Ver las formas de pago...'
- TabOrder = 4
+ TabOrder = 5
OnClick = bFormasPagoClick
end
inline frViewTienda1: TfrViewTienda
Left = 22
- Top = 188
+ Top = 215
Width = 351
Height = 48
Font.Charset = DEFAULT_CHARSET
@@ -115,10 +115,10 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
- TabOrder = 6
+ TabOrder = 7
ReadOnly = False
ExplicitLeft = 22
- ExplicitTop = 188
+ ExplicitTop = 215
ExplicitWidth = 351
ExplicitHeight = 48
inherited dxLayoutControl1: TdxLayoutControl
@@ -143,7 +143,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
- TabOrder = 8
+ TabOrder = 9
ReadOnly = False
ExplicitLeft = 471
ExplicitTop = 30
@@ -190,7 +190,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
end
object edtFechaVencimiento: TcxDBDateEdit
Left = 135
- Top = 137
+ Top = 164
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'FECHA_VENCIMIENTO'
DataBinding.DataSource = DADataSource
@@ -207,12 +207,12 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
- TabOrder = 5
+ TabOrder = 6
Width = 310
end
inline frViewObservaciones1: TfrViewObservaciones
Left = 22
- Top = 325
+ Top = 344
Width = 521
Height = 228
Font.Charset = DEFAULT_CHARSET
@@ -221,10 +221,10 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
- TabOrder = 9
+ TabOrder = 10
ReadOnly = False
ExplicitLeft = 22
- ExplicitTop = 325
+ ExplicitTop = 344
ExplicitHeight = 228
inherited memObservaciones: TcxDBMemo
DataBinding.DataField = 'OBSERVACIONES'
@@ -235,7 +235,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
end
object cbRecargoEquivalencia: TcxDBCheckBox
Left = 22
- Top = 266
+ Top = 293
Caption = ' No acogida a comisiones'
DataBinding.DataField = 'SIN_COMISION'
DataBinding.DataSource = DADataSource
@@ -256,7 +256,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
- TabOrder = 7
+ TabOrder = 8
Width = 158
end
object cbTipoFactura: TcxDBComboBox
@@ -285,6 +285,20 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
TabOrder = 2
Width = 76
end
+ object edtSituacion: TcxDBComboBox
+ Left = 135
+ Top = 84
+ DataBinding.DataField = 'SITUACION'
+ DataBinding.DataSource = DADataSource
+ Properties.DropDownListStyle = lsFixedList
+ Properties.ImmediatePost = True
+ Properties.Items.Strings = (
+ 'PENDIENTE'
+ 'PARCIALMENTE PAGADA'
+ 'PAGADA')
+ TabOrder = 3
+ Width = 294
+ end
object dxLayoutControl1Group_Root: TdxLayoutGroup
ShowCaption = False
Hidden = True
@@ -312,16 +326,26 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente
object dxLayoutControl1Group10: TdxLayoutGroup
ShowCaption = False
Hidden = True
- LayoutDirection = ldHorizontal
ShowBorder = False
- object dxLayoutControl1Item2: TdxLayoutItem
- Caption = 'Fecha de la factura:'
- Control = edtFecha
- ControlOptions.ShowBorder = False
+ object dxLayoutControl1Group11: TdxLayoutGroup
+ ShowCaption = False
+ Hidden = True
+ LayoutDirection = ldHorizontal
+ ShowBorder = False
+ object dxLayoutControl1Item2: TdxLayoutItem
+ Caption = 'Fecha de la factura:'
+ Control = edtFecha
+ ControlOptions.ShowBorder = False
+ end
+ object dxLayoutControl1Item8: TdxLayoutItem
+ Caption = 'Tipo factura:'
+ Control = cbTipoFactura
+ ControlOptions.ShowBorder = False
+ end
end
- object dxLayoutControl1Item8: TdxLayoutItem
- Caption = 'Tipo factura:'
- Control = cbTipoFactura
+ object dxLayoutControl1Item9: TdxLayoutItem
+ Caption = 'Situaci'#243'n:'
+ Control = edtSituacion
ControlOptions.ShowBorder = False
end
end
diff --git a/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.pas b/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.pas
index e082385d..8571399c 100644
--- a/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.pas
+++ b/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.pas
@@ -61,10 +61,14 @@ type
dxLayoutControl1Item8: TdxLayoutItem;
cbTipoFactura: TcxDBComboBox;
dxLayoutControl1Group10: TdxLayoutGroup;
+ dxLayoutControl1Item9: TdxLayoutItem;
+ edtSituacion: TcxDBComboBox;
+ dxLayoutControl1Group11: TdxLayoutGroup;
procedure bFormasPagoClick(Sender: TObject);
procedure CustomViewDestroy(Sender: TObject);
procedure CustomViewCreate(Sender: TObject);
procedure edtFechaVencimientoPropertiesEditValueChanged(Sender: TObject);
+ procedure cbFormaPagoPropertiesEditValueChanged(Sender: TObject);
protected
FFactura : IBizFacturaCliente;
FController : IFacturasClienteController;
@@ -98,27 +102,76 @@ begin
FFormasPagoController.VerTodos(FFormasPago);
end;
+procedure TfrViewFacturaCliente.cbFormaPagoPropertiesEditValueChanged(Sender: TObject);
+begin
+ if Assigned(Factura) and (Factura.DataTable.State in dsEditModes) then
+ begin
+ if Assigned(FFormasPago) then
+ if (FFormasPago.Plazos.RecordCount = 0) then
+ begin
+// edtFechaVencimiento.EditValue := DateOf(Now);
+ ledtFechaVencimiento.Enabled := True;
+ edtSituacion.EditValue := CTE_PENDIENTE;
+ edtSituacion.Enabled := True;
+ end
+ else
+ begin
+ Application.MessageBox('Ha elegido una forma de pago con plazos asignados, la situación de la factura vendrá dada por la situación de los recibos generados según los plazos', 'Atención', MB_OK);
+ edtFechaVencimiento.EditValue := Null;
+ ledtFechaVencimiento.Enabled := False;
+ edtSituacion.EditValue := CTE_PENDIENTE;
+ edtSituacion.Enabled := False;
+ end;
+ end;
+end;
+
procedure TfrViewFacturaCliente.CustomViewCreate(Sender: TObject);
begin
inherited;
FFormasPago := Nil;
FFormasPagoController := TFormasPagoController.Create;
+
+ cbFormaPago.Properties.OnEditValueChanged := cbFormaPagoPropertiesEditValueChanged;
+ edtFechaVencimiento.Properties.OnEditValueChanged := edtFechaVencimientoPropertiesEditValueChanged;
end;
procedure TfrViewFacturaCliente.CustomViewDestroy(Sender: TObject);
begin
- inherited;
FFormasPago := Nil;
FFormasPagoController := NIL;
+
+ edtFechaVencimiento.Properties.OnEditValueChanged := Nil;
+ cbFormaPago.Properties.OnEditValueChanged := Nil;
+ inherited;
end;
procedure TfrViewFacturaCliente.edtFechaVencimientoPropertiesEditValueChanged(Sender: TObject);
begin
- if Assigned(FFormasPago) then
- if (FFormasPago.Plazos.RecordCount = 0) then
- ledtFechaVencimiento.Enabled := True
- else
- ledtFechaVencimiento.Enabled := False;
+ inherited;
+ if Assigned(Factura) and (Factura.DataTable.State in dsEditModes) then
+ begin
+ if (edtFechaVencimiento.EditValue <> null) then
+ begin
+ if (edtFechaVencimiento.EditValue = 0) then
+ begin
+ Factura.DataTable.DisableEventHandlers;
+ try
+ Factura.DataTable.FieldByName(fld_FacturasClienteFECHA_VENCIMIENTO).Clear;
+ finally
+ Factura.DataTable.EnableEventHandlers;
+ end;
+ end
+ else begin
+ Application.MessageBox('Ha elegido una fecha de vencimiento, la situación de la factura vendrá dada por la situación del recibo generado con el vencimiento dado', 'Atención', MB_OK);
+ edtSituacion.EditValue := CTE_PENDIENTE;
+ edtSituacion.Enabled := False;
+ end;
+ end
+ else begin
+ // edtSituacion.EditValue := CTE_PENDIENTE;
+ edtSituacion.Enabled := True;
+ end;
+ end;
end;
function TfrViewFacturaCliente.GetController: IFacturasClienteController;
@@ -155,10 +208,21 @@ begin
//Posicionamos la tabla en la forma de pago que tiene la factura ya que no lo hace el componente por si solo
FFormasPago.DataTable.Locate(fld_FacturasClienteID, FFactura.ID_FORMA_PAGO, []);
- if (FFormasPago.Plazos.RecordCount = 0) then
- ledtFechaVencimiento.Enabled := True
+ if ((not FFactura.FECHA_VENCIMIENTOIsNull) or (FFormasPago.Plazos.RecordCount > 0)) then
+ begin
+ if (edtFechaVencimiento.EditingValue <> null) then
+ edtSituacion.Enabled := False;
+
+ if (FFormasPago.Plazos.RecordCount > 0) then
+ ledtFechaVencimiento.Enabled := False
+ else
+ edtFechaVencimiento.Enabled := true;
+ end
else
- ledtFechaVencimiento.Enabled := False;
+ begin
+ edtFechaVencimiento.Enabled := True;
+ edtSituacion.Enabled := True;
+ end;
//Solo se deshabilita al insertar, luego la referencia será modificable
//eReferencia.Enabled := (FFactura.DataTable.State = dsInsert);
diff --git a/Source/Modulos/Formas de pago/Views/uEditorFormasPago.pas b/Source/Modulos/Formas de pago/Views/uEditorFormasPago.pas
index 01b9449b..0b09bc7e 100644
--- a/Source/Modulos/Formas de pago/Views/uEditorFormasPago.pas
+++ b/Source/Modulos/Formas de pago/Views/uEditorFormasPago.pas
@@ -79,7 +79,7 @@ implementation
{ TfEditorFormasPago }
uses
- uDialogUtils;
+ uDialogUtils, uFactuGES_App;
function TfEditorFormasPago.GetFormasPago: IBizFormaPago;
begin
@@ -114,7 +114,8 @@ procedure TfEditorFormasPago.actEliminarUpdate(Sender: TObject);
begin
(Sender as TAction).Enabled := Assigned(FFormasPago) and
FFormasPago.DataTable.Active and
- (FFormasPago.DataTable.RecordCount > 0);
+ (FFormasPago.DataTable.RecordCount > 0) and
+ (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PERFIL_ADMINISTRADOR);
end;
procedure TfEditorFormasPago.actModificarExecute(Sender: TObject);
@@ -126,7 +127,8 @@ procedure TfEditorFormasPago.actModificarUpdate(Sender: TObject);
begin
(Sender as TAction).Enabled := Assigned(FFormasPago) and
FFormasPago.DataTable.Active and
- (FFormasPago.DataTable.RecordCount > 0);
+ (FFormasPago.DataTable.RecordCount > 0) and
+ (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PERFIL_ADMINISTRADOR);
end;
constructor TfEditorFormasPago.Create(AOwner: TComponent);
diff --git a/Source/Modulos/Historico de movimientos/Views/uEditorHistoricoMovimientos.dfm b/Source/Modulos/Historico de movimientos/Views/uEditorHistoricoMovimientos.dfm
index 24099d93..c175dd46 100644
--- a/Source/Modulos/Historico de movimientos/Views/uEditorHistoricoMovimientos.dfm
+++ b/Source/Modulos/Historico de movimientos/Views/uEditorHistoricoMovimientos.dfm
@@ -137,7 +137,7 @@ inherited fEditorHistoricoMovimientos: TfEditorHistoricoMovimientos
Width = 902
ExplicitWidth = 902
inherited tbxMain: TTBXToolbar
- ExplicitWidth = 358
+ ExplicitWidth = 501
end
inherited tbxFiltro: TTBXToolbar
ExplicitWidth = 269
@@ -207,15 +207,27 @@ inherited fEditorHistoricoMovimientos: TfEditorHistoricoMovimientos
Width = 902
ExplicitWidth = 902
inherited txtFiltroTodo: TcxTextEdit
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 273
Width = 273
end
inherited edtFechaIniFiltro: TcxDateEdit
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 121
Width = 121
end
inherited edtFechaFinFiltro: TcxDateEdit
Left = 553
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 553
ExplicitWidth = 121
Width = 121
diff --git a/Source/Modulos/Historico de movimientos/Views/uViewHistoricoMovimientos.dfm b/Source/Modulos/Historico de movimientos/Views/uViewHistoricoMovimientos.dfm
index 600bd657..55addfa5 100644
--- a/Source/Modulos/Historico de movimientos/Views/uViewHistoricoMovimientos.dfm
+++ b/Source/Modulos/Historico de movimientos/Views/uViewHistoricoMovimientos.dfm
@@ -26,7 +26,6 @@ inherited frViewHistoricoMovimientos: TfrViewHistoricoMovimientos
end>
OptionsCustomize.ColumnHidingOnGrouping = False
OptionsCustomize.GroupBySorting = True
- OptionsView.GroupRowStyle = grsOffice11
object cxGridViewID_ALMACEN: TcxGridDBColumn
DataBinding.FieldName = 'ID_ALMACEN'
Visible = False
@@ -37,7 +36,6 @@ inherited frViewHistoricoMovimientos: TfrViewHistoricoMovimientos
object cxGridViewTIPO_MOVIMIENTO: TcxGridDBColumn
DataBinding.FieldName = 'TIPO_MOVIMIENTO'
PropertiesClassName = 'TcxImageComboBoxProperties'
- Properties.Images = PngImageList10
Properties.Items = <
item
Description = 'Entrada'
@@ -92,14 +90,26 @@ inherited frViewHistoricoMovimientos: TfrViewHistoricoMovimientos
inherited TBXDockablePanel1: TTBXDockablePanel
inherited dxLayoutControl1: TdxLayoutControl
inherited txtFiltroTodo: TcxTextEdit
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 273
Width = 273
end
inherited edtFechaIniFiltro: TcxDateEdit
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 121
Width = 121
end
inherited edtFechaFinFiltro: TcxDateEdit
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 121
Width = 121
end
@@ -112,31 +122,12 @@ inherited frViewHistoricoMovimientos: TfrViewHistoricoMovimientos
BuiltInReportLink = True
end
end
- inherited cxStyleRepository1: TcxStyleRepository
- inherited cxStyleEven: TcxStyle
- AssignedValues = [svFont]
- end
- inherited cxStyleOdd: TcxStyle
+ inherited cxStyleRepositoryInforme: TcxStyleRepository
+ inherited cxStyleContentInforme: TcxStyle
AssignedValues = [svColor, svFont]
end
- inherited cxStyleSelection: TcxStyle
- AssignedValues = [svColor, svFont, svTextColor]
- end
- object cxStyleEntrada: TcxStyle
- AssignedValues = [svFont, svTextColor]
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clWindowText
- Font.Height = -11
- Font.Name = 'Tahoma'
- Font.Style = []
- TextColor = clNavy
- end
- object cxStyleSalida: TcxStyle
- AssignedValues = [svTextColor]
- TextColor = clGreen
- end
end
- inherited PngImageList10: TPngImageList
+ inherited GridPNGImageList: TPngImageList
PngImages = <
item
PngImage.Data = {
@@ -343,6 +334,24 @@ inherited frViewHistoricoMovimientos: TfrViewHistoricoMovimientos
end>
Bitmap = {}
end
+ inherited cxStyleRepository1: TcxStyleRepository
+ inherited cxStyleSelection: TcxStyle
+ AssignedValues = [svColor, svFont, svTextColor]
+ end
+ object cxStyleEntrada: TcxStyle
+ AssignedValues = [svFont, svTextColor]
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ TextColor = clNavy
+ end
+ object cxStyleSalida: TcxStyle
+ AssignedValues = [svTextColor]
+ TextColor = clGreen
+ end
+ end
object PngImageList: TPngImageList
PngImages = <
item
diff --git a/Source/Modulos/Historico de movimientos/Views/uViewHistoricoMovimientos.pas b/Source/Modulos/Historico de movimientos/Views/uViewHistoricoMovimientos.pas
index 5e0fa40b..f2850b5d 100644
Binary files a/Source/Modulos/Historico de movimientos/Views/uViewHistoricoMovimientos.pas and b/Source/Modulos/Historico de movimientos/Views/uViewHistoricoMovimientos.pas differ
diff --git a/Source/Modulos/Inventario/Views/Inventario_view.dproj b/Source/Modulos/Inventario/Views/Inventario_view.dproj
index 3a84d861..9102580c 100644
--- a/Source/Modulos/Inventario/Views/Inventario_view.dproj
+++ b/Source/Modulos/Inventario/Views/Inventario_view.dproj
@@ -46,10 +46,10 @@
MainSource
-
-
-
-
+
+
+
+
TfEditorDetalleReservas
diff --git a/Source/Modulos/Inventario/Views/uEditorEntradaSalidaArticulos.dfm b/Source/Modulos/Inventario/Views/uEditorEntradaSalidaArticulos.dfm
index 815f7403..329cd1b7 100644
--- a/Source/Modulos/Inventario/Views/uEditorEntradaSalidaArticulos.dfm
+++ b/Source/Modulos/Inventario/Views/uEditorEntradaSalidaArticulos.dfm
@@ -2,14 +2,20 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
Left = 387
Top = 196
Caption = 'Entrada de art'#237'culos en almac'#233'n'
- ClientHeight = 556
+ ClientHeight = 648
+ ClientWidth = 1046
OnClose = CustomEditorClose
- ExplicitHeight = 590
+ ExplicitWidth = 1054
+ ExplicitHeight = 682
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
- Caption = 'Entrada de art'#237'culos en almac'#233'n'
+ Width = 1046
+ Caption = 'Entrada de art'#237'culos en '
+ ExplicitTop = 49
+ ExplicitWidth = 853
inherited Image1: TImage
+ Left = 1019
Picture.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001800
0000180806000000E0773DF80000000970485973000017120000171201679FD2
@@ -31,14 +37,18 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
end
end
inherited TBXDock: TTBXDock
+ Width = 1046
+ ExplicitWidth = 853
inherited tbxMain: TTBXToolbar
- ExplicitWidth = 277
+ ExplicitWidth = 164
object TBXItem7: TTBXItem [16]
Action = actAnchoAuto
DisplayMode = nbdmImageAndText
+ Visible = False
end
end
inherited tbxMenu: TTBXToolbar
+ ExplicitWidth = 1046
inherited TBXSubmenuItem4: TTBXSubmenuItem
object TBXItem33: TTBXItem [11]
Action = actGuardarCerrar
@@ -49,194 +59,37 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
end
end
end
- inherited pgPaginas: TPageControl
- Top = 254
- Height = 283
- MultiLine = True
- Visible = False
- ExplicitTop = 254
- ExplicitHeight = 283
- inherited pagGeneral: TTabSheet
- ExplicitHeight = 255
- end
- end
inherited StatusBar: TJvStatusBar
- Top = 537
+ Top = 629
+ Width = 1046
Panels = <
item
Width = 200
end>
ExplicitTop = 537
+ ExplicitWidth = 853
end
- inline frViewListaArticulos: TfrViewEntradaSalidaArticulos [4]
- AlignWithMargins = True
- Left = 3
- Top = 257
- Width = 646
- Height = 277
- Align = alClient
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clWindowText
- Font.Height = -11
- Font.Name = 'Tahoma'
- Font.Style = []
- Padding.Left = 5
- Padding.Top = 5
- Padding.Right = 5
- Padding.Bottom = 3
- ParentFont = False
- TabOrder = 4
- ReadOnly = False
- ExplicitLeft = 3
- ExplicitTop = 257
- ExplicitWidth = 646
- ExplicitHeight = 277
- inherited cxGrid: TcxGrid
- Left = 5
- Top = 107
- Width = 636
- Height = 141
- ExplicitLeft = 5
- ExplicitTop = 107
- ExplicitWidth = 636
- ExplicitHeight = 141
- inherited cxGridView: TcxGridDBTableView
- OptionsCustomize.ColumnsQuickCustomization = False
- OptionsData.Editing = True
- OptionsSelection.CellSelect = True
- OptionsView.ShowEditButtons = gsebForFocusedRecord
- inherited cxGridViewRecID: TcxGridDBColumn
- Styles.Content = frViewListaArticulos.cxStyleOdd
- end
- inherited cxGridViewID: TcxGridDBColumn
- Styles.Content = frViewListaArticulos.cxStyleOdd
- end
- inherited cxGridViewID_ARTICULO: TcxGridDBColumn
- Visible = False
- Styles.Content = frViewListaArticulos.cxStyleOdd
- end
- inherited cxGridViewREFERENCIA: TcxGridDBColumn [3]
- PropertiesClassName = 'TcxTextEditProperties'
- Properties.ReadOnly = True
- end
- inherited cxGridViewREFERENCIA_PROV: TcxGridDBColumn [4]
- PropertiesClassName = 'TcxTextEditProperties'
- Properties.ReadOnly = True
- end
- inherited cxGridViewDESCRIPCION: TcxGridDBColumn [5]
- Caption = 'Descripci'#243'n'
- Properties.ReadOnly = True
- Options.Editing = False
- Width = 300
- end
- inherited cxGridViewCANTIDAD: TcxGridDBColumn [6]
- Caption = 'Cantidad'
- PropertiesClassName = 'TcxSpinEditProperties'
- Properties.CanEdit = True
- Properties.ExceptionOnInvalidInput = False
- Properties.SpinButtons.Position = sbpVert
- Properties.SpinButtons.ShowFastButtons = False
- Properties.UseCtrlIncrement = False
- Properties.ValidateOnEnter = True
- Properties.OnGetValue = nil
- FooterAlignmentHorz = taRightJustify
- HeaderAlignmentHorz = taRightJustify
- Styles.Content = frViewListaArticulos.cxStyleFiltered
- end
- inherited cxGridViewSTOCK: TcxGridDBColumn [7]
- PropertiesClassName = 'TcxTextEditProperties'
- Properties.Alignment.Horz = taRightJustify
- Properties.ReadOnly = True
- FooterAlignmentHorz = taRightJustify
- HeaderAlignmentHorz = taRightJustify
- end
- inherited cxGridViewID_PEDIDO_PROVEEDOR: TcxGridDBColumn [8]
- Visible = False
- Styles.Content = frViewListaArticulos.cxStyleOdd
- end
- inherited cxGridViewID_PEDIDO_CLIENTE: TcxGridDBColumn [9]
- Styles.Content = frViewListaArticulos.cxStyleOdd
- end
- inherited cxGridViewREFERENCIA_PED_CLI: TcxGridDBColumn [10]
- Styles.Content = frViewListaArticulos.cxStyleOdd
- end
- inherited cxGridViewID_EMPRESA: TcxGridDBColumn [11]
- Styles.Content = frViewListaArticulos.cxStyleOdd
- end
- end
- end
- inherited frViewFiltroBase1: TfrViewFiltroBase
- Left = 5
- Top = 5
- Width = 636
- ExplicitLeft = 5
- ExplicitTop = 5
- ExplicitWidth = 636
- inherited TBXDockablePanel1: TTBXDockablePanel
- ExplicitWidth = 636
- inherited dxLayoutControl1: TdxLayoutControl
- Width = 636
- ExplicitWidth = 636
- inherited txtFiltroTodo: TcxTextEdit
- ExplicitWidth = 273
- Width = 273
- end
- inherited edtFechaIniFiltro: TcxDateEdit
- ExplicitWidth = 121
- Width = 121
- end
- inherited edtFechaFinFiltro: TcxDateEdit
- Left = 393
- ExplicitLeft = 393
- ExplicitWidth = 121
- Width = 121
- end
- end
- inherited TBXAlignmentPanel1: TTBXAlignmentPanel
- Width = 636
- ExplicitWidth = 636
- inherited tbxBotones: TTBXToolbar
- Width = 626
- ExplicitWidth = 626
- end
- end
- end
- end
- inherited pnlAgrupaciones: TTBXDockablePanel
- Left = 5
- Top = 248
- ExplicitLeft = 5
- ExplicitTop = 248
- ExplicitWidth = 636
- inherited TBXAlignmentPanel1: TTBXAlignmentPanel
- Width = 636
- ExplicitWidth = 636
- inherited TBXToolbar1: TTBXToolbar
- Width = 626
- ExplicitWidth = 626
- end
- end
- end
- inherited dxComponentPrinter: TdxComponentPrinter
- inherited dxComponentPrinterLink: TdxGridReportLink
- ReportDocument.CreationDate = 39253.501954571760000000
- BuiltInReportLink = True
- end
- end
- inherited cxViewGridPopupMenu: TcxGridPopupMenu
- PopupMenus = <
- item
- GridView = frViewListaArticulos.cxGridView
- HitTypes = [gvhtCell]
- Index = 0
- end>
+ inherited pgPaginas: TPageControl
+ Top = 287
+ Width = 1040
+ Height = 339
+ MultiLine = True
+ Visible = False
+ ExplicitTop = 287
+ ExplicitWidth = 847
+ ExplicitHeight = 247
+ inherited pagGeneral: TTabSheet
+ ExplicitLeft = 4
+ ExplicitTop = 24
+ ExplicitWidth = 839
+ ExplicitHeight = 219
end
end
- object ToolBar1: TToolBar [5]
+ object ToolBar1: TToolBar [4]
AlignWithMargins = True
Left = 5
- Top = 224
- Width = 642
+ Top = 254
+ Width = 1036
Height = 30
Margins.Left = 5
Margins.Top = 2
@@ -254,21 +107,22 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
ShowHint = True
TabOrder = 5
Transparent = True
+ ExplicitWidth = 843
object ToolButton1: TToolButton
Left = 0
- Top = 2
+ Top = 0
Action = actAnadirInventario
AutoSize = True
end
object ToolButton2: TToolButton
Left = 112
- Top = 2
+ Top = 0
Action = actEliminarInventario
AutoSize = True
end
object ToolButton6: TToolButton
Left = 235
- Top = 2
+ Top = 0
Width = 8
Caption = 'ToolButton6'
ImageIndex = 2
@@ -276,16 +130,17 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
end
object ToolButton7: TToolButton
Left = 243
- Top = 2
+ Top = 0
Action = actAnchoAuto
AutoSize = True
end
end
- object TBXDockPaneles: TTBXDock [6]
+ object TBXDockPaneles: TTBXDock [5]
Left = 0
Top = 76
- Width = 652
+ Width = 1046
Height = 146
+ ExplicitWidth = 853
object pnlMovimiento: TTBXDockablePanel
Left = 0
Top = 89
@@ -294,8 +149,8 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
CaptionRotation = dpcrAlwaysVert
DockedHeight = 53
DockMode = dmCannotFloat
- DockPos = 88
- DockRow = 2
+ DockPos = 3
+ DockRow = 1
FloatingWidth = 128
FloatingHeight = 84
ShowCaptionWhenDocked = False
@@ -303,28 +158,26 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
TabOrder = 0
Visible = False
DesignSize = (
- 648
+ 1042
53)
object Label1: TLabel
Left = 266
Top = 17
Width = 36
Height = 13
- Margins.Bottom = 0
Caption = 'Motivo:'
end
object Label2: TLabel
- Left = 8
+ Left = 12
Top = 17
Width = 107
Height = 13
- Margins.Bottom = 0
Caption = 'Fecha del movimiento:'
Color = 16054521
ParentColor = False
end
object eFechaMovimiento: TcxDateEdit
- Left = 122
+ Left = 126
Top = 14
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
@@ -342,6 +195,7 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
Left = 308
Top = 14
Anchors = [akLeft, akTop, akRight]
+ AutoSize = False
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
@@ -354,7 +208,9 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 1
- Width = 2357
+ ExplicitWidth = 3419
+ Height = 21
+ Width = 3612
end
end
object pnlEntradaPedido: TTBXDockablePanel
@@ -365,8 +221,7 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
CaptionRotation = dpcrAlwaysVert
DockedHeight = 85
DockMode = dmCannotFloat
- DockPos = 88
- DockRow = 2
+ DockPos = 0
FloatingWidth = 128
FloatingHeight = 84
ShowCaptionWhenDocked = False
@@ -378,7 +233,6 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
Top = 17
Width = 60
Height = 13
- Margins.Bottom = 0
Caption = 'Ref. pedido:'
end
object Label4: TLabel
@@ -386,7 +240,6 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
Top = 17
Width = 85
Height = 13
- Margins.Bottom = 0
Caption = 'Fecha del pedido:'
Color = 16054521
ParentColor = False
@@ -396,7 +249,6 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
Top = 17
Width = 71
Height = 13
- Margins.Bottom = 0
Caption = 'FechaPedido'
Color = 16054521
Font.Charset = DEFAULT_CHARSET
@@ -412,7 +264,6 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
Top = 17
Width = 99
Height = 13
- Margins.Bottom = 0
Caption = 'ReferenciaPedido'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@@ -422,11 +273,10 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
ParentFont = False
end
object Label6: TLabel
- Left = 8
+ Left = 5
Top = 49
Width = 47
Height = 13
- Margins.Bottom = 0
Caption = 'Situaci'#243'n:'
Color = 16054521
ParentColor = False
@@ -436,7 +286,6 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
Top = 49
Width = 52
Height = 13
- Margins.Bottom = 0
Caption = 'Situacion'
Color = 16054521
Font.Charset = DEFAULT_CHARSET
@@ -452,7 +301,6 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
Top = 49
Width = 54
Height = 13
- Margins.Bottom = 0
Caption = 'Proveedor:'
end
object edtProveedor: TLabel
@@ -460,7 +308,6 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
Top = 49
Width = 59
Height = 13
- Margins.Bottom = 0
Caption = 'Proveedor'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@@ -471,56 +318,119 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
end
end
end
- inherited EditorActionList: TActionList [7]
- Top = 56
- inherited actNuevo: TAction
- Visible = False
+ inline frViewEntradaSalidaArticulos1: TfrViewEntradaSalidaArticulos [6]
+ Left = 0
+ Top = 284
+ Width = 1046
+ Height = 345
+ Align = alClient
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ TabOrder = 6
+ ReadOnly = False
+ ExplicitTop = 284
+ ExplicitWidth = 853
+ ExplicitHeight = 253
+ inherited cxGrid: TcxGrid
+ Width = 1046
+ Height = 217
+ ExplicitWidth = 853
+ ExplicitHeight = 125
+ inherited cxGridView: TcxGridDBTableView
+ DataController.KeyFieldNames = 'RecID'
+ inherited cxGridViewSTOCK: TcxGridDBColumn
+ Properties.Alignment.Horz = taRightJustify
+ end
+ end
end
- inherited actModificar: TAction
- Visible = False
+ inherited frViewFiltroBase1: TfrViewFiltroBase
+ Width = 1046
+ ExplicitWidth = 853
+ inherited TBXDockablePanel1: TTBXDockablePanel
+ ExplicitWidth = 853
+ inherited dxLayoutControl1: TdxLayoutControl
+ Width = 1046
+ ExplicitWidth = 853
+ inherited txtFiltroTodo: TcxTextEdit
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
+ ExplicitWidth = 676
+ Width = 676
+ end
+ inherited edtFechaIniFiltro: TcxDateEdit
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
+ ExplicitWidth = 121
+ Width = 121
+ end
+ inherited edtFechaFinFiltro: TcxDateEdit
+ Left = 639
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
+ ExplicitLeft = 639
+ ExplicitWidth = 121
+ Width = 121
+ end
+ end
+ inherited TBXAlignmentPanel1: TTBXAlignmentPanel
+ Width = 1046
+ ExplicitWidth = 853
+ inherited tbxBotones: TTBXToolbar
+ Width = 1036
+ ExplicitWidth = 843
+ end
+ end
+ end
end
- inherited actGuardar: TAction
- Visible = False
+ inherited pnlAgrupaciones: TTBXDockablePanel
+ Top = 319
+ ExplicitTop = 227
+ ExplicitWidth = 853
+ inherited TBXAlignmentPanel1: TTBXAlignmentPanel
+ Width = 1046
+ ExplicitWidth = 853
+ inherited TBXToolbar1: TTBXToolbar
+ Width = 1036
+ ExplicitWidth = 843
+ end
+ end
end
- inherited actEliminar: TAction
- Visible = False
+ inherited dxComponentPrinter: TdxComponentPrinter
+ inherited dxComponentPrinterLink: TdxGridReportLink
+ ReportDocument.CreationDate = 39658.663276539350000000
+ BuiltInReportLink = True
+ end
end
- inherited actConfPagina: TAction
- Visible = False
- end
- inherited actPrevisualizar: TAction
- Visible = False
- end
- inherited actImprimir: TAction
- Visible = False
- end
- inherited actRefrescar: TAction
- Visible = False
- end
- inherited actDuplicar: TAction
- Visible = False
- end
- object actAnadirInventario: TAction
- Category = 'Inventario'
- Caption = 'Elegir art'#237'culos...'
- ImageIndex = 24
- OnExecute = actAnadirInventarioExecute
- end
- object actEliminarInventario: TAction
- Category = 'Inventario'
- Caption = 'Quitar este art'#237'culo'
- ImageIndex = 4
- OnExecute = actEliminarInventarioExecute
- OnUpdate = actEliminarInventarioUpdate
- end
- object actAnchoAuto: TAction
- Category = 'Ver'
- Caption = 'Ancho autom'#225'tico'
- ImageIndex = 21
- OnExecute = actAnchoAutoExecute
+ inherited cxViewGridPopupMenu: TcxGridPopupMenu
+ PopupMenus = <
+ item
+ GridView = frViewEntradaSalidaArticulos1.cxGridView
+ HitTypes = [gvhtCell]
+ Index = 0
+ end>
end
end
- inherited SmallImages: TPngImageList [8]
+ inherited PnlComentario: TPanel [7]
+ Top = 222
+ Width = 1046
+ ExplicitTop = 222
+ ExplicitWidth = 853
+ inherited lbComentario: TLabel
+ Width = 1036
+ Height = 25
+ end
+ end
+ inherited SmallImages: TPngImageList
PngImages = <
item
PngImage.Data = {
@@ -1062,7 +972,7 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
end>
Bitmap = {}
end
- inherited LargeImages: TPngImageList [9]
+ inherited LargeImages: TPngImageList
PngImages = <
item
PngImage.Data = {
@@ -1851,12 +1761,57 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
end>
Bitmap = {}
end
- inherited JvFormStorage: TJvFormStorage [10]
- end
- inherited dsDataTable: TDADataSource [11]
+ inherited dsDataTable: TDADataSource
Left = 56
Top = 56
end
- inherited JvAppRegistryStorage: TJvAppRegistryStorage [12]
+ inherited EditorActionList: TActionList [13]
+ Top = 56
+ inherited actNuevo: TAction
+ Visible = False
+ end
+ inherited actModificar: TAction
+ Visible = False
+ end
+ inherited actGuardar: TAction
+ Visible = False
+ end
+ inherited actEliminar: TAction
+ Visible = False
+ end
+ inherited actConfPagina: TAction
+ Visible = False
+ end
+ inherited actPrevisualizar: TAction
+ Visible = False
+ end
+ inherited actImprimir: TAction
+ Visible = False
+ end
+ inherited actRefrescar: TAction
+ Visible = False
+ end
+ inherited actDuplicar: TAction
+ Visible = False
+ end
+ object actAnadirInventario: TAction
+ Category = 'Inventario'
+ Caption = 'Elegir art'#237'culos...'
+ ImageIndex = 24
+ OnExecute = actAnadirInventarioExecute
+ end
+ object actEliminarInventario: TAction
+ Category = 'Inventario'
+ Caption = 'Quitar este art'#237'culo'
+ ImageIndex = 4
+ OnExecute = actEliminarInventarioExecute
+ OnUpdate = actEliminarInventarioUpdate
+ end
+ object actAnchoAuto: TAction
+ Category = 'Ver'
+ Caption = 'Ancho autom'#225'tico'
+ ImageIndex = 21
+ OnExecute = actAnchoAutoExecute
+ end
end
end
diff --git a/Source/Modulos/Inventario/Views/uEditorEntradaSalidaArticulos.pas b/Source/Modulos/Inventario/Views/uEditorEntradaSalidaArticulos.pas
index 1567247b..526afd1a 100644
--- a/Source/Modulos/Inventario/Views/uEditorEntradaSalidaArticulos.pas
+++ b/Source/Modulos/Inventario/Views/uEditorEntradaSalidaArticulos.pas
@@ -13,11 +13,11 @@ uses
uIEditorEntradaSalidaArticulos, uInventarioController, JvExComCtrls,
JvStatusBar, Grids, DBGrids, cxLabel, cxControls, cxContainer, cxEdit,
cxTextEdit, cxMaskEdit, cxDropDownEdit, cxCalendar, cxMemo, ToolWin,
- dxLayoutControl, cxStyles, StdCtrls, Buttons, TBXDkPanels, uBizPedidosProveedor;
+ dxLayoutControl, cxStyles, StdCtrls, Buttons, TBXDkPanels, uBizPedidosProveedor,
+ uDAInterfaces;
type
TfEditorEntradaSalidaArticulos = class(TfEditorDBItem, IEditorEntradaSalidaArticulos)
- frViewListaArticulos: TfrViewEntradaSalidaArticulos;
actAnadirInventario: TAction;
actEliminarInventario: TAction;
actAnchoAuto: TAction;
@@ -43,6 +43,7 @@ type
edtSituacion: TLabel;
Label7: TLabel;
edtProveedor: TLabel;
+ frViewEntradaSalidaArticulos1: TfrViewEntradaSalidaArticulos;
procedure CustomEditorClose(Sender: TObject; var Action: TCloseAction);
procedure actAnadirInventarioExecute(Sender: TObject);
procedure actEliminarInventarioExecute(Sender: TObject);
@@ -147,7 +148,7 @@ begin
else
dsDataTable.DataTable := NIL;
- frViewListaArticulos.dsDataSource.DataTable := dsDataTable.DataTable;
+ frViewEntradaSalidaArticulos1.dsDataSource.DataTable := dsDataTable.DataTable;
// PonerEtiquetasEnEditor
end;
@@ -171,10 +172,14 @@ begin
edtReferenciaPedido.Caption := FPedidoProveedor.REFERENCIA;
edtSituacion.Caption := FPedidoProveedor.SITUACION;
edtProveedor.Caption := FPedidoProveedor.NOMBRE;
- pnlEntradaPedido.Visible := True
+ pnlEntradaPedido.Visible := True;
+ TBXItem7.Visible := True;
end
else
+ begin
pnlEntradaPedido.Visible := False;
+ TBXItem7.Visible := False;
+ end;
end;
procedure TfEditorEntradaSalidaArticulos.actAnadirInventarioExecute(Sender: TObject);
@@ -198,6 +203,7 @@ procedure TfEditorEntradaSalidaArticulos.FormShow(Sender: TObject);
var
AAlmacenOrigen: IBizAlmacen;
AAlmacenDestino: IBizAlmacen;
+
begin
inherited;
@@ -207,31 +213,49 @@ begin
//Titulos
try
AAlmacenOrigen := Controller.AlmacenesController.Buscar(FArticulos.IDAlmacenOrigen);
- AAlmacenDestino:= Controller.AlmacenesController.Buscar(FArticulos.IDAlmacenDestino);
AAlmacenOrigen.DataTable.Active := True;
+
+ AAlmacenDestino:= Controller.AlmacenesController.Buscar(FArticulos.IDAlmacenDestino);
AAlmacenDestino.DataTable.Active := True;
case FArticulos.TipoMovimiento of
tEntradaLibre :
begin
- FTitulo := 'Entrada de artículos en el almacén "' + AAlmacenDestino.NOMBRE + '"';
+ if AAlmacenDestino.RecordCount > 0 then
+ FTitulo := 'Entrada de artículos en "' + AAlmacenDestino.NOMBRE + '"'
+ else
+// FTitulo := 'Entrada de artículos en "' + AObraDestino.NOMBRE + '"';
actGuardarCerrar.Caption := 'Realizar la entrada de los artículos';
end;
tEntradaPedidoProveedor :
begin
- FTitulo := 'Entrada por pedido de artículos, en el almacén "' + AAlmacenDestino.NOMBRE + '"';
+ FTitulo := 'Entrada por pedido de artículos, en "' + AAlmacenDestino.NOMBRE + '"';
actGuardarCerrar.Caption := 'Realizar la entrada de los artículos';
end;
tSalidaLibre, tSalidaAlbaranCliente :
begin
- FTitulo := 'Salida de artículos en el almacén "' + AAlmacenOrigen.NOMBRE + '"';
+ FTitulo := 'Salida de artículos en "' + AAlmacenOrigen.NOMBRE + '"';
actGuardarCerrar.Caption := 'Realizar la salida de los artículos';
end;
tTraslado:
begin
- FTitulo := 'Traslado de artículos desde el almacén "' + AAlmacenOrigen.NOMBRE + '" hasta el almacén "' + AAlmacenDestino.NOMBRE + '"';
+ FTitulo := 'Traslado de artículos desde "' + AAlmacenOrigen.NOMBRE;
+ FTitulo := FTitulo + '" hasta "' + AAlmacenDestino.NOMBRE + '"';
actGuardarCerrar.Caption := 'Realizar el traslado de los artículos';
end;
+{
+ tReserva:
+ begin
+ if AAlmacenOrigen.RecordCount > 0 then
+ FTitulo := 'Reserva de artículos de "' + AAlmacenOrigen.NOMBRE;
+
+ if AAlmacenDestino.RecordCount > 0 then
+ FTitulo := FTitulo + '" para "' + AAlmacenDestino.NOMBRE + '"'
+
+ actGuardarCerrar.Caption := 'Realizar la reserva de los artículos';
+ Label2.Caption := 'Fecha de la reserva:';
+ end;
+}
end;
finally
AAlmacenOrigen := Nil;
@@ -248,7 +272,7 @@ begin
actAnadirInventario.Visible := True;
actEliminarInventario.Enabled := True;
actEliminarInventario.Visible := True;
- frViewListaArticulos.cxGridViewCANTIDAD.Properties.ReadOnly := False;
+ frViewEntradaSalidaArticulos1.cxGridViewCANTIDAD.Properties.ReadOnly := False;
end;
tEntradaPedidoProveedor, tSalidaAlbaranCliente :
begin
@@ -260,9 +284,9 @@ begin
actEliminarInventario.Enabled := False;
actEliminarInventario.Visible := False;
if (FArticulos.TipoMovimiento = tSalidaAlbaranCliente) then
- frViewListaArticulos.cxGridViewCANTIDAD.Properties.ReadOnly := True
+ frViewEntradaSalidaArticulos1.cxGridViewCANTIDAD.Properties.ReadOnly := True
else
- frViewListaArticulos.cxGridViewCANTIDAD.Properties.ReadOnly := False;
+ frViewEntradaSalidaArticulos1.cxGridViewCANTIDAD.Properties.ReadOnly := False;
end;
end;
@@ -271,7 +295,7 @@ end;
procedure TfEditorEntradaSalidaArticulos.actAnchoAutoExecute(Sender: TObject);
begin
- frViewListaArticulos.cxGridView.ApplyBestFit;
+ frViewEntradaSalidaArticulos1.cxGridView.ApplyBestFit;
end;
procedure TfEditorEntradaSalidaArticulos.actEliminarInventarioExecute(Sender: TObject);
diff --git a/Source/Modulos/Pedidos a proveedor/Reports/uRptPedidosProveedor_Server.dfm b/Source/Modulos/Pedidos a proveedor/Reports/uRptPedidosProveedor_Server.dfm
index a4574725..534fac95 100644
--- a/Source/Modulos/Pedidos a proveedor/Reports/uRptPedidosProveedor_Server.dfm
+++ b/Source/Modulos/Pedidos a proveedor/Reports/uRptPedidosProveedor_Server.dfm
@@ -92,21 +92,25 @@ object RptPedidosProveedor: TRptPedidosProveedor
' PEDIDOS_PROVEEDOR.REFERENCIA,'#10' PEDIDOS_PROVEEDOR.FECHA_PEDIDO,' +
#10' PEDIDOS_PROVEEDOR.FECHA_ENTREGA,'#10' PEDIDOS_PROVEEDOR.FECHA_EN' +
'VIO,'#10' PEDIDOS_PROVEEDOR.DESCRIPCION_GENERAL,'#10' PEDIDOS_PROVEEDO' +
- 'R.OBSERVACIONES,'#10' VENDEDORES.NOMBRE as VENDEDOR,'#10' PROVEEDOR.NO' +
- 'MBRE,'#10' PROVEEDOR.FAX,'#10#10' CONTRATOS_CLIENTE.referencia as refere' +
- 'ncia_contrato,'#10' CONTRATOS_CLIENTE.referencia_CLIENTE,'#10' CLIENTE' +
- 'S.NOMBRE AS NOMBRE_CLIENTE,'#10' '#10' PEDIDOS_PROVEEDOR.ID_ALMACEN,'#10' ' +
- ' '#10' PEDIDOS_PROVEEDOR.CALLE,'#10' PEDIDOS_PROVEEDOR.POBLACION,'#10' PE' +
- 'DIDOS_PROVEEDOR.PROVINCIA,'#10' PEDIDOS_PROVEEDOR.CODIGO_POSTAL,'#10' ' +
- 'PEDIDOS_PROVEEDOR.PERSONA_CONTACTO,'#10' PEDIDOS_PROVEEDOR.TELEFONO' +
- #10#10'FROM'#10' PEDIDOS_PROVEEDOR'#10' LEFT OUTER JOIN CONTACTOS PROVEEDOR' +
- ' ON (PROVEEDOR .ID = PEDIDOS_PROVEEDOR.ID_PROVEEDOR)'#10' LEFT OUTE' +
- 'R JOIN CONTACTOS VENDEDORES ON (VENDEDORES.ID = PEDIDOS_PROVEEDO' +
- 'R.ID_VENDEDOR)'#10' LEFT OUTER JOIN CONTRATOS_CLIENTE ON (CONTRATOS' +
- '_CLIENTE.ID = PEDIDOS_PROVEEDOR.ID_CONTRATO_CLIENTE)'#10' LEFT OUTE' +
- 'R JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = CONTRATOS_CLIENTE.ID' +
- '_CLIENTE)'#10' LEFT OUTER JOIN ALMACENES ON (ALMACENES.ID = PEDIDOS' +
- '_PROVEEDOR.ID_ALMACEN)'#10'WHERE PEDIDOS_PROVEEDOR.ID = :ID'#10
+ 'R.OBSERVACIONES,'#10' VENDEDORES.NOMBRE as VENDEDOR,'#10' VENDEDORES.R' +
+ 'EFERENCIA as REF_VENDEDOR,'#10' COALESCE(VENDEDORES.MOVIL_1,'#39#39') || ' +
+ #39' - '#39' || COALESCE(VENDEDORES.MOVIL_2,'#39#39') || '#39' - '#39' || COALESCE(VE' +
+ 'NDEDORES.TELEFONO_1,'#39#39') || '#39' - '#39' || COALESCE(VENDEDORES.TELEFONO' +
+ '_2,'#39#39') as TELEFONOS_VENDEDOR,'#10' PROVEEDOR.NOMBRE,'#10' PROVEEDOR.FA' +
+ 'X,'#10#10' CONTRATOS_CLIENTE.referencia as referencia_contrato,'#10' CON' +
+ 'TRATOS_CLIENTE.referencia_CLIENTE,'#10' CLIENTES.NOMBRE AS NOMBRE_C' +
+ 'LIENTE,'#10' '#10' PEDIDOS_PROVEEDOR.ID_ALMACEN,'#10' '#10' PEDIDOS_PROVEEDO' +
+ 'R.CALLE,'#10' PEDIDOS_PROVEEDOR.POBLACION,'#10' PEDIDOS_PROVEEDOR.PROV' +
+ 'INCIA,'#10' PEDIDOS_PROVEEDOR.CODIGO_POSTAL,'#10' PEDIDOS_PROVEEDOR.PE' +
+ 'RSONA_CONTACTO,'#10' PEDIDOS_PROVEEDOR.TELEFONO'#10#10'FROM'#10' PEDIDOS_PRO' +
+ 'VEEDOR'#10' LEFT OUTER JOIN CONTACTOS PROVEEDOR ON (PROVEEDOR .ID =' +
+ ' PEDIDOS_PROVEEDOR.ID_PROVEEDOR)'#10' LEFT OUTER JOIN CONTACTOS VEN' +
+ 'DEDORES ON (VENDEDORES.ID = PEDIDOS_PROVEEDOR.ID_VENDEDOR)'#10' LEF' +
+ 'T OUTER JOIN CONTRATOS_CLIENTE ON (CONTRATOS_CLIENTE.ID = PEDIDO' +
+ 'S_PROVEEDOR.ID_CONTRATO_CLIENTE)'#10' LEFT OUTER JOIN CONTACTOS CLI' +
+ 'ENTES ON (CLIENTES.ID = CONTRATOS_CLIENTE.ID_CLIENTE)'#10' LEFT OUT' +
+ 'ER JOIN ALMACENES ON (ALMACENES.ID = PEDIDOS_PROVEEDOR.ID_ALMACE' +
+ 'N)'#10'WHERE PEDIDOS_PROVEEDOR.ID = :ID'#10
StatementType = stSQL
ColumnMappings = <
item
@@ -198,6 +202,16 @@ object RptPedidosProveedor: TRptPedidosProveedor
item
DatasetField = 'DESCRIPCION_GENERAL'
TableField = 'DESCRIPCION_GENERAL'
+ end
+ item
+ DatasetField = 'TELEFONOS_VENDEDOR'
+ TableField = ''
+ SQLOrigin = 'TELEFONOS_VENDEDOR'
+ end
+ item
+ DatasetField = 'REF_VENDEDOR'
+ TableField = ''
+ SQLOrigin = 'REF_VENDEDOR'
end>
end>
Name = 'Informe_Cabecera'
@@ -241,6 +255,16 @@ object RptPedidosProveedor: TRptPedidosProveedor
DataType = datString
Size = 255
end
+ item
+ Name = 'REF_VENDEDOR'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'TELEFONOS_VENDEDOR'
+ DataType = datString
+ Size = 109
+ end
item
Name = 'NOMBRE'
DataType = datString
@@ -457,7 +481,7 @@ object RptPedidosProveedor: TRptPedidosProveedor
PrintOptions.Printer = 'Por defecto'
PrintOptions.PrintOnSheet = 0
ReportOptions.CreateDate = 39065.872423495400000000
- ReportOptions.LastChange = 42573.662110995400000000
+ ReportOptions.LastChange = 43591.572818969910000000
ScriptLanguage = 'PascalScript'
ShowProgress = False
StoreInDFM = False
diff --git a/Source/Modulos/Recibos de cliente/Views/RecibosCliente_view.dpk b/Source/Modulos/Recibos de cliente/Views/RecibosCliente_view.dpk
index d1912262..b35489a4 100644
Binary files a/Source/Modulos/Recibos de cliente/Views/RecibosCliente_view.dpk and b/Source/Modulos/Recibos de cliente/Views/RecibosCliente_view.dpk differ
diff --git a/Source/Modulos/Recibos de cliente/Views/RecibosCliente_view.dproj b/Source/Modulos/Recibos de cliente/Views/RecibosCliente_view.dproj
index ce05f740..e194e565 100644
--- a/Source/Modulos/Recibos de cliente/Views/RecibosCliente_view.dproj
+++ b/Source/Modulos/Recibos de cliente/Views/RecibosCliente_view.dproj
@@ -47,42 +47,44 @@
MainSource
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
TfEditorElegirRecibosCliente
-
-
-
+
TfEditorReciboCliente
@@ -120,6 +122,12 @@
TFrame
+
+
+
+
+
+