diff --git a/Build/Build.fbl6 b/Build/Build.fbl6
index be189be..d6d07a8 100644
Binary files a/Build/Build.fbl6 and b/Build/Build.fbl6 differ
diff --git a/Build/Build.fbpInf b/Build/Build.fbpInf
index 7024765..e832e0e 100644
--- a/Build/Build.fbpInf
+++ b/Build/Build.fbpInf
@@ -14,8 +14,8 @@
- 00:03:15
- 28/12/2020 17:37:37
+ 00:01:15
+ 19/01/2021 17:01:29
True
diff --git a/Build/Build.fbz6 b/Build/Build.fbz6
index 1a5f385..58036e7 100644
Binary files a/Build/Build.fbz6 and b/Build/Build.fbz6 differ
diff --git a/Resources/Iconos/Agenda/16x16/Thumbs.db b/Resources/Iconos/Agenda/16x16/Thumbs.db
index 28be8b6..af77081 100644
Binary files a/Resources/Iconos/Agenda/16x16/Thumbs.db and b/Resources/Iconos/Agenda/16x16/Thumbs.db differ
diff --git a/Resources/Iconos/Agenda/24x24/Thumbs.db b/Resources/Iconos/Agenda/24x24/Thumbs.db
index c12045e..afaa377 100644
Binary files a/Resources/Iconos/Agenda/24x24/Thumbs.db and b/Resources/Iconos/Agenda/24x24/Thumbs.db differ
diff --git a/Resources/Iconos/Agenda/28x28/Thumbs.db b/Resources/Iconos/Agenda/28x28/Thumbs.db
index 0cc206b..e5cc81e 100644
Binary files a/Resources/Iconos/Agenda/28x28/Thumbs.db and b/Resources/Iconos/Agenda/28x28/Thumbs.db differ
diff --git a/Source/Base/Base.res b/Source/Base/Base.res
index 8b251f3..1641339 100644
Binary files a/Source/Base/Base.res and b/Source/Base/Base.res differ
diff --git a/Source/Cliente/FactuGES.dproj b/Source/Cliente/FactuGES.dproj
index b669c97..2bbf469 100644
--- a/Source/Cliente/FactuGES.dproj
+++ b/Source/Cliente/FactuGES.dproj
@@ -51,7 +51,7 @@
Delphi.Personality
VCLApplication
-FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse2920FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.9.2.0FactuGESFactuGES2.9.2.0
+FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse3000FalseFalseFalseFalseFalse30821252Rodax Software S.L.3.0.0.0FactuGESFactuGES3.0.0.0
File C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl not found
FactuGES.dprFalse
diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res
index d231729..ec3dddc 100644
Binary files a/Source/Cliente/FactuGES.res and b/Source/Cliente/FactuGES.res differ
diff --git a/Source/GUIBase/GUIBase.dproj b/Source/GUIBase/GUIBase.dproj
index f4f4046..958a997 100644
--- a/Source/GUIBase/GUIBase.dproj
+++ b/Source/GUIBase/GUIBase.dproj
@@ -58,34 +58,34 @@
MainSource
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Informes/1/InfContratoCliente.fr3 b/Source/Informes/1/InfContratoCliente.fr3
index e312bba..143c502 100644
--- a/Source/Informes/1/InfContratoCliente.fr3
+++ b/Source/Informes/1/InfContratoCliente.fr3
@@ -1,5 +1,5 @@
-
+
@@ -55,12 +55,12 @@
-
+
-
+
-
-
+
+
diff --git a/Source/Informes/1/InfPresupuestoCliente.fr3 b/Source/Informes/1/InfPresupuestoCliente.fr3
index 6428f56..56335e7 100644
--- a/Source/Informes/1/InfPresupuestoCliente.fr3
+++ b/Source/Informes/1/InfPresupuestoCliente.fr3
@@ -1,5 +1,5 @@
-
+
@@ -38,7 +38,7 @@
-
+
@@ -57,13 +57,15 @@
+
+
-
+
diff --git a/Source/Informes/1/InformeIVAClientes.fr3 b/Source/Informes/1/InformeIVAClientes.fr3
index 7c8a4e1..e1e278e 100644
--- a/Source/Informes/1/InformeIVAClientes.fr3
+++ b/Source/Informes/1/InformeIVAClientes.fr3
@@ -1,5 +1,5 @@
-
+
@@ -14,61 +14,67 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
diff --git a/Source/Informes/1/InformeIVAClientesDesglosado.fr3 b/Source/Informes/1/InformeIVAClientesDesglosado.fr3
index 10405c1..1f4ce4a 100644
--- a/Source/Informes/1/InformeIVAClientesDesglosado.fr3
+++ b/Source/Informes/1/InformeIVAClientesDesglosado.fr3
@@ -1,5 +1,5 @@
-
+
@@ -15,33 +15,36 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
@@ -50,29 +53,32 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
diff --git a/Source/Informes/1/InformeListadoFacturasCliente.fr3 b/Source/Informes/1/InformeListadoFacturasCliente.fr3
index c971cc7..10cc1ec 100644
--- a/Source/Informes/1/InformeListadoFacturasCliente.fr3
+++ b/Source/Informes/1/InformeListadoFacturasCliente.fr3
@@ -1,5 +1,5 @@
-
+
@@ -14,60 +14,66 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
diff --git a/Source/Informes/1/InformeListadoFacturasClienteDesglosado.fr3 b/Source/Informes/1/InformeListadoFacturasClienteDesglosado.fr3
index c0b27fd..b4c1e6f 100644
--- a/Source/Informes/1/InformeListadoFacturasClienteDesglosado.fr3
+++ b/Source/Informes/1/InformeListadoFacturasClienteDesglosado.fr3
@@ -1,5 +1,5 @@
-
+
@@ -13,29 +13,32 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
@@ -49,29 +52,32 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
diff --git a/Source/Informes/2/InfContratoCliente.fr3 b/Source/Informes/2/InfContratoCliente.fr3
index ef34522..75d08ba 100644
--- a/Source/Informes/2/InfContratoCliente.fr3
+++ b/Source/Informes/2/InfContratoCliente.fr3
@@ -1,11 +1,11 @@
-
+
-
-
-
+
+
+
diff --git a/Source/Modulos/Albaranes de cliente/Controller/uAlbaranesClienteController.pas b/Source/Modulos/Albaranes de cliente/Controller/uAlbaranesClienteController.pas
index 2523f80..d098951 100644
--- a/Source/Modulos/Albaranes de cliente/Controller/uAlbaranesClienteController.pas
+++ b/Source/Modulos/Albaranes de cliente/Controller/uAlbaranesClienteController.pas
@@ -49,8 +49,8 @@ type
const VerImprimirPrecios: Boolean = False; const VerImprimirTotales: Boolean = False; const VerImprimirRefProveedor: Boolean = False;
const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False);
- procedure EtiquetasPreview(AAlbaran : IBizAlbaranCliente; Const withRefCliente: Boolean);
- procedure EtiquetasPrint(AAlbaran : IBizAlbaranCliente; Const withRefCliente: Boolean);
+ procedure EtiquetasPreview(AAlbaran : IBizAlbaranCliente; Const AAgencia: String; const AReferencia: String; const ANumEtiquetas: Integer; const AEtiquetaIni: Integer);
+ procedure EtiquetasPrint(AAlbaran : IBizAlbaranCliente; Const AAgencia: String; const AReferencia: String; const ANumEtiquetas: Integer; const AEtiquetaIni: Integer);
procedure RecalcularImportes(AAlbaran: IBizAlbaranCliente);
function EsModificable(AAlbaran: IBizAlbaranCliente): Boolean;
@@ -147,8 +147,8 @@ type
procedure Print(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false; VerLogotipo: Boolean = true;
const VerImprimirPrecios: Boolean = False; const VerImprimirTotales: Boolean = False; const VerImprimirRefProveedor: Boolean = False;
const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False);
- procedure EtiquetasPreview(AAlbaran : IBizAlbaranCliente; Const withRefCliente: Boolean);
- procedure EtiquetasPrint(AAlbaran : IBizAlbaranCliente; Const withRefCliente: Boolean);
+ procedure EtiquetasPreview(AAlbaran : IBizAlbaranCliente; Const AAgencia: String; const AReferencia: String; const ANumEtiquetas: Integer; const AEtiquetaIni: Integer);
+ procedure EtiquetasPrint(AAlbaran : IBizAlbaranCliente; Const AAgencia: String; const AReferencia: String; const ANumEtiquetas: Integer; const AEtiquetaIni: Integer);
function DarListaAnosAlbaranes: TStringList;
procedure FiltrarAno(AAlbaran: IBizAlbaranCliente; ADynWhereDataTable: WideString; const Ano: String);
@@ -808,25 +808,25 @@ begin
Result := not (AAlbaran.ID_FACTURA > 0);
end;
-procedure TAlbaranesClienteController.EtiquetasPreview(AAlbaran: IBizAlbaranCliente; Const withRefCliente: Boolean);
+procedure TAlbaranesClienteController.EtiquetasPreview(AAlbaran : IBizAlbaranCliente; Const AAgencia: String; const AReferencia: String; const ANumEtiquetas: Integer; const AEtiquetaIni: Integer);
var
AReportController : IAlbaranesClienteReportController;
begin
AReportController := TAlbaranesClienteReportController.Create;
try
- AReportController.EtiquetasPreview(AAlbaran.ID, withRefCliente);
+ AReportController.EtiquetasPreview(AAlbaran.ID, AAgencia, AReferencia, ANumEtiquetas, AEtiquetaIni);
finally
AReportController := NIL;
end;
end;
-procedure TAlbaranesClienteController.EtiquetasPrint(AAlbaran: IBizAlbaranCliente; Const withRefCliente: Boolean);
+procedure TAlbaranesClienteController.EtiquetasPrint(AAlbaran: IBizAlbaranCliente; Const AAgencia: String; const AReferencia: String; const ANumEtiquetas: Integer; const AEtiquetaIni: Integer);
var
AReportController : IAlbaranesClienteReportController;
begin
AReportController := TAlbaranesClienteReportController.Create;
try
- AReportController.EtiquetasPrint(AAlbaran.ID, withRefCliente);
+ AReportController.EtiquetasPrint(AAlbaran.ID, AAgencia, AReferencia, ANumEtiquetas, AEtiquetaIni);
finally
AReportController := NIL;
end;
diff --git a/Source/Modulos/Albaranes de cliente/Controller/uAlbaranesClienteReportController.pas b/Source/Modulos/Albaranes de cliente/Controller/uAlbaranesClienteReportController.pas
index 1739bc1..a852962 100644
--- a/Source/Modulos/Albaranes de cliente/Controller/uAlbaranesClienteReportController.pas
+++ b/Source/Modulos/Albaranes de cliente/Controller/uAlbaranesClienteReportController.pas
@@ -16,8 +16,8 @@ type
procedure Print(const AListaID : TIntegerList; const VerLogotipo: Boolean;
const VerImprimirPrecios: Boolean = False; const VerImprimirTotales: Boolean = False; const VerImprimirRefProveedor: Boolean = False;
const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False);
- procedure EtiquetasPreview(const AID : integer; Const withRefCliente: Boolean);
- procedure EtiquetasPrint(const AID : integer; Const withRefCliente: Boolean);
+ procedure EtiquetasPreview(const AID : integer; Const AAgencia: String; const AReferencia: String; const ANumEtiquetas: Integer = 1; const AEtiquetaIni: Integer = 1);
+ procedure EtiquetasPrint(const AID : integer; Const AAgencia: String; const AReferencia: String; const ANumEtiquetas: Integer; const AEtiquetaIni: Integer);
function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean;
end;
@@ -36,8 +36,8 @@ type
procedure Print(const AListaID : TIntegerList; const VerLogotipo: Boolean;
const VerImprimirPrecios: Boolean = False; const VerImprimirTotales: Boolean = False; const VerImprimirRefProveedor: Boolean = False;
const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False);
- procedure EtiquetasPreview(const AID : integer; Const withRefCliente: Boolean);
- procedure EtiquetasPrint(const AID : integer; Const withRefCliente: Boolean);
+ procedure EtiquetasPreview(const AID : integer; Const AAgencia: String; const AReferencia: String; const ANumEtiquetas: Integer = 1; const AEtiquetaIni: Integer = 1);
+ procedure EtiquetasPrint(const AID : integer; Const AAgencia: String; const AReferencia: String; const ANumEtiquetas: Integer = 1; const AEtiquetaIni: Integer = 1);
function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean;
end;
@@ -70,14 +70,14 @@ begin
inherited;
end;
-procedure TAlbaranesClienteReportController.EtiquetasPreview(const AID: integer; const withRefCliente: Boolean);
+procedure TAlbaranesClienteReportController.EtiquetasPreview(const AID : integer; Const AAgencia: String; const AReferencia: String; const ANumEtiquetas: Integer = 1; const AEtiquetaIni: Integer = 1);
var
AStream: Binary;
AEditor : IEditorAlbaranesClientePreview;
begin
AEditor := NIL;
- AStream := FDataModule.GetEtiquetas(AID, withRefCliente);
+ AStream := FDataModule.GetEtiquetas(AID, AAgencia, aReferencia, ANumEtiquetas, AEtiquetaIni);
try
CreateEditor('EditorAlbaranesClientePreview', IEditorAlbaranesClientePreview, AEditor);
if Assigned(AEditor) then
@@ -93,7 +93,7 @@ begin
end;
end;
-procedure TAlbaranesClienteReportController.EtiquetasPrint(const AID: integer; const withRefCliente: Boolean);
+procedure TAlbaranesClienteReportController.EtiquetasPrint(const AID: integer; Const AAgencia: String; const AReferencia: String; const ANumEtiquetas: Integer = 1; const AEtiquetaIni: Integer = 1);
var
AStream: Binary;
AEditor : IEditorAlbaranesClientePreview;
@@ -102,7 +102,7 @@ begin
ShowHourglassCursor;
try
- AStream := FDataModule.GetEtiquetas(AID, withRefCliente);
+ AStream := FDataModule.GetEtiquetas(AID, AAgencia, AReferencia, ANumEtiquetas, AEtiquetaIni);
try
CreateEditor('EditorAlbaranesClientePreview', IEditorAlbaranesClientePreview, AEditor);
if Assigned(AEditor) then
diff --git a/Source/Modulos/Albaranes de cliente/Data/uDataModuleAlbaranesCliente.pas b/Source/Modulos/Albaranes de cliente/Data/uDataModuleAlbaranesCliente.pas
index f2bfe59..9510315 100644
--- a/Source/Modulos/Albaranes de cliente/Data/uDataModuleAlbaranesCliente.pas
+++ b/Source/Modulos/Albaranes de cliente/Data/uDataModuleAlbaranesCliente.pas
@@ -40,7 +40,7 @@ type
function GetRptAlbaranes(const ListaID: TIntegerList; const VerLogotipo: Boolean;
const VerImprimirPrecios: Boolean = False; const VerImprimirTotales: Boolean = False; const VerImprimirRefProveedor: Boolean = False;
const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False): Binary;
- function GetEtiquetas(const AID: Integer; withRefCliente: Boolean): Binary;
+ function GetEtiquetas(const AID: Integer; const AAgencia: Variant; const ARefPedido: Variant; const ANumEtiquetas: Integer; const AEtiquetaIni: Integer): Binary;
function GetRptPDFAlbaran(const AID: Integer; const VerLogotipo: Boolean;
const VerImprimirPrecios: Boolean = False; const VerImprimirTotales: Boolean = False; const VerImprimirRefProveedor: Boolean = False;
const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False): Binary;
@@ -143,9 +143,9 @@ begin
end;
end;
-function TDataModuleAlbaranesCliente.GetEtiquetas(const AID: Integer; withRefCliente: Boolean): Binary;
+function TDataModuleAlbaranesCliente.GetEtiquetas(const AID: Integer; const AAgencia: Variant; const ARefPedido: Variant; const ANumEtiquetas: Integer; const AEtiquetaIni: Integer): Binary;
begin
- Result := (RORemoteService as IsrvAlbaranesCliente).GenerarInformeEtiquetas(AID, withRefCliente)
+ Result := (RORemoteService as IsrvAlbaranesCliente).GenerarInformeEtiquetas(AID, AAgencia, ARefPedido, ANumEtiquetas, AEtiquetaIni)
end;
function TDataModuleAlbaranesCliente.GetItem(const ID: Integer): IBizAlbaranCliente;
diff --git a/Source/Modulos/Albaranes de cliente/Model/Data/uIDataModuleAlbaranesClienteReport.pas b/Source/Modulos/Albaranes de cliente/Model/Data/uIDataModuleAlbaranesClienteReport.pas
index 8692e45..6593d71 100644
--- a/Source/Modulos/Albaranes de cliente/Model/Data/uIDataModuleAlbaranesClienteReport.pas
+++ b/Source/Modulos/Albaranes de cliente/Model/Data/uIDataModuleAlbaranesClienteReport.pas
@@ -11,7 +11,7 @@ type
function GetRptAlbaranes(const ListaID: TIntegerList; const VerLogotipo: Boolean;
const VerImprimirPrecios: Boolean = False; const VerImprimirTotales: Boolean = False; const VerImprimirRefProveedor: Boolean = False;
const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False): Binary;
- function GetEtiquetas(const AID: Integer; withRefCliente: Boolean): Binary;
+ function GetEtiquetas(const AID: Integer; const AAgencia: Variant; const ARefPedido: Variant; const ANumEtiquetas: Integer; const AEtiquetaIni: Integer): Binary;
function GetRptPDFAlbaran(const AID: Integer; const VerLogotipo: Boolean;
const VerImprimirPrecios: Boolean = False; const VerImprimirTotales: Boolean = False; const VerImprimirRefProveedor: Boolean = False;
const VerImprimirObservaciones: Boolean = False; const VerImprimirIncidencias: Boolean = False): Binary;
diff --git a/Source/Modulos/Albaranes de cliente/Model/uBizAlbaranesCliente.pas b/Source/Modulos/Albaranes de cliente/Model/uBizAlbaranesCliente.pas
index 4e654aa..005a1c5 100644
--- a/Source/Modulos/Albaranes de cliente/Model/uBizAlbaranesCliente.pas
+++ b/Source/Modulos/Albaranes de cliente/Model/uBizAlbaranesCliente.pas
@@ -195,7 +195,7 @@ begin
TIENDA := AppFactuGES.TiendaActiva.NOMBRE;
//TEMPORAL ALMACÉN PUESTO A CAPÓN Y PROVISIONAL
- ID_ALMACEN := 1;
+ ID_ALMACEN := 0;
end;
diff --git a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm
index 4982911..4c244b2 100644
--- a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm
+++ b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm
@@ -958,115 +958,131 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
Params = <
item
Name = 'ID_ALBARAN'
- DataType = datInteger
Value = ''
- ParamType = daptInput
+ end
+ item
+ Name = 'REF_PEDIDO'
+ Value = ''
+ end
+ item
+ Name = 'AGENCIA'
+ Value = ''
+ end
+ item
+ Name = 'NUM_ETIQUETAS'
+ Value = ''
+ end
+ item
+ Name = 'ETIQUETA_INI'
+ Value = ''
end>
Statements = <
item
Connection = 'IBX'
- TargetTable = 'ALBARANES_CLIENTE_DETALLES'
SQL =
- 'SELECT ALBARANES_CLIENTE.REFERENCIA, ALBARANES_CLIENTE.FECHA_PRE' +
- 'VISTA_ENVIO,'#10' ALBARANES_CLIENTE_DETALLES.ID, ALBARANES_CLI' +
- 'ENTE_DETALLES.ID_ALBARAN,'#10' ALBARANES_CLIENTE_DETALLES.POSI' +
- 'CION, ALBARANES_CLIENTE_DETALLES.TIPO_DETALLE,'#10' F_RTFTOTEX' +
- 'T(ALBARANES_CLIENTE_DETALLES.CONCEPTO) as CONCEPTO, ALBARANES_CL' +
- 'IENTE_DETALLES.CANTIDAD,'#10' ALBARANES_CLIENTE_DETALLES.IMPOR' +
- 'TE_UNIDAD, ALBARANES_CLIENTE_DETALLES.IMPORTE_TOTAL'#10#10'FROM ALBARA' +
- 'NES_CLIENTE_DETALLES'#10'left join ALBARANES_CLIENTE on (ALBARANES_C' +
- 'LIENTE.ID = ALBARANES_CLIENTE_DETALLES.ID_ALBARAN)'#10'WHERE (ID_ALB' +
- 'ARAN = :ID_ALBARAN)'#10'AND (ALBARANES_CLIENTE_DETALLES.CANTIDAD > 0' +
- ')'#10'ORDER BY POSICION'#10#10
+ 'select *'#10'from PROC_ETIQUETAS_ALBARAN(:ID_ALBARAN, :REF_PEDIDO, :' +
+ 'AGENCIA, :NUM_ETIQUETAS, :ETIQUETA_INI)'#10#10
StatementType = stSQL
ColumnMappings = <
item
- DatasetField = 'CANTIDAD'
- TableField = 'CANTIDAD'
+ DatasetField = 'AGENCIA'
+ TableField = 'AGENCIA'
end
item
- DatasetField = 'POSICION'
- TableField = 'POSICION'
+ DatasetField = 'BULTO'
+ TableField = 'BULTO'
end
item
- DatasetField = 'ID'
- TableField = 'ID'
+ DatasetField = 'NUM_BULTOS'
+ TableField = 'NUM_BULTOS'
end
item
- DatasetField = 'TIPO_DETALLE'
- TableField = 'TIPO_DETALLE'
+ DatasetField = 'DESTINATARIO'
+ TableField = 'DESTINATARIO'
end
item
- DatasetField = 'CONCEPTO'
- TableField = 'CONCEPTO'
+ DatasetField = 'TELEFONO'
+ TableField = 'TELEFONO'
end
item
- DatasetField = 'IMPORTE_UNIDAD'
- TableField = 'IMPORTE_UNIDAD'
+ DatasetField = 'CALLE'
+ TableField = 'CALLE'
end
item
- DatasetField = 'IMPORTE_TOTAL'
- TableField = 'IMPORTE_TOTAL'
+ DatasetField = 'CODIGO_POSTAL'
+ TableField = 'CODIGO_POSTAL'
end
item
- DatasetField = 'ID_ALBARAN'
- TableField = 'ID_ALBARAN'
+ DatasetField = 'POBLACION'
+ TableField = 'POBLACION'
end
item
- DatasetField = 'REFERENCIA'
- TableField = ''
- SQLOrigin = 'REFERENCIA'
+ DatasetField = 'PROVINCIA'
+ TableField = 'PROVINCIA'
end
item
- DatasetField = 'FECHA_PREVISTA_ENVIO'
- TableField = ''
- SQLOrigin = 'FECHA_PREVISTA_ENVIO'
+ DatasetField = 'REF_PEDIDO'
+ TableField = 'REF_PEDIDO'
+ end
+ item
+ DatasetField = 'REF_CLIENTE'
+ TableField = 'REF_CLIENTE'
end>
end>
Name = 'Informe_Detalles_Etiquetas'
Fields = <
item
- Name = 'REFERENCIA'
+ Name = 'AGENCIA'
DataType = datString
Size = 255
end
item
- Name = 'FECHA_PREVISTA_ENVIO'
- DataType = datDateTime
- end
- item
- Name = 'ID'
+ Name = 'BULTO'
DataType = datInteger
end
item
- Name = 'ID_ALBARAN'
+ Name = 'NUM_BULTOS'
DataType = datInteger
end
item
- Name = 'POSICION'
- DataType = datInteger
- end
- item
- Name = 'TIPO_DETALLE'
+ Name = 'DESTINATARIO'
DataType = datString
- Size = 10
+ Size = 255
end
item
- Name = 'CONCEPTO'
+ Name = 'TELEFONO'
DataType = datString
- Size = 254
+ Size = 255
end
item
- Name = 'CANTIDAD'
- DataType = datInteger
+ Name = 'CALLE'
+ DataType = datString
+ Size = 255
end
item
- Name = 'IMPORTE_UNIDAD'
- DataType = datCurrency
+ Name = 'CODIGO_POSTAL'
+ DataType = datString
+ Size = 255
end
item
- Name = 'IMPORTE_TOTAL'
- DataType = datCurrency
+ Name = 'POBLACION'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'PROVINCIA'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'REF_PEDIDO'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'REF_CLIENTE'
+ DataType = datString
+ Size = 255
end>
end>
JoinDataTables = <>
@@ -1282,7 +1298,7 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
PrintOptions.Printer = 'Por defecto'
PrintOptions.PrintOnSheet = 0
ReportOptions.CreateDate = 39065.872423495400000000
- ReportOptions.LastChange = 44183.517020532410000000
+ ReportOptions.LastChange = 44233.813875682870000000
ScriptLanguage = 'PascalScript'
ShowProgress = False
StoreInDFM = False
@@ -1314,45 +1330,78 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
RemoteUpdatesOptions = []
Fields = <
item
- Name = 'ID'
- DataType = datInteger
- end
- item
- Name = 'ID_ALBARAN'
- DataType = datInteger
- end
- item
- Name = 'POSICION'
- DataType = datInteger
- end
- item
- Name = 'TIPO_DETALLE'
+ Name = 'AGENCIA'
DataType = datString
- Size = 10
+ Size = 255
end
item
- Name = 'CONCEPTO'
- DataType = datString
- Size = 254
- end
- item
- Name = 'CANTIDAD'
+ Name = 'BULTO'
DataType = datInteger
end
item
- Name = 'IMPORTE_UNIDAD'
- DataType = datCurrency
+ Name = 'NUM_BULTOS'
+ DataType = datInteger
end
item
- Name = 'IMPORTE_TOTAL'
- DataType = datCurrency
+ Name = 'DESTINATARIO'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'TELEFONO'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'CALLE'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'CODIGO_POSTAL'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'POBLACION'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'PROVINCIA'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'REF_PEDIDO'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'REF_CLIENTE'
+ DataType = datString
+ Size = 255
end>
Params = <
item
Name = 'ID_ALBARAN'
- DataType = datInteger
Value = ''
- ParamType = daptInput
+ end
+ item
+ Name = 'REF_PEDIDO'
+ Value = ''
+ end
+ item
+ Name = 'AGENCIA'
+ Value = ''
+ end
+ item
+ Name = 'NUM_ETIQUETAS'
+ Value = ''
+ end
+ item
+ Name = 'ETIQUETA_INI'
+ Value = ''
end>
MasterMappingMode = mmDataRequest
LogChanges = False
diff --git a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas
index 85d2628..44fdab7 100644
--- a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas
+++ b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas
@@ -44,7 +44,7 @@ type
public
function GenerarAlbaran(const ListaID : TIntegerArray; const VerLogotipo: Boolean = True; const VerPrecios: Boolean = True; const VerTotales: Boolean = True): Binary;
function GenerarAlbaranEnPDF(const ListaID : TIntegerArray; const VerLogotipo: Boolean = True; const VerPrecios: Boolean = True; const VerTotales: Boolean = True): Binary;
- function GenerarEtiquetas(const AID : Integer; withRefCliente: Boolean): Binary;
+ function GenerarEtiquetas(const AID : Integer; const AAgencia: Variant; const ARefPedido: Variant; const ANumEtiquetas: Integer; const AEtiquetaIni: Integer): Binary;
end;
implementation
@@ -141,7 +141,7 @@ begin
end;
end;
-function TRptAlbaranesCliente.GenerarEtiquetas(const AID: Integer; withRefCliente: Boolean): Binary;
+function TRptAlbaranesCliente.GenerarEtiquetas(const AID : Integer; const AAgencia: Variant; const ARefPedido: Variant; const ANumEtiquetas: Integer; const AEtiquetaIni: Integer): Binary;
var
AInforme: Variant;
@@ -151,17 +151,21 @@ begin
try
tbl_Etiquetas.ParamByName('ID_ALBARAN').AsInteger := AID;
+ tbl_Etiquetas.ParamByName('AGENCIA').AsString := AAgencia;
+ tbl_Etiquetas.ParamByName('REF_PEDIDO').AsString := ARefPedido;
+ tbl_Etiquetas.ParamByName('NUM_ETIQUETAS').AsInteger := ANumEtiquetas;
+ tbl_Etiquetas.ParamByName('ETIQUETA_INI').AsInteger := AEtiquetaIni;
tbl_Etiquetas.Active := True;
- AInforme := DarRutaFichero(DarRutaInformes, rptInfEtiquetas);
+ AInforme := DarRutaFichero(DarRutaInformes, rptInfEtiquetas, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString);
if VarIsNull(AInforme) then
raise Exception.Create (('Error Servidor: GenerarEtiquetas, no encuentra informe' + rptInfEtiquetas));
frxReport.LoadFromFile(AInforme, True);
- if withRefCliente then
- frxReport.Variables.Variables['withRefCliente'] := 1
- else
- frxReport.Variables.Variables['withRefCliente'] := 0;
+// if withRefCliente then
+// frxReport.Variables.Variables['withRefCliente'] := 1
+// else
+// frxReport.Variables.Variables['withRefCliente'] := 0;
frxReport.PrepareReport(False);
frxReport.PreviewPages.SaveToStream(Result);
diff --git a/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.dfm b/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.dfm
index fb9c6ae..8f7f31b 100644
--- a/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.dfm
+++ b/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.dfm
@@ -1407,7 +1407,7 @@ object srvAlbaranesCliente: TsrvAlbaranesCliente
DeleteCommandName = 'Delete_AlbaranesCliente_Detalles'
UpdateCommandName = 'Update_AlbaranesCliente_Detalles'
ReferencedDataset = 'AlbaranesCliente_Detalles'
- ProcessorOptions = [poPrepareCommands]
+ ProcessorOptions = [poAutoGenerateRefreshDataset, poPrepareCommands]
UpdateMode = updWhereKeyOnly
Left = 200
Top = 88
diff --git a/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.pas b/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.pas
index cbf7686..4b89935 100644
--- a/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.pas
+++ b/Source/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.pas
@@ -33,7 +33,7 @@ type
protected
{ IsrvAlbaranesCliente methods }
function GenerarInforme(const ListaID: TIntegerArray; const VerLogotipo: Boolean; const VerPrecios: Boolean; const VerTotales: Boolean): Binary;
- function GenerarInformeEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary;
+ function GenerarInformeEtiquetas(const ID: Integer; const AAgencia: Variant; const ARefPedido: Variant; const ANumEtiquetas: Integer; const AEtiquetaIni: Integer): Binary;
end;
implementation
@@ -93,14 +93,13 @@ begin
end;
end;
-function TsrvAlbaranesCliente.GenerarInformeEtiquetas(const ID: Integer;
- const withRefCliente: Boolean): Binary;
+function TsrvAlbaranesCliente.GenerarInformeEtiquetas(const ID: Integer; const AAgencia: Variant; const ARefPedido: Variant; const ANumEtiquetas: Integer; const AEtiquetaIni: Integer): Binary;
var
AReportGenerator : TRptAlbaranesCliente;
begin
AReportGenerator := TRptAlbaranesCliente.Create(nil);
try
- Result := AReportGenerator.GenerarEtiquetas(ID, withRefCliente);
+ Result := AReportGenerator.GenerarEtiquetas(ID, AAgencia, ARefPedido, ANumEtiquetas, AEtiquetaIni);
finally
FreeAndNIL(AReportGenerator);
end;
diff --git a/Source/Modulos/Albaranes de cliente/Views/AlbaranesCliente_view.dpk b/Source/Modulos/Albaranes de cliente/Views/AlbaranesCliente_view.dpk
index a01738c..8ecb12d 100644
--- a/Source/Modulos/Albaranes de cliente/Views/AlbaranesCliente_view.dpk
+++ b/Source/Modulos/Albaranes de cliente/Views/AlbaranesCliente_view.dpk
@@ -68,6 +68,7 @@ contains
uViewAlbaranDevCliente in 'uViewAlbaranDevCliente.pas' {frViewAlbaranDevCliente: TCustomView},
uViewDatosYSeleccionClienteAlbaran in 'uViewDatosYSeleccionClienteAlbaran.pas' {frViewDatosYSeleccionClienteAlbaran: TCustomView},
uDialogOpcionesImpresionAlbaranesCliente in 'uDialogOpcionesImpresionAlbaranesCliente.pas' {frDialogOpcionesImpresionAlbaranesCliente: T},
- uEditorDireccionEntregaAlbaranCliente in 'uEditorDireccionEntregaAlbaranCliente.pas' {fEditorDireccionEntregaAlbaranCliente: TCustomEditor};
+ uEditorDireccionEntregaAlbaranCliente in 'uEditorDireccionEntregaAlbaranCliente.pas' {fEditorDireccionEntregaAlbaranCliente: TCustomEditor},
+ uDialogOpcionesImpresionEtiquetasAlbaranesCliente in 'uDialogOpcionesImpresionEtiquetasAlbaranesCliente.pas' {frDialogOpcionesImpresionEtiquetasAlbaranesCliente: T};
end.
diff --git a/Source/Modulos/Albaranes de cliente/Views/AlbaranesCliente_view.dproj b/Source/Modulos/Albaranes de cliente/Views/AlbaranesCliente_view.dproj
index c4acd1d..18e6430 100644
--- a/Source/Modulos/Albaranes de cliente/Views/AlbaranesCliente_view.dproj
+++ b/Source/Modulos/Albaranes de cliente/Views/AlbaranesCliente_view.dproj
@@ -79,6 +79,7 @@
T
+
TfEditorAlbaranCliente
@@ -100,7 +101,7 @@
TCustomEditor
-
+
TCustomEditor
diff --git a/Source/Modulos/Albaranes de cliente/Views/uDialogOpcionesImpresionEtiquetasAlbaranesCliente.dfm b/Source/Modulos/Albaranes de cliente/Views/uDialogOpcionesImpresionEtiquetasAlbaranesCliente.dfm
new file mode 100644
index 0000000..cd1a6a5
--- /dev/null
+++ b/Source/Modulos/Albaranes de cliente/Views/uDialogOpcionesImpresionEtiquetasAlbaranesCliente.dfm
@@ -0,0 +1,96 @@
+inherited fDialogOpcionesImpresionEtiquetasAlbaranesCliente: TfDialogOpcionesImpresionEtiquetasAlbaranesCliente
+ Caption = 'Opciones para el albar'#225'n de cliente'
+ ClientHeight = 391
+ ClientWidth = 511
+ ExplicitWidth = 517
+ ExplicitHeight = 427
+ PixelsPerInch = 96
+ TextHeight = 13
+ inherited Bevel2: TBevel
+ Width = 511
+ ExplicitWidth = 393
+ end
+ inherited Bevel3: TBevel
+ Top = 347
+ Width = 511
+ ExplicitTop = 195
+ ExplicitWidth = 393
+ end
+ inherited pnlBotones: TPanel
+ Top = 349
+ Width = 511
+ ExplicitTop = 218
+ ExplicitWidth = 393
+ inherited btnAceptar: TButton
+ Left = 229
+ ExplicitLeft = 229
+ end
+ inherited btnCancelar: TButton
+ Left = 308
+ ExplicitLeft = 308
+ end
+ end
+ inherited pnlHeader: TPanel
+ Width = 511
+ ExplicitWidth = 393
+ inherited lblTitle: TLabel
+ Width = 461
+ Caption = 'Indique las siguiente opciones para el albar'#225'n de cliente:'
+ ExplicitWidth = 319
+ end
+ inherited lblComments: TLabel
+ Width = 436
+ Height = 27
+ Visible = False
+ end
+ end
+ inherited pnlCuerpo: TPanel
+ Width = 511
+ Height = 281
+ ExplicitWidth = 393
+ ExplicitHeight = 152
+ object eReferencia: TEdit
+ Left = 50
+ Top = 61
+ Width = 121
+ Height = 21
+ TabOrder = 0
+ Text = 'eReferencia'
+ end
+ object enumEtiquetas: TcxSpinEdit
+ Left = 50
+ Top = 125
+ Properties.MaxValue = 100.000000000000000000
+ Properties.MinValue = 1.000000000000000000
+ TabOrder = 1
+ Value = 1
+ Width = 121
+ end
+ object eAgencia: TEdit
+ Left = 50
+ Top = 21
+ Width = 121
+ Height = 21
+ TabOrder = 2
+ Text = 'eReferencia'
+ end
+ object eEtiquetaIni: TcxSpinEdit
+ Left = 218
+ Top = 125
+ Properties.LargeIncrement = 1.000000000000000000
+ Properties.MaxValue = 8.000000000000000000
+ Properties.MinValue = 1.000000000000000000
+ TabOrder = 3
+ Value = 1
+ Width = 121
+ end
+ end
+ inherited ActionListDialog: TActionList
+ inherited actAceptar: TAction
+ OnExecute = actAceptarExecute
+ end
+ inherited actCancelar: TAction
+ OnExecute = actCancelarExecute
+ end
+ end
+end
diff --git a/Source/Modulos/Albaranes de cliente/Views/uDialogOpcionesImpresionEtiquetasAlbaranesCliente.pas b/Source/Modulos/Albaranes de cliente/Views/uDialogOpcionesImpresionEtiquetasAlbaranesCliente.pas
new file mode 100644
index 0000000..ad21171
--- /dev/null
+++ b/Source/Modulos/Albaranes de cliente/Views/uDialogOpcionesImpresionEtiquetasAlbaranesCliente.pas
@@ -0,0 +1,60 @@
+unit uDialogOpcionesImpresionEtiquetasAlbaranesCliente;
+
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, uDialogBase, ActnList, StdCtrls, ExtCtrls, cxControls, cxContainer,
+ cxEdit, cxTextEdit, cxMaskEdit, cxSpinEdit;
+
+type
+ TfDialogOpcionesImpresionEtiquetasAlbaranesCliente = class(TfDialogBase)
+ eReferencia: TEdit;
+ enumEtiquetas: TcxSpinEdit;
+ eAgencia: TEdit;
+ eEtiquetaIni: TcxSpinEdit;
+ procedure actAceptarExecute(Sender: TObject);
+ procedure actCancelarExecute(Sender: TObject);
+ end;
+
+ function ElegirOpcionesImpresionEtiquetasAlbaranCliente(var AAgencia: String; var AReferencia : String; var ANumEtiquetas : Integer; var AEtiquetaIni : Integer): Boolean;
+
+implementation
+
+{$R *.dfm}
+
+function ElegirOpcionesImpresionEtiquetasAlbaranCliente(var AAgencia: String; var AReferencia : String; var ANumEtiquetas : Integer; var AEtiquetaIni : Integer): Boolean;
+var
+ AEditor : TfDialogOpcionesImpresionEtiquetasAlbaranesCliente;
+begin
+ AEditor := TfDialogOpcionesImpresionEtiquetasAlbaranesCliente.Create(NIL);
+ try
+ AEditor.eReferencia.Text := AReferencia;
+ AEditor.eAgencia.Text := AAgencia;
+
+ Result := (AEditor.ShowModal = mrOk);
+ if Result then
+ begin
+ AAgencia := AEditor.eAgencia.Text;
+ AReferencia := AEditor.eReferencia.Text;
+ ANumEtiquetas := AEditor.enumEtiquetas.Value;
+ AEtiquetaIni := AEditor.eEtiquetaIni.Value;
+ end;
+ finally
+ AEditor.Release;
+ end;
+end;
+
+procedure TfDialogOpcionesImpresionEtiquetasAlbaranesCliente.actAceptarExecute(Sender: TObject);
+begin
+ inherited;
+ ModalResult := mrOk
+end;
+
+procedure TfDialogOpcionesImpresionEtiquetasAlbaranesCliente.actCancelarExecute(Sender: TObject);
+begin
+ inherited;
+ ModalResult := mrCancel;
+end;
+
+end.
diff --git a/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranesCliente.dfm b/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranesCliente.dfm
index 35c9b15..00ce54d 100644
--- a/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranesCliente.dfm
+++ b/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranesCliente.dfm
@@ -1,16 +1,16 @@
inherited fEditorAlbaranesCliente: TfEditorAlbaranesCliente
Caption = 'Lista de albaranes de cliente'
- ClientWidth = 583
- ExplicitWidth = 591
+ ClientWidth = 899
+ ExplicitWidth = 907
ExplicitHeight = 482
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
- Width = 583
+ Width = 899
Caption = 'Lista de albaranes de cliente'
- ExplicitWidth = 583
+ ExplicitWidth = 899
inherited Image1: TImage
- Left = 556
+ Left = 872
Picture.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001800
0000180806000000E0773DF80000000970485973000017120000171201679FD2
@@ -122,12 +122,10 @@ inherited fEditorAlbaranesCliente: TfEditorAlbaranesCliente
end
end
inherited TBXDock: TTBXDock
- Width = 583
- Height = 105
- ExplicitWidth = 583
- ExplicitHeight = 105
+ Width = 899
+ ExplicitWidth = 899
inherited tbxMain: TTBXToolbar
- ExplicitWidth = 583
+ ExplicitWidth = 717
object TBXSeparatorItem17: TTBXSeparatorItem [10]
end
end
@@ -144,16 +142,14 @@ inherited fEditorAlbaranesCliente: TfEditorAlbaranesCliente
end
end
inherited tbxMenu: TTBXToolbar
- ExplicitWidth = 583
+ ExplicitWidth = 899
end
inherited TBXTMain2: TTBXToolbar
- Left = 334
- Top = 79
+ Left = 460
+ DockPos = 460
Visible = True
- ExplicitLeft = 334
- ExplicitTop = 79
- ExplicitWidth = 142
- ExplicitHeight = 26
+ ExplicitLeft = 460
+ ExplicitWidth = 271
object TBXItem42: TTBXItem
Action = actEnviar
DisplayMode = nbdmImageAndText
@@ -181,8 +177,8 @@ inherited fEditorAlbaranesCliente: TfEditorAlbaranesCliente
end
end
inherited StatusBar: TJvStatusBar
- Width = 583
- ExplicitWidth = 583
+ Width = 899
+ ExplicitWidth = 899
end
inherited EditorActionList: TActionList
inherited actNuevo: TAction
@@ -231,9 +227,7 @@ inherited fEditorAlbaranesCliente: TfEditorAlbaranesCliente
object actGenerarEtiquetas: TAction
Category = 'Acciones'
Caption = 'Generar etiquetas'
- Enabled = False
- ImageIndex = 23
- Visible = False
+ ImageIndex = 11
OnExecute = actGenerarEtiquetasExecute
end
end
@@ -1677,6 +1671,10 @@ inherited fEditorAlbaranesCliente: TfEditorAlbaranesCliente
end
inherited dsDataTable: TDADataSource [8]
end
+ inherited StatusBarImages: TPngImageList
+ Left = 144
+ Top = 296
+ end
inherited GridPopupMenu: TPopupMenu
object N4: TMenuItem [5]
Caption = '-'
diff --git a/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranesCliente.pas b/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranesCliente.pas
index 23bb679..9c83190 100644
--- a/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranesCliente.pas
+++ b/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranesCliente.pas
@@ -86,6 +86,7 @@ implementation
uses
uDataModuleAlbaranesCliente, uDataModuleUsuarios, uFactuGES_App,
uDialogOpcionesImpresionAlbaranesCliente,
+ uDialogOpcionesImpresionEtiquetasAlbaranesCliente,
//En tecsitel no estaran habilitados los pedidos
// uPedidosClienteController, uBizPedidosCliente,
uDialogUtils, schAlbaranesClienteClient_Intf, uGenerarFacturasCliAlbCliUtils,
@@ -159,9 +160,20 @@ begin
end;
procedure TfEditorAlbaranesCliente.actGenerarEtiquetasExecute(Sender: TObject);
+var
+ FReferencia: String;
+ FAgencia: String;
+ FNumEtiquetas: Integer;
+ FEtiquetaIni: Integer;
+
begin
inherited;
- FController.EtiquetasPreview(FAlbaranes, True);
+
+ FAgencia := 'PROPIO';
+ FReferencia := FAlbaranes.REF_PEDIDO;
+
+ if ElegirOpcionesImpresionEtiquetasAlbaranCliente(FAgencia, FReferencia, FNumEtiquetas, FEtiquetaIni) then
+ FController.EtiquetasPreview(FAlbaranes, FAgencia, FReferencia, FNumEtiquetas, FEtiquetaIni);
end;
procedure TfEditorAlbaranesCliente.actGenerarEtiquetasUpdate(Sender: TObject);
@@ -376,7 +388,7 @@ var
AllItems: Boolean;
FVerLogotipo: Boolean;
FImprimirPrecios : Boolean;
- FImprimirTotales : Boolean;
+ FImprimirTotales : Boolean;
FImprimirRefProveedor : Boolean;
FImprimirObservaciones: Boolean;
FImprimirIncidencias: Boolean;
diff --git a/Source/Modulos/Albaranes de cliente/Views/uViewAlbaranCliente.dfm b/Source/Modulos/Albaranes de cliente/Views/uViewAlbaranCliente.dfm
index 8bb44cc..d680cb9 100644
--- a/Source/Modulos/Albaranes de cliente/Views/uViewAlbaranCliente.dfm
+++ b/Source/Modulos/Albaranes de cliente/Views/uViewAlbaranCliente.dfm
@@ -20,7 +20,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
671)
object Label1: TLabel
Left = 412
- Top = 678
+ Top = 618
Width = 299
Height = 26
Caption =
@@ -30,7 +30,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
object edtFechaAlbaran: TcxDBDateEdit
Left = 116
- Top = 82
+ Top = 22
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'FECHA_ALBARAN'
DataBinding.DataSource = DADataSource
@@ -56,7 +56,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
object eReferencia: TcxDBTextEdit
Left = 116
- Top = 28
+ Top = -32
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'REFERENCIA'
DataBinding.DataSource = DADataSource
@@ -82,7 +82,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
inline frViewClienteAlbaran: TfrViewDatosYSeleccionClienteAlbaran
Left = 412
- Top = 28
+ Top = -32
Width = 442
Height = 221
Font.Charset = DEFAULT_CHARSET
@@ -94,7 +94,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
TabOrder = 10
ReadOnly = False
ExplicitLeft = 412
- ExplicitTop = 28
+ ExplicitTop = -32
ExplicitWidth = 442
ExplicitHeight = 221
inherited dxLayoutControl1: TdxLayoutControl
@@ -142,7 +142,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
object ePoblacion: TcxDBTextEdit
Left = 506
- Top = 452
+ Top = 392
DataBinding.DataField = 'POBLACION'
DataBinding.DataSource = DADataSource
Style.BorderColor = clWindowFrame
@@ -161,7 +161,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
object eCodigoPostal: TcxDBTextEdit
Left = 951
- Top = 452
+ Top = 392
DataBinding.DataField = 'CODIGO_POSTAL'
DataBinding.DataSource = DADataSource
Style.BorderColor = clWindowFrame
@@ -180,7 +180,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
object eProvincia: TcxDBTextEdit
Left = 506
- Top = 479
+ Top = 419
DataBinding.DataField = 'PROVINCIA'
DataBinding.DataSource = DADataSource
Style.BorderColor = clWindowFrame
@@ -199,7 +199,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
object ePersonaContacto: TcxDBTextEdit
Left = 506
- Top = 506
+ Top = 446
DataBinding.DataField = 'PERSONA_CONTACTO'
DataBinding.DataSource = DADataSource
Style.BorderColor = clWindowFrame
@@ -219,7 +219,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
object eTlfTrabajo: TcxDBTextEdit
Left = 506
- Top = 533
+ Top = 473
DataBinding.DataField = 'TELEFONO'
DataBinding.DataSource = DADataSource
Style.BorderColor = clWindowFrame
@@ -238,7 +238,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
object Button1: TButton
Left = 250
- Top = 138
+ Top = 78
Width = 132
Height = 23
Action = actVerPedidoCli
@@ -246,7 +246,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
object eReferenciaPedidoCli: TcxTextEdit
Left = 116
- Top = 138
+ Top = 78
Anchors = [akLeft, akTop, akRight]
Enabled = False
Properties.ReadOnly = False
@@ -269,7 +269,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
object cbFormaPago: TcxDBLookupComboBox
Left = 116
- Top = 109
+ Top = 49
DataBinding.DataField = 'ID_FORMA_PAGO'
DataBinding.DataSource = DADataSource
Properties.DropDownListStyle = lsFixedList
@@ -300,7 +300,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
object bFormasPago: TButton
Left = 250
- Top = 109
+ Top = 49
Width = 132
Height = 23
Caption = 'Ver las formas de pago...'
@@ -309,7 +309,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
object eFechaRecepcion: TcxDBDateEdit
Left = 546
- Top = 339
+ Top = 279
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'FECHA_RECEPCION'
DataBinding.DataSource = DADataSource
@@ -334,7 +334,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
object cbConAlmacen: TCheckBox
Left = 422
- Top = 646
+ Top = 586
Width = 179
Height = 21
Caption = 'Asociar este albar'#225'n al almac'#233'n:'
@@ -343,7 +343,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
object cbAlmacen: TcxDBLookupComboBox
Left = 607
- Top = 646
+ Top = 586
DataBinding.DataField = 'ID_ALMACEN'
DataBinding.DataSource = DADataSource
Properties.KeyFieldNames = 'ID'
@@ -373,7 +373,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
object eRefFacturaCli: TcxDBTextEdit
Left = 116
- Top = 167
+ Top = 107
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'REF_FACTURA'
DataBinding.DataSource = DADataSource
@@ -399,7 +399,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
object eFechaPrevista: TcxDBDateEdit
Left = 546
- Top = 285
+ Top = 225
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'FECHA_PREVISTA_ENVIO'
DataBinding.DataSource = DADataSource
@@ -426,7 +426,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
object eRefCliente: TcxDBTextEdit
Left = 116
- Top = 55
+ Top = -5
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'REFERENCIA_CLIENTE'
DataBinding.DataSource = DADataSource
@@ -450,7 +450,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
object eFechaEnvio: TcxDBDateEdit
Left = 546
- Top = 312
+ Top = 252
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'FECHA_ENVIO'
DataBinding.DataSource = DADataSource
@@ -475,7 +475,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
inline frViewTienda1: TfrViewTienda
Left = 22
- Top = 224
+ Top = 164
Width = 373
Height = 41
Enabled = False
@@ -488,7 +488,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
TabOrder = 8
ReadOnly = False
ExplicitLeft = 22
- ExplicitTop = 224
+ ExplicitTop = 164
ExplicitWidth = 373
inherited dxLayoutControl1: TdxLayoutControl
Width = 373
@@ -501,7 +501,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
inline frViewObservaciones1: TfrViewObservaciones
Left = 22
- Top = 301
+ Top = 241
Width = 521
Height = 228
Font.Charset = DEFAULT_CHARSET
@@ -513,7 +513,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
TabOrder = 9
ReadOnly = False
ExplicitLeft = 22
- ExplicitTop = 301
+ ExplicitTop = 241
ExplicitHeight = 228
inherited memObservaciones: TcxDBMemo
DataBinding.DataField = 'OBSERVACIONES'
@@ -524,7 +524,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
object eCalle: TcxDBMemo
Left = 506
- Top = 396
+ Top = 336
Anchors = [akLeft, akTop, akRight, akBottom]
DataBinding.DataField = 'CALLE'
DataBinding.DataSource = DADataSource
@@ -546,7 +546,7 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
object eNotasEnvio: TcxDBMemo
Left = 506
- Top = 560
+ Top = 500
Anchors = [akLeft, akTop, akRight, akBottom]
DataBinding.DataField = 'NOTAS_ENVIO'
DataBinding.DataSource = DADataSource
@@ -779,7 +779,6 @@ inherited frViewAlbaranCliente: TfrViewAlbaranCliente
end
object dxLayoutControl1Group11: TdxLayoutGroup
Caption = 'Almac'#233'n de origen'
- Visible = False
object dxLayoutControl1Group10: TdxLayoutGroup
ShowCaption = False
Hidden = True
diff --git a/Source/Modulos/Albaranes de cliente/Views/uViewElegirArticulosAlbaranesCliente.dfm b/Source/Modulos/Albaranes de cliente/Views/uViewElegirArticulosAlbaranesCliente.dfm
index 82ceb37..e38defc 100644
--- a/Source/Modulos/Albaranes de cliente/Views/uViewElegirArticulosAlbaranesCliente.dfm
+++ b/Source/Modulos/Albaranes de cliente/Views/uViewElegirArticulosAlbaranesCliente.dfm
@@ -1,26 +1,33 @@
inherited frViewElegirArticulosAlbaranesCliente: TfrViewElegirArticulosAlbaranesCliente
inherited cxGrid: TcxGrid
- inherited cxGridView: TcxGridDBTableView
- inherited cxGridViewPRECIO_NETO: TcxGridDBColumn
- Visible = False
- end
- inherited cxGridViewPRECIO_PORTE: TcxGridDBColumn
- Visible = False
- end
+ inherited cxGridLevel: TcxGridLevel
+ Visible = False
end
end
inherited frViewFiltroBase1: TfrViewFiltroBase
- inherited TBXDockablePanel1: TTBXDockablePanel
+ inherited TBXDockablePanel1: TTBXDockablePanel
inherited dxLayoutControl1: TdxLayoutControl
inherited txtFiltroTodo: TcxTextEdit
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 273
Width = 273
end
inherited edtFechaIniFiltro: TcxDateEdit
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 121
Width = 121
end
inherited edtFechaFinFiltro: TcxDateEdit
+ Style.LookAndFeel.SkinName = ''
+ StyleDisabled.LookAndFeel.SkinName = ''
+ StyleFocused.LookAndFeel.SkinName = ''
+ StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 121
Width = 121
end
diff --git a/Source/Modulos/Albaranes de cliente/Views/uViewElegirArticulosAlbaranesCliente.pas b/Source/Modulos/Albaranes de cliente/Views/uViewElegirArticulosAlbaranesCliente.pas
index 8bbb196..3eaec5c 100644
Binary files a/Source/Modulos/Albaranes de cliente/Views/uViewElegirArticulosAlbaranesCliente.pas and b/Source/Modulos/Albaranes de cliente/Views/uViewElegirArticulosAlbaranesCliente.pas differ
diff --git a/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.groupproj b/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.groupproj
index 525b868..cf76bfe 100644
--- a/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.groupproj
+++ b/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.groupproj
@@ -14,7 +14,14 @@
+
+
+
+
+
+
+
@@ -171,14 +178,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
\ No newline at end of file
diff --git a/Source/Modulos/Albaranes de proveedor/Controller/AlbaranesProveedor_controller.dpk b/Source/Modulos/Albaranes de proveedor/Controller/AlbaranesProveedor_controller.dpk
index 6832c69..f690872 100644
Binary files a/Source/Modulos/Albaranes de proveedor/Controller/AlbaranesProveedor_controller.dpk and b/Source/Modulos/Albaranes de proveedor/Controller/AlbaranesProveedor_controller.dpk differ
diff --git a/Source/Modulos/Albaranes de proveedor/Controller/AlbaranesProveedor_controller.dproj b/Source/Modulos/Albaranes de proveedor/Controller/AlbaranesProveedor_controller.dproj
index a3146d3..6abccbc 100644
--- a/Source/Modulos/Albaranes de proveedor/Controller/AlbaranesProveedor_controller.dproj
+++ b/Source/Modulos/Albaranes de proveedor/Controller/AlbaranesProveedor_controller.dproj
@@ -41,7 +41,7 @@
Delphi.Personality
Package
-FalseTrueFalseTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0AlbaranesProveedor_controller.dpk
+FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0AlbaranesProveedor_controller.dpk
@@ -53,6 +53,7 @@
+
@@ -69,7 +70,6 @@
-
diff --git a/Source/Modulos/Relaciones/Pedidos de proveedor - Albaranes de proveedor/PedProv_AlbProv_relation.dpk b/Source/Modulos/Relaciones/Pedidos de proveedor - Albaranes de proveedor/PedProv_AlbProv_relation.dpk
index b6a7164..4fe4e4a 100644
--- a/Source/Modulos/Relaciones/Pedidos de proveedor - Albaranes de proveedor/PedProv_AlbProv_relation.dpk
+++ b/Source/Modulos/Relaciones/Pedidos de proveedor - Albaranes de proveedor/PedProv_AlbProv_relation.dpk
@@ -27,7 +27,6 @@ package PedProv_AlbProv_relation;
requires
rtl,
Base,
- ControllerBase,
Contactos_model,
Contactos_controller,
PNG_D10,
diff --git a/Source/Modulos/Relaciones/Pedidos de proveedor - Albaranes de proveedor/PedProv_AlbProv_relation.dproj b/Source/Modulos/Relaciones/Pedidos de proveedor - Albaranes de proveedor/PedProv_AlbProv_relation.dproj
index 170ff2d..21f7be7 100644
--- a/Source/Modulos/Relaciones/Pedidos de proveedor - Albaranes de proveedor/PedProv_AlbProv_relation.dproj
+++ b/Source/Modulos/Relaciones/Pedidos de proveedor - Albaranes de proveedor/PedProv_AlbProv_relation.dproj
@@ -36,86 +36,12 @@
..\..\..\Lib;..\..\Lib
..\..\..\Lib;..\..\Lib
..\..\..\Lib;..\..\Lib
- DEBUG
Delphi.Personality
Package
-
- False
- True
- False
-
-
- False
- False
- False
-
-
- True
- False
- 1
- 0
- 0
- 0
- False
- False
- False
- False
- False
- 3082
- 1252
-
-
-
-
- 1.0.0.0
-
-
-
-
-
- 1.0.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+FalseTrueFalseFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0
@@ -188,36 +114,513 @@
SMExport suite: data export from dataset. Written by Mike Shkolnik/Scalabium, 1998-2004.
Intraweb 8.0 Design Package for Borland Development Studio 2006
Internet Explorer Components
-
-
- PedProv_AlbProv_relation.dpk
-
-
+ PedProv_AlbProv_relation.dpk
-
+
MainSource
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
\ No newline at end of file
+
+
diff --git a/Source/Modulos/Relaciones/Pedidos de proveedor - Albaranes de proveedor/uGenerarAlbaranesProvUtils.dfm b/Source/Modulos/Relaciones/Pedidos de proveedor - Albaranes de proveedor/uGenerarAlbaranesProvUtils.dfm
index fcd1ccc..e8b4684 100644
--- a/Source/Modulos/Relaciones/Pedidos de proveedor - Albaranes de proveedor/uGenerarAlbaranesProvUtils.dfm
+++ b/Source/Modulos/Relaciones/Pedidos de proveedor - Albaranes de proveedor/uGenerarAlbaranesProvUtils.dfm
@@ -68,6 +68,12 @@ object dmGenerarAlbaranesProv: TdmGenerarAlbaranesProv
Caption = 'Continuar'
Value = 200
Cancel = True
+ end
+ item
+ Caption = 'Ver el albar'#225'n'
+ Value = 100
+ Info.Strings = (
+ 'Mostrar el albar'#225'n que se ha generado')
end>
ButtonBar.Buttons = []
ButtonBar.Cancel = cbOK
diff --git a/Source/Modulos/Relaciones/Pedidos de proveedor - Albaranes de proveedor/uGenerarAlbaranesProvUtils.pas b/Source/Modulos/Relaciones/Pedidos de proveedor - Albaranes de proveedor/uGenerarAlbaranesProvUtils.pas
index c6f1d2e..48e1812 100644
--- a/Source/Modulos/Relaciones/Pedidos de proveedor - Albaranes de proveedor/uGenerarAlbaranesProvUtils.pas
+++ b/Source/Modulos/Relaciones/Pedidos de proveedor - Albaranes de proveedor/uGenerarAlbaranesProvUtils.pas
@@ -3,7 +3,8 @@ unit uGenerarAlbaranesProvUtils;
interface
uses
- Windows, SysUtils, Classes, uBizPedidosProveedor, pngimage, JSDialog;
+ Windows, SysUtils, Classes, uBizPedidosProveedor, pngimage, JSDialog,
+ uBizDetallesPedidoProveedor;
type
TdmGenerarAlbaranesProv = class(TDataModule)
@@ -12,7 +13,9 @@ type
function GenerarAlbaranProv(const IDPedido : Integer) : Boolean; overload;
function GenerarAlbaranProv(APedido : IBizPedidoProveedor) : Boolean; overload;
+ function GenerarAlbaranesProv(APedidos : IBizPedidoProveedor) : Boolean; overload;
function GenerarAlbaranProv : Boolean; overload;
+ function GenerarAlbaranesProv : Boolean; overload;
function RecibirPedidoProv(APedido: IBizPedidoProveedor): Boolean; overload;
function RecibirPedidoProv: Boolean; overload;
@@ -21,7 +24,7 @@ implementation
{$R *.dfm}
uses
- Dialogs, uDialogUtils, uBizDetallesPedidoProveedor, uBizDetallesAlbaranProveedor,
+ Dialogs, uDialogUtils, uBizDetallesAlbaranProveedor,
uPedidosProveedorController, uDetallesPedidoProveedorController,
uAlbaranesProveedorController, uProveedoresController,
uDetallesAlbaranProveedorController, uControllerDetallesBase,
@@ -29,7 +32,7 @@ uses
schAlbaranesProveedorClient_Intf, uInventarioController, uBizInventario;
var
- dmGenerarAlbaranesCli: TdmGenerarAlbaranesProv;
+ dmGenerarAlbaranesProv: TdmGenerarAlbaranesProv;
APedidosProveedorController : IPedidosProveedorController;
ADetallesPedidosProveedorController : IDetallesPedidoProveedorController;
AAlbaranesProveedorController : IAlbaranesProveedorController;
@@ -133,7 +136,7 @@ end;
procedure Inicializar;
begin
- dmGenerarAlbaranesCli := TdmGenerarAlbaranesProv.Create(nil);
+ dmGenerarAlbaranesProv := TdmGenerarAlbaranesProv.Create(nil);
APedidosProveedorController := TPedidosProveedorController.Create;
ADetallesPedidosProveedorController := TDetallesPedidoProveedorController.Create;
AAlbaranesProveedorController := TAlbaranesProveedorController.Create;
@@ -144,7 +147,7 @@ end;
procedure Finalizar;
begin
- FreeAndNIL(dmGenerarAlbaranesCli);
+ FreeAndNIL(dmGenerarAlbaranesProv);
APedidosProveedorController := nil;
ADetallesPedidosProveedorController := nil;
AAlbaranesProveedorController := nil;
@@ -163,7 +166,7 @@ begin
Inicializar;
APedido := APedidosProveedorController.Buscar(IDPedido);
- Result := GenerarAlbaranProv(APedido);
+ Result := GenerarAlbaranesProv(APedido);
if Assigned(APedidosProveedorController) then
Finalizar;
@@ -181,16 +184,16 @@ var
begin
Result := False;
+ if not Assigned(APedidosProveedorController) then
+ Inicializar;
+
if not Assigned(APedido) then
- raise Exception.Create('Pedido de proveedor no asignado (GenerarAlbaranProv)');
+ raise Exception.Create('Pedidos de proveedor no asignado (GenerarAlbaranProv)');
if not APedido.DataTable.Active then
APedido.DataTable.Active := True;
try
- if not Assigned(APedidosProveedorController) then
- Inicializar;
-
AArticulosPendientes := ADetallesPedidosProveedorController.ArticulosPendientes(APedido.ID);
if not Assigned(AArticulosPendientes) then
raise Exception.Create('Error al recuperar los artículos sin albarán del pedido (GenerarAlbaranProv)');
@@ -213,7 +216,7 @@ begin
begin
// ShowWarningMessage('Todos los artículos que contiene el pedido no están en el catálogo, y por lo tanto no se puede generar el albarán');
- with dmGenerarAlbaranesCli.JsListaAlbaranesGenerados do
+ with dmGenerarAlbaranesProv.JsListaAlbaranesGenerados do
begin
Instruction.Text := 'Se ha generado el albarán';
Content.Clear;
@@ -239,7 +242,76 @@ begin
end;
end;
+function GenerarAlbaranesProv(APedidos : IBizPedidoProveedor) : Boolean; overload;
+var
+ AAlbaranesNuevos : IBizAlbaranProveedor;
+ i: Integer;
+ ARespuesta : Integer;
+
+begin
+ Result := False;
+
+ if not Assigned(APedidosProveedorController) then
+ Inicializar;
+
+ if not Assigned(APedidos) then
+ raise Exception.Create('Pedidos de proveedor no asignado (GenerarAlbaranProv)');
+
+ if not APedidos.DataTable.Active then
+ APedidos.DataTable.Active := True;
+
+ try
+ AAlbaranesNuevos := AAlbaranesProveedorController.Nuevo(False);
+ if AAlbaranesProveedorController.Anadir(AAlbaranesNuevos, APedidos) then
+ begin
+ if AAlbaranesNuevos.DataTable.RecordCount = 1 then
+ begin
+
+ with dmGenerarAlbaranesProv.JsListaAlbaranesGenerados do
+ begin
+ Instruction.Text := 'Se ha generado el albarán';
+
+ Content.Clear;
+ Content.Add(Format('Se ha generado correctamente el albarán %s a partir del pedido de proveedor' + #10#13,
+ [AAlbaranesNuevos.REFERENCIA]));
+ end;
+
+ end
+ else begin
+ dmGenerarAlbaranesProv.JsListaAlbaranesGenerados.CustomButtons[1].Destroy;
+ with dmGenerarAlbaranesProv.JsListaAlbaranesGenerados.Content do
+ begin
+ Clear;
+ AAlbaranesNuevos.DataTable.Last;
+ for i := 0 to AAlbaranesNuevos.DataTable.RecordCount - 1 do
+ begin
+ if Length(AAlbaranesNuevos.REFERENCIA) > 0 then
+ Add(AAlbaranesNuevos.REFERENCIA + ': ' + AAlbaranesNuevos.NOMBRE);
+ AAlbaranesNuevos.DataTable.Prior;
+ end;
+ end;
+ end;
+
+
+ dmGenerarAlbaranesProv.JsListaAlbaranesGenerados.Execute;
+ ARespuesta := dmGenerarAlbaranesProv.JsListaAlbaranesGenerados.CustomButtonResult;
+ case ARespuesta of
+ 100 : begin
+ // Ver el albarán
+ AAlbaranesProveedorController.Ver(AAlbaranesNuevos);
+ end;
+ 200 : // Continuar;
+ end;
+ end;
+
+ finally
+ AAlbaranesNuevos := NIL;
+ end;
+end;
+
+
function GenerarAlbaranProv : Boolean; overload;
+//Solo generará el albarán correspondiente al pedido seleccionado
var
APedido : IBizPedidoProveedor;
begin
@@ -251,6 +323,7 @@ begin
APedido := APedidosProveedorController.ElegirPedidos(APedidosProveedorController.BuscarPendientesRecepcion,
'Elija el pedido de proveedor que desea utilizar para dar de alta el albarán correspondiente.'
, False);
+
if Assigned(APedido) then
Result := GenerarAlbaranProv(APedido);
@@ -260,6 +333,29 @@ begin
end;
end;
+function GenerarAlbaranesProv : Boolean; overload;
+// Generara tantos albaranes como proveedores distintos tenga en la lista de pedidos seleccionada
+var
+ APedido : IBizPedidoProveedor;
+begin
+ Result := False;
+ try
+ if not Assigned(APedidosProveedorController) then
+ Inicializar;
+
+ APedido := APedidosProveedorController.ElegirPedidos(APedidosProveedorController.BuscarPendientesRecepcion,
+ 'Elija el pedido o pedidos de proveedor que desea utilizar para dar de alta el albarán correspondiente.'
+ , True);
+
+ if Assigned(APedido) then
+ Result := GenerarAlbaranesProv(APedido);
+
+ finally
+ if Assigned(APedidosProveedorController) then
+ Finalizar;
+ end;
+end;
+
function RecibirPedidoProv(APedido: IBizPedidoProveedor): Boolean;
var
bGenerarAlbaran : Boolean;
diff --git a/Source/Modulos/Tarifas/Controller/Tarifas_controller.dcu b/Source/Modulos/Tarifas/Controller/Tarifas_controller.dcu
index 0b422e4..7a3ca9c 100644
Binary files a/Source/Modulos/Tarifas/Controller/Tarifas_controller.dcu and b/Source/Modulos/Tarifas/Controller/Tarifas_controller.dcu differ
diff --git a/Source/Modulos/Unidades de medida/Plugin/uPluginUnidadesMedida.dfm b/Source/Modulos/Unidades de medida/Plugin/uPluginUnidadesMedida.dfm
index b940b46..814bee0 100644
--- a/Source/Modulos/Unidades de medida/Plugin/uPluginUnidadesMedida.dfm
+++ b/Source/Modulos/Unidades de medida/Plugin/uPluginUnidadesMedida.dfm
@@ -42,9 +42,7 @@ object PluginUnidadesMedida: TPluginUnidadesMedida
object actUnidadesMedida: TAction
Category = 'Datos'
Caption = 'Unidades de medida'
- Enabled = False
ImageIndex = 0
- Visible = False
OnExecute = actUnidadesMedidaExecute
end
end
diff --git a/Source/Servicios/FactuGES.RODL b/Source/Servicios/FactuGES.RODL
index 6182bf4..a4eecbc 100644
--- a/Source/Servicios/FactuGES.RODL
+++ b/Source/Servicios/FactuGES.RODL
@@ -382,6 +382,14 @@
+
+
+
+
+
+
+
+
@@ -410,7 +418,13 @@
-
+
+
+
+
+
+
+
diff --git a/Source/Servicios/FactuGES_Intf.pas b/Source/Servicios/FactuGES_Intf.pas
index f5e05b9..31e6e30 100644
--- a/Source/Servicios/FactuGES_Intf.pas
+++ b/Source/Servicios/FactuGES_Intf.pas
@@ -584,6 +584,7 @@ type
IsrvPedidosProveedor = interface(IDataAbstractService)
['{3DCC03E4-E9CE-4798-99D4-7170C9CF815B}']
function GenerateReport(const ID: AnsiString): Binary;
+ function GenerarInformeEnPDF(const ListaID: TIntegerArray): Binary;
end;
{ CosrvPedidosProveedor }
@@ -597,13 +598,15 @@ type
function __GetInterfaceName:string; override;
function GenerateReport(const ID: AnsiString): Binary;
+ function GenerarInformeEnPDF(const ListaID: TIntegerArray): Binary;
end;
{ IsrvAlbaranesCliente }
IsrvAlbaranesCliente = interface(IDataAbstractService)
['{6E910718-9AB0-47BB-9875-B0DE66A68D7A}']
function GenerarInforme(const ListaID: TIntegerArray; const VerLogotipo: Boolean; const VerPrecios: Boolean; const VerTotales: Boolean): Binary;
- function GenerarInformeEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary;
+ function GenerarInformeEtiquetas(const ID: Integer; const AAgencia: Variant; const ARefPedido: Variant; const ANumEtiquetas: Integer;
+ const AEtiquetaIni: Integer): Binary;
end;
{ CosrvAlbaranesCliente }
@@ -617,7 +620,8 @@ type
function __GetInterfaceName:string; override;
function GenerarInforme(const ListaID: TIntegerArray; const VerLogotipo: Boolean; const VerPrecios: Boolean; const VerTotales: Boolean): Binary;
- function GenerarInformeEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary;
+ function GenerarInformeEtiquetas(const ID: Integer; const AAgencia: Variant; const ARefPedido: Variant; const ANumEtiquetas: Integer;
+ const AEtiquetaIni: Integer): Binary;
end;
{ IsrvAlbaranesProveedor }
@@ -2004,6 +2008,23 @@ begin
end
end;
+function TsrvPedidosProveedor_Proxy.GenerarInformeEnPDF(const ListaID: TIntegerArray): Binary;
+begin
+ try
+ result := nil;
+ __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeEnPDF');
+ __Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
+ __Message.Finalize;
+
+ __TransportChannel.Dispatch(__Message);
+
+ __Message.Read('Result', TypeInfo(Binary), result, []);
+ finally
+ __Message.UnsetAttributes(__TransportChannel);
+ __Message.FreeStream;
+ end
+end;
+
{ CosrvAlbaranesCliente }
class function CosrvAlbaranesCliente.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvAlbaranesCliente;
@@ -2038,13 +2059,17 @@ begin
end
end;
-function TsrvAlbaranesCliente_Proxy.GenerarInformeEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary;
+function TsrvAlbaranesCliente_Proxy.GenerarInformeEtiquetas(const ID: Integer; const AAgencia: Variant; const ARefPedido: Variant; const ANumEtiquetas: Integer;
+ const AEtiquetaIni: Integer): Binary;
begin
try
result := nil;
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeEtiquetas');
__Message.Write('ID', TypeInfo(Integer), ID, []);
- __Message.Write('withRefCliente', TypeInfo(Boolean), withRefCliente, []);
+ __Message.Write('AAgencia', TypeInfo(Variant), AAgencia, []);
+ __Message.Write('ARefPedido', TypeInfo(Variant), ARefPedido, []);
+ __Message.Write('ANumEtiquetas', TypeInfo(Integer), ANumEtiquetas, []);
+ __Message.Write('AEtiquetaIni', TypeInfo(Integer), AEtiquetaIni, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
diff --git a/Source/Servicios/FactuGES_Invk.pas b/Source/Servicios/FactuGES_Invk.pas
index 79eca7f..1b72c72 100644
--- a/Source/Servicios/FactuGES_Invk.pas
+++ b/Source/Servicios/FactuGES_Invk.pas
@@ -202,6 +202,7 @@ type
constructor Create; override;
published
procedure Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
+ procedure Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
end;
TsrvAlbaranesCliente_Invoker = class(TDataAbstractService_Invoker)
@@ -1131,6 +1132,36 @@ begin
end;
end;
+procedure TsrvPedidosProveedor_Invoker.Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
+{ function GenerarInformeEnPDF(const ListaID: TIntegerArray): Binary; }
+var
+ ListaID: FactuGES_Intf.TIntegerArray;
+ lResult: Binary;
+ __lObjectDisposer: TROObjectDisposer;
+begin
+ ListaID := nil;
+ lResult := nil;
+ try
+ __Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
+
+ lResult := (__Instance as IsrvPedidosProveedor).GenerarInformeEnPDF(ListaID);
+
+ __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvPedidosProveedor', 'GenerarInformeEnPDFResponse');
+ __Message.Write('Result', TypeInfo(Binary), lResult, []);
+ __Message.Finalize;
+ __Message.UnsetAttributes(__Transport);
+
+ finally
+ __lObjectDisposer := TROObjectDisposer.Create(__Instance);
+ try
+ __lObjectDisposer.Add(ListaID);
+ __lObjectDisposer.Add(lResult);
+ finally
+ __lObjectDisposer.Free();
+ end;
+ end;
+end;
+
{ TsrvAlbaranesCliente_Invoker }
constructor TsrvAlbaranesCliente_Invoker.Create;
@@ -1176,19 +1207,26 @@ begin
end;
procedure TsrvAlbaranesCliente_Invoker.Invoke_GenerarInformeEtiquetas(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
-{ function GenerarInformeEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary; }
+{ function GenerarInformeEtiquetas(const ID: Integer; const AAgencia: Variant; const ARefPedido: Variant; const ANumEtiquetas: Integer;
+ const AEtiquetaIni: Integer): Binary; }
var
ID: Integer;
- withRefCliente: Boolean;
+ AAgencia: Variant;
+ ARefPedido: Variant;
+ ANumEtiquetas: Integer;
+ AEtiquetaIni: Integer;
lResult: Binary;
__lObjectDisposer: TROObjectDisposer;
begin
lResult := nil;
try
__Message.Read('ID', TypeInfo(Integer), ID, []);
- __Message.Read('withRefCliente', TypeInfo(Boolean), withRefCliente, []);
+ __Message.Read('AAgencia', TypeInfo(Variant), AAgencia, []);
+ __Message.Read('ARefPedido', TypeInfo(Variant), ARefPedido, []);
+ __Message.Read('ANumEtiquetas', TypeInfo(Integer), ANumEtiquetas, []);
+ __Message.Read('AEtiquetaIni', TypeInfo(Integer), AEtiquetaIni, []);
- lResult := (__Instance as IsrvAlbaranesCliente).GenerarInformeEtiquetas(ID, withRefCliente);
+ lResult := (__Instance as IsrvAlbaranesCliente).GenerarInformeEtiquetas(ID, AAgencia, ARefPedido, ANumEtiquetas, AEtiquetaIni);
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvAlbaranesCliente', 'GenerarInformeEtiquetasResponse');
__Message.Write('Result', TypeInfo(Binary), lResult, []);
diff --git a/Source/Servicios/RODLFile.res b/Source/Servicios/RODLFile.res
index 0eca19c..4a91393 100644
Binary files a/Source/Servicios/RODLFile.res and b/Source/Servicios/RODLFile.res differ
diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr
index 7194a99..2a43075 100644
--- a/Source/Servidor/FactuGES_Server.dpr
+++ b/Source/Servidor/FactuGES_Server.dpr
@@ -109,12 +109,6 @@ uses
srvContratosCliente_Impl in '..\Modulos\Contratos de cliente\Servidor\srvContratosCliente_Impl.pas' {srvContratosCliente: TDataAbstractService},
uBizContratosClienteServer in '..\Modulos\Contratos de cliente\Model\uBizContratosClienteServer.pas',
uRptContratosCliente_Server in '..\Modulos\Contratos de cliente\Reports\uRptContratosCliente_Server.pas' {RptContratosCliente},
- schAlbaranesProveedorClient_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas',
- schAlbaranesProveedorServer_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas',
- schInventarioClient_Intf in '..\Modulos\Inventario\Model\schInventarioClient_Intf.pas',
- schInventarioServer_Intf in '..\Modulos\Inventario\Model\schInventarioServer_Intf.pas',
- schPedidosProveedorClient_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas',
- schPedidosProveedorServer_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas',
srvSubfamilias_Impl in '..\Modulos\Subfamilias\Servidor\srvSubfamilias_Impl.pas' {srvSubfamilias: TDataAbstractService},
schSubfamiliasClient_Intf in '..\Modulos\Subfamilias\Model\schSubfamiliasClient_Intf.pas',
schSubfamiliasServer_Intf in '..\Modulos\Subfamilias\Model\schSubfamiliasServer_Intf.pas',
@@ -146,7 +140,15 @@ uses
schAlbaranesClienteClient_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas',
schAlbaranesClienteServer_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas',
schArticulosClient_Intf in '..\Modulos\Articulos\Model\schArticulosClient_Intf.pas',
- schArticulosServer_Intf in '..\Modulos\Articulos\Model\schArticulosServer_Intf.pas';
+ schArticulosServer_Intf in '..\Modulos\Articulos\Model\schArticulosServer_Intf.pas',
+ schAlbaranesProveedorClient_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas',
+ schAlbaranesProveedorServer_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas',
+ uRptPedidosProveedor_Server in '..\Modulos\Pedidos a proveedor\Reports\uRptPedidosProveedor_Server.pas' {RptPedidosProveedor: TDataModule},
+ uRptAlbaranesProveedor_Server in '..\Modulos\Albaranes de proveedor\Reports\uRptAlbaranesProveedor_Server.pas' {RptAlbaranesProveedor: TDataModule},
+ schInventarioClient_Intf in '..\Modulos\Inventario\Model\schInventarioClient_Intf.pas',
+ schInventarioServer_Intf in '..\Modulos\Inventario\Model\schInventarioServer_Intf.pas',
+ schPedidosProveedorClient_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas',
+ schPedidosProveedorServer_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas';
{$R *.res}
{$R ..\Servicios\RODLFile.res}
diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj
index 51b74fb..88425ce 100644
--- a/Source/Servidor/FactuGES_Server.dproj
+++ b/Source/Servidor/FactuGES_Server.dproj
@@ -1,316 +1,326 @@
-
+
-
- {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}
- FactuGES_Server.dpr
- Debug
- AnyCPU
- DCC32
- ..\..\Output\Debug\Servidor\FactuGES_Server.exe
-
-
- 7.0
- False
- False
- 0
- 3
- ..\..\Output\Release\Servidor
- RELEASE
-
-
- 7.0
- 3
- ..\..\Output\Debug\Servidor
- DEBUG;
- True
-
-
- Delphi.Personality
-
-
- FalseTrueFalseTrueFalse2920FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.9.2.0FactuGES (Servidor)2.9.2.0viernes, 18 de diciembre de 2020 12:07
- File C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl not found
- FactuGES_Server.dpr
-
-
-
-
- MainSource
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDARemoteService
-
-
-
- TRORemoteDataModule
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDARemoteService
-
-
-
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
-
-
- TDataModule
-
-
-
- TDARemoteService
-
-
-
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
-
-
- TDataAbstractService
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
-
- TDataModule
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
-
-
-
- TDataAbstractService
-
-
-
-
-
- TDataAbstractService
-
-
-
- TFrame
-
-
-
- TFrame
-
-
-
- TForm
-
-
-
- TFrame
-
-
-
- TDARemoteService
-
-
-
-
-
-
- TDataModule
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}
+ FactuGES_Server.dpr
+ Debug
+ AnyCPU
+ DCC32
+ ..\..\Output\Debug\Servidor\FactuGES_Server.exe
+
+
+ 7.0
+ False
+ False
+ 0
+ 3
+ ..\..\Output\Release\Servidor
+ RELEASE
+
+
+ 7.0
+ 3
+ ..\..\Output\Debug\Servidor
+ DEBUG;
+ True
+
+
+ Delphi.Personality
+
+
+FalseTrueFalseTrueFalse3000FalseFalseFalseFalseFalse30821252Rodax Software S.L.3.0.0.0FactuGES (Servidor)3.0.0.0martes, 26 de enero de 2021 19:53
+
+
+ File C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl not found
+ FactuGES_Server.dpr
+
+
+
+
+ MainSource
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDARemoteService
+
+
+
+ TRORemoteDataModule
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDARemoteService
+
+
+
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDARemoteService
+
+
+
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+ TDataModule
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+
+
+
+ TDataAbstractService
+
+
+
+
+
+ TDataAbstractService
+
+
+
+ TFrame
+
+
+
+ TFrame
+
+
+
+ TForm
+
+
+
+ TFrame
+
+
+
+ TDARemoteService
+
+
+
+
+
+
+ TDataModule
+
+
+
+
+
+
+
+
+
+
+
+
+