diff --git a/Source/ApplicationBase/uFactuGES_App.pas b/Source/ApplicationBase/uFactuGES_App.pas
index 60869c5..44b85fd 100644
--- a/Source/ApplicationBase/uFactuGES_App.pas
+++ b/Source/ApplicationBase/uFactuGES_App.pas
@@ -169,7 +169,10 @@ begin
end;
if Assigned(FEmpresaActiva) then
+ begin
+ dmBase.dxPrintStyleManager1Style1.PrinterPage.PageFooter.LeftTitle.Clear;
dmBase.dxPrintStyleManager1Style1.PrinterPage.PageFooter.LeftTitle.Add(FEmpresaActiva.NOMBRE);
+ end;
end;
procedure TAppFactuGES.CargarModulos;
diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj
index 6e90b8b..12474a2 100644
--- a/Source/Base/Base.dproj
+++ b/Source/Base/Base.dproj
@@ -54,6 +54,58 @@
MainSource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
TDataModule
@@ -63,58 +115,6 @@
TDataModule
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
TForm
diff --git a/Source/Cliente/FactuGES.dproj b/Source/Cliente/FactuGES.dproj
index 9e39f1f..c7dd853 100644
--- a/Source/Cliente/FactuGES.dproj
+++ b/Source/Cliente/FactuGES.dproj
@@ -53,7 +53,7 @@
Delphi.Personality
VCLApplication
-FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse4410FalseFalseFalseFalseFalse30821252Rodax Software S.L.4.4.1.0FactuGESFactuGES4.4.1.0FactuGES.dprFalse
+FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse4420FalseFalseFalseFalseFalse30821252Rodax Software S.L.4.4.2.0FactuGESFactuGES4.4.2.0FactuGES.dprFalse
diff --git a/Source/Cliente/FactuGES.rc b/Source/Cliente/FactuGES.rc
index e1e60a5..d41fc30 100644
--- a/Source/Cliente/FactuGES.rc
+++ b/Source/Cliente/FactuGES.rc
@@ -1,7 +1,7 @@
MAINICON ICON "C:\Codigo\Resources\Iconos\Factuges.ico"
1 VERSIONINFO
-FILEVERSION 4,4,1,0
-PRODUCTVERSION 4,4,1,0
+FILEVERSION 4,4,2,0
+PRODUCTVERSION 4,4,2,0
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L
FILEOS 0x40004L
@@ -13,10 +13,10 @@ BEGIN
BLOCK "0C0A04E4"
BEGIN
VALUE "CompanyName", "Rodax Software S.L.\0"
- VALUE "FileVersion", "4.4.1.0\0"
+ VALUE "FileVersion", "4.4.2.0\0"
VALUE "InternalName", "FactuGES\0"
VALUE "ProductName", "FactuGES\0"
- VALUE "ProductVersion", "4.4.1.0\0"
+ VALUE "ProductVersion", "4.4.2.0\0"
END
END
BLOCK "VarFileInfo"
diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res
index 6725688..5ed7616 100644
Binary files a/Source/Cliente/FactuGES.res and b/Source/Cliente/FactuGES.res differ
diff --git a/Source/GUIBase/uViewGrid.dfm b/Source/GUIBase/uViewGrid.dfm
index 33edc7e..73d6214 100644
--- a/Source/GUIBase/uViewGrid.dfm
+++ b/Source/GUIBase/uViewGrid.dfm
@@ -149,7 +149,6 @@ inherited frViewGrid: TfrViewGrid
SupportedDocks = [dkStandardDock, dkMultiDock]
TabOrder = 2
Visible = False
- ExplicitWidth = 128
object TBXAlignmentPanel1: TTBXAlignmentPanel
Left = 0
Top = 0
@@ -199,7 +198,7 @@ inherited frViewGrid: TfrViewGrid
PrinterPage.ScaleMode = smFit
PrinterPage._dxMeasurementUnits_ = 0
PrinterPage._dxLastMU_ = 2
- ReportDocument.CreationDate = 40003.669735601850000000
+ ReportDocument.CreationDate = 42066.687593773150000000
StyleManager = dmBase.dxPrintStyleManager1
OptionsCards.Shadow.Depth = 0
OptionsExpanding.ExpandGroupRows = True
diff --git a/Source/Informes/1/InfAlbaranProveedor.fr3 b/Source/Informes/1/InfAlbaranProveedor.fr3
index caff51d..943e57f 100644
--- a/Source/Informes/1/InfAlbaranProveedor.fr3
+++ b/Source/Informes/1/InfAlbaranProveedor.fr3
@@ -1,5 +1,5 @@
-
+
diff --git a/Source/Informes/2/InfAlbaranProveedor.fr3 b/Source/Informes/2/InfAlbaranProveedor.fr3
index 30a342d..d492061 100644
--- a/Source/Informes/2/InfAlbaranProveedor.fr3
+++ b/Source/Informes/2/InfAlbaranProveedor.fr3
@@ -1,5 +1,5 @@
-
+
diff --git a/Source/Informes/4/InfAlbaranProveedor.fr3 b/Source/Informes/4/InfAlbaranProveedor.fr3
index bd71623..759302c 100644
--- a/Source/Informes/4/InfAlbaranProveedor.fr3
+++ b/Source/Informes/4/InfAlbaranProveedor.fr3
@@ -1,5 +1,5 @@
-
+
@@ -9,10 +9,9 @@
-
+
-
@@ -33,6 +32,7 @@
+
diff --git a/Source/Informes/5/InfAlbaranProveedor.fr3 b/Source/Informes/5/InfAlbaranProveedor.fr3
index fcc2417..460b7b2 100644
--- a/Source/Informes/5/InfAlbaranProveedor.fr3
+++ b/Source/Informes/5/InfAlbaranProveedor.fr3
@@ -1,5 +1,5 @@
-
+
diff --git a/Source/Informes/6/InfAlbaranProveedor.fr3 b/Source/Informes/6/InfAlbaranProveedor.fr3
index 8209824..0cf20e1 100644
--- a/Source/Informes/6/InfAlbaranProveedor.fr3
+++ b/Source/Informes/6/InfAlbaranProveedor.fr3
@@ -1,5 +1,5 @@
-
+
diff --git a/Source/Informes/6/en/InfFacturaCliente.fr3 b/Source/Informes/6/en/InfFacturaCliente.fr3
index d95f675..f131734 100644
--- a/Source/Informes/6/en/InfFacturaCliente.fr3
+++ b/Source/Informes/6/en/InfFacturaCliente.fr3
@@ -1,5 +1,5 @@
-
+
@@ -32,15 +32,15 @@
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
@@ -51,6 +51,7 @@
+
diff --git a/Source/Informes/6/en/InfFacturaProforma.fr3 b/Source/Informes/6/en/InfFacturaProforma.fr3
index e07a975..369df11 100644
--- a/Source/Informes/6/en/InfFacturaProforma.fr3
+++ b/Source/Informes/6/en/InfFacturaProforma.fr3
@@ -1,5 +1,5 @@
-
+
@@ -33,12 +33,12 @@
-
-
-
+
+
+
-
-
+
+
@@ -48,8 +48,8 @@
-
-
+
+
@@ -61,6 +61,7 @@
+
diff --git a/Source/Informes/8/InfAlbaranProveedor.fr3 b/Source/Informes/8/InfAlbaranProveedor.fr3
index 7b8dca2..e2e9758 100644
--- a/Source/Informes/8/InfAlbaranProveedor.fr3
+++ b/Source/Informes/8/InfAlbaranProveedor.fr3
@@ -1,5 +1,5 @@
-
+
diff --git a/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranCliente.dfm b/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranCliente.dfm
index 090582c..cda6cb8 100644
--- a/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranCliente.dfm
+++ b/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranCliente.dfm
@@ -178,6 +178,10 @@ inherited fEditorAlbaranCliente: TfEditorAlbaranCliente
object pagContenido: TTabSheet
Caption = 'Contenido'
ImageIndex = 1
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
inline frViewDetallesAlbaranCliente1: TfrViewDetallesAlbaranCliente
Left = 0
Top = 0
@@ -198,107 +202,103 @@ inherited fEditorAlbaranCliente: TfEditorAlbaranCliente
ExplicitHeight = 378
inherited ToolBar1: TToolBar
Width = 751
- Height = 78
+ Height = 46
ExplicitWidth = 751
- ExplicitHeight = 78
+ ExplicitHeight = 46
inherited ToolButton3: TToolButton
Wrap = False
end
inherited ToolButton4: TToolButton
Left = 278
Top = 0
+ Wrap = True
ExplicitLeft = 278
ExplicitTop = 0
end
inherited ToolButton14: TToolButton
- Left = 334
- Top = 0
+ Left = 0
Wrap = False
- ExplicitLeft = 334
- ExplicitTop = 0
+ ExplicitLeft = 0
end
inherited FontName: TJvFontComboBox
- Left = 399
- Top = 0
- ExplicitLeft = 399
- ExplicitTop = 0
- end
- inherited ToolButton13: TToolButton [6]
- Left = 544
- Top = 0
- Wrap = True
- ExplicitLeft = 544
- ExplicitTop = 0
- end
- inherited ToolButton6: TToolButton [7]
- Left = 552
- Top = 0
- ExplicitLeft = 552
- ExplicitTop = 0
- end
- inherited ToolButton7: TToolButton [8]
- Left = 0
+ Left = 65
Top = 22
- ExplicitLeft = 0
+ ExplicitLeft = 65
ExplicitTop = 22
end
- inherited ToolButton8: TToolButton [9]
- Left = 0
- Enabled = True
- Wrap = True
- ExplicitLeft = 0
- end
- inherited ToolButton12: TToolButton [10]
- Left = 0
- Top = 66
- Wrap = True
- ExplicitLeft = 0
- ExplicitTop = 66
- ExplicitHeight = 27
- end
- inherited UpDown1: TUpDown [11]
- Left = 0
- Top = 93
- ExplicitLeft = 0
- ExplicitTop = 93
- end
- inherited FontSize: TEdit [12]
- Left = 17
- Top = 93
+ inherited FontSize: TEdit
+ Left = 210
+ Top = 22
Width = 186
- ExplicitLeft = 17
- ExplicitTop = 93
+ ExplicitLeft = 210
+ ExplicitTop = 22
ExplicitWidth = 186
end
+ inherited UpDown1: TUpDown
+ Left = 396
+ Top = 22
+ ExplicitLeft = 396
+ ExplicitTop = 22
+ end
+ inherited ToolButton13: TToolButton
+ Left = 413
+ Top = 22
+ ExplicitLeft = 413
+ ExplicitTop = 22
+ end
+ inherited ToolButton6: TToolButton
+ Left = 421
+ Top = 22
+ ExplicitLeft = 421
+ ExplicitTop = 22
+ end
+ inherited ToolButton7: TToolButton
+ Left = 487
+ Top = 22
+ ExplicitLeft = 487
+ ExplicitTop = 22
+ end
+ inherited ToolButton8: TToolButton
+ Left = 554
+ Top = 22
+ ExplicitLeft = 554
+ ExplicitTop = 22
+ end
+ inherited ToolButton12: TToolButton
+ Left = 637
+ Top = 22
+ ExplicitLeft = 637
+ ExplicitTop = 22
+ end
inherited ToolButton9: TToolButton
- Left = 203
- Top = 93
- ExplicitLeft = 203
- ExplicitTop = 93
+ Left = 645
+ Top = 22
+ ExplicitLeft = 645
+ ExplicitTop = 22
end
inherited ToolButton10: TToolButton
- Left = 348
- Top = 93
- ExplicitLeft = 348
- ExplicitTop = 93
+ Left = 790
+ Top = 22
+ ExplicitLeft = 790
+ ExplicitTop = 22
end
inherited ToolButton11: TToolButton
- Left = 473
- Top = 93
- ExplicitLeft = 473
- ExplicitTop = 93
+ Left = 915
+ Top = 22
+ ExplicitLeft = 915
+ ExplicitTop = 22
end
end
inherited cxGrid: TcxGrid
- Top = 104
+ Top = 72
Width = 751
- Height = 274
+ Height = 306
ExplicitTop = 104
ExplicitWidth = 751
ExplicitHeight = 274
end
inherited TBXDock1: TTBXDock
- Top = 78
+ Top = 46
Width = 751
ExplicitTop = 78
ExplicitWidth = 751
@@ -320,6 +320,10 @@ inherited fEditorAlbaranCliente: TfEditorAlbaranCliente
object pagInicidencias: TTabSheet
Caption = 'Incidencias'
ImageIndex = 2
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
inline frViewIncidenciasCli: TfrViewIncidencias
Left = 0
Top = 0
diff --git a/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranCliente.pas b/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranCliente.pas
index 901ce35..78f7e3e 100644
--- a/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranCliente.pas
+++ b/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranCliente.pas
@@ -279,7 +279,8 @@ begin
// Si el pedido tiene detalles hay que mirar si los descuentos y otros campos
// para los artículos hay que cambiarlos.
if (FAlbaran.Detalles.RecordCount > 0) then
- FController.DetallesController.ActualizarDetalles(FAlbaran.Detalles, FAlbaran.Cliente);
+ if (Application.MessageBox('¿Desea actualizar los artículos del albarán para el nuevo cliente asignado?, este proceso recuperará los descuentos, portes,... de cada articulo para el nuevo cliente asignado', 'Atención', MB_YESNO) = IDYES) then
+ FController.DetallesController.ActualizarDetalles(FAlbaran.Detalles, FAlbaran.Cliente);
end;
end;
diff --git a/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorController.pas b/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorController.pas
index e7a64d3..5d573e0 100644
--- a/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorController.pas
+++ b/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorController.pas
@@ -68,14 +68,16 @@ type
const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False): Boolean;
procedure GenerarEmailAlbaran(AAlbaran : IBizAlbaranProveedor;
- const VerPrecios: Boolean = True; const VerRefProveedor: Boolean = True);
+ const VerPrecios: Boolean = True; const VerRefProveedor: Boolean = True;
+ const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False);
function EnviarEmailAlbaranes(AAlbaranes : IBizAlbaranProveedor;
const VerPrecios: Boolean = True; const VerRefProveedor: Boolean = True): Boolean;
function EnviarAlbaranPorEMail(AAlbaran: IBizAlbaranProveedor;
const AEnviarDirectamente: Boolean = True;
const ADireccionEMail: String = ''; const AAsuntoEMail: String = '';
const ATextoEMail: String = ''; const VerPrecios: Boolean = True;
- const VerRefProveedor: Boolean = True): Boolean;
+ const VerRefProveedor: Boolean = True;
+ const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False): Boolean;
function DarListaAnosAlbaranes: TStringList;
procedure FiltrarAno(AAlbaran: IBizAlbaranProveedor; ADynWhereDataTable: WideString; const Ano: String);
@@ -166,14 +168,16 @@ type
const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False): Boolean;
procedure GenerarEmailAlbaran(AAlbaran : IBizAlbaranProveedor;
- const VerPrecios: Boolean = True; const VerRefProveedor: Boolean = True);
+ const VerPrecios: Boolean = True; const VerRefProveedor: Boolean = True;
+ const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False);
function EnviarEmailAlbaranes(AAlbaranes : IBizAlbaranProveedor;
const VerPrecios: Boolean = True; const VerRefProveedor: Boolean = True): Boolean;
function EnviarAlbaranPorEMail(AAlbaran: IBizAlbaranProveedor;
const AEnviarDirectamente: Boolean = True;
const ADireccionEMail: String = ''; const AAsuntoEMail: String = '';
const ATextoEMail: String = ''; const VerPrecios: Boolean = True;
- const VerRefProveedor: Boolean = True): Boolean;
+ const VerRefProveedor: Boolean = True;
+ const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False): Boolean;
function DarListaAnosAlbaranes: TStringList;
procedure FiltrarAno(AAlbaran: IBizAlbaranProveedor; ADynWhereDataTable: WideString; const Ano: String);
@@ -961,7 +965,8 @@ end;
function TAlbaranesProveedorController.EnviarAlbaranPorEMail(
AAlbaran: IBizAlbaranProveedor; const AEnviarDirectamente: Boolean;
const ADireccionEMail, AAsuntoEMail, ATextoEMail: String;
- const VerPrecios: Boolean; const VerRefProveedor: Boolean): Boolean;
+ const VerPrecios: Boolean; const VerRefProveedor: Boolean;
+ const VerImprimirObservaciones: Boolean; const VerImprimirIncidencias: Boolean): Boolean;
var
AReportController : IAlbaranesProveedorReportController;
AFicheroTMP : TFileName;
@@ -1010,7 +1015,7 @@ begin
AReportController := TAlbaranesProveedorReportController.Create;
try
- AReportController.ExportToPDF(AAlbaran.ID, AFicheroTMP, VerPrecios, VerRefProveedor);
+ AReportController.ExportToPDF(AAlbaran.ID, AFicheroTMP, VerPrecios, VerRefProveedor, VerImprimirObservaciones, VerImprimirIncidencias);
Result := EnviarEMailMAPI(AAsunto, ATextoEMail, AFicheroTMP, '', '', AAlbaran.Proveedor.NOMBRE, AEMail, AEnviarDirectamente);
if Result then
_AnadirMarcaEnvioCorreo(AAlbaran);
@@ -1392,8 +1397,8 @@ begin
end;
procedure TAlbaranesProveedorController.GenerarEmailAlbaran(
- AAlbaran: IBizAlbaranProveedor; const VerPrecios: Boolean;
- const VerRefProveedor: Boolean);
+ AAlbaran: IBizAlbaranProveedor; const VerPrecios: Boolean; const VerRefProveedor: Boolean;
+ const VerImprimirObservaciones: Boolean; const VerImprimirIncidencias: Boolean);
begin
if not Assigned(AAlbaran) then
raise Exception.Create ('Albaranes no asignadas (GenerarEmailAlbaran)');
@@ -1407,7 +1412,7 @@ begin
RecuperarClienteFinal(AAlbaran);
EnviarAlbaranPorEMail(AAlbaran, False,
AAlbaran.Proveedor.EMAIL_ADMINISTRACION, '', '',
- VerPrecios, VerRefProveedor);
+ VerPrecios, VerRefProveedor, VerImprimirObservaciones, VerImprimirIncidencias);
finally
HideHourglassCursor;
end;
diff --git a/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorReportController.pas b/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorReportController.pas
index f0d722c..99ada4b 100644
--- a/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorReportController.pas
+++ b/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorReportController.pas
@@ -19,7 +19,8 @@ type
function ExportToWord(const AID: Integer; const AFileName : String = '';
const VerPrecios: Boolean = True; const VerRefProveedor: Boolean = True): Boolean;
function ExportToPDF(const AID: Integer; const AFileName : String = '';
- const VerPrecios: Boolean = True; const VerRefProveedor: Boolean = True): Boolean;
+ const VerPrecios: Boolean = True; const VerRefProveedor: Boolean = True;
+ const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False): Boolean;
end;
TAlbaranesProveedorReportController = class(TControllerBase, IAlbaranesProveedorReportController)
@@ -39,7 +40,8 @@ type
function ExportToWord(const AID: Integer; const AFileName : String = '';
const VerPrecios: Boolean = True; const VerRefProveedor: Boolean = True): Boolean;
function ExportToPDF(const AID: Integer; const AFileName : String = '';
- const VerPrecios: Boolean = True; const VerRefProveedor: Boolean = True): Boolean;
+ const VerPrecios: Boolean = True; const VerRefProveedor: Boolean = True;
+ const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False): Boolean;
end;
@@ -72,7 +74,8 @@ begin
end;
function TAlbaranesProveedorReportController.ExportToPDF(const AID: Integer; const AFileName : String = '';
- const VerPrecios: Boolean = True; const VerRefProveedor: Boolean = True): Boolean;
+ const VerPrecios: Boolean = True; const VerRefProveedor: Boolean = True;
+ const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False): Boolean;
var
AStream: Binary;
begin
@@ -82,7 +85,7 @@ begin
ShowHourglassCursor;
try
- AStream := FDataModule.GetRptPDFAlbaran(AID, VerPrecios, VerRefProveedor);
+ AStream := FDataModule.GetRptPDFAlbaran(AID, VerPrecios, VerRefProveedor, VerImprimirObservaciones, VerImprimirIncidencias);
try
AStream.SaveToFile(AFileName);
Result := True;
diff --git a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesProveedor.pas b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesProveedor.pas
index 4cfbd1f..0667848 100644
--- a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesProveedor.pas
+++ b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesProveedor.pas
@@ -111,7 +111,7 @@ begin
if ViewGrid.NumSeleccionados = 1 then begin
if ElegirOpcionesImpresionAlbaranProveedor(FImprimirPrecios, FImprimirRefProveedor, FVerObservaciones, FVerIncidencias) then
- FController.GenerarEmailAlbaran(FAlbaranes, FImprimirPrecios, FImprimirRefProveedor)
+ FController.GenerarEmailAlbaran(FAlbaranes, FImprimirPrecios, FImprimirRefProveedor, FVerObservaciones, FVerIncidencias)
end
else begin
ShowHourglassCursor;
@@ -121,8 +121,8 @@ begin
if Assigned(AAlbaranes) then begin
if ElegirOpcionesImpresionAlbaranProveedor(FImprimirPrecios, FImprimirRefProveedor, FVerObservaciones, FVerIncidencias) then
- if FController.EnviarEmailAlbaranes(AAlbaranes, FImprimirPrecios, FImprimirRefProveedor) then
- RefrescarInterno;
+ if FController.EnviarEmailAlbaranes(AAlbaranes, FImprimirPrecios, FImprimirRefProveedor) then
+ RefrescarInterno;
end;
finally
AAlbaranes := NIL;
diff --git a/Source/Modulos/Contactos/Controller/Contactos_controller.identcache b/Source/Modulos/Contactos/Controller/Contactos_controller.identcache
index 8ff2c49..ebe70e8 100644
Binary files a/Source/Modulos/Contactos/Controller/Contactos_controller.identcache and b/Source/Modulos/Contactos/Controller/Contactos_controller.identcache differ
diff --git a/Source/Modulos/Contactos/Model/Contactos_model.identcache b/Source/Modulos/Contactos/Model/Contactos_model.identcache
index 355b71d..c9dadca 100644
Binary files a/Source/Modulos/Contactos/Model/Contactos_model.identcache and b/Source/Modulos/Contactos/Model/Contactos_model.identcache differ
diff --git a/Source/Modulos/Contactos/Views/uEditorEmpleados.dfm b/Source/Modulos/Contactos/Views/uEditorEmpleados.dfm
index 271d023..578ed1d 100644
--- a/Source/Modulos/Contactos/Views/uEditorEmpleados.dfm
+++ b/Source/Modulos/Contactos/Views/uEditorEmpleados.dfm
@@ -48,7 +48,7 @@ inherited fEditorEmpleados: TfEditorEmpleados
Width = 786
ExplicitWidth = 786
inherited tbxMain: TTBXToolbar
- ExplicitWidth = 632
+ ExplicitWidth = 775
inherited TBXItem2: TTBXItem
ImageIndex = 22
Images = SmallImages
@@ -66,7 +66,7 @@ inherited fEditorEmpleados: TfEditorEmpleados
Left = 0
Top = 102
Width = 786
- Height = 323
+ Height = 383
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@@ -78,12 +78,12 @@ inherited fEditorEmpleados: TfEditorEmpleados
ReadOnly = False
ExplicitTop = 102
ExplicitWidth = 786
- ExplicitHeight = 323
+ ExplicitHeight = 383
inherited cxGrid: TcxGrid
Width = 786
- Height = 195
+ Height = 255
ExplicitWidth = 786
- ExplicitHeight = 195
+ ExplicitHeight = 255
inherited cxGridView: TcxGridDBTableView
DataController.Summary.FooterSummaryItems = <
item
@@ -103,19 +103,41 @@ inherited fEditorEmpleados: TfEditorEmpleados
Width = 786
ExplicitWidth = 786
inherited txtFiltroTodo: TcxTextEdit
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 689
Width = 689
end
inherited edtFechaIniFiltro: TcxDateEdit
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 290
Width = 290
end
inherited edtFechaFinFiltro: TcxDateEdit
- Left = 394
- ExplicitLeft = 394
+ Left = 324
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
+ ExplicitLeft = 324
ExplicitWidth = 382
Width = 382
end
+ inherited eLista: TcxComboBox
+ Left = 668
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
+ ExplicitLeft = 668
+ ExplicitWidth = 140
+ Width = 140
+ end
end
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 786
@@ -132,8 +154,8 @@ inherited fEditorEmpleados: TfEditorEmpleados
end
end
inherited pnlAgrupaciones: TTBXDockablePanel
- Top = 297
- ExplicitTop = 297
+ Top = 357
+ ExplicitTop = 357
ExplicitWidth = 786
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 786
diff --git a/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.dfm b/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.dfm
index 0684c81..218436a 100644
--- a/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.dfm
+++ b/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.dfm
@@ -244,6 +244,10 @@ inherited fEditorFacturaProveedor: TfEditorFacturaProveedor
object pagContenido: TTabSheet
Caption = 'Contenido'
ImageIndex = 1
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
inline frViewDetallesFacturaProveedor1: TfrViewDetallesFacturaProveedor
Left = 0
Top = 0
@@ -264,104 +268,108 @@ inherited fEditorFacturaProveedor: TfEditorFacturaProveedor
ExplicitHeight = 334
inherited ToolBar1: TToolBar
Width = 805
- Height = 78
+ Height = 46
ExplicitWidth = 805
- ExplicitHeight = 78
+ ExplicitHeight = 46
inherited ToolButton3: TToolButton
Wrap = False
end
inherited ToolButton4: TToolButton
Left = 278
Top = 0
+ Wrap = True
ExplicitLeft = 278
ExplicitTop = 0
end
- inherited ToolButton14: TToolButton [4]
- Left = 334
- Top = 0
- ExplicitLeft = 334
- ExplicitTop = 0
- end
- inherited FontName: TJvFontComboBox [5]
- Left = 399
- Top = 0
- ExplicitLeft = 399
- ExplicitTop = 0
- end
- inherited ToolButton13: TToolButton [6]
+ inherited ToolButton14: TToolButton
Left = 0
- Top = 0
- Wrap = True
+ Wrap = False
ExplicitLeft = 0
- ExplicitTop = 0
- ExplicitHeight = 27
end
- inherited ToolButton6: TToolButton [7]
- Left = 0
- Top = 27
- ExplicitLeft = 0
- ExplicitTop = 27
+ inherited FontName: TJvFontComboBox
+ Left = 65
+ Top = 22
+ ExplicitLeft = 65
+ ExplicitTop = 22
end
- inherited ToolButton7: TToolButton [8]
- Left = 66
- Top = 27
- ExplicitLeft = 66
- ExplicitTop = 27
- end
- inherited FontSize: TEdit [9]
- Left = 133
- Top = 27
+ inherited FontSize: TEdit
+ Left = 210
+ Top = 22
Width = 248
- ExplicitLeft = 133
- ExplicitTop = 27
+ ExplicitLeft = 210
+ ExplicitTop = 22
ExplicitWidth = 248
end
- inherited UpDown1: TUpDown [10]
- Left = 381
- Top = 27
- ExplicitLeft = 381
- ExplicitTop = 27
+ inherited UpDown1: TUpDown
+ Left = 458
+ Top = 22
+ ExplicitLeft = 458
+ ExplicitTop = 22
end
- inherited ToolButton8: TToolButton [11]
- Left = 398
- Top = 27
- ExplicitLeft = 398
- ExplicitTop = 27
+ inherited ToolButton13: TToolButton
+ Left = 475
+ Top = 22
+ ExplicitLeft = 475
+ ExplicitTop = 22
end
- inherited ToolButton12: TToolButton [12]
- Top = 27
- ExplicitTop = 27
+ inherited ToolButton6: TToolButton
+ Left = 483
+ Top = 22
+ ExplicitLeft = 483
+ ExplicitTop = 22
end
- inherited ToolButton9: TToolButton [13]
- Top = 54
- ExplicitTop = 54
+ inherited ToolButton7: TToolButton
+ Left = 549
+ Top = 22
+ ExplicitLeft = 549
+ ExplicitTop = 22
end
- inherited ToolButton10: TToolButton [14]
- Top = 54
- ExplicitTop = 54
+ inherited ToolButton8: TToolButton
+ Left = 616
+ Top = 22
+ ExplicitLeft = 616
+ ExplicitTop = 22
end
- inherited ToolButton11: TToolButton [15]
- Left = 270
- Top = 54
- ExplicitLeft = 270
- ExplicitTop = 54
+ inherited ToolButton12: TToolButton
+ Left = 699
+ Top = 22
+ ExplicitLeft = 699
+ ExplicitTop = 22
+ end
+ inherited ToolButton9: TToolButton
+ Left = 707
+ Top = 22
+ ExplicitLeft = 707
+ ExplicitTop = 22
+ end
+ inherited ToolButton10: TToolButton
+ Left = 852
+ Top = 22
+ ExplicitLeft = 852
+ ExplicitTop = 22
+ end
+ inherited ToolButton11: TToolButton
+ Left = 977
+ Top = 22
+ ExplicitLeft = 977
+ ExplicitTop = 22
end
end
inherited cxGrid: TcxGrid
- Top = 104
+ Top = 72
Width = 805
- Height = 230
+ Height = 262
ExplicitTop = 104
ExplicitWidth = 805
ExplicitHeight = 230
end
inherited TBXDock1: TTBXDock
- Top = 78
+ Top = 46
Width = 805
ExplicitTop = 78
ExplicitWidth = 805
inherited TBXToolbar1: TTBXToolbar
- ExplicitWidth = 523
+ ExplicitWidth = 566
end
end
inherited cxGridPopupMenu: TcxGridPopupMenu
@@ -407,6 +415,18 @@ inherited fEditorFacturaProveedor: TfEditorFacturaProveedor
inherited ToolBar1: TToolBar
Width = 805
ExplicitWidth = 805
+ inherited ToolButton1: TToolButton
+ ExplicitWidth = 113
+ end
+ inherited ToolButton4: TToolButton
+ ExplicitWidth = 113
+ end
+ inherited ToolButton2: TToolButton
+ ExplicitWidth = 113
+ end
+ inherited ToolButton7: TToolButton
+ ExplicitWidth = 113
+ end
end
end
end
diff --git a/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.pas b/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.pas
index 9563481..6331e4f 100644
--- a/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.pas
+++ b/Source/Modulos/Facturas de proveedor/Views/uEditorFacturaProveedor.pas
@@ -298,6 +298,7 @@ begin
// Si la factura tiene detalles hay que mirar si los descuentos y otros campos
// para los artículos hay que cambiarlos.
if (FFactura.Detalles.RecordCount > 0) then
+ if (Application.MessageBox('¿Desea actualizar los artículos de la factura para el nuevo proveedor asignado?, este proceso recuperará los descuentos, portes,... de cada articulo para el nuevo proveedor asignado', 'Atención', MB_YESNO) = IDYES) then
FController.DetallesController.ActualizarDetalles(FFactura.Detalles, FFactura.Proveedor);
// Si la factura tiene pedidos asociados hay que mirar si pertenecen al proveedor seleccionado si no es así se eliminan
diff --git a/Source/Modulos/Facturas proforma/Data/uDataModuleFacturasProforma.dfm b/Source/Modulos/Facturas proforma/Data/uDataModuleFacturasProforma.dfm
index 72b3946..e40d038 100644
--- a/Source/Modulos/Facturas proforma/Data/uDataModuleFacturasProforma.dfm
+++ b/Source/Modulos/Facturas proforma/Data/uDataModuleFacturasProforma.dfm
@@ -247,24 +247,10 @@ inherited DataModuleFacturasProforma: TDataModuleFacturasProforma
DisplayLabel = 'FacturasProforma_DATOS_BANCARIOS'
DictionaryEntry = 'FacturasProforma_DATOS_BANCARIOS'
end
- item
- Name = 'ID_PRESUPUESTO'
- DataType = datInteger
- end
item
Name = 'ID_PEDIDO'
DataType = datInteger
end
- item
- Name = 'REF_PRE_CLIENTE'
- DataType = datString
- Size = 255
- end
- item
- Name = 'REF_PRE_DEL_CLIENTE'
- DataType = datString
- Size = 255
- end
item
Name = 'REF_PED_CLIENTE'
DataType = datString
diff --git a/Source/Modulos/Facturas proforma/Model/schFacturasProformaClient_Intf.pas b/Source/Modulos/Facturas proforma/Model/schFacturasProformaClient_Intf.pas
index 63dd7b5..1a7acf0 100644
--- a/Source/Modulos/Facturas proforma/Model/schFacturasProformaClient_Intf.pas
+++ b/Source/Modulos/Facturas proforma/Model/schFacturasProformaClient_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 = '{31F8BCB0-2BC6-4297-8F45-C4B217F56AAE}';
- RID_FacturasProforma = '{2D2B0415-8CD2-4555-86D9-AF79E9D1F1FB}';
- RID_FacturasProforma_Detalles = '{2DD39878-271E-4EB0-B8AB-A42D50E7B4F4}';
+ RID_ListaAnosFacturas = '{C07477E3-DFAA-4928-9623-0F9488F89FF8}';
+ RID_FacturasProforma = '{C8443E2E-4CEC-4DB5-9EA2-FDCA4CFFDC43}';
+ RID_FacturasProforma_Detalles = '{71350221-3488-4DC9-946E-C6F633DBDB72}';
{ Data table names }
nme_ListaAnosFacturas = 'ListaAnosFacturas';
@@ -60,10 +60,7 @@ const
fld_FacturasProformaNUM_COPIAS = 'NUM_COPIAS';
fld_FacturasProformaNUM_CORREOS = 'NUM_CORREOS';
fld_FacturasProformaDATOS_BANCARIOS = 'DATOS_BANCARIOS';
- fld_FacturasProformaID_PRESUPUESTO = 'ID_PRESUPUESTO';
fld_FacturasProformaID_PEDIDO = 'ID_PEDIDO';
- fld_FacturasProformaREF_PRE_CLIENTE = 'REF_PRE_CLIENTE';
- fld_FacturasProformaREF_PRE_DEL_CLIENTE = 'REF_PRE_DEL_CLIENTE';
fld_FacturasProformaREF_PED_CLIENTE = 'REF_PED_CLIENTE';
fld_FacturasProformaREF_PED_DEL_CLIENTE = 'REF_PED_DEL_CLIENTE';
fld_FacturasProformaPAIS = 'PAIS';
@@ -104,13 +101,10 @@ const
idx_FacturasProformaNUM_COPIAS = 32;
idx_FacturasProformaNUM_CORREOS = 33;
idx_FacturasProformaDATOS_BANCARIOS = 34;
- idx_FacturasProformaID_PRESUPUESTO = 35;
- idx_FacturasProformaID_PEDIDO = 36;
- idx_FacturasProformaREF_PRE_CLIENTE = 37;
- idx_FacturasProformaREF_PRE_DEL_CLIENTE = 38;
- idx_FacturasProformaREF_PED_CLIENTE = 39;
- idx_FacturasProformaREF_PED_DEL_CLIENTE = 40;
- idx_FacturasProformaPAIS = 41;
+ idx_FacturasProformaID_PEDIDO = 35;
+ idx_FacturasProformaREF_PED_CLIENTE = 36;
+ idx_FacturasProformaREF_PED_DEL_CLIENTE = 37;
+ idx_FacturasProformaPAIS = 38;
{ FacturasProforma_Detalles fields }
fld_FacturasProforma_DetallesID = 'ID';
@@ -149,7 +143,7 @@ const
type
{ IListaAnosFacturas }
IListaAnosFacturas = interface(IDAStronglyTypedDataTable)
- ['{9CA99185-FDE8-41CF-A326-883134732D83}']
+ ['{65A7B080-4D1A-4C9B-A507-B2581E9A86C5}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
@@ -184,7 +178,7 @@ type
{ IFacturasProforma }
IFacturasProforma = interface(IDAStronglyTypedDataTable)
- ['{2717FC1C-C9A6-47F6-BCF5-41F09A541928}']
+ ['{CD6B212B-7BDC-4707-A089-9BBDC228F6D0}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -325,22 +319,10 @@ type
procedure SetDATOS_BANCARIOSValue(const aValue: String);
function GetDATOS_BANCARIOSIsNull: Boolean;
procedure SetDATOS_BANCARIOSIsNull(const aValue: Boolean);
- function GetID_PRESUPUESTOValue: Integer;
- procedure SetID_PRESUPUESTOValue(const aValue: Integer);
- function GetID_PRESUPUESTOIsNull: Boolean;
- procedure SetID_PRESUPUESTOIsNull(const aValue: Boolean);
function GetID_PEDIDOValue: Integer;
procedure SetID_PEDIDOValue(const aValue: Integer);
function GetID_PEDIDOIsNull: Boolean;
procedure SetID_PEDIDOIsNull(const aValue: Boolean);
- function GetREF_PRE_CLIENTEValue: String;
- procedure SetREF_PRE_CLIENTEValue(const aValue: String);
- function GetREF_PRE_CLIENTEIsNull: Boolean;
- procedure SetREF_PRE_CLIENTEIsNull(const aValue: Boolean);
- function GetREF_PRE_DEL_CLIENTEValue: String;
- procedure SetREF_PRE_DEL_CLIENTEValue(const aValue: String);
- function GetREF_PRE_DEL_CLIENTEIsNull: Boolean;
- procedure SetREF_PRE_DEL_CLIENTEIsNull(const aValue: Boolean);
function GetREF_PED_CLIENTEValue: String;
procedure SetREF_PED_CLIENTEValue(const aValue: String);
function GetREF_PED_CLIENTEIsNull: Boolean;
@@ -426,14 +408,8 @@ type
property NUM_CORREOSIsNull: Boolean read GetNUM_CORREOSIsNull write SetNUM_CORREOSIsNull;
property DATOS_BANCARIOS: String read GetDATOS_BANCARIOSValue write SetDATOS_BANCARIOSValue;
property DATOS_BANCARIOSIsNull: Boolean read GetDATOS_BANCARIOSIsNull write SetDATOS_BANCARIOSIsNull;
- property ID_PRESUPUESTO: Integer read GetID_PRESUPUESTOValue write SetID_PRESUPUESTOValue;
- property ID_PRESUPUESTOIsNull: Boolean read GetID_PRESUPUESTOIsNull write SetID_PRESUPUESTOIsNull;
property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
property ID_PEDIDOIsNull: Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
- property REF_PRE_CLIENTE: String read GetREF_PRE_CLIENTEValue write SetREF_PRE_CLIENTEValue;
- property REF_PRE_CLIENTEIsNull: Boolean read GetREF_PRE_CLIENTEIsNull write SetREF_PRE_CLIENTEIsNull;
- property REF_PRE_DEL_CLIENTE: String read GetREF_PRE_DEL_CLIENTEValue write SetREF_PRE_DEL_CLIENTEValue;
- property REF_PRE_DEL_CLIENTEIsNull: Boolean read GetREF_PRE_DEL_CLIENTEIsNull write SetREF_PRE_DEL_CLIENTEIsNull;
property REF_PED_CLIENTE: String read GetREF_PED_CLIENTEValue write SetREF_PED_CLIENTEValue;
property REF_PED_CLIENTEIsNull: Boolean read GetREF_PED_CLIENTEIsNull write SetREF_PED_CLIENTEIsNull;
property REF_PED_DEL_CLIENTE: String read GetREF_PED_DEL_CLIENTEValue write SetREF_PED_DEL_CLIENTEValue;
@@ -588,22 +564,10 @@ type
procedure SetDATOS_BANCARIOSValue(const aValue: String); virtual;
function GetDATOS_BANCARIOSIsNull: Boolean; virtual;
procedure SetDATOS_BANCARIOSIsNull(const aValue: Boolean); virtual;
- function GetID_PRESUPUESTOValue: Integer; virtual;
- procedure SetID_PRESUPUESTOValue(const aValue: Integer); virtual;
- function GetID_PRESUPUESTOIsNull: Boolean; virtual;
- procedure SetID_PRESUPUESTOIsNull(const aValue: Boolean); virtual;
function GetID_PEDIDOValue: Integer; virtual;
procedure SetID_PEDIDOValue(const aValue: Integer); virtual;
function GetID_PEDIDOIsNull: Boolean; virtual;
procedure SetID_PEDIDOIsNull(const aValue: Boolean); virtual;
- function GetREF_PRE_CLIENTEValue: String; virtual;
- procedure SetREF_PRE_CLIENTEValue(const aValue: String); virtual;
- function GetREF_PRE_CLIENTEIsNull: Boolean; virtual;
- procedure SetREF_PRE_CLIENTEIsNull(const aValue: Boolean); virtual;
- function GetREF_PRE_DEL_CLIENTEValue: String; virtual;
- procedure SetREF_PRE_DEL_CLIENTEValue(const aValue: String); virtual;
- function GetREF_PRE_DEL_CLIENTEIsNull: Boolean; virtual;
- procedure SetREF_PRE_DEL_CLIENTEIsNull(const aValue: Boolean); virtual;
function GetREF_PED_CLIENTEValue: String; virtual;
procedure SetREF_PED_CLIENTEValue(const aValue: String); virtual;
function GetREF_PED_CLIENTEIsNull: Boolean; virtual;
@@ -688,14 +652,8 @@ type
property NUM_CORREOSIsNull: Boolean read GetNUM_CORREOSIsNull write SetNUM_CORREOSIsNull;
property DATOS_BANCARIOS: String read GetDATOS_BANCARIOSValue write SetDATOS_BANCARIOSValue;
property DATOS_BANCARIOSIsNull: Boolean read GetDATOS_BANCARIOSIsNull write SetDATOS_BANCARIOSIsNull;
- property ID_PRESUPUESTO: Integer read GetID_PRESUPUESTOValue write SetID_PRESUPUESTOValue;
- property ID_PRESUPUESTOIsNull: Boolean read GetID_PRESUPUESTOIsNull write SetID_PRESUPUESTOIsNull;
property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
property ID_PEDIDOIsNull: Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
- property REF_PRE_CLIENTE: String read GetREF_PRE_CLIENTEValue write SetREF_PRE_CLIENTEValue;
- property REF_PRE_CLIENTEIsNull: Boolean read GetREF_PRE_CLIENTEIsNull write SetREF_PRE_CLIENTEIsNull;
- property REF_PRE_DEL_CLIENTE: String read GetREF_PRE_DEL_CLIENTEValue write SetREF_PRE_DEL_CLIENTEValue;
- property REF_PRE_DEL_CLIENTEIsNull: Boolean read GetREF_PRE_DEL_CLIENTEIsNull write SetREF_PRE_DEL_CLIENTEIsNull;
property REF_PED_CLIENTE: String read GetREF_PED_CLIENTEValue write SetREF_PED_CLIENTEValue;
property REF_PED_CLIENTEIsNull: Boolean read GetREF_PED_CLIENTEIsNull write SetREF_PED_CLIENTEIsNull;
property REF_PED_DEL_CLIENTE: String read GetREF_PED_DEL_CLIENTEValue write SetREF_PED_DEL_CLIENTEValue;
@@ -711,7 +669,7 @@ type
{ IFacturasProforma_Detalles }
IFacturasProforma_Detalles = interface(IDAStronglyTypedDataTable)
- ['{9A004E54-50AF-4329-8CE8-609B019C6A57}']
+ ['{AFBCA8A1-570F-4447-B809-158F1F1BE98A}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -1702,27 +1660,6 @@ begin
DataTable.Fields[idx_FacturasProformaDATOS_BANCARIOS].AsVariant := Null;
end;
-function TFacturasProformaDataTableRules.GetID_PRESUPUESTOValue: Integer;
-begin
- result := DataTable.Fields[idx_FacturasProformaID_PRESUPUESTO].AsInteger;
-end;
-
-procedure TFacturasProformaDataTableRules.SetID_PRESUPUESTOValue(const aValue: Integer);
-begin
- DataTable.Fields[idx_FacturasProformaID_PRESUPUESTO].AsInteger := aValue;
-end;
-
-function TFacturasProformaDataTableRules.GetID_PRESUPUESTOIsNull: boolean;
-begin
- result := DataTable.Fields[idx_FacturasProformaID_PRESUPUESTO].IsNull;
-end;
-
-procedure TFacturasProformaDataTableRules.SetID_PRESUPUESTOIsNull(const aValue: Boolean);
-begin
- if aValue then
- DataTable.Fields[idx_FacturasProformaID_PRESUPUESTO].AsVariant := Null;
-end;
-
function TFacturasProformaDataTableRules.GetID_PEDIDOValue: Integer;
begin
result := DataTable.Fields[idx_FacturasProformaID_PEDIDO].AsInteger;
@@ -1744,48 +1681,6 @@ begin
DataTable.Fields[idx_FacturasProformaID_PEDIDO].AsVariant := Null;
end;
-function TFacturasProformaDataTableRules.GetREF_PRE_CLIENTEValue: String;
-begin
- result := DataTable.Fields[idx_FacturasProformaREF_PRE_CLIENTE].AsString;
-end;
-
-procedure TFacturasProformaDataTableRules.SetREF_PRE_CLIENTEValue(const aValue: String);
-begin
- DataTable.Fields[idx_FacturasProformaREF_PRE_CLIENTE].AsString := aValue;
-end;
-
-function TFacturasProformaDataTableRules.GetREF_PRE_CLIENTEIsNull: boolean;
-begin
- result := DataTable.Fields[idx_FacturasProformaREF_PRE_CLIENTE].IsNull;
-end;
-
-procedure TFacturasProformaDataTableRules.SetREF_PRE_CLIENTEIsNull(const aValue: Boolean);
-begin
- if aValue then
- DataTable.Fields[idx_FacturasProformaREF_PRE_CLIENTE].AsVariant := Null;
-end;
-
-function TFacturasProformaDataTableRules.GetREF_PRE_DEL_CLIENTEValue: String;
-begin
- result := DataTable.Fields[idx_FacturasProformaREF_PRE_DEL_CLIENTE].AsString;
-end;
-
-procedure TFacturasProformaDataTableRules.SetREF_PRE_DEL_CLIENTEValue(const aValue: String);
-begin
- DataTable.Fields[idx_FacturasProformaREF_PRE_DEL_CLIENTE].AsString := aValue;
-end;
-
-function TFacturasProformaDataTableRules.GetREF_PRE_DEL_CLIENTEIsNull: boolean;
-begin
- result := DataTable.Fields[idx_FacturasProformaREF_PRE_DEL_CLIENTE].IsNull;
-end;
-
-procedure TFacturasProformaDataTableRules.SetREF_PRE_DEL_CLIENTEIsNull(const aValue: Boolean);
-begin
- if aValue then
- DataTable.Fields[idx_FacturasProformaREF_PRE_DEL_CLIENTE].AsVariant := Null;
-end;
-
function TFacturasProformaDataTableRules.GetREF_PED_CLIENTEValue: String;
begin
result := DataTable.Fields[idx_FacturasProformaREF_PED_CLIENTE].AsString;
diff --git a/Source/Modulos/Facturas proforma/Model/schFacturasProformaServer_Intf.pas b/Source/Modulos/Facturas proforma/Model/schFacturasProformaServer_Intf.pas
index be819f4..e073cd3 100644
--- a/Source/Modulos/Facturas proforma/Model/schFacturasProformaServer_Intf.pas
+++ b/Source/Modulos/Facturas proforma/Model/schFacturasProformaServer_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 = '{AD113743-D9AE-49D3-AEA2-12056CFA317B}';
- RID_FacturasProformaDelta = '{6961A790-8A15-45AE-BD06-5160176D59D3}';
- RID_FacturasProforma_DetallesDelta = '{6A56A056-8788-4A5F-8C3E-3517B9192B20}';
+ RID_ListaAnosFacturasDelta = '{559A3269-C65F-45A6-9958-1A24253394E4}';
+ RID_FacturasProformaDelta = '{FCECC31C-99B8-443B-A9F2-55F13CA43D3B}';
+ RID_FacturasProforma_DetallesDelta = '{C4DEE777-8EAD-43DC-96E4-DC26AC4D74FF}';
type
{ IListaAnosFacturasDelta }
IListaAnosFacturasDelta = interface(IListaAnosFacturas)
- ['{AD113743-D9AE-49D3-AEA2-12056CFA317B}']
+ ['{559A3269-C65F-45A6-9958-1A24253394E4}']
{ Property getters and setters }
function GetOldANOValue : String;
@@ -50,7 +50,7 @@ type
{ IFacturasProformaDelta }
IFacturasProformaDelta = interface(IFacturasProforma)
- ['{6961A790-8A15-45AE-BD06-5160176D59D3}']
+ ['{FCECC31C-99B8-443B-A9F2-55F13CA43D3B}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@@ -87,10 +87,7 @@ type
function GetOldNUM_COPIASValue : SmallInt;
function GetOldNUM_CORREOSValue : SmallInt;
function GetOldDATOS_BANCARIOSValue : String;
- function GetOldID_PRESUPUESTOValue : Integer;
function GetOldID_PEDIDOValue : Integer;
- function GetOldREF_PRE_CLIENTEValue : String;
- function GetOldREF_PRE_DEL_CLIENTEValue : String;
function GetOldREF_PED_CLIENTEValue : String;
function GetOldREF_PED_DEL_CLIENTEValue : String;
function GetOldPAISValue : String;
@@ -131,10 +128,7 @@ type
property OldNUM_COPIAS : SmallInt read GetOldNUM_COPIASValue;
property OldNUM_CORREOS : SmallInt read GetOldNUM_CORREOSValue;
property OldDATOS_BANCARIOS : String read GetOldDATOS_BANCARIOSValue;
- property OldID_PRESUPUESTO : Integer read GetOldID_PRESUPUESTOValue;
property OldID_PEDIDO : Integer read GetOldID_PEDIDOValue;
- property OldREF_PRE_CLIENTE : String read GetOldREF_PRE_CLIENTEValue;
- property OldREF_PRE_DEL_CLIENTE : String read GetOldREF_PRE_DEL_CLIENTEValue;
property OldREF_PED_CLIENTE : String read GetOldREF_PED_CLIENTEValue;
property OldREF_PED_DEL_CLIENTE : String read GetOldREF_PED_DEL_CLIENTEValue;
property OldPAIS : String read GetOldPAISValue;
@@ -356,30 +350,12 @@ type
function GetOldDATOS_BANCARIOSIsNull: Boolean; virtual;
procedure SetDATOS_BANCARIOSValue(const aValue: String); virtual;
procedure SetDATOS_BANCARIOSIsNull(const aValue: Boolean); virtual;
- function GetID_PRESUPUESTOValue: Integer; virtual;
- function GetID_PRESUPUESTOIsNull: Boolean; virtual;
- function GetOldID_PRESUPUESTOValue: Integer; virtual;
- function GetOldID_PRESUPUESTOIsNull: Boolean; virtual;
- procedure SetID_PRESUPUESTOValue(const aValue: Integer); virtual;
- procedure SetID_PRESUPUESTOIsNull(const aValue: Boolean); virtual;
function GetID_PEDIDOValue: Integer; virtual;
function GetID_PEDIDOIsNull: Boolean; virtual;
function GetOldID_PEDIDOValue: Integer; virtual;
function GetOldID_PEDIDOIsNull: Boolean; virtual;
procedure SetID_PEDIDOValue(const aValue: Integer); virtual;
procedure SetID_PEDIDOIsNull(const aValue: Boolean); virtual;
- function GetREF_PRE_CLIENTEValue: String; virtual;
- function GetREF_PRE_CLIENTEIsNull: Boolean; virtual;
- function GetOldREF_PRE_CLIENTEValue: String; virtual;
- function GetOldREF_PRE_CLIENTEIsNull: Boolean; virtual;
- procedure SetREF_PRE_CLIENTEValue(const aValue: String); virtual;
- procedure SetREF_PRE_CLIENTEIsNull(const aValue: Boolean); virtual;
- function GetREF_PRE_DEL_CLIENTEValue: String; virtual;
- function GetREF_PRE_DEL_CLIENTEIsNull: Boolean; virtual;
- function GetOldREF_PRE_DEL_CLIENTEValue: String; virtual;
- function GetOldREF_PRE_DEL_CLIENTEIsNull: Boolean; virtual;
- procedure SetREF_PRE_DEL_CLIENTEValue(const aValue: String); virtual;
- procedure SetREF_PRE_DEL_CLIENTEIsNull(const aValue: Boolean); virtual;
function GetREF_PED_CLIENTEValue: String; virtual;
function GetREF_PED_CLIENTEIsNull: Boolean; virtual;
function GetOldREF_PED_CLIENTEValue: String; virtual;
@@ -540,22 +516,10 @@ type
property DATOS_BANCARIOSIsNull : Boolean read GetDATOS_BANCARIOSIsNull write SetDATOS_BANCARIOSIsNull;
property OldDATOS_BANCARIOS : String read GetOldDATOS_BANCARIOSValue;
property OldDATOS_BANCARIOSIsNull : Boolean read GetOldDATOS_BANCARIOSIsNull;
- property ID_PRESUPUESTO : Integer read GetID_PRESUPUESTOValue write SetID_PRESUPUESTOValue;
- property ID_PRESUPUESTOIsNull : Boolean read GetID_PRESUPUESTOIsNull write SetID_PRESUPUESTOIsNull;
- property OldID_PRESUPUESTO : Integer read GetOldID_PRESUPUESTOValue;
- property OldID_PRESUPUESTOIsNull : Boolean read GetOldID_PRESUPUESTOIsNull;
property ID_PEDIDO : Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
property ID_PEDIDOIsNull : Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
property OldID_PEDIDO : Integer read GetOldID_PEDIDOValue;
property OldID_PEDIDOIsNull : Boolean read GetOldID_PEDIDOIsNull;
- property REF_PRE_CLIENTE : String read GetREF_PRE_CLIENTEValue write SetREF_PRE_CLIENTEValue;
- property REF_PRE_CLIENTEIsNull : Boolean read GetREF_PRE_CLIENTEIsNull write SetREF_PRE_CLIENTEIsNull;
- property OldREF_PRE_CLIENTE : String read GetOldREF_PRE_CLIENTEValue;
- property OldREF_PRE_CLIENTEIsNull : Boolean read GetOldREF_PRE_CLIENTEIsNull;
- property REF_PRE_DEL_CLIENTE : String read GetREF_PRE_DEL_CLIENTEValue write SetREF_PRE_DEL_CLIENTEValue;
- property REF_PRE_DEL_CLIENTEIsNull : Boolean read GetREF_PRE_DEL_CLIENTEIsNull write SetREF_PRE_DEL_CLIENTEIsNull;
- property OldREF_PRE_DEL_CLIENTE : String read GetOldREF_PRE_DEL_CLIENTEValue;
- property OldREF_PRE_DEL_CLIENTEIsNull : Boolean read GetOldREF_PRE_DEL_CLIENTEIsNull;
property REF_PED_CLIENTE : String read GetREF_PED_CLIENTEValue write SetREF_PED_CLIENTEValue;
property REF_PED_CLIENTEIsNull : Boolean read GetREF_PED_CLIENTEIsNull write SetREF_PED_CLIENTEIsNull;
property OldREF_PED_CLIENTE : String read GetOldREF_PED_CLIENTEValue;
@@ -577,7 +541,7 @@ type
{ IFacturasProforma_DetallesDelta }
IFacturasProforma_DetallesDelta = interface(IFacturasProforma_Detalles)
- ['{6A56A056-8788-4A5F-8C3E-3517B9192B20}']
+ ['{C4DEE777-8EAD-43DC-96E4-DC26AC4D74FF}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_FACTURAValue : Integer;
@@ -1929,37 +1893,6 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaDATOS_BANCARIOS] := Null;
end;
-function TFacturasProformaBusinessProcessorRules.GetID_PRESUPUESTOValue: Integer;
-begin
- result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaID_PRESUPUESTO];
-end;
-
-function TFacturasProformaBusinessProcessorRules.GetID_PRESUPUESTOIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaID_PRESUPUESTO]);
-end;
-
-function TFacturasProformaBusinessProcessorRules.GetOldID_PRESUPUESTOValue: Integer;
-begin
- result := BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasProformaID_PRESUPUESTO];
-end;
-
-function TFacturasProformaBusinessProcessorRules.GetOldID_PRESUPUESTOIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasProformaID_PRESUPUESTO]);
-end;
-
-procedure TFacturasProformaBusinessProcessorRules.SetID_PRESUPUESTOValue(const aValue: Integer);
-begin
- BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaID_PRESUPUESTO] := aValue;
-end;
-
-procedure TFacturasProformaBusinessProcessorRules.SetID_PRESUPUESTOIsNull(const aValue: Boolean);
-begin
- if aValue then
- BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaID_PRESUPUESTO] := Null;
-end;
-
function TFacturasProformaBusinessProcessorRules.GetID_PEDIDOValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaID_PEDIDO];
@@ -1991,68 +1924,6 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaID_PEDIDO] := Null;
end;
-function TFacturasProformaBusinessProcessorRules.GetREF_PRE_CLIENTEValue: String;
-begin
- result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREF_PRE_CLIENTE];
-end;
-
-function TFacturasProformaBusinessProcessorRules.GetREF_PRE_CLIENTEIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREF_PRE_CLIENTE]);
-end;
-
-function TFacturasProformaBusinessProcessorRules.GetOldREF_PRE_CLIENTEValue: String;
-begin
- result := BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasProformaREF_PRE_CLIENTE];
-end;
-
-function TFacturasProformaBusinessProcessorRules.GetOldREF_PRE_CLIENTEIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasProformaREF_PRE_CLIENTE]);
-end;
-
-procedure TFacturasProformaBusinessProcessorRules.SetREF_PRE_CLIENTEValue(const aValue: String);
-begin
- BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREF_PRE_CLIENTE] := aValue;
-end;
-
-procedure TFacturasProformaBusinessProcessorRules.SetREF_PRE_CLIENTEIsNull(const aValue: Boolean);
-begin
- if aValue then
- BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREF_PRE_CLIENTE] := Null;
-end;
-
-function TFacturasProformaBusinessProcessorRules.GetREF_PRE_DEL_CLIENTEValue: String;
-begin
- result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREF_PRE_DEL_CLIENTE];
-end;
-
-function TFacturasProformaBusinessProcessorRules.GetREF_PRE_DEL_CLIENTEIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREF_PRE_DEL_CLIENTE]);
-end;
-
-function TFacturasProformaBusinessProcessorRules.GetOldREF_PRE_DEL_CLIENTEValue: String;
-begin
- result := BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasProformaREF_PRE_DEL_CLIENTE];
-end;
-
-function TFacturasProformaBusinessProcessorRules.GetOldREF_PRE_DEL_CLIENTEIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasProformaREF_PRE_DEL_CLIENTE]);
-end;
-
-procedure TFacturasProformaBusinessProcessorRules.SetREF_PRE_DEL_CLIENTEValue(const aValue: String);
-begin
- BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREF_PRE_DEL_CLIENTE] := aValue;
-end;
-
-procedure TFacturasProformaBusinessProcessorRules.SetREF_PRE_DEL_CLIENTEIsNull(const aValue: Boolean);
-begin
- if aValue then
- BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREF_PRE_DEL_CLIENTE] := Null;
-end;
-
function TFacturasProformaBusinessProcessorRules.GetREF_PED_CLIENTEValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasProformaREF_PED_CLIENTE];
diff --git a/Source/Modulos/Facturas proforma/Reports/uRptFacturasProforma_Server.dfm b/Source/Modulos/Facturas proforma/Reports/uRptFacturasProforma_Server.dfm
index 2827598..2867bac 100644
--- a/Source/Modulos/Facturas proforma/Reports/uRptFacturasProforma_Server.dfm
+++ b/Source/Modulos/Facturas proforma/Reports/uRptFacturasProforma_Server.dfm
@@ -28,11 +28,11 @@ object RptFacturasProforma: TRptFacturasProforma
'A, V.FECHA_MODIFICACION, V.USUARIO,'#10' V.ID_FORMA_PAGO, V.RECAR' +
'GO_EQUIVALENCIA, V.ID_TIPO_IVA, V.IMPORTE_NETO,'#10' V.IMPORTE_PO' +
'RTE, V.NUM_COPIAS, V.NUM_CORREOS, V.DATOS_BANCARIOS,'#10' F.DESCR' +
- 'IPCION as FORMA_PAGO,'#10' CONTACTOS.IDIOMA_ISO, V.PAIS,'#10#10' COA' +
- 'LESCE(REF_PRE_DEL_CLIENTE, REF_PED_DEL_CLIENTE) as REFERENCIA_DE' +
- 'L_CLIENTE'#10#10' FROM'#10' V_FACTURAS_PROFORMA V'#10'LEFT JOIN FORMAS_PAG' +
- 'O F ON (F.ID = V.ID_FORMA_PAGO)'#10'LEFT JOIN CONTACTOS ON (CONTACTO' +
- 'S.ID = V.ID_CLIENTE)'#10'WHERE V.ID = :ID'#10
+ 'IPCION as FORMA_PAGO,'#10' CONTACTOS.IDIOMA_ISO, V.PAIS,'#10#10' REF' +
+ '_PED_DEL_CLIENTE as REFERENCIA_DEL_CLIENTE'#10#10' FROM'#10' V_FACTURA' +
+ 'S_PROFORMA V'#10'LEFT JOIN FORMAS_PAGO F ON (F.ID = V.ID_FORMA_PAGO)' +
+ #10'LEFT JOIN CONTACTOS ON (CONTACTOS.ID = V.ID_CLIENTE)'#10'WHERE V.ID' +
+ ' = :ID'#10
StatementType = stSQL
ColumnMappings = <
item
diff --git a/Source/Modulos/Facturas proforma/Servidor/srvFacturasProforma_Impl.dfm b/Source/Modulos/Facturas proforma/Servidor/srvFacturasProforma_Impl.dfm
index 03fb75c..f6a121c 100644
--- a/Source/Modulos/Facturas proforma/Servidor/srvFacturasProforma_Impl.dfm
+++ b/Source/Modulos/Facturas proforma/Servidor/srvFacturasProforma_Impl.dfm
@@ -188,10 +188,6 @@ object srvFacturasProforma: TsrvFacturasProforma
DatasetField = 'DATOS_BANCARIOS'
TableField = 'DATOS_BANCARIOS'
end
- item
- DatasetField = 'ID_PRESUPUESTO'
- TableField = 'ID_PRESUPUESTO'
- end
item
DatasetField = 'PAIS'
TableField = 'PAIS'
@@ -200,14 +196,6 @@ object srvFacturasProforma: TsrvFacturasProforma
DatasetField = 'ID_PEDIDO'
TableField = 'ID_PEDIDO'
end
- item
- DatasetField = 'REF_PRE_CLIENTE'
- TableField = 'REF_PRE_CLIENTE'
- end
- item
- DatasetField = 'REF_PRE_DEL_CLIENTE'
- TableField = 'REF_PRE_DEL_CLIENTE'
- end
item
DatasetField = 'REF_PED_CLIENTE'
TableField = 'REF_PED_CLIENTE'
@@ -408,24 +396,10 @@ object srvFacturasProforma: TsrvFacturasProforma
Size = 255
DictionaryEntry = 'FacturasProforma_DATOS_BANCARIOS'
end
- item
- Name = 'ID_PRESUPUESTO'
- DataType = datInteger
- end
item
Name = 'ID_PEDIDO'
DataType = datInteger
end
- item
- Name = 'REF_PRE_CLIENTE'
- DataType = datString
- Size = 255
- end
- item
- Name = 'REF_PRE_DEL_CLIENTE'
- DataType = datString
- Size = 255
- end
item
Name = 'REF_PED_CLIENTE'
DataType = datString
@@ -1011,11 +985,6 @@ object srvFacturasProforma: TsrvFacturasProforma
Size = 255
Value = ''
end
- item
- Name = 'ID_PRESUPUESTO'
- DataType = datInteger
- Value = ''
- end
item
Name = 'ID_PEDIDO'
DataType = datInteger
@@ -1036,18 +1005,17 @@ object srvFacturasProforma: TsrvFacturasProforma
'N,'#10' PROVINCIA,'#10' CODIGO_POSTAL,'#10' FECHA_ALTA,'#10' FECHA_M' +
'ODIFICACION,'#10' USUARIO,'#10' ID_FORMA_PAGO,'#10' RECARGO_EQUIVAL' +
'ENCIA,'#10' ID_TIPO_IVA,'#10' IMPORTE_NETO,'#10' IMPORTE_PORTE,'#10' ' +
- ' DATOS_BANCARIOS,'#10' PAIS,'#10' ID_PRESUPUESTO,'#10' ID_PEDIDO'#10' ' +
- ' )'#10' VALUES ('#10' :ID,'#10' :ID_EMPRESA,'#10' :REFERENCIA,'#10' :F' +
- 'ECHA_FACTURA,'#10' :FECHA_VENCIMIENTO,'#10' :SITUACION,'#10' :BASE_' +
- 'IMPONIBLE,'#10' :DESCUENTO,'#10' :IMPORTE_DESCUENTO,'#10' :DESCRIPC' +
- 'ION_DESCUENTO,'#10' :IVA,'#10' :IMPORTE_IVA,'#10' :RE,'#10' :IMPORTE' +
- '_RE,'#10' :IMPORTE_TOTAL,'#10' :OBSERVACIONES,'#10' :ID_CLIENTE,'#10' ' +
- ' :NIF_CIF,'#10' :NOMBRE,'#10' :ID_DIRECCION,'#10' :CALLE,'#10' :POB' +
- 'LACION,'#10' :PROVINCIA,'#10' :CODIGO_POSTAL,'#10' :FECHA_ALTA,'#10' ' +
- ' :FECHA_MODIFICACION,'#10' :USUARIO,'#10' :ID_FORMA_PAGO,'#10' :REC' +
- 'ARGO_EQUIVALENCIA,'#10' :ID_TIPO_IVA,'#10' :IMPORTE_NETO,'#10' :IMP' +
- 'ORTE_PORTE,'#10' :DATOS_BANCARIOS,'#10' :PAIS,'#10' :ID_PRESUPUESTO' +
- ','#10' :ID_PEDIDO);'#10
+ ' DATOS_BANCARIOS,'#10' PAIS,'#10' ID_PEDIDO'#10' )'#10' VALUES ('#10' :' +
+ 'ID,'#10' :ID_EMPRESA,'#10' :REFERENCIA,'#10' :FECHA_FACTURA,'#10' :F' +
+ 'ECHA_VENCIMIENTO,'#10' :SITUACION,'#10' :BASE_IMPONIBLE,'#10' :DESC' +
+ 'UENTO,'#10' :IMPORTE_DESCUENTO,'#10' :DESCRIPCION_DESCUENTO,'#10' :' +
+ 'IVA,'#10' :IMPORTE_IVA,'#10' :RE,'#10' :IMPORTE_RE,'#10' :IMPORTE_TO' +
+ 'TAL,'#10' :OBSERVACIONES,'#10' :ID_CLIENTE,'#10' :NIF_CIF,'#10' :NOM' +
+ 'BRE,'#10' :ID_DIRECCION,'#10' :CALLE,'#10' :POBLACION,'#10' :PROVINC' +
+ 'IA,'#10' :CODIGO_POSTAL,'#10' :FECHA_ALTA,'#10' :FECHA_MODIFICACION' +
+ ','#10' :USUARIO,'#10' :ID_FORMA_PAGO,'#10' :RECARGO_EQUIVALENCIA,'#10' ' +
+ ' :ID_TIPO_IVA,'#10' :IMPORTE_NETO,'#10' :IMPORTE_PORTE,'#10' :DAT' +
+ 'OS_BANCARIOS,'#10' :PAIS,'#10' :ID_PEDIDO);'#10
StatementType = stSQL
ColumnMappings = <>
end>
@@ -1232,11 +1200,6 @@ object srvFacturasProforma: TsrvFacturasProforma
Size = 255
Value = ''
end
- item
- Name = 'ID_PRESUPUESTO'
- DataType = datInteger
- Value = ''
- end
item
Name = 'ID_PEDIDO'
DataType = datInteger
@@ -1268,8 +1231,7 @@ object srvFacturasProforma: TsrvFacturasProforma
'QUIVALENCIA = :RECARGO_EQUIVALENCIA,'#10' ID_TIPO_IVA = :ID_TIPO_' +
'IVA,'#10' IMPORTE_NETO = :IMPORTE_NETO,'#10' IMPORTE_PORTE = :IMPO' +
'RTE_PORTE,'#10' DATOS_BANCARIOS = :DATOS_BANCARIOS,'#10' PAIS = :P' +
- 'AIS,'#10' ID_PRESUPUESTO = :ID_PRESUPUESTO,'#10' ID_PEDIDO = :ID_P' +
- 'EDIDO'#10' WHERE'#10' (ID = :OLD_ID);'#10
+ 'AIS,'#10' ID_PEDIDO = :ID_PEDIDO'#10' WHERE'#10' (ID = :OLD_ID);'#10
StatementType = stSQL
ColumnMappings = <>
end>
diff --git a/Source/Modulos/Facturas proforma/Views/uViewFacturasProforma.dfm b/Source/Modulos/Facturas proforma/Views/uViewFacturasProforma.dfm
index 3cb1a26..de59a50 100644
--- a/Source/Modulos/Facturas proforma/Views/uViewFacturasProforma.dfm
+++ b/Source/Modulos/Facturas proforma/Views/uViewFacturasProforma.dfm
@@ -166,20 +166,6 @@ inherited frViewFacturasProforma: TfrViewFacturasProforma
HeaderAlignmentHorz = taRightJustify
Width = 128
end
- object cxGridViewREF_PRE_CLIENTE: TcxGridDBColumn
- Caption = 'Ref. Presupuesto Cliente'
- DataBinding.FieldName = 'REF_PRE_CLIENTE'
- PropertiesClassName = 'TcxTextEditProperties'
- Properties.Alignment.Horz = taRightJustify
- HeaderAlignmentHorz = taRightJustify
- end
- object cxGridViewREF_PRE_DEL_CLIENTE: TcxGridDBColumn
- Caption = 'Ref. pre. del cliente'
- DataBinding.FieldName = 'REF_PRE_DEL_CLIENTE'
- PropertiesClassName = 'TcxTextEditProperties'
- Properties.Alignment.Horz = taRightJustify
- HeaderAlignmentHorz = taRightJustify
- end
object cxGridViewREF_PED_CLIENTE: TcxGridDBColumn
Caption = 'Ref. pedido de cliente'
DataBinding.FieldName = 'REF_PED_CLIENTE'
diff --git a/Source/Modulos/Facturas proforma/Views/uViewFacturasProforma.pas b/Source/Modulos/Facturas proforma/Views/uViewFacturasProforma.pas
index 78075c6..9b9a2cf 100644
--- a/Source/Modulos/Facturas proforma/Views/uViewFacturasProforma.pas
+++ b/Source/Modulos/Facturas proforma/Views/uViewFacturasProforma.pas
@@ -56,9 +56,7 @@ type
cxGridViewFECHA_VENCIMIENTO: TcxGridDBColumn;
cxGridViewRE: TcxGridDBColumn;
cxGridViewIMPORTE_RE: TcxGridDBColumn;
- cxGridViewREF_PRE_CLIENTE: TcxGridDBColumn;
cxGridViewREFERENCIA_FACTURA_FINAL: TcxGridDBColumn;
- cxGridViewREF_PRE_DEL_CLIENTE: TcxGridDBColumn;
cxGridViewREF_PED_CLIENTE: TcxGridDBColumn;
cxGridViewREF_PED_DEL_CLIENTE: TcxGridDBColumn;
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
diff --git a/Source/Modulos/Pedidos a proveedor/Views/uEditorPedidoProveedor.dfm b/Source/Modulos/Pedidos a proveedor/Views/uEditorPedidoProveedor.dfm
index 1d7a5bd..996e6a9 100644
--- a/Source/Modulos/Pedidos a proveedor/Views/uEditorPedidoProveedor.dfm
+++ b/Source/Modulos/Pedidos a proveedor/Views/uEditorPedidoProveedor.dfm
@@ -95,6 +95,10 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
object pagContenido: TTabSheet
Caption = 'Contenido'
ImageIndex = 1
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
inline frViewDetallesPedidoProveedor1: TfrViewDetallesPedidoProveedor
Left = 0
Top = 0
@@ -115,106 +119,103 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
ExplicitHeight = 500
inherited ToolBar1: TToolBar
Width = 865
- Height = 51
+ Height = 46
ExplicitWidth = 865
- ExplicitHeight = 51
+ ExplicitHeight = 46
inherited ToolButton3: TToolButton
Wrap = False
end
inherited ToolButton4: TToolButton
Left = 278
Top = 0
+ Wrap = True
ExplicitLeft = 278
ExplicitTop = 0
end
- inherited ToolButton14: TToolButton [4]
- Left = 334
- Top = 0
- ExplicitLeft = 334
- ExplicitTop = 0
+ inherited ToolButton14: TToolButton
+ Left = 0
+ Wrap = False
+ ExplicitLeft = 0
end
- inherited FontName: TJvFontComboBox [5]
- Left = 399
- Top = 0
- ExplicitLeft = 399
- ExplicitTop = 0
+ inherited FontName: TJvFontComboBox
+ Left = 65
+ Top = 22
+ ExplicitLeft = 65
+ ExplicitTop = 22
end
inherited FontSize: TEdit
- Left = 544
- Top = 0
+ Left = 210
+ Top = 22
Width = 58
- ExplicitLeft = 544
- ExplicitTop = 0
+ ExplicitLeft = 210
+ ExplicitTop = 22
ExplicitWidth = 58
end
- inherited ToolButton13: TToolButton [7]
- Left = 0
- Top = 0
- Wrap = True
- ExplicitLeft = 0
- ExplicitTop = 0
- ExplicitHeight = 27
+ inherited UpDown1: TUpDown
+ Left = 268
+ Top = 22
+ ExplicitLeft = 268
+ ExplicitTop = 22
end
- inherited UpDown1: TUpDown [8]
- Left = 0
- Top = 27
- ExplicitLeft = 0
- ExplicitTop = 27
+ inherited ToolButton13: TToolButton
+ Left = 285
+ Top = 22
+ ExplicitLeft = 285
+ ExplicitTop = 22
end
- inherited ToolButton6: TToolButton [9]
- Left = 17
- Top = 27
- ExplicitLeft = 17
- ExplicitTop = 27
+ inherited ToolButton6: TToolButton
+ Left = 293
+ Top = 22
+ ExplicitLeft = 293
+ ExplicitTop = 22
end
- inherited ToolButton7: TToolButton [10]
- Left = 83
- Top = 27
- ExplicitLeft = 83
- ExplicitTop = 27
+ inherited ToolButton7: TToolButton
+ Left = 359
+ Top = 22
+ ExplicitLeft = 359
+ ExplicitTop = 22
end
- inherited ToolButton8: TToolButton [11]
- Left = 150
- Top = 27
- ExplicitLeft = 150
- ExplicitTop = 27
+ inherited ToolButton8: TToolButton
+ Left = 426
+ Top = 22
+ ExplicitLeft = 426
+ ExplicitTop = 22
end
- inherited ToolButton12: TToolButton [12]
- Left = 233
- Top = 27
- ExplicitLeft = 233
- ExplicitTop = 27
- ExplicitHeight = 22
+ inherited ToolButton12: TToolButton
+ Left = 509
+ Top = 22
+ ExplicitLeft = 509
+ ExplicitTop = 22
end
- inherited ToolButton9: TToolButton [13]
- Left = 241
- Top = 27
- ExplicitLeft = 241
- ExplicitTop = 27
+ inherited ToolButton9: TToolButton
+ Left = 517
+ Top = 22
+ ExplicitLeft = 517
+ ExplicitTop = 22
end
- inherited ToolButton10: TToolButton [14]
- Left = 386
- Top = 27
- ExplicitLeft = 386
- ExplicitTop = 27
+ inherited ToolButton10: TToolButton
+ Left = 662
+ Top = 22
+ ExplicitLeft = 662
+ ExplicitTop = 22
end
- inherited ToolButton11: TToolButton [15]
- Left = 511
- Top = 27
- ExplicitLeft = 511
- ExplicitTop = 27
+ inherited ToolButton11: TToolButton
+ Left = 787
+ Top = 22
+ ExplicitLeft = 787
+ ExplicitTop = 22
end
end
inherited cxGrid: TcxGrid
- Top = 77
+ Top = 72
Width = 865
- Height = 423
+ Height = 428
ExplicitTop = 77
ExplicitWidth = 865
ExplicitHeight = 423
end
inherited TBXDock1: TTBXDock
- Top = 51
+ Top = 46
Width = 865
ExplicitTop = 51
ExplicitWidth = 865
@@ -236,6 +237,10 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
object pagInicidencias: TTabSheet
Caption = 'Incidencias'
ImageIndex = 2
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
inline frViewIncidenciasProv: TfrViewIncidencias
Left = 0
Top = 0
diff --git a/Source/Modulos/Pedidos a proveedor/Views/uEditorPedidoProveedor.pas b/Source/Modulos/Pedidos a proveedor/Views/uEditorPedidoProveedor.pas
index 5e512e0..465a47b 100644
--- a/Source/Modulos/Pedidos a proveedor/Views/uEditorPedidoProveedor.pas
+++ b/Source/Modulos/Pedidos a proveedor/Views/uEditorPedidoProveedor.pas
@@ -264,7 +264,8 @@ begin
// Si el pedido tiene detalles hay que mirar si los descuentos y otros campos
// para los artículos hay que cambiarlos.
if (FPedido.Detalles.RecordCount > 0) then
- FController.DetallesController.ActualizarDetalles(FPedido.Detalles, FPedido.Proveedor);
+ if (Application.MessageBox('¿Desea actualizar los artículos del pedido para el nuevo proveedor asignado?, este proceso recuperará los descuentos, portes,... de cada articulo para el nuevo proveedor asignado', 'Atención', MB_YESNO) = IDYES) then
+ FController.DetallesController.ActualizarDetalles(FPedido.Detalles, FPedido.Proveedor);
end;
end;
diff --git a/Source/Modulos/Pedidos de cliente/Controller/uPedidosClienteController.pas b/Source/Modulos/Pedidos de cliente/Controller/uPedidosClienteController.pas
index 9191883..6fbc9f2 100644
--- a/Source/Modulos/Pedidos de cliente/Controller/uPedidosClienteController.pas
+++ b/Source/Modulos/Pedidos de cliente/Controller/uPedidosClienteController.pas
@@ -34,10 +34,10 @@ type
const AHeaderText: String = '');
procedure VerDireccionEntrega(APedido : IBizPedidoCliente);
- function VerProcesoCompleto(APresupuesto: Integer): Boolean; overload;
+ function VerProcesoCompleto(APedido: Integer): Boolean; overload;
procedure VerProcesoCompleto(APedidos: IBizPedidoCliente; AllItems: Boolean = True); overload;
- function Nuevo : IBizPedidoCliente;
+ function Nuevo(withInsert: Boolean = True) : IBizPedidoCliente;
procedure Anadir(APedido : IBizPedidoCliente);
function Eliminar(const ID : Integer): Boolean; overload;
function Eliminar(APedido : IBizPedidoCliente; AllItems: Boolean = false): Boolean; overload;
@@ -124,13 +124,12 @@ type
function BuscarTodos(const AID_Cliente: Integer): IBizPedidoCliente; overload;
function BuscarPendientes : IBizPedidoCliente;
function BuscarSituacion(Const ASituacion: String) : IBizPedidoCliente;
- function BuscarPedidosDePresupuesto(const IdPresupuesto: Integer): IBizPedidoCliente;
function BuscarPendientesPedir(const ID : Integer): IBizPedidoClienteArticulosPendientesPedirAProv;
function BuscarPendientesPedirNoArticulos(const ID : Integer): IBizPedidoClienteArticulosPendientesPedirAProv;
// function BuscarSinFacturar : IBizPedidoCliente;
- function Nuevo : IBizPedidoCliente;
+ function Nuevo(withInsert: Boolean = True) : IBizPedidoCliente;
procedure Ver(APedido : IBizPedidoCliente);
procedure VerTodos(APedidos: IBizPedidoCliente;
const AVerModal : Boolean = False; const AWindowCaption: String = '';
@@ -139,7 +138,7 @@ type
procedure VerDireccionEntrega(APedido : IBizPedidoCliente);
function Duplicar(APedido: IBizPedidoCliente): IBizPedidoCliente;
- function VerProcesoCompleto(APresupuesto: Integer): Boolean; overload;
+ function VerProcesoCompleto(APedido: Integer): Boolean; overload;
procedure VerProcesoCompleto(APedidos: IBizPedidoCliente; AllItems: Boolean = True); overload;
procedure Preview(APedido : IBizPedidoCliente; AllItems: Boolean = False;
@@ -245,30 +244,6 @@ begin
FiltrarEmpresa(Result);
end;
-function TPedidosClienteController.BuscarPedidosDePresupuesto(const IdPresupuesto: Integer): IBizPedidoCliente;
-var
- Condicion: TDAWhereExpression;
-begin
- ShowHourglassCursor;
- try
- Result := BuscarTodos;
-
- // Filtrar los pedidos pendientes de recepcion
- with Result.DataTable.DynamicWhere do
- begin
- // (ID_PRESUPUESTO = IdPresupuesto)
- Condicion := NewBinaryExpression(NewField('', fld_PedidosClienteID_PRESUPUESTO), NewConstant(IdPresupuesto, datInteger), dboEqual);
-
- if IsEmpty then
- Expression := Condicion
- else
- Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
- end;
- finally
- HideHourglassCursor;
- end;
-end;
-
function TPedidosClienteController.BuscarPendientes: IBizPedidoCliente;
var
Condicion: TDAWhereExpression;
@@ -649,12 +624,12 @@ begin
end;
end;
-function TPedidosClienteController.VerProcesoCompleto(APresupuesto: Integer): Boolean;
+function TPedidosClienteController.VerProcesoCompleto(APedido: Integer): Boolean;
var
APedidos: IBizPedidoCliente;
begin
Result := True;
- APedidos := BuscarPedidosDePresupuesto(APresupuesto);
+ APedidos := Buscar(APedido);
if not Assigned(APedidos) then
raise Exception.Create ('Pedidos no asignado (VerProcesoCompleto)');
@@ -1142,14 +1117,15 @@ begin
end;
end;
-function TPedidosClienteController.Nuevo: IBizPedidoCliente;
+function TPedidosClienteController.Nuevo(withInsert: Boolean = True): IBizPedidoCliente;
var
APedido : IBizPedidoCliente;
begin
APedido := FDataModule.NewItem;
FiltrarEmpresa(APedido);
APedido.DataTable.Active := True;
- APedido.Insert;
+ if WithInsert then
+ APedido.Insert;
Result := APedido;
end;
diff --git a/Source/Modulos/Pedidos de cliente/Data/uDataModulePedidosCliente.dfm b/Source/Modulos/Pedidos de cliente/Data/uDataModulePedidosCliente.dfm
index 4aaf2e4..94c5497 100644
--- a/Source/Modulos/Pedidos de cliente/Data/uDataModulePedidosCliente.dfm
+++ b/Source/Modulos/Pedidos de cliente/Data/uDataModulePedidosCliente.dfm
@@ -331,15 +331,6 @@ inherited DataModulePedidosCliente: TDataModulePedidosCliente
DisplayLabel = 'PedidosCliente_NUM_CORREOS'
DictionaryEntry = 'PedidosCliente_NUM_CORREOS'
end
- item
- Name = 'ID_PRESUPUESTO'
- DataType = datInteger
- end
- item
- Name = 'REFERENCIA_PRESUPUESTO'
- DataType = datString
- Size = 255
- end
item
Name = 'TIPO_PEDIDO'
DataType = datString
diff --git a/Source/Modulos/Pedidos de cliente/Model/schPedidosClienteClient_Intf.pas b/Source/Modulos/Pedidos de cliente/Model/schPedidosClienteClient_Intf.pas
index 7656e1a..d37e587 100644
--- a/Source/Modulos/Pedidos de cliente/Model/schPedidosClienteClient_Intf.pas
+++ b/Source/Modulos/Pedidos de cliente/Model/schPedidosClienteClient_Intf.pas
@@ -9,13 +9,13 @@ 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_ListaAnosPedidos = '{A85291BA-5A29-4A14-AED9-72B405AF77AC}';
- RID_PedidosProveedor = '{8C4E8A3B-6431-413D-A91B-455AE2356C23}';
- RID_PedidosCliente = '{54D057DB-E0FA-46EB-A72D-4A0AA490C6F1}';
- RID_PedidosCliente_Detalles = '{CECCC206-BD3E-4FB0-B84B-E828C30D3198}';
- RID_PedidosCliente_Articulos_Pendientes = '{528B86F4-EF6F-4CAB-9EA3-B1C821D8A8B2}';
- RID_PedidoCliente_ArticulosPendientesPedirAProv = '{AB008D6B-DA8E-426D-B250-18EC81540899}';
- RID_PedidoCliente_ArticulosPendientesPedirAProvNoArticulos = '{F6F64067-1298-4E86-89EB-276107B2DAC6}';
+ RID_ListaAnosPedidos = '{57E38F40-4209-4C21-A6A2-4CBFC92C9A9B}';
+ RID_PedidosProveedor = '{E17F71E9-18BD-4D5A-83E9-E421A471959E}';
+ RID_PedidosCliente = '{A7063A47-B33F-4FD5-B8FE-16851A404499}';
+ RID_PedidosCliente_Detalles = '{842D3A6D-39C7-499B-977B-F4694E093A72}';
+ RID_PedidosCliente_Articulos_Pendientes = '{9085E133-78E7-4CF5-90C8-654047EDE772}';
+ RID_PedidoCliente_ArticulosPendientesPedirAProv = '{4D977915-C5AD-47DE-92A5-C5EF9348E576}';
+ RID_PedidoCliente_ArticulosPendientesPedirAProvNoArticulos = '{C2124682-6378-45C5-80BB-2F0D50364F47}';
{ Data table names }
nme_ListaAnosPedidos = 'ListaAnosPedidos';
@@ -79,8 +79,6 @@ const
fld_PedidosClienteFECHA_PREVISTA_ENVIO = 'FECHA_PREVISTA_ENVIO';
fld_PedidosClienteNUM_COPIAS = 'NUM_COPIAS';
fld_PedidosClienteNUM_CORREOS = 'NUM_CORREOS';
- fld_PedidosClienteID_PRESUPUESTO = 'ID_PRESUPUESTO';
- fld_PedidosClienteREFERENCIA_PRESUPUESTO = 'REFERENCIA_PRESUPUESTO';
fld_PedidosClienteTIPO_PEDIDO = 'TIPO_PEDIDO';
fld_PedidosClientePAIS = 'PAIS';
fld_PedidosClienteREFERENCIA_FACTURA_PROFORMA = 'REFERENCIA_FACTURA_PROFORMA';
@@ -120,11 +118,9 @@ const
idx_PedidosClienteFECHA_PREVISTA_ENVIO = 31;
idx_PedidosClienteNUM_COPIAS = 32;
idx_PedidosClienteNUM_CORREOS = 33;
- idx_PedidosClienteID_PRESUPUESTO = 34;
- idx_PedidosClienteREFERENCIA_PRESUPUESTO = 35;
- idx_PedidosClienteTIPO_PEDIDO = 36;
- idx_PedidosClientePAIS = 37;
- idx_PedidosClienteREFERENCIA_FACTURA_PROFORMA = 38;
+ idx_PedidosClienteTIPO_PEDIDO = 34;
+ idx_PedidosClientePAIS = 35;
+ idx_PedidosClienteREFERENCIA_FACTURA_PROFORMA = 36;
{ PedidosCliente_Detalles fields }
fld_PedidosCliente_DetallesID = 'ID';
@@ -221,7 +217,7 @@ const
type
{ IListaAnosPedidos }
IListaAnosPedidos = interface(IDAStronglyTypedDataTable)
- ['{FA87F5CB-4CE8-4662-8536-76ACB95F011A}']
+ ['{9CE512E4-30FF-4688-956F-87356DA1FDAC}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
@@ -256,7 +252,7 @@ type
{ IPedidosProveedor }
IPedidosProveedor = interface(IDAStronglyTypedDataTable)
- ['{37B57C33-2940-454E-866C-8BBDA32EACDE}']
+ ['{329FF8B4-1166-44FF-85CF-BD690958C36B}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -327,7 +323,7 @@ type
{ IPedidosCliente }
IPedidosCliente = interface(IDAStronglyTypedDataTable)
- ['{CC72F877-CED4-4E3C-B77F-698CD3F4F325}']
+ ['{AB9F7C4E-69D1-4114-8C3C-A8EB14B14E65}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -463,14 +459,6 @@ type
procedure SetNUM_CORREOSValue(const aValue: SmallInt);
function GetNUM_CORREOSIsNull: Boolean;
procedure SetNUM_CORREOSIsNull(const aValue: Boolean);
- function GetID_PRESUPUESTOValue: Integer;
- procedure SetID_PRESUPUESTOValue(const aValue: Integer);
- function GetID_PRESUPUESTOIsNull: Boolean;
- procedure SetID_PRESUPUESTOIsNull(const aValue: Boolean);
- function GetREFERENCIA_PRESUPUESTOValue: String;
- procedure SetREFERENCIA_PRESUPUESTOValue(const aValue: String);
- function GetREFERENCIA_PRESUPUESTOIsNull: Boolean;
- procedure SetREFERENCIA_PRESUPUESTOIsNull(const aValue: Boolean);
function GetTIPO_PEDIDOValue: String;
procedure SetTIPO_PEDIDOValue(const aValue: String);
function GetTIPO_PEDIDOIsNull: Boolean;
@@ -554,10 +542,6 @@ type
property NUM_COPIASIsNull: Boolean read GetNUM_COPIASIsNull write SetNUM_COPIASIsNull;
property NUM_CORREOS: SmallInt read GetNUM_CORREOSValue write SetNUM_CORREOSValue;
property NUM_CORREOSIsNull: Boolean read GetNUM_CORREOSIsNull write SetNUM_CORREOSIsNull;
- property ID_PRESUPUESTO: Integer read GetID_PRESUPUESTOValue write SetID_PRESUPUESTOValue;
- property ID_PRESUPUESTOIsNull: Boolean read GetID_PRESUPUESTOIsNull write SetID_PRESUPUESTOIsNull;
- property REFERENCIA_PRESUPUESTO: String read GetREFERENCIA_PRESUPUESTOValue write SetREFERENCIA_PRESUPUESTOValue;
- property REFERENCIA_PRESUPUESTOIsNull: Boolean read GetREFERENCIA_PRESUPUESTOIsNull write SetREFERENCIA_PRESUPUESTOIsNull;
property TIPO_PEDIDO: String read GetTIPO_PEDIDOValue write SetTIPO_PEDIDOValue;
property TIPO_PEDIDOIsNull: Boolean read GetTIPO_PEDIDOIsNull write SetTIPO_PEDIDOIsNull;
property PAIS: String read GetPAISValue write SetPAISValue;
@@ -709,14 +693,6 @@ type
procedure SetNUM_CORREOSValue(const aValue: SmallInt); virtual;
function GetNUM_CORREOSIsNull: Boolean; virtual;
procedure SetNUM_CORREOSIsNull(const aValue: Boolean); virtual;
- function GetID_PRESUPUESTOValue: Integer; virtual;
- procedure SetID_PRESUPUESTOValue(const aValue: Integer); virtual;
- function GetID_PRESUPUESTOIsNull: Boolean; virtual;
- procedure SetID_PRESUPUESTOIsNull(const aValue: Boolean); virtual;
- function GetREFERENCIA_PRESUPUESTOValue: String; virtual;
- procedure SetREFERENCIA_PRESUPUESTOValue(const aValue: String); virtual;
- function GetREFERENCIA_PRESUPUESTOIsNull: Boolean; virtual;
- procedure SetREFERENCIA_PRESUPUESTOIsNull(const aValue: Boolean); virtual;
function GetTIPO_PEDIDOValue: String; virtual;
procedure SetTIPO_PEDIDOValue(const aValue: String); virtual;
function GetTIPO_PEDIDOIsNull: Boolean; virtual;
@@ -799,10 +775,6 @@ type
property NUM_COPIASIsNull: Boolean read GetNUM_COPIASIsNull write SetNUM_COPIASIsNull;
property NUM_CORREOS: SmallInt read GetNUM_CORREOSValue write SetNUM_CORREOSValue;
property NUM_CORREOSIsNull: Boolean read GetNUM_CORREOSIsNull write SetNUM_CORREOSIsNull;
- property ID_PRESUPUESTO: Integer read GetID_PRESUPUESTOValue write SetID_PRESUPUESTOValue;
- property ID_PRESUPUESTOIsNull: Boolean read GetID_PRESUPUESTOIsNull write SetID_PRESUPUESTOIsNull;
- property REFERENCIA_PRESUPUESTO: String read GetREFERENCIA_PRESUPUESTOValue write SetREFERENCIA_PRESUPUESTOValue;
- property REFERENCIA_PRESUPUESTOIsNull: Boolean read GetREFERENCIA_PRESUPUESTOIsNull write SetREFERENCIA_PRESUPUESTOIsNull;
property TIPO_PEDIDO: String read GetTIPO_PEDIDOValue write SetTIPO_PEDIDOValue;
property TIPO_PEDIDOIsNull: Boolean read GetTIPO_PEDIDOIsNull write SetTIPO_PEDIDOIsNull;
property PAIS: String read GetPAISValue write SetPAISValue;
@@ -818,7 +790,7 @@ type
{ IPedidosCliente_Detalles }
IPedidosCliente_Detalles = interface(IDAStronglyTypedDataTable)
- ['{004940A4-DCDC-40F8-AEEC-6DE5D347C698}']
+ ['{36FF6340-0A76-400B-81E0-DD7B3BF042BB}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -1009,7 +981,7 @@ type
{ IPedidosCliente_Articulos_Pendientes }
IPedidosCliente_Articulos_Pendientes = interface(IDAStronglyTypedDataTable)
- ['{4D4C2C08-64A6-4E0A-932F-26EC5DD23BB3}']
+ ['{72542829-FC37-4176-A8CC-A65A23D54545}']
{ Property getters and setters }
function GetID_ARTICULOValue: Integer;
procedure SetID_ARTICULOValue(const aValue: Integer);
@@ -1080,7 +1052,7 @@ type
{ IPedidoCliente_ArticulosPendientesPedirAProv }
IPedidoCliente_ArticulosPendientesPedirAProv = interface(IDAStronglyTypedDataTable)
- ['{5BF97010-EEB1-4CFF-918F-7F729948AD7F}']
+ ['{CEFCF45D-9A3C-4D1E-ACE6-B6CE2CBD5651}']
{ Property getters and setters }
function GetID_PEDIDOValue: Integer;
procedure SetID_PEDIDOValue(const aValue: Integer);
@@ -1223,7 +1195,7 @@ type
{ IPedidoCliente_ArticulosPendientesPedirAProvNoArticulos }
IPedidoCliente_ArticulosPendientesPedirAProvNoArticulos = interface(IDAStronglyTypedDataTable)
- ['{359ED626-4BCB-47EE-88DF-77695506634E}']
+ ['{93124574-C569-4293-B712-CFDA4A1C605B}']
{ Property getters and setters }
function GetID_PEDIDOValue: Integer;
procedure SetID_PEDIDOValue(const aValue: Integer);
@@ -2234,48 +2206,6 @@ begin
DataTable.Fields[idx_PedidosClienteNUM_CORREOS].AsVariant := Null;
end;
-function TPedidosClienteDataTableRules.GetID_PRESUPUESTOValue: Integer;
-begin
- result := DataTable.Fields[idx_PedidosClienteID_PRESUPUESTO].AsInteger;
-end;
-
-procedure TPedidosClienteDataTableRules.SetID_PRESUPUESTOValue(const aValue: Integer);
-begin
- DataTable.Fields[idx_PedidosClienteID_PRESUPUESTO].AsInteger := aValue;
-end;
-
-function TPedidosClienteDataTableRules.GetID_PRESUPUESTOIsNull: boolean;
-begin
- result := DataTable.Fields[idx_PedidosClienteID_PRESUPUESTO].IsNull;
-end;
-
-procedure TPedidosClienteDataTableRules.SetID_PRESUPUESTOIsNull(const aValue: Boolean);
-begin
- if aValue then
- DataTable.Fields[idx_PedidosClienteID_PRESUPUESTO].AsVariant := Null;
-end;
-
-function TPedidosClienteDataTableRules.GetREFERENCIA_PRESUPUESTOValue: String;
-begin
- result := DataTable.Fields[idx_PedidosClienteREFERENCIA_PRESUPUESTO].AsString;
-end;
-
-procedure TPedidosClienteDataTableRules.SetREFERENCIA_PRESUPUESTOValue(const aValue: String);
-begin
- DataTable.Fields[idx_PedidosClienteREFERENCIA_PRESUPUESTO].AsString := aValue;
-end;
-
-function TPedidosClienteDataTableRules.GetREFERENCIA_PRESUPUESTOIsNull: boolean;
-begin
- result := DataTable.Fields[idx_PedidosClienteREFERENCIA_PRESUPUESTO].IsNull;
-end;
-
-procedure TPedidosClienteDataTableRules.SetREFERENCIA_PRESUPUESTOIsNull(const aValue: Boolean);
-begin
- if aValue then
- DataTable.Fields[idx_PedidosClienteREFERENCIA_PRESUPUESTO].AsVariant := Null;
-end;
-
function TPedidosClienteDataTableRules.GetTIPO_PEDIDOValue: String;
begin
result := DataTable.Fields[idx_PedidosClienteTIPO_PEDIDO].AsString;
diff --git a/Source/Modulos/Pedidos de cliente/Model/schPedidosClienteServer_Intf.pas b/Source/Modulos/Pedidos de cliente/Model/schPedidosClienteServer_Intf.pas
index 05248ff..bf599c6 100644
--- a/Source/Modulos/Pedidos de cliente/Model/schPedidosClienteServer_Intf.pas
+++ b/Source/Modulos/Pedidos de cliente/Model/schPedidosClienteServer_Intf.pas
@@ -9,18 +9,18 @@ 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_ListaAnosPedidosDelta = '{944C551E-9F2E-4E78-81FF-7BDE4EA98EA4}';
- RID_PedidosProveedorDelta = '{46C44298-709E-4A45-ACAA-E42FA52DB984}';
- RID_PedidosClienteDelta = '{D4146576-FB6D-4914-8D56-CEF8A0FA6806}';
- RID_PedidosCliente_DetallesDelta = '{8DF6053A-F2C4-4D43-A775-21D202290B16}';
- RID_PedidosCliente_Articulos_PendientesDelta = '{570DCC8A-2BB2-423F-A19D-FB373C6477A2}';
- RID_PedidoCliente_ArticulosPendientesPedirAProvDelta = '{275E08F0-DF00-40DE-8CD5-988647CB5C41}';
- RID_PedidoCliente_ArticulosPendientesPedirAProvNoArticulosDelta = '{90F4CB46-B3F9-465C-BCC8-071BD7653A4D}';
+ RID_ListaAnosPedidosDelta = '{A85FEFDD-9A7C-438F-9690-03044F8ACE25}';
+ RID_PedidosProveedorDelta = '{92119A47-4A3B-4239-A6FD-FA42299565C9}';
+ RID_PedidosClienteDelta = '{5F7E7451-A6E4-4588-9573-318C392EA421}';
+ RID_PedidosCliente_DetallesDelta = '{44A78022-BDEC-4494-B7B0-AC2FBF38D951}';
+ RID_PedidosCliente_Articulos_PendientesDelta = '{A8B08724-6155-439A-BA38-9F81B63BDC60}';
+ RID_PedidoCliente_ArticulosPendientesPedirAProvDelta = '{E02FB75F-400B-48F6-973F-AA16B32293D5}';
+ RID_PedidoCliente_ArticulosPendientesPedirAProvNoArticulosDelta = '{5D2E579F-205B-4BE2-9ACC-C294ACF32F37}';
type
{ IListaAnosPedidosDelta }
IListaAnosPedidosDelta = interface(IListaAnosPedidos)
- ['{944C551E-9F2E-4E78-81FF-7BDE4EA98EA4}']
+ ['{A85FEFDD-9A7C-438F-9690-03044F8ACE25}']
{ Property getters and setters }
function GetOldANOValue : String;
@@ -54,7 +54,7 @@ type
{ IPedidosProveedorDelta }
IPedidosProveedorDelta = interface(IPedidosProveedor)
- ['{46C44298-709E-4A45-ACAA-E42FA52DB984}']
+ ['{92119A47-4A3B-4239-A6FD-FA42299565C9}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldREFERENCIAValue : String;
@@ -124,7 +124,7 @@ type
{ IPedidosClienteDelta }
IPedidosClienteDelta = interface(IPedidosCliente)
- ['{D4146576-FB6D-4914-8D56-CEF8A0FA6806}']
+ ['{5F7E7451-A6E4-4588-9573-318C392EA421}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@@ -160,8 +160,6 @@ type
function GetOldFECHA_PREVISTA_ENVIOValue : DateTime;
function GetOldNUM_COPIASValue : SmallInt;
function GetOldNUM_CORREOSValue : SmallInt;
- function GetOldID_PRESUPUESTOValue : Integer;
- function GetOldREFERENCIA_PRESUPUESTOValue : String;
function GetOldTIPO_PEDIDOValue : String;
function GetOldPAISValue : String;
function GetOldREFERENCIA_FACTURA_PROFORMAValue : String;
@@ -201,8 +199,6 @@ type
property OldFECHA_PREVISTA_ENVIO : DateTime read GetOldFECHA_PREVISTA_ENVIOValue;
property OldNUM_COPIAS : SmallInt read GetOldNUM_COPIASValue;
property OldNUM_CORREOS : SmallInt read GetOldNUM_CORREOSValue;
- property OldID_PRESUPUESTO : Integer read GetOldID_PRESUPUESTOValue;
- property OldREFERENCIA_PRESUPUESTO : String read GetOldREFERENCIA_PRESUPUESTOValue;
property OldTIPO_PEDIDO : String read GetOldTIPO_PEDIDOValue;
property OldPAIS : String read GetOldPAISValue;
property OldREFERENCIA_FACTURA_PROFORMA : String read GetOldREFERENCIA_FACTURA_PROFORMAValue;
@@ -419,18 +415,6 @@ type
function GetOldNUM_CORREOSIsNull: Boolean; virtual;
procedure SetNUM_CORREOSValue(const aValue: SmallInt); virtual;
procedure SetNUM_CORREOSIsNull(const aValue: Boolean); virtual;
- function GetID_PRESUPUESTOValue: Integer; virtual;
- function GetID_PRESUPUESTOIsNull: Boolean; virtual;
- function GetOldID_PRESUPUESTOValue: Integer; virtual;
- function GetOldID_PRESUPUESTOIsNull: Boolean; virtual;
- procedure SetID_PRESUPUESTOValue(const aValue: Integer); virtual;
- procedure SetID_PRESUPUESTOIsNull(const aValue: Boolean); virtual;
- function GetREFERENCIA_PRESUPUESTOValue: String; virtual;
- function GetREFERENCIA_PRESUPUESTOIsNull: Boolean; virtual;
- function GetOldREFERENCIA_PRESUPUESTOValue: String; virtual;
- function GetOldREFERENCIA_PRESUPUESTOIsNull: Boolean; virtual;
- procedure SetREFERENCIA_PRESUPUESTOValue(const aValue: String); virtual;
- procedure SetREFERENCIA_PRESUPUESTOIsNull(const aValue: Boolean); virtual;
function GetTIPO_PEDIDOValue: String; virtual;
function GetTIPO_PEDIDOIsNull: Boolean; virtual;
function GetOldTIPO_PEDIDOValue: String; virtual;
@@ -587,14 +571,6 @@ type
property NUM_CORREOSIsNull : Boolean read GetNUM_CORREOSIsNull write SetNUM_CORREOSIsNull;
property OldNUM_CORREOS : SmallInt read GetOldNUM_CORREOSValue;
property OldNUM_CORREOSIsNull : Boolean read GetOldNUM_CORREOSIsNull;
- property ID_PRESUPUESTO : Integer read GetID_PRESUPUESTOValue write SetID_PRESUPUESTOValue;
- property ID_PRESUPUESTOIsNull : Boolean read GetID_PRESUPUESTOIsNull write SetID_PRESUPUESTOIsNull;
- property OldID_PRESUPUESTO : Integer read GetOldID_PRESUPUESTOValue;
- property OldID_PRESUPUESTOIsNull : Boolean read GetOldID_PRESUPUESTOIsNull;
- property REFERENCIA_PRESUPUESTO : String read GetREFERENCIA_PRESUPUESTOValue write SetREFERENCIA_PRESUPUESTOValue;
- property REFERENCIA_PRESUPUESTOIsNull : Boolean read GetREFERENCIA_PRESUPUESTOIsNull write SetREFERENCIA_PRESUPUESTOIsNull;
- property OldREFERENCIA_PRESUPUESTO : String read GetOldREFERENCIA_PRESUPUESTOValue;
- property OldREFERENCIA_PRESUPUESTOIsNull : Boolean read GetOldREFERENCIA_PRESUPUESTOIsNull;
property TIPO_PEDIDO : String read GetTIPO_PEDIDOValue write SetTIPO_PEDIDOValue;
property TIPO_PEDIDOIsNull : Boolean read GetTIPO_PEDIDOIsNull write SetTIPO_PEDIDOIsNull;
property OldTIPO_PEDIDO : String read GetOldTIPO_PEDIDOValue;
@@ -616,7 +592,7 @@ type
{ IPedidosCliente_DetallesDelta }
IPedidosCliente_DetallesDelta = interface(IPedidosCliente_Detalles)
- ['{8DF6053A-F2C4-4D43-A775-21D202290B16}']
+ ['{44A78022-BDEC-4494-B7B0-AC2FBF38D951}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_PEDIDOValue : Integer;
@@ -806,7 +782,7 @@ type
{ IPedidosCliente_Articulos_PendientesDelta }
IPedidosCliente_Articulos_PendientesDelta = interface(IPedidosCliente_Articulos_Pendientes)
- ['{570DCC8A-2BB2-423F-A19D-FB373C6477A2}']
+ ['{A8B08724-6155-439A-BA38-9F81B63BDC60}']
{ Property getters and setters }
function GetOldID_ARTICULOValue : Integer;
function GetOldCANTIDAD_PEDValue : Currency;
@@ -876,7 +852,7 @@ type
{ IPedidoCliente_ArticulosPendientesPedirAProvDelta }
IPedidoCliente_ArticulosPendientesPedirAProvDelta = interface(IPedidoCliente_ArticulosPendientesPedirAProv)
- ['{275E08F0-DF00-40DE-8CD5-988647CB5C41}']
+ ['{E02FB75F-400B-48F6-973F-AA16B32293D5}']
{ Property getters and setters }
function GetOldID_PEDIDOValue : Integer;
function GetOldID_ARTICULOValue : Integer;
@@ -1018,7 +994,7 @@ type
{ IPedidoCliente_ArticulosPendientesPedirAProvNoArticulosDelta }
IPedidoCliente_ArticulosPendientesPedirAProvNoArticulosDelta = interface(IPedidoCliente_ArticulosPendientesPedirAProvNoArticulos)
- ['{90F4CB46-B3F9-465C-BCC8-071BD7653A4D}']
+ ['{5D2E579F-205B-4BE2-9ACC-C294ACF32F37}']
{ Property getters and setters }
function GetOldID_PEDIDOValue : Integer;
function GetOldID_ARTICULOValue : Integer;
@@ -2421,68 +2397,6 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteNUM_CORREOS] := Null;
end;
-function TPedidosClienteBusinessProcessorRules.GetID_PRESUPUESTOValue: Integer;
-begin
- result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_PRESUPUESTO];
-end;
-
-function TPedidosClienteBusinessProcessorRules.GetID_PRESUPUESTOIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_PRESUPUESTO]);
-end;
-
-function TPedidosClienteBusinessProcessorRules.GetOldID_PRESUPUESTOValue: Integer;
-begin
- result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteID_PRESUPUESTO];
-end;
-
-function TPedidosClienteBusinessProcessorRules.GetOldID_PRESUPUESTOIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteID_PRESUPUESTO]);
-end;
-
-procedure TPedidosClienteBusinessProcessorRules.SetID_PRESUPUESTOValue(const aValue: Integer);
-begin
- BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_PRESUPUESTO] := aValue;
-end;
-
-procedure TPedidosClienteBusinessProcessorRules.SetID_PRESUPUESTOIsNull(const aValue: Boolean);
-begin
- if aValue then
- BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_PRESUPUESTO] := Null;
-end;
-
-function TPedidosClienteBusinessProcessorRules.GetREFERENCIA_PRESUPUESTOValue: String;
-begin
- result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREFERENCIA_PRESUPUESTO];
-end;
-
-function TPedidosClienteBusinessProcessorRules.GetREFERENCIA_PRESUPUESTOIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREFERENCIA_PRESUPUESTO]);
-end;
-
-function TPedidosClienteBusinessProcessorRules.GetOldREFERENCIA_PRESUPUESTOValue: String;
-begin
- result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteREFERENCIA_PRESUPUESTO];
-end;
-
-function TPedidosClienteBusinessProcessorRules.GetOldREFERENCIA_PRESUPUESTOIsNull: Boolean;
-begin
- result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteREFERENCIA_PRESUPUESTO]);
-end;
-
-procedure TPedidosClienteBusinessProcessorRules.SetREFERENCIA_PRESUPUESTOValue(const aValue: String);
-begin
- BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREFERENCIA_PRESUPUESTO] := aValue;
-end;
-
-procedure TPedidosClienteBusinessProcessorRules.SetREFERENCIA_PRESUPUESTOIsNull(const aValue: Boolean);
-begin
- if aValue then
- BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREFERENCIA_PRESUPUESTO] := Null;
-end;
-
function TPedidosClienteBusinessProcessorRules.GetTIPO_PEDIDOValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteTIPO_PEDIDO];
diff --git a/Source/Modulos/Pedidos de cliente/Model/uBizPedidosCliente.pas b/Source/Modulos/Pedidos de cliente/Model/uBizPedidosCliente.pas
index 1f82844..d0f8649 100644
--- a/Source/Modulos/Pedidos de cliente/Model/uBizPedidosCliente.pas
+++ b/Source/Modulos/Pedidos de cliente/Model/uBizPedidosCliente.pas
@@ -14,7 +14,7 @@ const
SITUACION_PEDIDO_PENDIENTE = 'PENDIENTE';
SITUACION_PEDIDO_ENPROCESO = 'EN PROCESO';
SITUACION_PEDIDO_SERVIDO = 'SERVIDO';
- SITUACION_PEDIDO_ALBARANADO = 'ALBARANADO';
+ SITUACION_PEDIDO_ALBARANADO = 'ALBARANADO';
type
IBizPedidoCliente = interface(IPedidosCliente)
@@ -36,6 +36,7 @@ type
function EsNuevo : Boolean;
function DarListaSituaciones: TStringList;
+ procedure CalcularImporteTotal;
end;
IBizPedidoClienteArticulosPendientesPedirAProv = interface(IPedidoCliente_ArticulosPendientesPedirAProv)
diff --git a/Source/Modulos/Pedidos de cliente/PedidosCliente_Group.groupproj b/Source/Modulos/Pedidos de cliente/PedidosCliente_Group.groupproj
index 6b43521..683be15 100644
--- a/Source/Modulos/Pedidos de cliente/PedidosCliente_Group.groupproj
+++ b/Source/Modulos/Pedidos de cliente/PedidosCliente_Group.groupproj
@@ -40,6 +40,7 @@
+
@@ -421,14 +422,23 @@
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
\ No newline at end of file
diff --git a/Source/Modulos/Pedidos de cliente/Servidor/srvPedidosCliente_Impl.dfm b/Source/Modulos/Pedidos de cliente/Servidor/srvPedidosCliente_Impl.dfm
index 4b42fbd..9adba30 100644
--- a/Source/Modulos/Pedidos de cliente/Servidor/srvPedidosCliente_Impl.dfm
+++ b/Source/Modulos/Pedidos de cliente/Servidor/srvPedidosCliente_Impl.dfm
@@ -235,14 +235,6 @@ object srvPedidosCliente: TsrvPedidosCliente
DatasetField = 'ID_DIRECCION'
TableField = 'ID_DIRECCION'
end
- item
- DatasetField = 'ID_PRESUPUESTO'
- TableField = 'ID_PRESUPUESTO'
- end
- item
- DatasetField = 'REFERENCIA_PRESUPUESTO'
- TableField = 'REFERENCIA_PRESUPUESTO'
- end
item
DatasetField = 'TIPO_PEDIDO'
TableField = 'TIPO_PEDIDO'
@@ -443,15 +435,6 @@ object srvPedidosCliente: TsrvPedidosCliente
DataType = datSmallInt
DictionaryEntry = 'PedidosCliente_NUM_CORREOS'
end
- item
- Name = 'ID_PRESUPUESTO'
- DataType = datInteger
- end
- item
- Name = 'REFERENCIA_PRESUPUESTO'
- DataType = datString
- Size = 255
- end
item
Name = 'TIPO_PEDIDO'
DataType = datString
@@ -1066,11 +1049,6 @@ object srvPedidosCliente: TsrvPedidosCliente
DataType = datDateTime
Value = ''
end
- item
- Name = 'ID_PRESUPUESTO'
- DataType = datInteger
- Value = ''
- end
item
Name = 'TIPO_PEDIDO'
DataType = datString
@@ -1096,16 +1074,15 @@ object srvPedidosCliente: TsrvPedidosCliente
'AS_ACTIVAS, OBSERVACIONES, FECHA_ALTA, FECHA_MODIFICACION,'#10' ' +
'IMPORTE_NETO, IMPORTE_PORTE, DESCUENTO,'#10' IMPORTE_DESCUENTO, ' +
'BASE_IMPONIBLE, IVA, IMPORTE_IVA,'#10' ID_FORMA_PAGO, REF_TIENDA' +
- '_WEB, FECHA_PREVISTA_ENVIO, ID_PRESUPUESTO, TIPO_PEDIDO, PAIS)'#10' ' +
- ' VALUES'#10' (:ID, :ID_EMPRESA, :ID_CLIENTE, :ID_DIRECCION, :USUA' +
- 'RIO, :FECHA_PEDIDO,'#10' :CALLE, :CODIGO_POSTAL, :POBLACION, :PR' +
- 'OVINCIA, :PERSONA_CONTACTO,'#10' :TELEFONO, :REFERENCIA, :REFERE' +
- 'NCIA_CLIENTE, :IMPORTE_TOTAL, :INCIDENCIAS,'#10' :INCIDENCIAS_AC' +
- 'TIVAS, :OBSERVACIONES, :FECHA_ALTA,'#10' :FECHA_MODIFICACION, :I' +
- 'MPORTE_NETO, :IMPORTE_PORTE,'#10' :DESCUENTO, :IMPORTE_DESCUENTO' +
- ', :BASE_IMPONIBLE, :IVA,'#10' :IMPORTE_IVA, :ID_FORMA_PAGO, :REF' +
- '_TIENDA_WEB, :FECHA_PREVISTA_ENVIO, :ID_PRESUPUESTO, :TIPO_PEDID' +
- 'O, :PAIS)'#10
+ '_WEB, FECHA_PREVISTA_ENVIO, TIPO_PEDIDO, PAIS)'#10' VALUES'#10' (:ID' +
+ ', :ID_EMPRESA, :ID_CLIENTE, :ID_DIRECCION, :USUARIO, :FECHA_PEDI' +
+ 'DO,'#10' :CALLE, :CODIGO_POSTAL, :POBLACION, :PROVINCIA, :PERSON' +
+ 'A_CONTACTO,'#10' :TELEFONO, :REFERENCIA, :REFERENCIA_CLIENTE, :I' +
+ 'MPORTE_TOTAL, :INCIDENCIAS,'#10' :INCIDENCIAS_ACTIVAS, :OBSERVAC' +
+ 'IONES, :FECHA_ALTA,'#10' :FECHA_MODIFICACION, :IMPORTE_NETO, :IM' +
+ 'PORTE_PORTE,'#10' :DESCUENTO, :IMPORTE_DESCUENTO, :BASE_IMPONIBL' +
+ 'E, :IVA,'#10' :IMPORTE_IVA, :ID_FORMA_PAGO, :REF_TIENDA_WEB, :FE' +
+ 'CHA_PREVISTA_ENVIO, :TIPO_PEDIDO, :PAIS)'#10
StatementType = stSQL
ColumnMappings = <>
end>
@@ -1285,11 +1262,6 @@ object srvPedidosCliente: TsrvPedidosCliente
DataType = datDateTime
Value = ''
end
- item
- Name = 'ID_PRESUPUESTO'
- DataType = datInteger
- Value = ''
- end
item
Name = 'TIPO_PEDIDO'
DataType = datString
@@ -1327,9 +1299,9 @@ object srvPedidosCliente: TsrvPedidosCliente
'MPORTE_DESCUENTO = :IMPORTE_DESCUENTO,'#10' BASE_IMPONIBLE = :BAS' +
'E_IMPONIBLE,'#10' IVA = :IVA,'#10' IMPORTE_IVA = :IMPORTE_IVA,'#10' ' +
' ID_FORMA_PAGO = :ID_FORMA_PAGO,'#10' REF_TIENDA_WEB = :REF_TIEND' +
- 'A_WEB,'#10' FECHA_PREVISTA_ENVIO = :FECHA_PREVISTA_ENVIO,'#10' ID_' +
- 'PRESUPUESTO = :ID_PRESUPUESTO,'#10' TIPO_PEDIDO = :TIPO_PEDIDO,'#10' ' +
- ' PAIS = :PAIS'#10' WHERE'#10' (ID = :OLD_ID)'#10
+ 'A_WEB,'#10' FECHA_PREVISTA_ENVIO = :FECHA_PREVISTA_ENVIO,'#10' TIP' +
+ 'O_PEDIDO = :TIPO_PEDIDO,'#10' PAIS = :PAIS'#10' WHERE'#10' (ID = :OLD' +
+ '_ID)'#10
StatementType = stSQL
ColumnMappings = <>
end>
diff --git a/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.dpk b/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.dpk
index e127bea..814aaee 100644
--- a/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.dpk
+++ b/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.dpk
@@ -87,7 +87,8 @@ requires
PedCli_PedProv_relation,
PedidosProveedor_model,
PedCli_FacProforma_relation,
- TiposDocumento_controller;
+ TiposDocumento_controller,
+ PreCli_PedCli_relation;
contains
uPedidosClienteViewRegister in 'uPedidosClienteViewRegister.pas',
diff --git a/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.dproj b/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.dproj
index 9cd2cd6..6d36dc9 100644
--- a/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.dproj
+++ b/Source/Modulos/Pedidos de cliente/Views/PedidosCliente_view.dproj
@@ -49,69 +49,70 @@
MainSource
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
T
diff --git a/Source/Modulos/Pedidos de cliente/Views/uEditorPedidoCliente.dfm b/Source/Modulos/Pedidos de cliente/Views/uEditorPedidoCliente.dfm
index 41cd5dd..a0b7f6e 100644
--- a/Source/Modulos/Pedidos de cliente/Views/uEditorPedidoCliente.dfm
+++ b/Source/Modulos/Pedidos de cliente/Views/uEditorPedidoCliente.dfm
@@ -85,12 +85,12 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente
TabOrder = 1
OnChanging = pgPaginasChanging
ExplicitWidth = 873
- ExplicitHeight = 510
+ ExplicitHeight = 504
inherited pagGeneral: TTabSheet
ExplicitLeft = 4
ExplicitTop = 24
ExplicitWidth = 865
- ExplicitHeight = 482
+ ExplicitHeight = 476
inline frViewPedidoCliente1: TfrViewPedidoCliente
Left = 0
Top = 0
@@ -106,12 +106,12 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente
TabOrder = 0
ReadOnly = False
ExplicitWidth = 865
- ExplicitHeight = 482
+ ExplicitHeight = 476
inherited dxLayoutControl1: TdxLayoutControl
Width = 865
Height = 476
ExplicitWidth = 865
- ExplicitHeight = 482
+ ExplicitHeight = 476
inherited edtFechaPedido: TcxDBDateEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
@@ -173,9 +173,9 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente
ExplicitTop = 136
end
inherited txtDireccion: TStaticText
- Width = 449
+ Width = 388
Height = 68
- ExplicitWidth = 449
+ ExplicitWidth = 388
ExplicitHeight = 68
end
inherited edtEntregarA: TcxDBTextEdit
@@ -281,7 +281,6 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente
object pagContenido: TTabSheet
Caption = 'Contenido'
ImageIndex = 1
- ExplicitHeight = 482
inline frViewDetallesPedidoCliente1: TfrViewDetallesPedidoCliente
Left = 0
Top = 0
@@ -299,7 +298,7 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente
TabOrder = 0
ReadOnly = False
ExplicitWidth = 865
- ExplicitHeight = 482
+ ExplicitHeight = 476
inherited ToolBar1: TToolBar
Width = 865
Height = 51
@@ -330,10 +329,10 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente
inherited FontSize: TEdit
Left = 544
Top = 0
- Width = 138
+ Width = 154
ExplicitLeft = 544
ExplicitTop = 0
- ExplicitWidth = 138
+ ExplicitWidth = 154
end
inherited ToolButton13: TToolButton [7]
Left = 0
@@ -399,7 +398,7 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente
Height = 399
ExplicitTop = 77
ExplicitWidth = 865
- ExplicitHeight = 405
+ ExplicitHeight = 399
end
inherited TBXDock1: TTBXDock
Top = 51
@@ -424,7 +423,6 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente
object pagInicidencias: TTabSheet
Caption = 'Incidencias'
ImageIndex = 2
- ExplicitHeight = 482
inline frViewIncidenciasProv: TfrViewIncidencias
Left = 0
Top = 0
@@ -440,7 +438,7 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente
TabOrder = 0
ReadOnly = False
ExplicitWidth = 865
- ExplicitHeight = 482
+ ExplicitHeight = 476
inherited pnlSup: TPanel
Width = 865
ExplicitWidth = 865
@@ -452,10 +450,10 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente
Width = 865
Height = 448
ExplicitWidth = 865
- ExplicitHeight = 454
+ ExplicitHeight = 448
inherited eIncidencias: TcxDBMemo
ExplicitWidth = 848
- ExplicitHeight = 427
+ ExplicitHeight = 421
Height = 421
Width = 848
end
@@ -495,7 +493,7 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente
Height = 73
LookAndFeel = dxLayoutOfficeLookAndFeel1
ExplicitWidth = 879
- ExplicitHeight = 67
+ ExplicitHeight = 73
inherited Bevel3: TBevel
Left = 458
Top = 11
diff --git a/Source/Modulos/Pedidos de cliente/Views/uEditorPedidoCliente.pas b/Source/Modulos/Pedidos de cliente/Views/uEditorPedidoCliente.pas
index 4bdce47..c406241 100644
--- a/Source/Modulos/Pedidos de cliente/Views/uEditorPedidoCliente.pas
+++ b/Source/Modulos/Pedidos de cliente/Views/uEditorPedidoCliente.pas
@@ -264,8 +264,9 @@ begin
// Si el pedido tiene detalles hay que mirar si los descuentos y otros campos
// para los artículos hay que cambiarlos.
- if (FPedido.Detalles.RecordCount > 0) then
- FController.DetallesController.ActualizarDetalles(FPedido.Detalles, FPedido.Cliente);
+ if (FPedido.Detalles.RecordCount > 0) then
+ if (Application.MessageBox('¿Desea actualizar los artículos del pedido para el nuevo cliente asignado?, este proceso recuperará los descuentos, portes,... de cada articulo para el nuevo cliente asignado', 'Atención', MB_YESNO) = IDYES) then
+ FController.DetallesController.ActualizarDetalles(FPedido.Detalles, FPedido.Cliente);
end;
end;
diff --git a/Source/Modulos/Pedidos de cliente/Views/uEditorPedidosCliente.dfm b/Source/Modulos/Pedidos de cliente/Views/uEditorPedidosCliente.dfm
index eb4cb60..36df89b 100644
--- a/Source/Modulos/Pedidos de cliente/Views/uEditorPedidosCliente.dfm
+++ b/Source/Modulos/Pedidos de cliente/Views/uEditorPedidosCliente.dfm
@@ -223,6 +223,7 @@ inherited fEditorPedidosCliente: TfEditorPedidosCliente
end
inherited dxComponentPrinter: TdxComponentPrinter
inherited dxComponentPrinterLink: TdxGridReportLink
+ PrinterPage.PageFooter.LeftTitle.Strings = ()
ReportDocument.CreationDate = 40402.443061388890000000
BuiltInReportLink = True
end
@@ -1691,7 +1692,7 @@ inherited fEditorPedidosCliente: TfEditorPedidosCliente
Action = actEnviarEMail
end
end
- object JsNuevoPedidoProveedorDialog: TJSDialog
+ object JsNuevoPedidoClienteDialog: TJSDialog
Content.Strings = (
#191'C'#243'mo desea dar de alta el pedido?')
DialogOptions = [doCommandLinks, doModal]
@@ -1757,16 +1758,16 @@ inherited fEditorPedidosCliente: TfEditorPedidosCliente
Instruction.Icon = tdiCustom
CustomButtons = <
item
- Caption = 'Pedido proveedor nuevo vac'#237'o.'
+ Caption = 'Pedido cliente nuevo vac'#237'o.'
Value = 100
end
item
- Caption = 'Utilizar un pedido de cliente.'
+ Caption = 'Utilizar uno o varios presupuestos.'
Value = 200
Info.Strings = (
- 'Puede utilizar un pedido de cliente existente para dar de alta e' +
- 'l/los pedido/os a proveedor nuevo/os.')
+ 'Puede utilizar uno o varios presupuestos de cliente aceptados, p' +
+ 'ara dar de alta el/los pedido/os de cliente nuevo/os.')
end>
ButtonBar.Buttons = [cbCancel]
MainIcon = tdiCustom
@@ -3553,4 +3554,317 @@ inherited fEditorPedidosCliente: TfEditorPedidosCliente
Left = 624
Top = 80
end
+ object JsClienteBloqueadoDialog: TJSDialog
+ DialogOptions = [doCommandLinks, doModal]
+ Glyph.Data = {
+ 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
+ 00001C0806000000720DDF94000000097048597300004E2000004E2001167D99
+ DE0000000467414D410000B18E7CFB51930000037F4944415478DAC5D57B4853
+ 511C07F0EF9D73B365E98A69AB344AA908F30F2BEC4130ED01817FF447417F64
+ 4541EF07511662312D8AFA53A108E9614456461A948FB234154D31C957E92A5C
+ 6EF391CD9EBAB9DD57F7DCB5B5E64CE7A87E7077EFE1FCEEF9DCDFD93DF7503C
+ CFE35F06F5DF418AA286250919547126645339693C0294193CF751E3CA97A89E
+ 59AD9F4E3595B335874A6077A47BDCEF668C0A6AB590AE0A962E92CB95E7487B
+ 61E2498D7B3F6731212FF72E6B1DFC503B3864491934A03EA302CCB8C0173B11
+ 689931214EAE0C3E4720F98C35BF3F3A67034F7F87DDFC1236533172EF55549B
+ BFD853BA3A9817D90DA07D069F9EC6ACE010558E3B66EB2A150777C6C405FB05
+ F41B58EB4717DADD6B493EF3007A9FC03C2D646AA97CB92C64B2767172A5C61D
+ 2B28696749BBDF6CAADF73F0F05289622678E61BECBDD5625F5797616D9892AD
+ DA95EDA8724C60B916D3145355B79CD5B96326A37E7DFE23D41DDD81C5D1B351
+ 14B3FC986386ED5FC10E18C42A3F9B2D1B4F14A067CC60951691814A742ED9DA
+ F61BD6D3ADDF909687FBCEFCCAB3489229F020767516E8BE1A1115AB34E8A34E
+ E6A373CC60451A22E42A183CC19AE7FAF8CB7568204B45C8E48B52113B251C4D
+ 0474FEB724AFF39D7E4EC64318C60492B7D31C0A4DE8743CF604073EE8B7CF9B
+ 059D049070343889145193D4B829829D42E10172312FC8AE4F52ABF0242103CC
+ 1FC1748A9224A406AF080A1FA8849F31D41F92582EF95A919ECE732382755941
+ 09E06D65F1BB7BFCF55077498D269D3C71E7C5A1F291C14C8A77628C317FD441
+ 795E5821C2DCF2ACDD71B85D2B628F2373B71A87AEF1D4A8E04818CD70A86FED
+ 455B473F96C48421664E08590FC330F2102DB51750DB08FFC09AC66E9CCDAE85
+ 8D66113E65024EEF8D4364986C18C6B3345AEBB3FD07AFE4B7E07671BBABBD6F
+ 63349296A904F067952CE3AAF8D5CB1BFE83CDBA1E9CBFDA80BE4F5644842B70
+ 62DB5C44A8028661E478DD7CC73F9054C13134721E7688556E5A371F5B564DF4
+ 8A91A3ED55C1F841C794D1E239A7D0E4029335815E3192D7DE56383ED01D2383
+ 5D2FE973819B57525E3172D6BD29F51DF4C4205C5F2FFDFC0B5C417BC5841FE8
+ DE96F9067AC3BCBD8DDE30123E81F4FB5CAF5F0FE71AF3441C7D76D738042331
+ 3A984509DB378C0425DF427F82608C1591476EF3C61141B23DDD388099FDDF61
+ F459F00861D2238FE6C0F8C7EDE96FC73F077F00E79165F68A80720F00000000
+ 49454E44AE426082}
+ Instruction.Text = 'El cliente est'#225' bloqueado'
+ 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
+ CustomButtons = <
+ item
+ Caption = 'Quiero elegir otro pedido'
+ Value = 100
+ Default = True
+ end
+ item
+ Caption = 'Continuar aunque est'#233' bloqueado'
+ Value = 200
+ end>
+ ButtonBar.Buttons = []
+ ButtonBar.Default = cbCancel
+ MainIcon = tdiCustom
+ Title = #161'Atenci'#243'n!'
+ 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}
+ Left = 328
+ Top = 176
+ end
end
diff --git a/Source/Modulos/Pedidos de cliente/Views/uEditorPedidosCliente.pas b/Source/Modulos/Pedidos de cliente/Views/uEditorPedidosCliente.pas
index e1714d9..45da6df 100644
--- a/Source/Modulos/Pedidos de cliente/Views/uEditorPedidosCliente.pas
+++ b/Source/Modulos/Pedidos de cliente/Views/uEditorPedidosCliente.pas
@@ -18,7 +18,7 @@ type
TfEditorPedidosCliente = class(TfEditorGridBase, IEditorPedidosCliente)
N4: TMenuItem;
Cambiarsituacin1: TMenuItem;
- JsNuevoPedidoProveedorDialog: TJSDialog;
+ JsNuevoPedidoClienteDialog: TJSDialog;
JsPrevisualizarDialog: TJSDialog;
JsImprimirDialog: TJSDialog;
TBXItem39: TTBXItem;
@@ -42,6 +42,7 @@ type
TBXItem44: TTBXItem;
actGenerarFacturaProforma: TAction;
TBXItem45: TTBXItem;
+ JsClienteBloqueadoDialog: TJSDialog;
procedure FormShow(Sender: TObject);
procedure actCambiarSituacionExecute(Sender: TObject);
procedure actRecibirPedidoUpdate(Sender: TObject);
@@ -98,7 +99,7 @@ uses
// uInventarioController, uBizInventario,
uDialogUtils, uGridStatusUtils, uDBSelectionListUtils, cxControls,
uDialogOpcionesImpresionPedidosCliente,
- uGestorInformesController,
+ uGestorInformesController, uGenerarPedidosCliUtils,
// uAlbaranesProveedorController, uBizAlbaranesProveedor,
uGenerarAlbaranesCliUtils, uGenerarPedidosProvUtils;
@@ -181,9 +182,30 @@ end;
procedure TfEditorPedidosCliente.actGenerarAlbaranCliExecute(Sender: TObject);
var
IDAlbaranAux : Integer;
+ Respuesta : Integer;
+
begin
inherited;
- GenerarAlbaranCli(FPedidos.ID, IDAlbaranAux);
+
+ // ¿El cliente asociado está bloqueado?
+ if (FPedidos.Cliente.BLOQUEADO = 1) then
+ begin
+ JsClienteBloqueadoDialog.Content.Text := 'Motivo: ' + FPedidos.Cliente.MOTIVO_BLOQUEO;
+ Respuesta := JsClienteBloqueadoDialog.Execute;
+
+ if Respuesta <> IDCANCEL then
+ begin
+ case JsClienteBloqueadoDialog.CustomButtonResult of
+ 200 : begin // Utilizarlo aunque esté bloqueado
+ GenerarAlbaranCli(FPedidos.ID, IDAlbaranAux);
+ end;
+ 100 : begin // Elegir otro
+ end;
+ end;
+ end;
+ end
+ else // El cliente no está bloqueado. Puedo continuar.
+ GenerarAlbaranCli(FPedidos.ID, IDAlbaranAux);
end;
procedure TfEditorPedidosCliente.actGenerarAlbaranCliUpdate(Sender: TObject);
@@ -485,33 +507,27 @@ begin
end;
procedure TfEditorPedidosCliente.NuevoInterno;
-{var
- Respuesta : Integer;}
+var
+ Respuesta : Integer;
begin
inherited;
+// A partir de Keiblair se pide hacer un pedido a partir de varios presupuestos: 3 baños aceptados...
-// Para Tecsitel: No preguntar si hacer el pedido de proveedor
-// basado en pedido de cliente.
-
-{ Respuesta := JsNuevoPedidoClienteDialog.Execute;
+ Respuesta := JsNuevoPedidoClienteDialog.Execute;
if Respuesta <> IDCANCEL then
begin
case JsNuevoPedidoClienteDialog.CustomButtonResult of
- 200 : begin // Utilizar un pedido
-// GenerarPedidosProv;
- actRefrescar.Execute;
- end;
+ 200 : begin // Utilizar uno o varios presupuestos
+ GenerarPedidoCliPre;
+ actRefrescar.Execute;
+ end;
100 : begin // Pedido nuevo vacio
FController.Anadir(Pedidos);
FController.Ver(Pedidos);
end;
end;
- end;}
-
- // Pedido nuevo vacio
- FController.Anadir(Pedidos);
- FController.Ver(Pedidos);
+ end;
end;
procedure TfEditorPedidosCliente.OnListaAnosChange(Sender: TObject; const Text: string);
diff --git a/Source/Modulos/Pedidos de cliente/Views/uViewPedidosCliente.dfm b/Source/Modulos/Pedidos de cliente/Views/uViewPedidosCliente.dfm
index 6787c57..5fce3e6 100644
--- a/Source/Modulos/Pedidos de cliente/Views/uViewPedidosCliente.dfm
+++ b/Source/Modulos/Pedidos de cliente/Views/uViewPedidosCliente.dfm
@@ -149,10 +149,6 @@ inherited frViewPedidosCliente: TfrViewPedidosCliente
Visible = False
VisibleForCustomization = False
end
- object cxGridViewREFERENCIA_PRESUPUESTO: TcxGridDBColumn
- Caption = 'Ref. presupuesto'
- DataBinding.FieldName = 'REFERENCIA_PRESUPUESTO'
- end
object cxGridViewREFERENCIA_FACTURA_PROFORMA: TcxGridDBColumn
Caption = 'Ref. factura proforma'
DataBinding.FieldName = 'REFERENCIA_FACTURA_PROFORMA'
diff --git a/Source/Modulos/Pedidos de cliente/Views/uViewPedidosCliente.pas b/Source/Modulos/Pedidos de cliente/Views/uViewPedidosCliente.pas
index 83770db..593faa3 100644
--- a/Source/Modulos/Pedidos de cliente/Views/uViewPedidosCliente.pas
+++ b/Source/Modulos/Pedidos de cliente/Views/uViewPedidosCliente.pas
@@ -50,7 +50,6 @@ type
cxGridViewNUM_COPIAS: TcxGridDBColumn;
cxGridViewNUM_CORREOS: TcxGridDBColumn;
cxGridViewREFERENCIA_CLIENTE: TcxGridDBColumn;
- cxGridViewREFERENCIA_PRESUPUESTO: TcxGridDBColumn;
cxGridViewTIPO_PEDIDO: TcxGridDBColumn;
cxGridViewREFERENCIA_FACTURA_PROFORMA: TcxGridDBColumn;
procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel:
diff --git a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas
index b325769..4dee1d3 100644
--- a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas
+++ b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas
@@ -38,7 +38,7 @@ type
const AVerModal : Boolean = False; const AWindowCaption: String = '';
const AHeaderText: String = '');
procedure VerDireccionEntrega(APresupuesto : IBizPresupuestoCliente);
- function Nuevo : IBizPresupuestoCliente;
+ function Nuevo (withInsert: Boolean = True) : IBizPresupuestoCliente;
function Anadir(APresupuesto : IBizPresupuestoCliente) : Boolean;
function Eliminar(const ID : Integer): Boolean; overload;
function Eliminar(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false): Boolean; overload;
@@ -127,7 +127,7 @@ type
function BuscarTodos(const ID_Cliente: Integer): IBizPresupuestoCliente; overload;
function BuscarAceptados : IBizPresupuestoCliente;
function BuscarSinFacturar : IBizPresupuestoCliente;
- function Nuevo : IBizPresupuestoCliente;
+ function Nuevo (withInsert: Boolean = True) : IBizPresupuestoCliente;
procedure Ver(APresupuesto : IBizPresupuestoCliente);
procedure VerTodos(APresupuestos: IBizPresupuestoCliente;
const AVerModal : Boolean = False; const AWindowCaption: String = '';
@@ -172,7 +172,7 @@ uses
uIEditorElegirPresupuestosCliente, uIEditorDireccionEntregaPresupuestoCliente,
schContactosClient_Intf, uPresupuestosClienteReportController,
uSistemaFunc, uEMailUtils, uDialogElegirEMail, Dialogs, uStringsUtils,
- uIDialogListaPresupuestosEnvioEMail;
+ uIDialogListaPresupuestosEnvioEMail, uDataModuleRegistroCorreos;
{ TPresupuestosClienteController }
@@ -617,8 +617,8 @@ begin
if APresupuesto.DataTable.Active then
APresupuesto.DataTable.Active := True;
-// if AnadirMarcaEnvioCorreo(nme_PresupuestosCliente, APresupuesto.ID) then
-// begin
+ if AnadirMarcaEnvioCorreo(nme_PresupuestosCliente, APresupuesto.ID) then
+ begin
DesconectarTabla(APresupuesto.DataTable);
try
ASoloLectura := APresupuesto.DataTable.ReadOnly;
@@ -626,7 +626,7 @@ begin
SetDataTableReadOnly(APresupuesto.DataTable, False);
try
APresupuesto.Edit;
-// APresupuesto.NUM_CORREOS := APresupuesto.NUM_CORREOS + 1;
+ APresupuesto.NUM_CORREOS := APresupuesto.NUM_CORREOS + 1;
APresupuesto.Post;
finally
if ASoloLectura then
@@ -635,8 +635,7 @@ begin
finally
ConectarTabla(APresupuesto.DataTable);
end;
-// end;
-
+ end;
end;
function TPresupuestosClienteController._Vacio: IBizPresupuestoCliente;
@@ -823,8 +822,8 @@ begin
try
AReportController.ExportToPDF(APresupuesto.ID, AFicheroTMP);
Result := EnviarEMailMAPI(AAsunto, ATextoEMail, AFicheroTMP, '', '', APresupuesto.Cliente.NOMBRE, AEMail, AEnviarDirectamente);
-// if Result then
-// _AnadirMarcaEnvioCorreo(APresupuesto);
+ if Result then
+ _AnadirMarcaEnvioCorreo(APresupuesto);
finally
SysUtils.DeleteFile(AFicheroTMP);
AReportController := NIL;
@@ -1049,14 +1048,15 @@ begin
end;
end;
-function TPresupuestosClienteController.Nuevo: IBizPresupuestoCliente;
+function TPresupuestosClienteController.Nuevo (withInsert: Boolean = True): IBizPresupuestoCliente;
var
APresupuesto : IBizPresupuestoCliente;
begin
APresupuesto := FDataModule.NewItem;
FiltrarEmpresa(APresupuesto);
APresupuesto.DataTable.Active := True;
- APresupuesto.Insert;
+ if WithInsert then
+ APresupuesto.Insert;
Result := APresupuesto;
end;
diff --git a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteReportController.pas b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteReportController.pas
index 0f7f445..ccfb876 100644
--- a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteReportController.pas
+++ b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteReportController.pas
@@ -38,7 +38,7 @@ implementation
uses
uROTypes, uEditorRegistryUtils, uIEditorPresupuestosClientePreview,
uEditorPreview, uDataModulePresupuestosCliente, uEditorBase,
- cxControls, uFactuGES_App, uStringsUtils, uSistemaFunc;
+ cxControls, uFactuGES_App, uStringsUtils, uSistemaFunc, schPresupuestosClienteClient_Intf;
{ TPresupuestosClienteReportController }
@@ -185,7 +185,7 @@ begin
AEditor.ListaID := AListaID;
AEditor.Title := 'Presupuesto - ' + AppFactuGES.EmpresaActiva.NOMBRE;
AEditor.LoadFromStream(AStream);
-// AEditor.TablaImpresion := nme_PresupuestosCliente;
+ AEditor.TablaImpresion := nme_PresupuestosCliente;
AEditor.IdTablaImpresion := AListaID.ToString;
AEditor.Print;
finally
diff --git a/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm
index f3b416c..fdfc11a 100644
--- a/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm
+++ b/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm
@@ -248,9 +248,21 @@ inherited DataModulePresupuestosCliente: TDataModulePresupuestosCliente
DataType = datInteger
end
item
- Name = 'REFERENCIA_FACTURA_PROFORMA'
+ Name = 'ID_PEDIDO'
+ DataType = datInteger
+ end
+ item
+ Name = 'REFERENCIA_PEDIDO_CLIENTE'
DataType = datString
Size = 255
+ end
+ item
+ Name = 'NUM_COPIAS'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'NUM_CORREOS'
+ DataType = datSmallInt
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
diff --git a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas
index 82c542c..f0e7a83 100644
--- a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas
+++ b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteClient_Intf.pas
@@ -3,15 +3,15 @@ unit schPresupuestosClienteClient_Intf;
interface
uses
- Classes, DB, schBase_Intf, SysUtils, uROClasses, uDAInterfaces, uDADataTable, FmtBCD, uROXMLIntf;
+ Classes, DB, SysUtils, uROClasses, uDAInterfaces, uDADataTable, FmtBCD, uROXMLIntf;
const
{ Data table rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
- RID_ListaAnosPresupuestos = '{0DFD9AC5-2B0E-4391-A5AD-D2972D58E463}';
- RID_PresupuestosCliente = '{F3013194-911B-415B-A792-25AF245FF2B2}';
- RID_PresupuestosCliente_Detalles = '{EC5C0790-12D9-4C7D-9254-32E249A3F2F7}';
+ RID_ListaAnosPresupuestos = '{7C9A1D45-633A-43E1-BA2E-FF9B84046FD5}';
+ RID_PresupuestosCliente = '{1189B99E-2CDA-4602-919D-C609D96D2A90}';
+ RID_PresupuestosCliente_Detalles = '{085498EC-C5B1-40FF-8E94-6AE308799F01}';
{ Data table names }
nme_ListaAnosPresupuestos = 'ListaAnosPresupuestos';
@@ -61,7 +61,10 @@ const
fld_PresupuestosClienteFECHA_VIGENCIA = 'FECHA_VIGENCIA';
fld_PresupuestosClienteTIPO_PRESUPUESTO = 'TIPO_PRESUPUESTO';
fld_PresupuestosClienteID_TIPO_IVA = 'ID_TIPO_IVA';
- fld_PresupuestosClienteREFERENCIA_FACTURA_PROFORMA = 'REFERENCIA_FACTURA_PROFORMA';
+ fld_PresupuestosClienteID_PEDIDO = 'ID_PEDIDO';
+ fld_PresupuestosClienteREFERENCIA_PEDIDO_CLIENTE = 'REFERENCIA_PEDIDO_CLIENTE';
+ fld_PresupuestosClienteNUM_COPIAS = 'NUM_COPIAS';
+ fld_PresupuestosClienteNUM_CORREOS = 'NUM_CORREOS';
{ PresupuestosCliente field indexes }
idx_PresupuestosClienteID = 0;
@@ -100,7 +103,10 @@ const
idx_PresupuestosClienteFECHA_VIGENCIA = 33;
idx_PresupuestosClienteTIPO_PRESUPUESTO = 34;
idx_PresupuestosClienteID_TIPO_IVA = 35;
- idx_PresupuestosClienteREFERENCIA_FACTURA_PROFORMA = 36;
+ idx_PresupuestosClienteID_PEDIDO = 36;
+ idx_PresupuestosClienteREFERENCIA_PEDIDO_CLIENTE = 37;
+ idx_PresupuestosClienteNUM_COPIAS = 38;
+ idx_PresupuestosClienteNUM_CORREOS = 39;
{ PresupuestosCliente_Detalles fields }
fld_PresupuestosCliente_DetallesID = 'ID';
@@ -139,7 +145,7 @@ const
type
{ IListaAnosPresupuestos }
IListaAnosPresupuestos = interface(IDAStronglyTypedDataTable)
- ['{B096570B-EC83-4316-88E0-9C42EFFA2CD3}']
+ ['{3ED70730-85C2-4C27-A2F6-FEA51A435D94}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
@@ -153,7 +159,7 @@ type
end;
{ TListaAnosPresupuestosDataTableRules }
- TListaAnosPresupuestosDataTableRules = class(TIntfObjectDADataTableRules, IListaAnosPresupuestos)
+ TListaAnosPresupuestosDataTableRules = class(TDADataTableRules, IListaAnosPresupuestos)
private
protected
{ Property getters and setters }
@@ -174,7 +180,7 @@ type
{ IPresupuestosCliente }
IPresupuestosCliente = interface(IDAStronglyTypedDataTable)
- ['{D25B93AB-F578-4F0A-8DD3-FE58DA2C6F92}']
+ ['{9F9B3F3D-05D0-4A3C-9BAA-2F093CD0A031}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -316,10 +322,22 @@ type
procedure SetID_TIPO_IVAValue(const aValue: Integer);
function GetID_TIPO_IVAIsNull: Boolean;
procedure SetID_TIPO_IVAIsNull(const aValue: Boolean);
- function GetREFERENCIA_FACTURA_PROFORMAValue: String;
- procedure SetREFERENCIA_FACTURA_PROFORMAValue(const aValue: String);
- function GetREFERENCIA_FACTURA_PROFORMAIsNull: Boolean;
- procedure SetREFERENCIA_FACTURA_PROFORMAIsNull(const aValue: Boolean);
+ function GetID_PEDIDOValue: Integer;
+ procedure SetID_PEDIDOValue(const aValue: Integer);
+ function GetID_PEDIDOIsNull: Boolean;
+ procedure SetID_PEDIDOIsNull(const aValue: Boolean);
+ function GetREFERENCIA_PEDIDO_CLIENTEValue: String;
+ procedure SetREFERENCIA_PEDIDO_CLIENTEValue(const aValue: String);
+ function GetREFERENCIA_PEDIDO_CLIENTEIsNull: Boolean;
+ procedure SetREFERENCIA_PEDIDO_CLIENTEIsNull(const aValue: Boolean);
+ function GetNUM_COPIASValue: SmallInt;
+ procedure SetNUM_COPIASValue(const aValue: SmallInt);
+ function GetNUM_COPIASIsNull: Boolean;
+ procedure SetNUM_COPIASIsNull(const aValue: Boolean);
+ function GetNUM_CORREOSValue: SmallInt;
+ procedure SetNUM_CORREOSValue(const aValue: SmallInt);
+ function GetNUM_CORREOSIsNull: Boolean;
+ procedure SetNUM_CORREOSIsNull(const aValue: Boolean);
{ Properties }
@@ -395,12 +413,18 @@ type
property TIPO_PRESUPUESTOIsNull: Boolean read GetTIPO_PRESUPUESTOIsNull write SetTIPO_PRESUPUESTOIsNull;
property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
property ID_TIPO_IVAIsNull: Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull;
- property REFERENCIA_FACTURA_PROFORMA: String read GetREFERENCIA_FACTURA_PROFORMAValue write SetREFERENCIA_FACTURA_PROFORMAValue;
- property REFERENCIA_FACTURA_PROFORMAIsNull: Boolean read GetREFERENCIA_FACTURA_PROFORMAIsNull write SetREFERENCIA_FACTURA_PROFORMAIsNull;
+ property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
+ property ID_PEDIDOIsNull: Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
+ property REFERENCIA_PEDIDO_CLIENTE: String read GetREFERENCIA_PEDIDO_CLIENTEValue write SetREFERENCIA_PEDIDO_CLIENTEValue;
+ property REFERENCIA_PEDIDO_CLIENTEIsNull: Boolean read GetREFERENCIA_PEDIDO_CLIENTEIsNull write SetREFERENCIA_PEDIDO_CLIENTEIsNull;
+ property NUM_COPIAS: SmallInt read GetNUM_COPIASValue write SetNUM_COPIASValue;
+ property NUM_COPIASIsNull: Boolean read GetNUM_COPIASIsNull write SetNUM_COPIASIsNull;
+ property NUM_CORREOS: SmallInt read GetNUM_CORREOSValue write SetNUM_CORREOSValue;
+ property NUM_CORREOSIsNull: Boolean read GetNUM_CORREOSIsNull write SetNUM_CORREOSIsNull;
end;
{ TPresupuestosClienteDataTableRules }
- TPresupuestosClienteDataTableRules = class(TIntfObjectDADataTableRules, IPresupuestosCliente)
+ TPresupuestosClienteDataTableRules = class(TDADataTableRules, IPresupuestosCliente)
private
f_PORTADA: IROStrings;
f_MEMORIA: IROStrings;
@@ -552,10 +576,22 @@ type
procedure SetID_TIPO_IVAValue(const aValue: Integer); virtual;
function GetID_TIPO_IVAIsNull: Boolean; virtual;
procedure SetID_TIPO_IVAIsNull(const aValue: Boolean); virtual;
- function GetREFERENCIA_FACTURA_PROFORMAValue: String; virtual;
- procedure SetREFERENCIA_FACTURA_PROFORMAValue(const aValue: String); virtual;
- function GetREFERENCIA_FACTURA_PROFORMAIsNull: Boolean; virtual;
- procedure SetREFERENCIA_FACTURA_PROFORMAIsNull(const aValue: Boolean); virtual;
+ function GetID_PEDIDOValue: Integer; virtual;
+ procedure SetID_PEDIDOValue(const aValue: Integer); virtual;
+ function GetID_PEDIDOIsNull: Boolean; virtual;
+ procedure SetID_PEDIDOIsNull(const aValue: Boolean); virtual;
+ function GetREFERENCIA_PEDIDO_CLIENTEValue: String; virtual;
+ procedure SetREFERENCIA_PEDIDO_CLIENTEValue(const aValue: String); virtual;
+ function GetREFERENCIA_PEDIDO_CLIENTEIsNull: Boolean; virtual;
+ procedure SetREFERENCIA_PEDIDO_CLIENTEIsNull(const aValue: Boolean); virtual;
+ function GetNUM_COPIASValue: SmallInt; virtual;
+ procedure SetNUM_COPIASValue(const aValue: SmallInt); virtual;
+ function GetNUM_COPIASIsNull: Boolean; virtual;
+ procedure SetNUM_COPIASIsNull(const aValue: Boolean); virtual;
+ function GetNUM_CORREOSValue: SmallInt; virtual;
+ procedure SetNUM_CORREOSValue(const aValue: SmallInt); virtual;
+ function GetNUM_CORREOSIsNull: Boolean; virtual;
+ procedure SetNUM_CORREOSIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
@@ -630,8 +666,14 @@ type
property TIPO_PRESUPUESTOIsNull: Boolean read GetTIPO_PRESUPUESTOIsNull write SetTIPO_PRESUPUESTOIsNull;
property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
property ID_TIPO_IVAIsNull: Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull;
- property REFERENCIA_FACTURA_PROFORMA: String read GetREFERENCIA_FACTURA_PROFORMAValue write SetREFERENCIA_FACTURA_PROFORMAValue;
- property REFERENCIA_FACTURA_PROFORMAIsNull: Boolean read GetREFERENCIA_FACTURA_PROFORMAIsNull write SetREFERENCIA_FACTURA_PROFORMAIsNull;
+ property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
+ property ID_PEDIDOIsNull: Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
+ property REFERENCIA_PEDIDO_CLIENTE: String read GetREFERENCIA_PEDIDO_CLIENTEValue write SetREFERENCIA_PEDIDO_CLIENTEValue;
+ property REFERENCIA_PEDIDO_CLIENTEIsNull: Boolean read GetREFERENCIA_PEDIDO_CLIENTEIsNull write SetREFERENCIA_PEDIDO_CLIENTEIsNull;
+ property NUM_COPIAS: SmallInt read GetNUM_COPIASValue write SetNUM_COPIASValue;
+ property NUM_COPIASIsNull: Boolean read GetNUM_COPIASIsNull write SetNUM_COPIASIsNull;
+ property NUM_CORREOS: SmallInt read GetNUM_CORREOSValue write SetNUM_CORREOSValue;
+ property NUM_CORREOSIsNull: Boolean read GetNUM_CORREOSIsNull write SetNUM_CORREOSIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
@@ -641,7 +683,7 @@ type
{ IPresupuestosCliente_Detalles }
IPresupuestosCliente_Detalles = interface(IDAStronglyTypedDataTable)
- ['{B69BE1A7-680A-4746-9126-47FD4BE7A252}']
+ ['{5E5C8B04-E48B-4886-8C47-62EFCE5F3ABF}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@@ -739,7 +781,7 @@ type
end;
{ TPresupuestosCliente_DetallesDataTableRules }
- TPresupuestosCliente_DetallesDataTableRules = class(TIntfObjectDADataTableRules, IPresupuestosCliente_Detalles)
+ TPresupuestosCliente_DetallesDataTableRules = class(TDADataTableRules, IPresupuestosCliente_Detalles)
private
protected
{ Property getters and setters }
@@ -1668,25 +1710,88 @@ begin
DataTable.Fields[idx_PresupuestosClienteID_TIPO_IVA].AsVariant := Null;
end;
-function TPresupuestosClienteDataTableRules.GetREFERENCIA_FACTURA_PROFORMAValue: String;
+function TPresupuestosClienteDataTableRules.GetID_PEDIDOValue: Integer;
begin
- result := DataTable.Fields[idx_PresupuestosClienteREFERENCIA_FACTURA_PROFORMA].AsString;
+ result := DataTable.Fields[idx_PresupuestosClienteID_PEDIDO].AsInteger;
end;
-procedure TPresupuestosClienteDataTableRules.SetREFERENCIA_FACTURA_PROFORMAValue(const aValue: String);
+procedure TPresupuestosClienteDataTableRules.SetID_PEDIDOValue(const aValue: Integer);
begin
- DataTable.Fields[idx_PresupuestosClienteREFERENCIA_FACTURA_PROFORMA].AsString := aValue;
+ DataTable.Fields[idx_PresupuestosClienteID_PEDIDO].AsInteger := aValue;
end;
-function TPresupuestosClienteDataTableRules.GetREFERENCIA_FACTURA_PROFORMAIsNull: boolean;
+function TPresupuestosClienteDataTableRules.GetID_PEDIDOIsNull: boolean;
begin
- result := DataTable.Fields[idx_PresupuestosClienteREFERENCIA_FACTURA_PROFORMA].IsNull;
+ result := DataTable.Fields[idx_PresupuestosClienteID_PEDIDO].IsNull;
end;
-procedure TPresupuestosClienteDataTableRules.SetREFERENCIA_FACTURA_PROFORMAIsNull(const aValue: Boolean);
+procedure TPresupuestosClienteDataTableRules.SetID_PEDIDOIsNull(const aValue: Boolean);
begin
if aValue then
- DataTable.Fields[idx_PresupuestosClienteREFERENCIA_FACTURA_PROFORMA].AsVariant := Null;
+ DataTable.Fields[idx_PresupuestosClienteID_PEDIDO].AsVariant := Null;
+end;
+
+function TPresupuestosClienteDataTableRules.GetREFERENCIA_PEDIDO_CLIENTEValue: String;
+begin
+ result := DataTable.Fields[idx_PresupuestosClienteREFERENCIA_PEDIDO_CLIENTE].AsString;
+end;
+
+procedure TPresupuestosClienteDataTableRules.SetREFERENCIA_PEDIDO_CLIENTEValue(const aValue: String);
+begin
+ DataTable.Fields[idx_PresupuestosClienteREFERENCIA_PEDIDO_CLIENTE].AsString := aValue;
+end;
+
+function TPresupuestosClienteDataTableRules.GetREFERENCIA_PEDIDO_CLIENTEIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PresupuestosClienteREFERENCIA_PEDIDO_CLIENTE].IsNull;
+end;
+
+procedure TPresupuestosClienteDataTableRules.SetREFERENCIA_PEDIDO_CLIENTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PresupuestosClienteREFERENCIA_PEDIDO_CLIENTE].AsVariant := Null;
+end;
+
+function TPresupuestosClienteDataTableRules.GetNUM_COPIASValue: SmallInt;
+begin
+ result := DataTable.Fields[idx_PresupuestosClienteNUM_COPIAS].AsSmallInt;
+end;
+
+procedure TPresupuestosClienteDataTableRules.SetNUM_COPIASValue(const aValue: SmallInt);
+begin
+ DataTable.Fields[idx_PresupuestosClienteNUM_COPIAS].AsSmallInt := aValue;
+end;
+
+function TPresupuestosClienteDataTableRules.GetNUM_COPIASIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PresupuestosClienteNUM_COPIAS].IsNull;
+end;
+
+procedure TPresupuestosClienteDataTableRules.SetNUM_COPIASIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PresupuestosClienteNUM_COPIAS].AsVariant := Null;
+end;
+
+function TPresupuestosClienteDataTableRules.GetNUM_CORREOSValue: SmallInt;
+begin
+ result := DataTable.Fields[idx_PresupuestosClienteNUM_CORREOS].AsSmallInt;
+end;
+
+procedure TPresupuestosClienteDataTableRules.SetNUM_CORREOSValue(const aValue: SmallInt);
+begin
+ DataTable.Fields[idx_PresupuestosClienteNUM_CORREOS].AsSmallInt := aValue;
+end;
+
+function TPresupuestosClienteDataTableRules.GetNUM_CORREOSIsNull: boolean;
+begin
+ result := DataTable.Fields[idx_PresupuestosClienteNUM_CORREOS].IsNull;
+end;
+
+procedure TPresupuestosClienteDataTableRules.SetNUM_CORREOSIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ DataTable.Fields[idx_PresupuestosClienteNUM_CORREOS].AsVariant := Null;
end;
diff --git a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteServer_Intf.pas b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteServer_Intf.pas
index beb56a7..fd071a2 100644
--- a/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteServer_Intf.pas
+++ b/Source/Modulos/Presupuestos de cliente/Model/schPresupuestosClienteServer_Intf.pas
@@ -9,14 +9,14 @@ const
{ Delta rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
- RID_ListaAnosPresupuestosDelta = '{1BD24E51-7782-44FE-93E8-8C6BC7D478B2}';
- RID_PresupuestosClienteDelta = '{38421517-6CF1-413E-B935-F0E9E5738EA1}';
- RID_PresupuestosCliente_DetallesDelta = '{0F8DB91C-0111-4BAE-9B54-1DF8F0668885}';
+ RID_ListaAnosPresupuestosDelta = '{34CA5EA1-B06E-450B-8002-C5EB2092C142}';
+ RID_PresupuestosClienteDelta = '{20AEA529-6FEF-4BE8-AA42-F8AE317348CE}';
+ RID_PresupuestosCliente_DetallesDelta = '{8DC5B0B1-C2F2-424A-B6BB-155D253691F6}';
type
{ IListaAnosPresupuestosDelta }
IListaAnosPresupuestosDelta = interface(IListaAnosPresupuestos)
- ['{1BD24E51-7782-44FE-93E8-8C6BC7D478B2}']
+ ['{34CA5EA1-B06E-450B-8002-C5EB2092C142}']
{ Property getters and setters }
function GetOldANOValue : String;
@@ -50,7 +50,7 @@ type
{ IPresupuestosClienteDelta }
IPresupuestosClienteDelta = interface(IPresupuestosCliente)
- ['{38421517-6CF1-413E-B935-F0E9E5738EA1}']
+ ['{20AEA529-6FEF-4BE8-AA42-F8AE317348CE}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@@ -88,7 +88,10 @@ type
function GetOldFECHA_VIGENCIAValue : DateTime;
function GetOldTIPO_PRESUPUESTOValue : String;
function GetOldID_TIPO_IVAValue : Integer;
- function GetOldREFERENCIA_FACTURA_PROFORMAValue : String;
+ function GetOldID_PEDIDOValue : Integer;
+ function GetOldREFERENCIA_PEDIDO_CLIENTEValue : String;
+ function GetOldNUM_COPIASValue : SmallInt;
+ function GetOldNUM_CORREOSValue : SmallInt;
{ Properties }
property OldID : Integer read GetOldIDValue;
@@ -127,7 +130,10 @@ type
property OldFECHA_VIGENCIA : DateTime read GetOldFECHA_VIGENCIAValue;
property OldTIPO_PRESUPUESTO : String read GetOldTIPO_PRESUPUESTOValue;
property OldID_TIPO_IVA : Integer read GetOldID_TIPO_IVAValue;
- property OldREFERENCIA_FACTURA_PROFORMA : String read GetOldREFERENCIA_FACTURA_PROFORMAValue;
+ property OldID_PEDIDO : Integer read GetOldID_PEDIDOValue;
+ property OldREFERENCIA_PEDIDO_CLIENTE : String read GetOldREFERENCIA_PEDIDO_CLIENTEValue;
+ property OldNUM_COPIAS : SmallInt read GetOldNUM_COPIASValue;
+ property OldNUM_CORREOS : SmallInt read GetOldNUM_CORREOSValue;
end;
{ TPresupuestosClienteBusinessProcessorRules }
@@ -355,12 +361,30 @@ type
function GetOldID_TIPO_IVAIsNull: Boolean; virtual;
procedure SetID_TIPO_IVAValue(const aValue: Integer); virtual;
procedure SetID_TIPO_IVAIsNull(const aValue: Boolean); virtual;
- function GetREFERENCIA_FACTURA_PROFORMAValue: String; virtual;
- function GetREFERENCIA_FACTURA_PROFORMAIsNull: Boolean; virtual;
- function GetOldREFERENCIA_FACTURA_PROFORMAValue: String; virtual;
- function GetOldREFERENCIA_FACTURA_PROFORMAIsNull: Boolean; virtual;
- procedure SetREFERENCIA_FACTURA_PROFORMAValue(const aValue: String); virtual;
- procedure SetREFERENCIA_FACTURA_PROFORMAIsNull(const aValue: Boolean); virtual;
+ function GetID_PEDIDOValue: Integer; virtual;
+ function GetID_PEDIDOIsNull: Boolean; virtual;
+ function GetOldID_PEDIDOValue: Integer; virtual;
+ function GetOldID_PEDIDOIsNull: Boolean; virtual;
+ procedure SetID_PEDIDOValue(const aValue: Integer); virtual;
+ procedure SetID_PEDIDOIsNull(const aValue: Boolean); virtual;
+ function GetREFERENCIA_PEDIDO_CLIENTEValue: String; virtual;
+ function GetREFERENCIA_PEDIDO_CLIENTEIsNull: Boolean; virtual;
+ function GetOldREFERENCIA_PEDIDO_CLIENTEValue: String; virtual;
+ function GetOldREFERENCIA_PEDIDO_CLIENTEIsNull: Boolean; virtual;
+ procedure SetREFERENCIA_PEDIDO_CLIENTEValue(const aValue: String); virtual;
+ procedure SetREFERENCIA_PEDIDO_CLIENTEIsNull(const aValue: Boolean); virtual;
+ function GetNUM_COPIASValue: SmallInt; virtual;
+ function GetNUM_COPIASIsNull: Boolean; virtual;
+ function GetOldNUM_COPIASValue: SmallInt; virtual;
+ function GetOldNUM_COPIASIsNull: Boolean; virtual;
+ procedure SetNUM_COPIASValue(const aValue: SmallInt); virtual;
+ procedure SetNUM_COPIASIsNull(const aValue: Boolean); virtual;
+ function GetNUM_CORREOSValue: SmallInt; virtual;
+ function GetNUM_CORREOSIsNull: Boolean; virtual;
+ function GetOldNUM_CORREOSValue: SmallInt; virtual;
+ function GetOldNUM_CORREOSIsNull: Boolean; virtual;
+ procedure SetNUM_CORREOSValue(const aValue: SmallInt); virtual;
+ procedure SetNUM_CORREOSIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID : Integer read GetIDValue write SetIDValue;
@@ -507,10 +531,22 @@ type
property ID_TIPO_IVAIsNull : Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull;
property OldID_TIPO_IVA : Integer read GetOldID_TIPO_IVAValue;
property OldID_TIPO_IVAIsNull : Boolean read GetOldID_TIPO_IVAIsNull;
- property REFERENCIA_FACTURA_PROFORMA : String read GetREFERENCIA_FACTURA_PROFORMAValue write SetREFERENCIA_FACTURA_PROFORMAValue;
- property REFERENCIA_FACTURA_PROFORMAIsNull : Boolean read GetREFERENCIA_FACTURA_PROFORMAIsNull write SetREFERENCIA_FACTURA_PROFORMAIsNull;
- property OldREFERENCIA_FACTURA_PROFORMA : String read GetOldREFERENCIA_FACTURA_PROFORMAValue;
- property OldREFERENCIA_FACTURA_PROFORMAIsNull : Boolean read GetOldREFERENCIA_FACTURA_PROFORMAIsNull;
+ property ID_PEDIDO : Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
+ property ID_PEDIDOIsNull : Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
+ property OldID_PEDIDO : Integer read GetOldID_PEDIDOValue;
+ property OldID_PEDIDOIsNull : Boolean read GetOldID_PEDIDOIsNull;
+ property REFERENCIA_PEDIDO_CLIENTE : String read GetREFERENCIA_PEDIDO_CLIENTEValue write SetREFERENCIA_PEDIDO_CLIENTEValue;
+ property REFERENCIA_PEDIDO_CLIENTEIsNull : Boolean read GetREFERENCIA_PEDIDO_CLIENTEIsNull write SetREFERENCIA_PEDIDO_CLIENTEIsNull;
+ property OldREFERENCIA_PEDIDO_CLIENTE : String read GetOldREFERENCIA_PEDIDO_CLIENTEValue;
+ property OldREFERENCIA_PEDIDO_CLIENTEIsNull : Boolean read GetOldREFERENCIA_PEDIDO_CLIENTEIsNull;
+ property NUM_COPIAS : SmallInt read GetNUM_COPIASValue write SetNUM_COPIASValue;
+ property NUM_COPIASIsNull : Boolean read GetNUM_COPIASIsNull write SetNUM_COPIASIsNull;
+ property OldNUM_COPIAS : SmallInt read GetOldNUM_COPIASValue;
+ property OldNUM_COPIASIsNull : Boolean read GetOldNUM_COPIASIsNull;
+ property NUM_CORREOS : SmallInt read GetNUM_CORREOSValue write SetNUM_CORREOSValue;
+ property NUM_CORREOSIsNull : Boolean read GetNUM_CORREOSIsNull write SetNUM_CORREOSIsNull;
+ property OldNUM_CORREOS : SmallInt read GetOldNUM_CORREOSValue;
+ property OldNUM_CORREOSIsNull : Boolean read GetOldNUM_CORREOSIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
@@ -520,7 +556,7 @@ type
{ IPresupuestosCliente_DetallesDelta }
IPresupuestosCliente_DetallesDelta = interface(IPresupuestosCliente_Detalles)
- ['{0F8DB91C-0111-4BAE-9B54-1DF8F0668885}']
+ ['{8DC5B0B1-C2F2-424A-B6BB-155D253691F6}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_PRESUPUESTOValue : Integer;
@@ -1921,35 +1957,128 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteID_TIPO_IVA] := Null;
end;
-function TPresupuestosClienteBusinessProcessorRules.GetREFERENCIA_FACTURA_PROFORMAValue: String;
+function TPresupuestosClienteBusinessProcessorRules.GetID_PEDIDOValue: Integer;
begin
- result := BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteREFERENCIA_FACTURA_PROFORMA];
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteID_PEDIDO];
end;
-function TPresupuestosClienteBusinessProcessorRules.GetREFERENCIA_FACTURA_PROFORMAIsNull: Boolean;
+function TPresupuestosClienteBusinessProcessorRules.GetID_PEDIDOIsNull: Boolean;
begin
- result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteREFERENCIA_FACTURA_PROFORMA]);
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteID_PEDIDO]);
end;
-function TPresupuestosClienteBusinessProcessorRules.GetOldREFERENCIA_FACTURA_PROFORMAValue: String;
+function TPresupuestosClienteBusinessProcessorRules.GetOldID_PEDIDOValue: Integer;
begin
- result := BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteREFERENCIA_FACTURA_PROFORMA];
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteID_PEDIDO];
end;
-function TPresupuestosClienteBusinessProcessorRules.GetOldREFERENCIA_FACTURA_PROFORMAIsNull: Boolean;
+function TPresupuestosClienteBusinessProcessorRules.GetOldID_PEDIDOIsNull: Boolean;
begin
- result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteREFERENCIA_FACTURA_PROFORMA]);
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteID_PEDIDO]);
end;
-procedure TPresupuestosClienteBusinessProcessorRules.SetREFERENCIA_FACTURA_PROFORMAValue(const aValue: String);
+procedure TPresupuestosClienteBusinessProcessorRules.SetID_PEDIDOValue(const aValue: Integer);
begin
- BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteREFERENCIA_FACTURA_PROFORMA] := aValue;
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteID_PEDIDO] := aValue;
end;
-procedure TPresupuestosClienteBusinessProcessorRules.SetREFERENCIA_FACTURA_PROFORMAIsNull(const aValue: Boolean);
+procedure TPresupuestosClienteBusinessProcessorRules.SetID_PEDIDOIsNull(const aValue: Boolean);
begin
if aValue then
- BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteREFERENCIA_FACTURA_PROFORMA] := Null;
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteID_PEDIDO] := Null;
+end;
+
+function TPresupuestosClienteBusinessProcessorRules.GetREFERENCIA_PEDIDO_CLIENTEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteREFERENCIA_PEDIDO_CLIENTE];
+end;
+
+function TPresupuestosClienteBusinessProcessorRules.GetREFERENCIA_PEDIDO_CLIENTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteREFERENCIA_PEDIDO_CLIENTE]);
+end;
+
+function TPresupuestosClienteBusinessProcessorRules.GetOldREFERENCIA_PEDIDO_CLIENTEValue: String;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteREFERENCIA_PEDIDO_CLIENTE];
+end;
+
+function TPresupuestosClienteBusinessProcessorRules.GetOldREFERENCIA_PEDIDO_CLIENTEIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteREFERENCIA_PEDIDO_CLIENTE]);
+end;
+
+procedure TPresupuestosClienteBusinessProcessorRules.SetREFERENCIA_PEDIDO_CLIENTEValue(const aValue: String);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteREFERENCIA_PEDIDO_CLIENTE] := aValue;
+end;
+
+procedure TPresupuestosClienteBusinessProcessorRules.SetREFERENCIA_PEDIDO_CLIENTEIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteREFERENCIA_PEDIDO_CLIENTE] := Null;
+end;
+
+function TPresupuestosClienteBusinessProcessorRules.GetNUM_COPIASValue: SmallInt;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteNUM_COPIAS];
+end;
+
+function TPresupuestosClienteBusinessProcessorRules.GetNUM_COPIASIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteNUM_COPIAS]);
+end;
+
+function TPresupuestosClienteBusinessProcessorRules.GetOldNUM_COPIASValue: SmallInt;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteNUM_COPIAS];
+end;
+
+function TPresupuestosClienteBusinessProcessorRules.GetOldNUM_COPIASIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteNUM_COPIAS]);
+end;
+
+procedure TPresupuestosClienteBusinessProcessorRules.SetNUM_COPIASValue(const aValue: SmallInt);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteNUM_COPIAS] := aValue;
+end;
+
+procedure TPresupuestosClienteBusinessProcessorRules.SetNUM_COPIASIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteNUM_COPIAS] := Null;
+end;
+
+function TPresupuestosClienteBusinessProcessorRules.GetNUM_CORREOSValue: SmallInt;
+begin
+ result := BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteNUM_CORREOS];
+end;
+
+function TPresupuestosClienteBusinessProcessorRules.GetNUM_CORREOSIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteNUM_CORREOS]);
+end;
+
+function TPresupuestosClienteBusinessProcessorRules.GetOldNUM_CORREOSValue: SmallInt;
+begin
+ result := BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteNUM_CORREOS];
+end;
+
+function TPresupuestosClienteBusinessProcessorRules.GetOldNUM_CORREOSIsNull: Boolean;
+begin
+ result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteNUM_CORREOS]);
+end;
+
+procedure TPresupuestosClienteBusinessProcessorRules.SetNUM_CORREOSValue(const aValue: SmallInt);
+begin
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteNUM_CORREOS] := aValue;
+end;
+
+procedure TPresupuestosClienteBusinessProcessorRules.SetNUM_CORREOSIsNull(const aValue: Boolean);
+begin
+ if aValue then
+ BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteNUM_CORREOS] := Null;
end;
diff --git a/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm b/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm
index 167699d..0809e42 100644
--- a/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm
+++ b/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.dfm
@@ -192,8 +192,20 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
TableField = 'ID_TIPO_IVA'
end
item
- DatasetField = 'REFERENCIA_FACTURA_PROFORMA'
- TableField = 'REFERENCIA_FACTURA_PROFORMA'
+ DatasetField = 'ID_PEDIDO'
+ TableField = 'ID_PEDIDO'
+ end
+ item
+ DatasetField = 'REFERENCIA_PEDIDO_CLIENTE'
+ TableField = 'REFERENCIA_PEDIDO_CLIENTE'
+ end
+ item
+ DatasetField = 'NUM_COPIAS'
+ TableField = 'NUM_COPIAS'
+ end
+ item
+ DatasetField = 'NUM_CORREOS'
+ TableField = 'NUM_CORREOS'
end>
end>
Name = 'PresupuestosCliente'
@@ -390,9 +402,21 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
DataType = datInteger
end
item
- Name = 'REFERENCIA_FACTURA_PROFORMA'
+ Name = 'ID_PEDIDO'
+ DataType = datInteger
+ end
+ item
+ Name = 'REFERENCIA_PEDIDO_CLIENTE'
DataType = datString
Size = 255
+ end
+ item
+ Name = 'NUM_COPIAS'
+ DataType = datSmallInt
+ end
+ item
+ Name = 'NUM_CORREOS'
+ DataType = datSmallInt
end>
end
item
@@ -743,6 +767,11 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
Name = 'ID_TIPO_IVA'
DataType = datInteger
Value = ''
+ end
+ item
+ Name = 'ID_PEDIDO'
+ DataType = datInteger
+ Value = ''
end>
Statements = <
item
@@ -758,16 +787,16 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
'E_PORTE, DESCUENTO, IMPORTE_DESCUENTO, '#10' BASE_IMPONIBLE, IVA' +
', IMPORTE_IVA, IMPORTE_TOTAL, ID_FORMA_PAGO,'#10' PERSONA_CONTAC' +
'TO, DESCRIPCION_BONIFICACION, IMPORTE_BONIFICACION, FECHA_VIGENC' +
- 'IA,'#10' TIPO_PRESUPUESTO, ID_TIPO_IVA)'#10' VALUES'#10' (:ID, :ID_E' +
- 'MPRESA, :FECHA_PRESUPUESTO, :FECHA_DECISION, :REFERENCIA,'#10' :' +
- 'REFERENCIA_AUX, :SITUACION, :ID_CLIENTE, :ID_DIRECCION, :REFEREN' +
- 'CIA_CLIENTE,'#10' :CLIENTE_FINAL, :PORTADA, :MEMORIA, :OBSERVACI' +
- 'ONES, '#10' :INCIDENCIAS, :INCIDENCIAS_ACTIVAS, CURRENT_TIMESTAM' +
- 'P,'#10' :USUARIO, :IMPORTE_NETO, :IMPORTE_PORTE, :DESCUENTO, '#10' ' +
- ' :IMPORTE_DESCUENTO, :BASE_IMPONIBLE, :IVA, :IMPORTE_IVA, '#10' ' +
- ' :IMPORTE_TOTAL, :ID_FORMA_PAGO, :PERSONA_CONTACTO,'#10' :DESCR' +
- 'IPCION_BONIFICACION, :IMPORTE_BONIFICACION, :FECHA_VIGENCIA, :TI' +
- 'PO_PRESUPUESTO,'#10' :ID_TIPO_IVA)'#10
+ 'IA,'#10' TIPO_PRESUPUESTO, ID_TIPO_IVA, ID_PEDIDO)'#10' VALUES'#10' ' +
+ '(:ID, :ID_EMPRESA, :FECHA_PRESUPUESTO, :FECHA_DECISION, :REFEREN' +
+ 'CIA,'#10' :REFERENCIA_AUX, :SITUACION, :ID_CLIENTE, :ID_DIRECCIO' +
+ 'N, :REFERENCIA_CLIENTE,'#10' :CLIENTE_FINAL, :PORTADA, :MEMORIA,' +
+ ' :OBSERVACIONES, '#10' :INCIDENCIAS, :INCIDENCIAS_ACTIVAS, CURRE' +
+ 'NT_TIMESTAMP,'#10' :USUARIO, :IMPORTE_NETO, :IMPORTE_PORTE, :DES' +
+ 'CUENTO, '#10' :IMPORTE_DESCUENTO, :BASE_IMPONIBLE, :IVA, :IMPORT' +
+ 'E_IVA, '#10' :IMPORTE_TOTAL, :ID_FORMA_PAGO, :PERSONA_CONTACTO,'#10 +
+ ' :DESCRIPCION_BONIFICACION, :IMPORTE_BONIFICACION, :FECHA_VI' +
+ 'GENCIA, :TIPO_PRESUPUESTO,'#10' :ID_TIPO_IVA, :ID_PEDIDO)'#10
StatementType = stSQL
ColumnMappings = <>
end>
@@ -964,6 +993,11 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
DataType = datInteger
Value = ''
end
+ item
+ Name = 'ID_PEDIDO'
+ DataType = datInteger
+ Value = ''
+ end
item
Name = 'OLD_ID'
Value = ''
@@ -993,7 +1027,7 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
'ON = :DESCRIPCION_BONIFICACION,'#10' IMPORTE_BONIFICACION = :IMPO' +
'RTE_BONIFICACION,'#10' FECHA_VIGENCIA = :FECHA_VIGENCIA,'#10' TIPO' +
'_PRESUPUESTO = :TIPO_PRESUPUESTO,'#10' ID_TIPO_IVA = :ID_TIPO_IVA' +
- #10' WHERE'#10' (ID = :OLD_ID)'#10
+ ','#10' ID_PEDIDO = :ID_PEDIDO'#10' WHERE'#10' (ID = :OLD_ID)'#10
StatementType = stSQL
ColumnMappings = <>
end>
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorElegirPresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uEditorElegirPresupuestosCliente.dfm
index 18a67f8..663fef9 100644
--- a/Source/Modulos/Presupuestos de cliente/Views/uEditorElegirPresupuestosCliente.dfm
+++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorElegirPresupuestosCliente.dfm
@@ -1,5 +1,5 @@
inherited fEditorElegirPresupuestosCliente: TfEditorElegirPresupuestosCliente
- Caption = 'Seleccionar pedido de cliente'
+ Caption = 'Seleccionar presupuesto de cliente'
ClientWidth = 656
ExplicitWidth = 664
ExplicitHeight = 538
@@ -9,8 +9,7 @@ inherited fEditorElegirPresupuestosCliente: TfEditorElegirPresupuestosCliente
Top = 139
Width = 656
Visible = False
- ExplicitLeft = 8
- ExplicitTop = 232
+ ExplicitTop = 139
ExplicitWidth = 656
inherited Image1: TImage
Left = 629
@@ -20,7 +19,7 @@ inherited fEditorElegirPresupuestosCliente: TfEditorElegirPresupuestosCliente
inherited TBXDock: TTBXDock
Top = 64
Width = 656
- ExplicitTop = 91
+ ExplicitTop = 64
ExplicitWidth = 656
inherited tbxMain: TTBXToolbar
Left = 427
@@ -58,10 +57,9 @@ inherited fEditorElegirPresupuestosCliente: TfEditorElegirPresupuestosCliente
ExplicitWidth = 656
end
inherited TBXTMain2: TTBXToolbar
- Left = 238
+ Left = 283
Visible = False
- ExplicitLeft = 238
- ExplicitWidth = 418
+ ExplicitLeft = 283
end
end
inherited StatusBar: TJvStatusBar
@@ -82,7 +80,6 @@ inherited fEditorElegirPresupuestosCliente: TfEditorElegirPresupuestosCliente
Padding.Bottom = 8
ParentBackground = False
TabOrder = 4
- ExplicitTop = 27
object lblTitle: TLabel
AlignWithMargins = True
Left = 25
@@ -94,14 +91,14 @@ inherited fEditorElegirPresupuestosCliente: TfEditorElegirPresupuestosCliente
Margins.Right = 0
Margins.Bottom = 8
Align = alTop
- Caption = 'Seleccione el pedido de cliente'
+ Caption = 'Seleccione el presupuesto de cliente'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = [fsBold]
ParentFont = False
- ExplicitWidth = 172
+ ExplicitWidth = 205
end
object lblComments: TLabel
AlignWithMargins = True
@@ -174,9 +171,6 @@ inherited fEditorElegirPresupuestosCliente: TfEditorElegirPresupuestosCliente
inherited actDuplicar: TAction
Visible = False
end
- inherited actGenerarAlbaranCli: TAction
- Visible = False
- end
end
inherited JvAppRegistryStorage: TJvAppRegistryStorage [9]
end
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm
index 6c33ce7..e8c9efc 100644
--- a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm
+++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm
@@ -185,6 +185,10 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
object pagContenido: TTabSheet
Caption = 'Contenido'
ImageIndex = 1
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
inline frViewDetallesPresupuestoCliente1: TfrViewDetallesPresupuestoCliente
Left = 0
Top = 0
@@ -214,92 +218,94 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
inherited ToolButton4: TToolButton
Left = 278
Top = 0
+ Wrap = True
ExplicitLeft = 278
ExplicitTop = 0
end
inherited ToolButton14: TToolButton
- Left = 334
- Top = 0
- ExplicitLeft = 334
- ExplicitTop = 0
+ Left = 0
+ Wrap = False
+ ExplicitLeft = 0
end
inherited FontName: TJvFontComboBox
+ Left = 65
Top = 22
+ ExplicitLeft = 65
ExplicitTop = 22
end
inherited FontSize: TEdit
+ Left = 210
Top = 22
Width = 216
+ ExplicitLeft = 210
ExplicitTop = 22
ExplicitWidth = 216
end
inherited UpDown1: TUpDown
- Left = 361
+ Left = 426
Top = 22
- ExplicitLeft = 361
+ ExplicitLeft = 426
ExplicitTop = 22
end
inherited ToolButton13: TToolButton
- Left = 378
+ Left = 443
Top = 22
- ExplicitLeft = 378
+ ExplicitLeft = 443
ExplicitTop = 22
end
inherited ToolButton6: TToolButton
- Left = 386
+ Left = 451
Top = 22
- ExplicitLeft = 386
+ ExplicitLeft = 451
ExplicitTop = 22
end
inherited ToolButton7: TToolButton
- Left = 452
+ Left = 517
Top = 22
- ExplicitLeft = 452
+ ExplicitLeft = 517
ExplicitTop = 22
end
inherited ToolButton8: TToolButton
- Left = 519
+ Left = 584
Top = 22
- ExplicitLeft = 519
+ ExplicitLeft = 584
ExplicitTop = 22
end
inherited ToolButton12: TToolButton
- Left = 0
+ Left = 667
Top = 22
- Wrap = True
- ExplicitLeft = 0
+ ExplicitLeft = 667
ExplicitTop = 22
- ExplicitHeight = 27
end
inherited ToolButton9: TToolButton
- Left = 0
- Top = 49
- ExplicitLeft = 0
- ExplicitTop = 49
+ Left = 675
+ Top = 22
+ ExplicitLeft = 675
+ ExplicitTop = 22
end
inherited ToolButton10: TToolButton
- Left = 145
- Top = 49
- ExplicitLeft = 145
- ExplicitTop = 49
+ Left = 820
+ Top = 22
+ ExplicitLeft = 820
+ ExplicitTop = 22
end
inherited ToolButton11: TToolButton
- Left = 270
- Top = 49
- ExplicitLeft = 270
- ExplicitTop = 49
+ Left = 945
+ Top = 22
+ ExplicitLeft = 945
+ ExplicitTop = 22
end
end
inherited cxGrid: TcxGrid
- Top = 99
+ Top = 72
Width = 750
- Height = 135
+ Height = 162
ExplicitTop = 77
ExplicitWidth = 750
ExplicitHeight = 157
end
inherited TBXDock1: TTBXDock
- Top = 73
+ Top = 46
Width = 750
ExplicitTop = 51
ExplicitWidth = 750
@@ -322,6 +328,10 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
Caption = 'Portada'
ImageIndex = 3
TabVisible = False
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
object Panel1: TPanel
Left = 0
Top = 0
@@ -379,6 +389,10 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
Caption = 'Memoria'
ImageIndex = 4
TabVisible = False
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
object Panel2: TPanel
Left = 0
Top = 0
@@ -435,6 +449,10 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
object pagInicidencias: TTabSheet
Caption = 'Incidencias'
ImageIndex = 2
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
inline frViewIncidenciasCli: TfrViewIncidencias
Left = 0
Top = 0
@@ -538,24 +556,28 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
ExplicitWidth = 764
ExplicitHeight = 229
inherited Bevel3: TBevel
- Left = 385
+ Left = 358
Top = 80
Height = 75
- ExplicitLeft = 385
+ ExplicitLeft = 358
ExplicitTop = 80
ExplicitHeight = 75
end
inherited Bevel4: TBevel
- Left = 497
+ Left = 470
Top = 122
- ExplicitLeft = 497
+ Width = 192
+ ExplicitLeft = 470
ExplicitTop = 122
+ ExplicitWidth = 192
end
inherited Bevel1: TBevel
- Left = 497
+ Left = 470
Top = 238
- ExplicitLeft = 497
+ Width = 73
+ ExplicitLeft = 470
ExplicitTop = 238
+ ExplicitWidth = 73
end
inherited Bevel2: TBevel
Left = 130
@@ -579,7 +601,7 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
Width = 87
end
inherited ImporteIVA: TcxDBCurrencyEdit
- Left = 568
+ Left = 541
Top = 157
DataBinding.DataField = 'IMPORTE_IVA'
Style.LookAndFeel.SkinName = ''
@@ -587,20 +609,20 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
- ExplicitLeft = 568
+ ExplicitLeft = 541
ExplicitTop = 157
ExplicitWidth = 20
Width = 20
end
inherited ImporteTotal: TcxDBCurrencyEdit
- Left = 498
+ Left = 471
Top = 211
Style.LookAndFeel.SkinName = ''
Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
- ExplicitLeft = 498
+ ExplicitLeft = 471
ExplicitTop = 211
ExplicitWidth = 90
Width = 90
@@ -617,49 +639,49 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
ExplicitTop = 107
end
inherited edtIVA: TcxDBSpinEdit
- Left = 497
+ Left = 470
Top = 157
Style.LookAndFeel.SkinName = ''
Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
- ExplicitLeft = 497
+ ExplicitLeft = 470
ExplicitTop = 157
end
inherited ImporteBase: TcxDBCurrencyEdit
- Left = 497
+ Left = 470
Top = 80
Style.LookAndFeel.SkinName = ''
Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
- ExplicitLeft = 497
+ ExplicitLeft = 470
ExplicitTop = 80
ExplicitWidth = 91
Width = 91
end
inherited edtRE: TcxDBSpinEdit
- Left = 497
+ Left = 470
Top = 184
Style.LookAndFeel.SkinName = ''
Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
- ExplicitLeft = 497
+ ExplicitLeft = 470
ExplicitTop = 184
end
inherited ImporteRE: TcxDBCurrencyEdit
- Left = 568
+ Left = 541
Top = 184
Style.LookAndFeel.SkinName = ''
Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
- ExplicitLeft = 568
+ ExplicitLeft = 541
ExplicitTop = 184
ExplicitWidth = 20
Width = 20
@@ -704,10 +726,10 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
Width = 20
end
inherited bTiposIVA: TButton
- Left = 237
+ Left = 210
Top = 161
OnClick = frViewTotalesPresupuesto1bTiposIVAClick
- ExplicitLeft = 237
+ ExplicitLeft = 210
ExplicitTop = 161
end
inherited cbRecargoEquivalencia: TcxDBCheckBox
@@ -723,25 +745,25 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
Width = 158
end
inherited edtRetencion: TcxDBSpinEdit
- Left = 497
+ Left = 470
Top = 258
Style.LookAndFeel.SkinName = ''
Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
- ExplicitLeft = 497
+ ExplicitLeft = 470
ExplicitTop = 258
end
inherited edtImporteRetencion: TcxDBCurrencyEdit
- Left = 568
+ Left = 541
Top = 258
Style.LookAndFeel.SkinName = ''
Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
- ExplicitLeft = 568
+ ExplicitLeft = 541
ExplicitTop = 258
ExplicitWidth = 20
Width = 20
@@ -769,6 +791,7 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
ExplicitLeft = 21
ExplicitTop = 29
ExplicitWidth = 277
+ ExplicitHeight = 0
Width = 277
end
inherited eDescripcionBonificacion: TcxDBTextEdit
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.pas
index 6ed8676..84ad053 100644
--- a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.pas
+++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.pas
@@ -354,7 +354,8 @@ begin
// Si el pedido tiene detalles hay que mirar si los descuentos y otros campos
// para los artículos hay que cambiarlos.
if (FPresupuesto.Detalles.RecordCount > 0) then
- FController.DetallesController.ActualizarDetalles(FPresupuesto.Detalles, FPresupuesto.Cliente);
+ if (Application.MessageBox('¿Desea actualizar los artículos del presupuesto para el nuevo cliente asignado?, este proceso recuperará los descuentos, portes,... de cada articulo para el nuevo cliente asignado', 'Atención', MB_YESNO) = IDYES) then
+ FController.DetallesController.ActualizarDetalles(FPresupuesto.Detalles, FPresupuesto.Cliente);
end;
end;
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.dfm
index 5e9679f..f9c19c5 100644
--- a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.dfm
+++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.dfm
@@ -2,6 +2,7 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
Caption = 'Lista de presupuestos de cliente'
ClientWidth = 805
ExplicitWidth = 813
+ ExplicitHeight = 240
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
@@ -167,7 +168,7 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
DockPos = 343
Visible = True
ExplicitLeft = 427
- ExplicitWidth = 378
+ ExplicitWidth = 373
object TBXItem43: TTBXItem
Action = actAceptar
DisplayMode = nbdmImageAndText
@@ -220,7 +221,9 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
object actGenerarFacturaProforma: TAction
Category = 'Acciones'
Caption = 'Generar factura proforma'
+ Enabled = False
ImageIndex = 24
+ Visible = False
OnExecute = actGenerarFacturaProformaExecute
OnUpdate = actGenerarFacturaProformaUpdate
end
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.pas
index 05ffdb5..5e3b5ab 100644
--- a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.pas
+++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.pas
@@ -344,7 +344,7 @@ begin
inherited;
(Sender as TAction).Enabled := HayDatos
and not (ViewGrid.NumSeleccionados > 1)
- and (FPresupuestos.REFERENCIA_FACTURA_PROFORMA = '')
+// and (FPresupuestos.REFERENCIA_FACTURA_PROFORMA = '')
and ViewGrid.esSeleccionCeldaDatos
and (FPresupuestos.SITUACION = SITUACION_PRESUPUESTO_ACEPTADO);
end;
@@ -361,7 +361,8 @@ begin
(Sender as TAction).Enabled := HayDatos
and not (ViewGrid.NumSeleccionados > 1)
and ViewGrid.esSeleccionCeldaDatos
- and (FPresupuestos.SITUACION = SITUACION_PRESUPUESTO_ACEPTADO);
+ and (FPresupuestos.SITUACION = SITUACION_PRESUPUESTO_ACEPTADO)
+ and (FPresupuestos.REFERENCIA_PEDIDO_CLIENTE = '')
end;
procedure TfEditorPresupuestosCliente.actGenerarPresupuestoProvExecute(Sender: TObject);
@@ -399,8 +400,8 @@ procedure TfEditorPresupuestosCliente.actVerProcesoCompletoExecute(
Sender: TObject);
begin
inherited;
- if not VerProcesoCompletoDeLosPedidosDelPresupuesto(FPresupuestos.ID) then
- showmessage('El presupuesto no tiene pedidos relacionados, por lo que no se puede consultar el listado de documentos relacionados en el proceso del pedido del cliente');
+ if not VerProcesoCompletoDeLosPedidosDelPresupuesto(FPresupuestos.ID_PEDIDO) then
+ showmessage('El presupuesto no tiene pedido relacionado, por lo que no se puede consultar el listado de documentos relacionados en el proceso del pedido del cliente');
end;
procedure TfEditorPresupuestosCliente.actVerProcesoCompletoUpdate(
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.dfm
index 4b80054..779316a 100644
--- a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.dfm
+++ b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.dfm
@@ -36,6 +36,24 @@ inherited frViewPresupuestosCliente: TfrViewPresupuestosCliente
DataController.OnCompare = cxGridViewDataControllerCompare
OptionsCustomize.ColumnHidingOnGrouping = False
OptionsView.GroupFooters = gfAlwaysVisible
+ object cxGridViewNOM_COPIAS: TcxGridDBColumn
+ DataBinding.FieldName = 'NUM_COPIAS'
+ BestFitMaxWidth = 25
+ MinWidth = 25
+ VisibleForCustomization = False
+ Width = 25
+ OnCustomDrawHeader = cxGridViewNOM_COPIASCustomDrawHeader
+ IsCaptionAssigned = True
+ end
+ object cxGridViewNUM_CORREOS: TcxGridDBColumn
+ DataBinding.FieldName = 'NUM_CORREOS'
+ BestFitMaxWidth = 25
+ MinWidth = 25
+ VisibleForCustomization = False
+ Width = 25
+ OnCustomDrawHeader = cxGridViewNUM_CORREOSCustomDrawHeader
+ IsCaptionAssigned = True
+ end
object cxGridViewINCIDENCIASACTIVAS: TcxGridDBColumn
Caption = 'Incidencias'
DataBinding.FieldName = 'INCIDENCIAS_ACTIVAS'
@@ -133,9 +151,9 @@ inherited frViewPresupuestosCliente: TfrViewPresupuestosCliente
HeaderAlignmentHorz = taRightJustify
Width = 63
end
- object cxGridViewFACTURA_PROFORMA: TcxGridDBColumn
- Caption = 'Ref. factura proforma'
- DataBinding.FieldName = 'REFERENCIA_FACTURA_PROFORMA'
+ object cxGridViewPEDIDO_CLIENTE: TcxGridDBColumn
+ Caption = 'Ref. pedido cliente'
+ DataBinding.FieldName = 'REFERENCIA_PEDIDO_CLIENTE'
BestFitMaxWidth = 25
Width = 25
end
@@ -208,7 +226,6 @@ inherited frViewPresupuestosCliente: TfrViewPresupuestosCliente
inherited dxLayoutControl1Group1: TdxLayoutGroup
inherited dxLayoutControl1Item4: TdxLayoutItem
Caption = 'Con/Sin Factura:'
- Visible = True
end
end
end
@@ -546,6 +563,47 @@ inherited frViewPresupuestosCliente: TfrViewPresupuestosCliente
CF0000000049454E44AE426082}
Name = 'PngImage3'
Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000774494D45000000000000000973942E000000097048597300001712
+ 0000171201679FD252000001724944415478DA6364A0103062135CB1E2C26E20
+ E5824F63448401235603809AA381D412374F5506413E2EB0D89FBFFF187EFFF9
+ 0BC62F3EFD6728A999C0B0795E15A60150CD1540CD3A7B4FDCC5B0D5D94299E1
+ CAD3BF0CDD3D53F280064CC666C06EA066176C36FF05B25F7F6544B11DC50098
+ D3C3C3F519D6ECBA8C61BBBDA922C38D17FF41B6C384B6020DF261846AFE0FA4
+ AE809C0EB21DDD6610FFCF9F7F0CE91553194CF49518A4558D1836AE59037609
+ 23C8E6AB4F2E2C2136DAE4B5AC186E9CD9C570F3C1278801B53D0BFE3715C7E3
+ D4F0E5C75F86CFDF8118487FF9F18F61C3BA350C12CA260C3B366F4218408CCD
+ 17AE3D03D3065A520CEC42AA0C278F1CC4EF02749BBF82F0CFBF0CC7F66E64F8
+ C92AC970FDE259DC06A06BAE3DEFC390ABB49EE1FEB5530CCF9F3F6778FA919D
+ E1F5D3FBD80DC066F3AC743D8680EEB30CAFEE9E61D8BEF72C4CA90CD080A770
+ 03A62FDB45542C400D006B062724DFA4366920FD84D86844D68C9212C905001F
+ 16FA1194E3DBC30000000049454E44AE426082}
+ Name = 'PngImage4'
+ Background = clWindow
+ end
+ item
+ PngImage.Data = {
+ 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
+ 610000000970485973000017120000171201679FD252000001964944415478DA
+ 636440038B371DFFCF8005C4FA5932621347115CB2F9D8FF30075154053F3F30
+ 30FC7CCF6096B49EE1FCCEE98C380D58B9F5F0FF403B09AC9A61B469C1050C43
+ C09C659B8FFE0F7110C3AB194CFFFAC0E0D2FD9B61FFEA1EB8218C203F873B8A
+ 10A59911C806F18DBB85E02E011BF0E1C30786F44015A234671F0B653871742F
+ AA0131BE160C5316EF60C8F012012B9AB1F72F8A8BB2153782C5A73E4B00F3E7
+ 2DDD846A80BF93215862E1BAFD603A27D603C580ACE6B50C5A0ADC0CB97D0F19
+ AEAEF66788C9694235C0D6580DAC70F3DE530CF1418E0CB88063F17D86B3270F
+ 324C2E9267C88DF3441860A4A9C0B0EFF80506171B230C4D319DEF50F8113E1A
+ 0CA5B53319182E64A006A28EBA0A565B4BE6FD61C88B85C83D7EF98FE1EBD76F
+ 60767BDF4AB0216003A4440518AEDD7E80D580054715C006BC7ACFC2F0EBF76F
+ 862F5FBE8231883D73FE4E880BFAA62EC2AAD9C2DA99E1D4536D86A42019860F
+ 5FD9E19ABF7CFDCA307FE97E880B180800E3F4EBFF4101070389D18E70CDF0A4
+ 4C34309801C9A950CDE41980A4190400B843EED8DFC8CDA30000000049454E44
+ AE426082}
+ Name = 'PngImage5'
+ Background = clWindow
end>
Bitmap = {}
end
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.pas
index 0a53b15..a6ca3ab 100644
--- a/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.pas
+++ b/Source/Modulos/Presupuestos de cliente/Views/uViewPresupuestosCliente.pas
@@ -30,7 +30,7 @@ type
cxGridViewSITUACION: TcxGridDBColumn;
cxGridViewFECHA_PRESUPUESTO: TcxGridDBColumn;
cxGridViewREFERENCIA_CLIENTE: TcxGridDBColumn;
- cxGridViewFACTURA_PROFORMA: TcxGridDBColumn;
+ cxGridViewPEDIDO_CLIENTE: TcxGridDBColumn;
cxGridViewIMPORTE_TOTAL: TcxGridDBColumn;
cxGridLevelPendientes: TcxGridLevel;
cxGridLevelEnProceso: TcxGridLevel;
@@ -51,6 +51,8 @@ type
cxGridViewIVA: TcxGridDBColumn;
cxGridViewIMPORTE_IVA: TcxGridDBColumn;
cxGridViewTIPO_PRESUPUESTO: TcxGridDBColumn;
+ cxGridViewNOM_COPIAS: TcxGridDBColumn;
+ cxGridViewNUM_CORREOS: TcxGridDBColumn;
procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel:
TcxGridLevel);
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
@@ -76,6 +78,12 @@ type
procedure CustomViewDestroy(Sender: TObject);
procedure CustomViewShow(Sender: TObject);
procedure frViewFiltroBase1actQuitarFiltroExecute(Sender: TObject);
+ procedure cxGridViewNUM_CORREOSCustomDrawHeader(Sender: TcxGridTableView;
+ ACanvas: TcxCanvas; AViewInfo: TcxGridColumnHeaderViewInfo;
+ var ADone: Boolean);
+ procedure cxGridViewNOM_COPIASCustomDrawHeader(Sender: TcxGridTableView;
+ ACanvas: TcxCanvas; AViewInfo: TcxGridColumnHeaderViewInfo;
+ var ADone: Boolean);
private
//Filtros relativos a la vista
@@ -170,6 +178,7 @@ var
begin
//Solo se aplica este filtro en el caso de tener activo el panel de detalle de filtro
//y sobre la lista de articulos detallada por proveedor
+{
if frViewFiltroBase1.Visible then
begin
case frViewFiltroBase1.eLista.ItemIndex of
@@ -186,6 +195,7 @@ begin
end;
end;
end;
+}
end;
procedure TfrViewPresupuestosCliente.AnadirFiltroSituaciones;
@@ -282,6 +292,48 @@ begin
end;
end;
+procedure TfrViewPresupuestosCliente.cxGridViewNOM_COPIASCustomDrawHeader(
+ Sender: TcxGridTableView; ACanvas: TcxCanvas;
+ AViewInfo: TcxGridColumnHeaderViewInfo; var ADone: Boolean);
+var
+ R : TRect;
+begin
+ inherited;
+ with AViewInfo do
+ begin
+ LookAndFeelPainter.DrawHeader(ACanvas, Bounds, TextAreaBounds, Neighbors,
+ Borders, ButtonState, AlignmentHorz, AlignmentVert, MultiLine,
+ False, '', Params.Font, Params.TextColor, Params.Color);
+
+ R := AViewInfo.ContentBounds;
+ ACanvas.FillRect(R);
+ ACanvas.DrawImage(GridPNGImageList, R.Left + 2, R.Top, 4);
+ end;
+
+ ADone := True;
+end;
+
+procedure TfrViewPresupuestosCliente.cxGridViewNUM_CORREOSCustomDrawHeader(
+ Sender: TcxGridTableView; ACanvas: TcxCanvas;
+ AViewInfo: TcxGridColumnHeaderViewInfo; var ADone: Boolean);
+var
+ R : TRect;
+begin
+ inherited;
+ with AViewInfo do
+ begin
+ LookAndFeelPainter.DrawHeader(ACanvas, Bounds, TextAreaBounds, Neighbors,
+ Borders, ButtonState, AlignmentHorz, AlignmentVert, MultiLine,
+ False, '', Params.Font, Params.TextColor, Params.Color);
+
+ R := AViewInfo.ContentBounds;
+ ACanvas.FillRect(R);
+ ACanvas.DrawImage(GridPNGImageList, R.Left + 2, R.Top, 5);
+ end;
+
+ ADone := True;
+end;
+
procedure TfrViewPresupuestosCliente.cxGridViewStylesGetContentStyle(Sender:
TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem:
TcxCustomGridTableItem; out AStyle: TcxStyle);
diff --git a/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas proforma/uGenerarFacturasProPreCliUtils.pas b/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas proforma/uGenerarFacturasProPreCliUtils.pas
index dff5d6c..78bb220 100644
--- a/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas proforma/uGenerarFacturasProPreCliUtils.pas
+++ b/Source/Modulos/Relaciones/Presupuestos de cliente - Facturas proforma/uGenerarFacturasProPreCliUtils.pas
@@ -240,7 +240,6 @@ begin
AFacturasProformaController.Anadir(AFacturas);
APresupuestosController.RecuperarCliente(AListaPresupuestos);
AFacturas.Cliente := AListaPresupuestos.Cliente;
- AFacturas.ID_PRESUPUESTO := AListaPresupuestos.ID;
// AFacturas.OBSERVACIONES.Add('Importe de factura por trabajos realizados según indicaciones de nuestro presupuesto ' + AListaPresupuestos.REFERENCIA + ' con fecha ' + DateToStr(AListaPresupuestos.FECHA_PRESUPUESTO));
AFacturaActual := AFacturas;
end;
diff --git a/Source/Modulos/Relaciones/Presupuestos de cliente - Pedidos de cliente/uGenerarPedidosCliUtils.dfm b/Source/Modulos/Relaciones/Presupuestos de cliente - Pedidos de cliente/uGenerarPedidosCliUtils.dfm
index 02c1315..56c349d 100644
--- a/Source/Modulos/Relaciones/Presupuestos de cliente - Pedidos de cliente/uGenerarPedidosCliUtils.dfm
+++ b/Source/Modulos/Relaciones/Presupuestos de cliente - Pedidos de cliente/uGenerarPedidosCliUtils.dfm
@@ -64,13 +64,6 @@ object dmGenerarPedidosCli: TdmGenerarPedidosCli
82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA
1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082}
Instruction.Icon = tdiCustom
- CustomButtons = <
- item
- Caption = 'Ver el pedido'
- Value = 100
- Info.Strings = (
- 'Mostrar el pedido que se ha creado')
- end>
ButtonBar.Buttons = [cbOK]
ButtonBar.Cancel = cbOK
ButtonBar.UseCancel = False
diff --git a/Source/Modulos/Relaciones/Presupuestos de cliente - Pedidos de cliente/uGenerarPedidosCliUtils.pas b/Source/Modulos/Relaciones/Presupuestos de cliente - Pedidos de cliente/uGenerarPedidosCliUtils.pas
index 8c3f541..1dc863a 100644
--- a/Source/Modulos/Relaciones/Presupuestos de cliente - Pedidos de cliente/uGenerarPedidosCliUtils.pas
+++ b/Source/Modulos/Relaciones/Presupuestos de cliente - Pedidos de cliente/uGenerarPedidosCliUtils.pas
@@ -11,10 +11,13 @@ type
JsListaPedidosGenerados: TJSDialog;
end;
+ function GenerarPedidoCliPre : Boolean; overload;
function GenerarPedidoCliPre(const IDPresupuesto : Integer) : Boolean; overload;
- function GenerarPedidoCliPre(APresupuesto : IBizPresupuestoCliente) : Boolean; overload;
+ function GenerarPedidoCliPre(APresupuestos : IBizPresupuestoCliente) : Boolean; overload;
- function VerProcesoCompletoDeLosPedidosDelPresupuesto(APresupuesto: Integer):Boolean;
+ function GenerarPedidos(APedidos : IBizPedidoCliente; AListaPresupuestos : IBizPresupuestoCliente): Boolean;
+
+ function VerProcesoCompletoDeLosPedidosDelPresupuesto(APedidoCliente: Integer):Boolean;
implementation
@@ -25,7 +28,7 @@ uses
uPresupuestosClienteController, uPedidosClienteController, uClientesController,
uDetallesPedidoClienteController, uControllerDetallesBase,
uBizContactos, schPresupuestosClienteClient_Intf,
- schPedidosClienteClient_Intf;
+ schPedidosClienteClient_Intf, uDADataTable;
var
dmGenerarPedidosCli: TdmGenerarPedidosCli;
@@ -48,7 +51,6 @@ begin
APresupuesto.DataTable.Active := True;
// El albarán tiene que venir ya abierto y posicionado donde hay que copiar
- APedido.ID_PRESUPUESTO := APresupuesto.ID;
APedido.REFERENCIA_CLIENTE := APresupuesto.REFERENCIA_CLIENTE;
APedido.TIPO_PEDIDO := APresupuesto.TIPO_PRESUPUESTO;
APedido.IMPORTE_NETO := APresupuesto.IMPORTE_NETO;
@@ -145,6 +147,186 @@ begin
end;
+function GenerarPedidos(APedidos : IBizPedidoCliente; AListaPresupuestos : IBizPresupuestoCliente): Boolean;
+var
+ APedidoActual : IBizPedidoCliente;
+ APresupuestosController : IPresupuestosClienteController;
+ I: Integer;
+ bEnEdicion : Boolean;
+begin
+ // ATENCIÓN!!! AFacturas tiene que estar vacio para no pisar facturas
+ // ya generadas.
+ if not Assigned(APedidos) then
+ raise Exception.Create ('Pedidos no asignada (Anadir)');
+
+ if not Assigned(AListaPresupuestos) then
+ raise Exception.Create ('Presupuestos no asignados (Anadir)');
+
+ if not APedidos.DataTable.Active then
+ APedidos.DataTable.Active := True;
+
+ if not AListaPresupuestos.DataTable.Active then
+ AListaPresupuestos.DataTable.Active := True;
+
+ APresupuestosController := TPresupuestosClienteController.Create;
+ try
+ // Ordenar por fecha de presupuesto
+ AListaPresupuestos.DataTable.Sort([fld_PresupuestosClienteFECHA_PRESUPUESTO], [uDADataTable.sdAscending]);
+ AListaPresupuestos.First;
+ for I := 0 to AListaPresupuestos.DataTable.RecordCount - 1 do
+ begin
+ AListaPresupuestos._Cliente := NIL;
+ APedidoActual := NIL;
+
+ // Busco si hay alguna factura ya hecha de ese cliente
+ APedidos.DataTable.First;
+ if APedidos.DataTable.Locate(fld_PedidosClienteID_CLIENTE, AListaPresupuestos.ID_CLIENTE, []) then
+ begin
+ APedidoActual := APedidos;
+ APedidosClienteController.RecuperarCliente(APedidoActual);
+ APedidoActual.Cliente.DataTable.Active := True;
+ end
+ else begin
+ // No hay pedido de ese cliente. Creo una nueva
+ APedidosClienteController.Anadir(APedidos);
+ //Asignamos a el pedido la fecha pasada por parametro
+// AFacturas.FECHA_FACTURA := FechaFacturaNueva;
+ APresupuestosController.RecuperarCliente(AListaPresupuestos);
+ AListaPresupuestos.Cliente.DataTable.Active := True;
+ APedidos.Cliente := AListaPresupuestos.Cliente;
+
+ APedidoActual := APedidos;
+
+ // Ya tengo el pedido. Le añado los conceptos del presupuesto
+ APedidoActual.Detalles.DataTable.Last;
+
+ // Añado una línea en blanco
+ APedidosClienteController.DetallesController.Add(APedidoActual.Detalles, TIPO_DETALLE_CONCEPTO);
+ with APedidoActual.Detalles do
+ begin
+ Edit;
+ CONCEPTO := '';
+ Post;
+ end;
+
+ APedidosClienteController.Guardar(APedidoActual);
+ end;
+
+ // Ya tengo el pedido. Le añado los conceptos del presupuesto
+ APedidoActual.Detalles.DataTable.Last;
+ //No hay opcion a no copiar los detalles siempre se copiaran por ser articulos a pedir
+ //Se pone la referencia del presupuesto y el total y nos olvidamos de los detalles
+{ if not CopiarDetalles then
+ begin
+ AFacturasClienteController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_CONCEPTO);
+ with AFacturaActual.Detalles do
+ begin
+ Edit;
+ if (AListaAlbaranes.TIPO = CTE_TIPO_ALBARAN_DEV) then
+ CONCEPTO := 'Orden Dev. ' + AListaAlbaranes.REFERENCIA + ' (Ref.Cliente: ' + AListaAlbaranes.REFERENCIA_CLIENTE + ') del ' + DateToStr(AListaAlbaranes.FECHA_ALBARAN)
+ else
+ CONCEPTO := 'Albarán ' + AListaAlbaranes.REFERENCIA + ' (Ref.Cliente: ' + AListaAlbaranes.REFERENCIA_CLIENTE + ') del ' + DateToStr(AListaAlbaranes.FECHA_ALBARAN);
+
+ CANTIDAD := 1;
+ IMPORTE_UNIDAD := AListaAlbaranes.BASE_IMPONIBLE;
+ Post;
+ end;
+ end
+ //Se copian los detalles del pedido a la factura
+ else
+ begin
+}
+ // Añado el título
+ APedidosClienteController.DetallesController.Add(APedidoActual.Detalles, TIPO_DETALLE_TITULO);
+ with APedidoActual.Detalles do
+ begin
+ Edit;
+ CONCEPTO := 'Presupuesto ' + AListaPresupuestos.REFERENCIA + ' (Ref.Cliente: ' + AListaPresupuestos.REFERENCIA_CLIENTE + ') del ' + DateToStr(AListaPresupuestos.FECHA_PRESUPUESTO);
+ Post;
+ end;
+
+ // Añado el contenido del albarán
+ CopiarArticulosPresupuesto(AListaPresupuestos.Detalles, APedidoActual.Detalles);
+
+ APedidosClienteController.DetallesController.Add(APedidoActual.Detalles, TIPO_DETALLE_CONCEPTO);
+ with APedidoActual.Detalles do
+ begin
+ Edit;
+ CONCEPTO := 'Porte del presupuesto';
+ CANTIDAD := 1;
+ IMPORTE_UNIDAD := AListaPresupuestos.IMPORTE_PORTE;
+ Post;
+ end;
+
+ // Añado el resumen
+ APedidosClienteController.DetallesController.Add(APedidoActual.Detalles, TIPO_DETALLE_SUBTOTAL);
+ with APedidoActual.Detalles do
+ begin
+ Edit;
+ CONCEPTO := 'Total del presupuesto ' + AListaPresupuestos.REFERENCIA;
+ Post;
+ end;
+
+// end; //if not CopiarDetalles
+
+ // Añado una línea en blanco
+ APedidosClienteController.DetallesController.Add(APedidoActual.Detalles, TIPO_DETALLE_CONCEPTO);
+ with APedidoActual.Detalles do
+ begin
+ Edit;
+ CONCEPTO := '';
+ Post;
+ end;
+
+ // Guardo el pedido que acabo de generar o editar
+ APedidoActual.CalcularImporteTotal;
+ APedidosClienteController.Guardar(APedidoActual);
+
+ // Asocio la factura con el albarán
+ AListaPresupuestos.Edit;
+ AListaPresupuestos.ID_PEDIDO := APedidoActual.ID;
+ AListaPresupuestos.Post;
+ APresupuestosController.Guardar(AListaPresupuestos);
+
+ AListaPresupuestos.Next;
+
+ end;
+ Result := True;
+ finally
+ APresupuestosController := NIL;
+// HideHourglassCursor
+ end;
+
+ // Comprobar la lista de facturas generadas por si algún cliente es una
+ // sucursal de otro cliente "central".
+// _CambiarFacturasClientesConSucursales(AFacturaActual);
+end;
+
+
+function GenerarPedidoCliPre : Boolean; overload;
+var
+ APresupuestos : IBizPresupuestoCliente;
+begin
+ Result := False;
+ try
+ if not Assigned(APresupuestosClienteController) then
+ Inicializar;
+
+ APresupuestos := APresupuestosClienteController.ElegirPresupuestos(APresupuestosClienteController.BuscarAceptados,
+ 'Elija el presupuesto/s de cliente que desea utilizar para dar de alta el pedido de cliente.'
+ + #10#13 + 'Si elige presupuestos de clientes diferentes se dará de alta un pedido por cada uno de ellos.' , True);
+
+ if Assigned(APresupuestos) then
+ Result := GenerarPedidoCliPre(APresupuestos);
+
+ if Assigned(APresupuestosClienteController) then
+ Finalizar;
+ finally
+ APresupuestos := Nil;
+ end;
+end;
+
+
function GenerarPedidoCliPre(const IDPresupuesto : Integer) : Boolean; overload;
var
APresupuesto : IBizPresupuestoCliente;
@@ -159,7 +341,7 @@ begin
APresupuesto := APresupuestosClienteController.Buscar(IDPresupuesto);
if Assigned(APresupuesto) then
- Result := GenerarPedidoCliPre(APresupuesto);
+ Result := GenerarPedidoCliPre(APresupuesto);
if Assigned(APresupuestosClienteController) then
Finalizar;
@@ -170,79 +352,51 @@ begin
end;
-function GenerarPedidoCliPre(APresupuesto : IBizPresupuestoCliente) : Boolean; overload;
+function GenerarPedidoCliPre(APresupuestos : IBizPresupuestoCliente) : Boolean; overload;
var
ARespuesta : Integer;
- PedidosNuevos: IBizPedidoCliente;
+ APedidosNuevos: IBizPedidoCliente;
+ i: integer;
begin
Result := False;
- if not Assigned(APresupuesto) then
- raise Exception.Create('Presupuesto de cliente no asignado (GenerarPedidoCliPre)');
+ if not Assigned(APresupuestos) then
+ raise Exception.Create('Presupuestos de cliente no asignado (GenerarPedidoCliPre)');
- if not APresupuesto.DataTable.Active then
- APresupuesto.DataTable.Active := True;
+ if not APresupuestos.DataTable.Active then
+ APresupuestos.DataTable.Active := True;
if not Assigned(APresupuestosClienteController) then
Inicializar;
try
- PedidosNuevos := APedidosClienteController.Nuevo; //(False);
- PedidosNuevos._Cliente := NIL;
+ APedidosNuevos := APedidosClienteController.Nuevo(False);
+ if GenerarPedidos(APedidosNuevos, APresupuestos) then
+ begin
+ if APedidosNuevos.DataTable.RecordCount = 1 then
+ ShowInfoMessage('El pedido se ha dado de alta con el código ' + APedidosNuevos.REFERENCIA)
+ else begin
+ with dmGenerarPedidosCli.JsListaPedidosGenerados.Content do
+ begin
+ Clear;
+ APedidosNuevos.DataTable.Last;
+ for i := 0 to APedidosNuevos.DataTable.RecordCount - 1 do
+ begin
+ if Length(APedidosNuevos.REFERENCIA) > 0 then
+ Add(APedidosNuevos.REFERENCIA + ': ' + APedidosNuevos.NOMBRE);
+ APedidosNuevos.DataTable.Prior;
+ end;
+ end;
+ dmGenerarPedidosCli.JsListaPedidosGenerados.Execute;
+ end;
- CopiarPresupuestoAPedido(APresupuesto, PedidosNuevos);
- CopiarArticulosPresupuesto(APresupuesto.Detalles, PedidosNuevos.Detalles);
-// PedidosNuevos.CalcularImporteTotal;
-// APedidosClienteController.Guardar(PedidosNuevos);
-
- //Sustituir por if de guardar
- if APedidosClienteController.Guardar(PedidosNuevos) then
- begin
- with dmGenerarPedidosCli.JsListaPedidosGenerados do
- begin
- Instruction.Text := 'Se ha generado el pedido';
- Content.Clear;
- Content.Add(Format('Se ha generado correctamente el pedido %s a partir del presupuesto de cliente' + #10#13, [PedidosNuevos.REFERENCIA]));
- Execute;
-
- ARespuesta := CustomButtonResult;
- case ARespuesta of
- 100 : begin
- // Ver el albarán
- APedidosClienteController.Ver(PedidosNuevos);
- end;
- 200 : // Continuar;
- end;
- end;
- end;
-
-{
- if PedidosNuevos.DataTable.RecordCount = 1 then
- ShowInfoMessage('El pedido se ha dado de alta con el código ' + PedidosNuevos.REFERENCIA);
-
- else begin
- with dmGenerarAlbaranesCli.JsListaAlbaranesGenerados.Content do
- begin
- Clear;
- AlbaranesNuevos.DataTable.Last;
- for i := 0 to AlbaranesNuevos.DataTable.RecordCount - 1 do
- begin
- if Length(AlbaranesNuevos.REFERENCIA) > 0 then
- Add(AlbaranesNuevos.REFERENCIA + ': ' + AlbaranesNuevos.NOMBRE);
- AlbaranesNuevos.DataTable.Prior;
- end;
- end;
- dmGenerarAlbaranesCli.JsListaAlbaranesGenerados.Execute;
- end;
-
- Result := True;
- end;
-}
+ Result := True;
+ end;
finally
-// PedidosNuevos := NIL;
- if Assigned(APresupuestosClienteController) then
+ APedidosNuevos := NIL;
+ if Assigned(APedidosClienteController) then
Finalizar;
end;
end;
@@ -419,12 +573,12 @@ begin
end;
}
-function VerProcesoCompletoDeLosPedidosDelPresupuesto(APresupuesto: Integer):Boolean;
+function VerProcesoCompletoDeLosPedidosDelPresupuesto(APedidoCliente: Integer):Boolean;
begin
if not Assigned(APedidosClienteController) then
Inicializar;
- Result := APedidosClienteController.VerProcesoCompleto(APresupuesto);
+ Result := APedidosClienteController.VerProcesoCompleto(APedidoCliente);
if Assigned(APedidosClienteController) then
Finalizar;
diff --git a/Source/Modulos/TiposDocumento/Controller/TiposDocumento_controller.dcu b/Source/Modulos/TiposDocumento/Controller/TiposDocumento_controller.dcu
index 54605f7..38852ff 100644
Binary files a/Source/Modulos/TiposDocumento/Controller/TiposDocumento_controller.dcu and b/Source/Modulos/TiposDocumento/Controller/TiposDocumento_controller.dcu differ
diff --git a/Source/Servidor/FactuGES_Server.RES b/Source/Servidor/FactuGES_Server.RES
index 5cfab31..cb6d36a 100644
Binary files a/Source/Servidor/FactuGES_Server.RES and b/Source/Servidor/FactuGES_Server.RES differ
diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr
index a5e8641..6018e0a 100644
--- a/Source/Servidor/FactuGES_Server.dpr
+++ b/Source/Servidor/FactuGES_Server.dpr
@@ -166,12 +166,12 @@ uses
schFacturasClienteServer_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas',
schContactosClient_Intf in '..\Modulos\Contactos\Model\schContactosClient_Intf.pas',
schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas',
+ schPedidosClienteClient_Intf in '..\Modulos\Pedidos de cliente\Model\schPedidosClienteClient_Intf.pas',
+ schPedidosClienteServer_Intf in '..\Modulos\Pedidos de cliente\Model\schPedidosClienteServer_Intf.pas',
schFacturasProformaClient_Intf in '..\Modulos\Facturas proforma\Model\schFacturasProformaClient_Intf.pas',
schFacturasProformaServer_Intf in '..\Modulos\Facturas proforma\Model\schFacturasProformaServer_Intf.pas',
schPresupuestosClienteClient_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas',
- schPresupuestosClienteServer_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas',
- schPedidosClienteClient_Intf in '..\Modulos\Pedidos de cliente\Model\schPedidosClienteClient_Intf.pas',
- schPedidosClienteServer_Intf in '..\Modulos\Pedidos de cliente\Model\schPedidosClienteServer_Intf.pas';
+ schPresupuestosClienteServer_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas';
{$R *.res}
{$R ..\Servicios\RODLFile.res}
diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj
index 7f23695..1aad233 100644
--- a/Source/Servidor/FactuGES_Server.dproj
+++ b/Source/Servidor/FactuGES_Server.dproj
@@ -1,424 +1,424 @@
-
+
-
- {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}
- FactuGES_Server.dpr
- Debug
- AnyCPU
- DCC32
- ..\..\Output\Debug\Servidor\FactuGES_Server.exe
- vcl;rtl;vclx;vclactnband;dbrtl;vcldb;vcldbx;bdertl;dsnap;dsnapcon;teeUI;teedb;tee;adortl;vclib;ibxpress;dbxcds;dbexpress;DbxCommonDriver;IndyCore;IndySystem;IndyProtocols;VclSmp;vclie;webdsnap;xmlrtl;inet;inetdbbde;inetdbxpress;RemObjects_BPDX_D11;RemObjects_RODX_D11;RemObjects_Indy_D11;RemObjects_Synapse_D11;RemObjects_WebBroker_D11;DataAbstract_Core_D11;DataAbstract_DBXDriver_D11;DataAbstract_IDE_D11;DataAbstract_Scripting_D11;DataAbstract_SDACDriver_D11;sdac105;dac105;DataAbstract_SQLiteDriver_D11;cxEditorsD10;cxLibraryD10;dxThemeD10;cxDataD10;cxExtEditorsD10;cxGridD10;cxPageControlD10;cxSchedulerD10;cxTreeListD10;cxVerticalGridD10;dxBarD10;dxComnD10;dxBarDBNavD10;dxBarExtDBItemsD10;dxBarExtItemsD10;dxDockingD10;dxLayoutControlD10;dxNavBarD10;dxPSCoreD10;dxsbD10;dxPScxCommonD10;dxPSLnksD10;vclshlctrls;dxPScxExtCommonD10;dxPScxGridLnkD10;dxPScxPCProdD10;dxPScxScheduler2LnkD10;dxPScxTLLnkD10;dxPSdxLCLnkD10;dxPsPrVwAdvD10;pckMD5;pckUCDataConnector;pckUserControl_RT;PluginSDK_D10R;PNG_D10;PngComponentsD10;tb2k_d10;tbx_d10;JclVcl;Jcl;JvXPCtrlsD11R;JvCoreD11R;JvSystemD11R;JvStdCtrlsD11R;JvAppFrmD11R;JvBandsD11R;JvDBD11R;JvDlgsD11R;JvBDED11R;JvCmpD11R;JvCryptD11R;JvCtrlsD11R;JvCustomD11R;JvDockingD11R;JvDotNetCtrlsD11R;JvEDID11R;JvGlobusD11R;JvHMID11R;JvInterpreterD11R;JvJansD11R;JvManagedThreadsD11R;JvMMD11R;JvNetD11R;JvPageCompsD11R;JvPluginD11R;JvPrintPreviewD11R;JvRuntimeDesignD11R;JvTimeFrameworkD11R;JvUIBD11R;JvValidatorsD11R;JvWizardD11R;pckUCADOConn;pckUCBDEConn;pckUCIBXConn;pckUCMidasConn;cxIntlPrintSys3D10;cxExportD10;cxIntl5D10;GUISDK_D11R;ccpackD11;JSDialog100;fsTee11;fs11;frx11;frxADO11;frxBDE11;frxDB11;frxDBX11;frxe11;frxIBX11;frxTee11;fsADO11;fsBDE11;fsDB11;fsIBX11;websnap;soaprtl;IntrawebDB_90_100;Intraweb_90_100
-
-
- 7.0
- False
- False
- 0
- 3
- ..\..\Output\Release\Servidor
- RELEASE
-
-
- 7.0
- 3
- ..\..\Output\Debug\Servidor
- DEBUG;
- True
- True
- True
- C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
- C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
- C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
- C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
-
-
- Delphi.Personality
-
-
- FalseTrueFalse/standaloneTrueFalse4410FalseFalseFalseFalseFalse308212524.4.1.04.4.1.0martes, 17 de junio de 2014 19:48
- ExpressPrinting System by Developer Express Inc.
- FactuGES_Server.dprFalse
-
-
-
-
- MainSource
-
-
-
-
-
-
- TDARemoteService
-
-
-
- TDataModule
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
-
-
- TDataModule
-
-
- TDataModule
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
- TDataModule
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDARemoteService
-
-
-
-
-
-
- TDARemoteService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataModule
-
-
-
- TDARemoteService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
- TDataModule
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
- TDataAbstractService
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDARemoteService
-
-
-
- TDARemoteService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
- TDataModule
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
- TDataModule
-
-
-
- TDataModule
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
- TFrame
-
-
-
- TFrame
-
-
-
- TFrame
-
-
-
- TForm
-
-
-
- TFrame
-
-
-
- TDARemoteService
-
-
-
-
-
-
- TDataModule
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}
+ FactuGES_Server.dpr
+ Debug
+ AnyCPU
+ DCC32
+ ..\..\Output\Debug\Servidor\FactuGES_Server.exe
+ vcl;rtl;vclx;vclactnband;dbrtl;vcldb;vcldbx;bdertl;dsnap;dsnapcon;teeUI;teedb;tee;adortl;vclib;ibxpress;dbxcds;dbexpress;DbxCommonDriver;IndyCore;IndySystem;IndyProtocols;VclSmp;vclie;webdsnap;xmlrtl;inet;inetdbbde;inetdbxpress;RemObjects_BPDX_D11;RemObjects_RODX_D11;RemObjects_Indy_D11;RemObjects_Synapse_D11;RemObjects_WebBroker_D11;DataAbstract_Core_D11;DataAbstract_DBXDriver_D11;DataAbstract_IDE_D11;DataAbstract_Scripting_D11;DataAbstract_SDACDriver_D11;sdac105;dac105;DataAbstract_SQLiteDriver_D11;cxEditorsD10;cxLibraryD10;dxThemeD10;cxDataD10;cxExtEditorsD10;cxGridD10;cxPageControlD10;cxSchedulerD10;cxTreeListD10;cxVerticalGridD10;dxBarD10;dxComnD10;dxBarDBNavD10;dxBarExtDBItemsD10;dxBarExtItemsD10;dxDockingD10;dxLayoutControlD10;dxNavBarD10;dxPSCoreD10;dxsbD10;dxPScxCommonD10;dxPSLnksD10;vclshlctrls;dxPScxExtCommonD10;dxPScxGridLnkD10;dxPScxPCProdD10;dxPScxScheduler2LnkD10;dxPScxTLLnkD10;dxPSdxLCLnkD10;dxPsPrVwAdvD10;pckMD5;pckUCDataConnector;pckUserControl_RT;PluginSDK_D10R;PNG_D10;PngComponentsD10;tb2k_d10;tbx_d10;JclVcl;Jcl;JvXPCtrlsD11R;JvCoreD11R;JvSystemD11R;JvStdCtrlsD11R;JvAppFrmD11R;JvBandsD11R;JvDBD11R;JvDlgsD11R;JvBDED11R;JvCmpD11R;JvCryptD11R;JvCtrlsD11R;JvCustomD11R;JvDockingD11R;JvDotNetCtrlsD11R;JvEDID11R;JvGlobusD11R;JvHMID11R;JvInterpreterD11R;JvJansD11R;JvManagedThreadsD11R;JvMMD11R;JvNetD11R;JvPageCompsD11R;JvPluginD11R;JvPrintPreviewD11R;JvRuntimeDesignD11R;JvTimeFrameworkD11R;JvUIBD11R;JvValidatorsD11R;JvWizardD11R;pckUCADOConn;pckUCBDEConn;pckUCIBXConn;pckUCMidasConn;cxIntlPrintSys3D10;cxExportD10;cxIntl5D10;GUISDK_D11R;ccpackD11;JSDialog100;fsTee11;fs11;frx11;frxADO11;frxBDE11;frxDB11;frxDBX11;frxe11;frxIBX11;frxTee11;fsADO11;fsBDE11;fsDB11;fsIBX11;websnap;soaprtl;IntrawebDB_90_100;Intraweb_90_100
+
+
+ 7.0
+ False
+ False
+ 0
+ 3
+ ..\..\Output\Release\Servidor
+ RELEASE
+
+
+ 7.0
+ 3
+ ..\..\Output\Debug\Servidor
+ DEBUG;
+ True
+ True
+ True
+ C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
+ C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
+ C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
+ C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10
+
+
+ Delphi.Personality
+
+
+FalseTrueFalse/standaloneTrueFalse4420FalseFalseFalseFalseFalse308212524.4.2.04.4.2.0miércoles, 04 de marzo de 2015 16:13
+ ExpressPrinting System by Developer Express Inc.
+ FactuGES_Server.dprFalse
+
+
+
+
+ MainSource
+
+
+
+
+
+
+ TDARemoteService
+
+
+
+ TDataModule
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+
+
+ TDataModule
+
+
+ TDataModule
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+ TDataModule
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDARemoteService
+
+
+
+
+
+
+ TDARemoteService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataModule
+
+
+
+ TDARemoteService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+ TDataModule
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+ TDataAbstractService
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDARemoteService
+
+
+
+ TDARemoteService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+ TDataModule
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+ TDataModule
+
+
+
+ TDataModule
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TForm
+
+
+
+ TFrame
+
+
+
+ TDARemoteService
+
+
+
+
+
+
+ TDataModule
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+