diff --git a/Source/Base/Utiles/uDataTableUtils.pas b/Source/Base/Utiles/uDataTableUtils.pas
index 76e67f34..21b2c0e4 100644
--- a/Source/Base/Utiles/uDataTableUtils.pas
+++ b/Source/Base/Utiles/uDataTableUtils.pas
@@ -3,7 +3,7 @@ unit uDataTableUtils;
interface
uses
- uDACDSDataTable, uDADataTable, uDAInterfaces, uDADelta, uDAMemDataTable;
+ uDACDSDataTable, uDADataTable, uDAInterfaces;
const
ID_NULO = -9000;
@@ -19,19 +19,9 @@ function SetFieldNull(ATarget: TDADataTable; const FieldName: String): Boolean;
procedure ConectarTabla (ATarget: TDADataTable);
procedure DesconectarTabla (ATarget: TDADataTable);
-procedure CopyDataTableDA5(ASource : TDADataTable; ATarget: TDADataTable;
- const OnlySelectedRows : Boolean = False);
-
-procedure CopyDataTableDA3(ASource : TDADataTable; ATarget : TDADataTable;
- const OnlySelectedRows : Boolean = False);
-
procedure CloneDataTable(const ASource : TDACDSDataTable;
var ATarget : TDACDSDataTable;
- RemoteUpdate: Boolean = True); overload;
-
-function CloneDataTable(const ASource : TDAMemDataTable;
- RemoteUpdate: Boolean = True): TDAMemDataTable; overload;
-
+ RemoteUpdate: Boolean = True);
procedure DuplicarRegistro(ASource : TDADataTable; ATarget : TDADataTable;
Const WithKey: Boolean = False);
@@ -39,6 +29,9 @@ procedure DuplicarRegistros(ASource : TDADataTable; ATarget : TDADataTable;
AModo : TModoDuplicarRegistros; APermitirRepetidos: Boolean = True;
Const WithDeltas: Boolean = True; Const WithKey: Boolean = False);
+procedure CopyDataTable(ASource : TDADataTable; ATarget : TDADataTable;
+ const OnlySelectedRows : Boolean = False);
+
procedure DeleteAllTable(const ADataTable : TDADataTable);
function DeltaValuesAreDifferent(const aDelta : IDADelta): boolean;
@@ -55,84 +48,7 @@ implementation
uses
Classes, DB, uDAClasses, SysUtils, uDABINAdapter, uROTypes, cxControls,
- Dialogs, Variants, uDBSelectionListUtils, uROClasses, uDADataStreamer, uDABin2DataStreamer;
-
-
-procedure CopyDataTableDA5(ASource : TDADataTable;
- ATarget: TDADataTable;
- const OnlySelectedRows : Boolean);
-var
- AStream : Binary;
- AStream2 : Binary;
- AFilter : String;
- AFiltered : Boolean;
- AObj : ISeleccionable;
- i : Integer;
-begin
- AFilter := '';
- AFiltered := False;
-
- if not Assigned(ASource) then
- raise Exception.Create ('No se ha asignado la tabla de origen (CopyDataTable)');
-
- if not Assigned(ATarget) then
- raise Exception.Create ('No se ha asignado la tabla de destino (CopyDataTable)');
-
- if not ATarget.Active then
- ATarget.Active := True;
-
- if OnlySelectedRows then
- begin
- if not Supports(ASource, ISeleccionable, aObj) then
- raise Exception.Create('El origen de datos no soporta la interfaz ISeleccionable (CopyDataTable)');
-
- if ASource.Filtered then
- begin
- AFiltered := True;
- AFilter := ASource.Filter;
- ASource.Filtered := False;
- end;
-
- ASource.Filter := '';
- if ASource.Active then
- ASource.Close;
-
- for i := 0 to AObj.SelectedRecords.Count - 1 do
- begin
- if (i > 0) then
- ASource.Filter := ASource.Filter + ' or ';
- ASource.Filter := ASource.Filter + '(ID = ' + IntToStr(AObj.SelectedRecords.Items[i]) + ')';
- end;
-
- ASource.Filtered := True;
- end;
-
- if not ASource.Active then
- ASource.Open;
-
- AStream := Binary.Create;
- DesconectarTabla(ATarget);
- try
- ASource.SaveToStream(AStream);
- AStream2 := AStream.Clone;
-
-// ShowMessage(AStream.ToReadableString);
- ATarget.LoadFromStream(AStream2); ///->>>>>>>>>>>>>>>>>>>>>>>>>>ERRORRRR
- finally
- FreeAndNil(AStream);
- ConectarTabla(ATarget);
- // Dejar el filtro de la tabla origen como estaba
- if OnlySelectedRows then
- begin
- ASource.Filtered := False;
- ASource.Filter := AFilter;
- if AFiltered then
- ASource.Filtered := True;
- end;
- end;
-end;
-
-
+ Dialogs, Variants, uDBSelectionListUtils, uROClasses;
function SetFieldNull(ATarget: TDADataTable; const FieldName: String): Boolean;
begin
@@ -185,11 +101,10 @@ var
i : integer;
begin
bCambiado := False;
-
if Assigned(ADataTable) and (ADataTable.Active) then
begin
- bCambiado :=(ADataTable.State = dsEdit) or
- (ADataTable.HasDelta and DeltaValuesAreDifferent(ADataTable.Delta));
+ bCambiado := (ADataTable.State = dsEdit) or
+ DeltaValuesAreDifferent(ADataTable.Delta);
if (not bCambiado) then
begin
@@ -198,8 +113,7 @@ begin
begin
bCambiado := bCambiado or
((TDADataTable(dtDetails.Items[i])).State in dsEditModes) or
- ((TDADataTable(dtDetails.Items[i])).HasDelta and
- DeltaValuesAreDifferent((TDADataTable(dtDetails.Items[i])).Delta));
+ DeltaValuesAreDifferent((TDADataTable(dtDetails.Items[i])).Delta);
if bCambiado then
Break;
end;
@@ -214,81 +128,6 @@ begin
ADataTable.ClearRows;
end;
-
-function CloneDataTable(const ASource : TDAMemDataTable;
- RemoteUpdate: Boolean = True): TDAMemDataTable;
-var
- i : Integer;
- ATarget : TDAMemDataTable;
-begin
- if not Assigned(ASource) then
- raise Exception.Create ('No se ha asignado la tabla de origen (CloneDataTable)');
-
- ATarget := TDAMemDataTable.Create(NIL);
- with ATarget do
- begin
-
- { ATENCIÓN !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- --------------------------------------------------------------------
- DA5 tiene un fallo en el cual las tablas definidas como detalle no
- tienen asociados los eventos internos before... y after... por lo
- que los campos AutoInc no funcionan (no pone el -1, -2...).
- La forma de arreglarlo es llamar a DisableEventHandlers/EnableEventHandlers
- que realiza la asociación de los eventos.
- }
- ATarget.DisableEventHandlers; // <--- INDISPENSABLE!!!!!!!!!!!!!!!!!!!!
-
-
- try
- if not Assigned(ASource.RemoteDataAdapter) then
- raise Exception.Create('No está asignado RemoteDataAdapter (' + ASource.Name + ')');
-
- LogicalName := ASource.LogicalName;
- CustomAttributes.Assign(ASource.CustomAttributes);
- Fields.AssignFieldCollection(ASource.Fields); // o también ATarget.LoadSchema;
- Params.AssignParamCollection(ASource.Params);
-
- RemoteDataAdapter := ASource.RemoteDataAdapter;
-
- Randomize;
- Name := ASource.Name + '_' + IntToStr(Random(MAXINT));
-
- BusinessRulesID := ASource.BusinessRulesID;
-
- with MasterParamsMappings do
- for i := 0 to ASource.MasterParamsMappings.Count - 1 do
- Add(ASource.MasterParamsMappings.Strings[i]);
-
- with MasterRequestMappings do
- for i := 0 to ASource.MasterRequestMappings.Count - 1 do
- Add(ASource.MasterRequestMappings.Strings[i]);
-
- MasterMappingMode := ASource.MasterMappingMode;
-
- MasterFields := ASource.MasterFields;
- MasterOptions := ASource.MasterOptions;
-
- DetailFields := ASource.DetailFields;
- DetailOptions := ASource.DetailOptions;
-
- RemoteUpdatesOptions := ASource.RemoteUpdatesOptions;
- StreamingOptions := ASource.StreamingOptions;
- RemoteFetchEnabled := ASource.RemoteFetchEnabled;
- finally
- ATarget.EnableEventHandlers; // <--- INDISPENSABLE!!!!!!!!!!!!!!!!!!!!!!!!!
- end;
- end;
-
- if not RemoteUpdate then
- begin
- ATarget.LogChanges := False;
- ATarget.RemoteFetchEnabled := False;
- end;
-
- Result := ATarget;
-end;
-
-
procedure CloneDataTable(const ASource : TDACDSDataTable;
var ATarget : TDACDSDataTable; RemoteUpdate: Boolean);
var
@@ -296,17 +135,10 @@ var
begin
with ATarget do
begin
- // ****** Inicio migración DA 5
- {RemoteService := ASource.GetRemoteService;
- Adapter := ASource.GetAdapter;}
+ RemoteService := ASource.GetRemoteService;
+ Adapter := ASource.GetAdapter;
- if not Assigned(ASource.RemoteDataAdapter) then
- raise Exception.Create('No está asignado RemoteDataAdapter (' + ASource.Name + ')');
-
- RemoteDataAdapter.Assign(ASource.RemoteDataAdapter);
- // ****** Fin migración DA 5
-
- BusinessRulesID := ASource.BusinessRulesID;
+ //BusinessRulesID := ASource.BusinessRulesID;
Randomize;
Name := ASource.Name + '_' + IntToStr(Random(MAXINT));
LogicalName := ASource.LogicalName;
@@ -316,8 +148,6 @@ begin
if Assigned(ASource.LocalSchema) then
LocalSchema := ASource.LocalSchema
else begin
- // ****** Inicio migración DA 5
- {
with SchemaCall do
begin
MethodName := ASource.SchemaCall.MethodName;
@@ -332,13 +162,9 @@ begin
end;
end;
end;
- }
- // ****** Fin migración DA 5
ATarget.Fields.AssignFieldCollection(ASource.Fields); // o también ATarget.LoadSchema;
end;
- // ****** Inicio migración DA 5
- {
with DataUpdateCall do
begin
MethodName := ASource.DataUpdateCall.MethodName;
@@ -385,8 +211,6 @@ begin
end;
end;
end;
- }
- // ****** Fin migración DA 5
with MasterParamsMappings do
for i := 0 to ASource.MasterParamsMappings.Count - 1 do
@@ -415,6 +239,7 @@ begin
ATarget.RemoteFetchEnabled := False;
end;
end;
+
function DeltaValuesAreDifferent(const aDelta : IDADelta): boolean;
var
@@ -426,7 +251,16 @@ begin
begin
for x := 0 to (aDelta.LoggedFieldCount-1) do
begin
- OldNewAreDifferent := (aDelta.Changes[i].OldValues[x] <> aDelta.Changes[i].NewValues[x]);
+ if aDelta.LoggedFieldTypes[x] <> datBlob then
+ begin
+ try
+ OldNewAreDifferent := (aDelta.Changes[i].OldValues[x] <> aDelta.Changes[i].NewValues[x]);
+ except
+ // Capturar cualquier tipo de excepción de conversión de tipos
+ on E: EVariantTypeCastError do
+ OldNewAreDifferent := True;
+ end;
+ end;
if OldNewAreDifferent then
Break; // Abandon iteration at the first difference between old and new.
@@ -439,7 +273,7 @@ begin
end;
-procedure CopyDataTableDA3(ASource : TDADataTable; ATarget : TDADataTable;
+procedure CopyDataTable(ASource : TDADataTable; ATarget : TDADataTable;
const OnlySelectedRows : Boolean = False);
var
DABin: Binary;
@@ -480,7 +314,6 @@ begin
DABin := Binary.Create;
DAAdapter := TDABINAdapter.Create(nil);
-
try
ATarget.LogicalName := ASource.LogicalName; // We need to specify new dataset LogicalName
ATarget.RemoteFetchEnabled := False; // "Desconectamos" la tabla destino del servidor
@@ -489,11 +322,12 @@ begin
ASource.Open;
ASource.First;
+ DAAdapter.Initialize(DABin, aiWrite);
DAAdapter.WriteDataset(DABin, ASource, [woRows]);
+ DAAdapter.Initialize(DABin, aiReadFromBeginning);
DAAdapter.ReadDataset(DABin, ATarget);
DAAdapter.Finalize;
-
ATarget.RemoteFetchEnabled := True; // "Conectamos" la tabla del servidor otra vez
// Dejar el filtro de la tabla origen como estaba
@@ -627,14 +461,14 @@ begin
if Assigned(ADetail) then
begin
// ¡¡¡¡¡ MUY IMPORTANTE !!!!!!!!!!!!!!!!!!
- //ADetail.DataTable.DisableEventHandlers;
+ ADetail.DataTable.DisableEventHandlers;
try
ADetail.DataTable.MasterSource := AMasterDataSource;
finally
{ Hay que activar los eventos porque dejan de funcionar
las reglas de negocio al establecer la relación
maestro-detalle. (Fallo de Data Abstract 3) }
- //ADetail.DataTable.EnableEventHandlers;
+ ADetail.DataTable.EnableEventHandlers;
end;
end;
end;
@@ -667,4 +501,5 @@ begin
end;
end;
+
end.
diff --git a/Source/Cliente/FactuGES.bdsproj b/Source/Cliente/FactuGES.bdsproj
index e7ebb3a9..49fbff4c 100644
--- a/Source/Cliente/FactuGES.bdsproj
+++ b/Source/Cliente/FactuGES.bdsproj
@@ -149,7 +149,7 @@
False
2
3
- 7
+ 8
0
False
False
@@ -162,7 +162,7 @@
Rodax Software S.L.
- 2.3.7.0
+ 2.3.8.0
FactuGES
diff --git a/Source/Cliente/FactuGES.rc b/Source/Cliente/FactuGES.rc
index 666038d8..32d7d18d 100644
--- a/Source/Cliente/FactuGES.rc
+++ b/Source/Cliente/FactuGES.rc
@@ -1,7 +1,7 @@
MAINICON ICON "c:\Codigo Luis Leon\Source\Iconos\Factuges.ico"
1 VERSIONINFO
-FILEVERSION 2,3,6,0
-PRODUCTVERSION 2,3,6,0
+FILEVERSION 2,3,7,0
+PRODUCTVERSION 2,3,7,0
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L
FILEOS 0x40004L
@@ -13,7 +13,7 @@ BEGIN
BLOCK "0C0A04E4"
BEGIN
VALUE "CompanyName", "Rodax Software S.L.\0"
- VALUE "FileVersion", "2.3.6.0\0"
+ VALUE "FileVersion", "2.3.7.0\0"
VALUE "InternalName", "FactuGES\0"
VALUE "ProductVersion", "2.3.6.0\0"
END
diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res
index ee5b9de5..8ccdbe93 100644
Binary files a/Source/Cliente/FactuGES.res and b/Source/Cliente/FactuGES.res differ
diff --git a/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.bdsgroup b/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.bdsgroup
index 3074cdce..a39b4057 100644
--- a/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.bdsgroup
+++ b/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.bdsgroup
@@ -22,7 +22,8 @@
Plugin\AlbaranesProveedor_plugin.bdsproj
..\Relaciones\Pedidos de proveedor - Albaranes de proveedor\PedProv_AlbProv_relation.bdsproj
..\..\Cliente\FactuGES.bdsproj
- DataAbstract_D10.bpl Base.bpl ControllerBase.bpl GUIBase.bpl Contactos_view.bpl Articulos_view.bpl AlbaranesProveedor_model.bpl AlbaranesProveedor_data.bpl AlbaranesProveedor_controller.bpl AlbaranesProveedor_view.bpl AlbaranesProveedor_plugin.bpl PedProv_AlbProv_relation.bpl FactuGES.exe
+ ..\..\Servidor\FactuGES_Server.bdsproj
+ DataAbstract_D10.bpl Base.bpl ControllerBase.bpl GUIBase.bpl Contactos_view.bpl Articulos_view.bpl AlbaranesProveedor_model.bpl AlbaranesProveedor_data.bpl AlbaranesProveedor_controller.bpl AlbaranesProveedor_view.bpl AlbaranesProveedor_plugin.bpl PedProv_AlbProv_relation.bpl FactuGES.exe FactuGES_Server.exe
diff --git a/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorController.pas b/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorController.pas
index 4ea3c3a6..1881e915 100644
--- a/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorController.pas
+++ b/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorController.pas
@@ -54,6 +54,8 @@ type
procedure Preview(AAlbaran : IBizAlbaranProveedor; AllItems: Boolean = false);
procedure Print(AAlbaran : IBizAlbaranProveedor; AllItems: Boolean = false);
+
+ procedure Limpiardireccion(AAlbaran: IBizAlbaranProveedor);
end;
TAlbaranesProveedorController = class(TObservador, IAlbaranesProveedorController)
@@ -119,6 +121,8 @@ type
procedure Preview(AAlbaran : IBizAlbaranProveedor; AllItems: Boolean = false);
procedure Print(AAlbaran : IBizAlbaranProveedor; AllItems: Boolean = false);
+
+ procedure Limpiardireccion(AAlbaran: IBizAlbaranProveedor);
end;
implementation
@@ -958,6 +962,20 @@ begin
end;
end;
+procedure TAlbaranesProveedorController.Limpiardireccion(AAlbaran: IBizAlbaranProveedor);
+begin
+ if Assigned(AAlbaran) then
+ begin
+ AAlbaran.Edit;
+ AAlbaran.DataTable.FieldByName(fld_AlbaranesProveedorCALLE).AsVariant := null;
+ AAlbaran.DataTable.FieldByName(fld_AlbaranesProveedorPOBLACION).AsVariant := null;
+ AAlbaran.DataTable.FieldByName(fld_AlbaranesProveedorPROVINCIA).AsVariant := null;
+ AAlbaran.DataTable.FieldByName(fld_AlbaranesProveedorCODIGO_POSTAL).AsVariant := null;
+ AAlbaran.DataTable.FieldByName(fld_AlbaranesProveedorPERSONA_CONTACTO).AsVariant := null;
+ AAlbaran.DataTable.FieldByName(fld_AlbaranesProveedorTELEFONO).AsVariant := null;
+ end;
+end;
+
function TAlbaranesProveedorController.Nuevo: IBizAlbaranProveedor;
var
AAlbaran : IBizAlbaranProveedor;
diff --git a/Source/Modulos/Albaranes de proveedor/Reports/uRptAlbaranesProveedor_Server.dfm b/Source/Modulos/Albaranes de proveedor/Reports/uRptAlbaranesProveedor_Server.dfm
index 1b7f47b8..e3cd9737 100644
--- a/Source/Modulos/Albaranes de proveedor/Reports/uRptAlbaranesProveedor_Server.dfm
+++ b/Source/Modulos/Albaranes de proveedor/Reports/uRptAlbaranesProveedor_Server.dfm
@@ -105,20 +105,48 @@ object RptAlbaranesProveedor: TRptAlbaranesProveedor
'PRESA,'#10' V_ALBARANES_PROVEEDOR.ID_PROVEEDOR,'#10' V_ALBARANES_PROVE' +
'EDOR.NOMBRE,'#10' V_ALBARANES_PROVEEDOR.FECHA_ALBARAN,'#10' V_ALBARANE' +
'S_PROVEEDOR.REFERENCIA,'#10' V_ALBARANES_PROVEEDOR.ID_PEDIDO,'#10' V_A' +
- 'LBARANES_PROVEEDOR.REF_PED_PROVEEDOR,'#10' V_ALBARANES_PROVEEDOR.CO' +
- 'DIGO_POSTAL,'#10' V_ALBARANES_PROVEEDOR.POBLACION,'#10' V_ALBARANES_PR' +
- 'OVEEDOR.PROVINCIA,'#10' V_ALBARANES_PROVEEDOR.PERSONA_CONTACTO,'#10' V' +
- '_ALBARANES_PROVEEDOR.TELEFONO,'#10' V_ALBARANES_PROVEEDOR.CALLE,'#10' ' +
- 'V_ALBARANES_PROVEEDOR.OBSERVACIONES,'#10' V_ALBARANES_PROVEEDOR.IMP' +
- 'ORTE_TOTAL,'#10' EMPRESAS.NIF_CIF AS NIF_CIF_EMPRESA,'#10' EMPRESAS.NO' +
- 'MBRE AS NOMBRE_EMPRESA,'#10' EMPRESAS.RAZON_SOCIAL AS RAZON_SOCIAL_' +
- 'EMPRESA,'#10' EMPRESAS.TELEFONO_1 AS TELEFONO_1_EMPRESA,'#10' EMPRESAS' +
- '.FAX AS FAX_EMPRESA,'#10' EMPRESAS.MOVIL_1 AS MOVIL_1_EMPRESA,'#10' EM' +
- 'PRESAS.EMAIL_1 AS EMAIL_1_EMPRESA,'#10' EMPRESAS.PAGINA_WEB AS PAGI' +
- 'NA_WEB_EMPRESA'#10'FROM'#10' V_ALBARANES_PROVEEDOR'#10' LEFT OUTER JOIN ' +
- 'V_PROVEEDORES ON (V_PROVEEDORES.ID = V_ALBARANES_PROVEEDOR.ID_PR' +
- 'OVEEDOR)'#10' LEFT OUTER JOIN EMPRESAS ON (EMPRESAS.ID = V_ALBARANE' +
- 'S_PROVEEDOR.ID_EMPRESA)'#10'WHERE V_ALBARANES_PROVEEDOR.ID = :ID'
+ 'LBARANES_PROVEEDOR.REF_PED_PROVEEDOR,'#10' '#10' CASE WHEN (ALMACENES.' +
+ 'ID > 0)'#10' THEN CASE WHEN V_ALBARANES_PROVEEDOR.CALLE i' +
+ 's null'#10' THEN ALMACENES.NOMBRE'#10' E' +
+ 'ND'#10' END AS NOMBRE_ALMACEN,'#10#10' CASE WHEN (ALMACENES.ID > 0)'#10' ' +
+ ' THEN CASE WHEN V_ALBARANES_PROVEEDOR.CALLE is null'#10' ' +
+ ' THEN ALMACENES.CALLE'#10' ELSE V_ALBARAN' +
+ 'ES_PROVEEDOR.CALLE'#10' END'#10' ELSE V_ALBAR' +
+ 'ANES_PROVEEDOR.CALLE'#10' END as CALLE,'#10' '#10' CASE WHEN (ALMACENES.I' +
+ 'D > 0)'#10' THEN CASE WHEN V_ALBARANES_PROVEEDOR.CALLE is' +
+ ' null'#10' THEN ALMACENES.CODIGO_POSTAL'#10' ' +
+ ' ELSE V_ALBARANES_PROVEEDOR.CODIGO_POSTAL'#10' E' +
+ 'ND'#10' ELSE V_ALBARANES_PROVEEDOR.CODIGO_POSTAL'#10' END as' +
+ ' CODIGO_POSTAL,'#10#10' CASE WHEN (ALMACENES.ID > 0)'#10' THEN' +
+ ' CASE WHEN V_ALBARANES_PROVEEDOR.CALLE is null'#10' ' +
+ 'THEN ALMACENES.POBLACION'#10' ELSE V_ALBARANES_PROVE' +
+ 'EDOR.POBLACION'#10' END'#10' ELSE V_ALBARANES' +
+ '_PROVEEDOR.POBLACION'#10' END as POBLACION,'#10#10' CASE WHEN (ALMACENES' +
+ '.ID > 0)'#10' THEN CASE WHEN V_ALBARANES_PROVEEDOR.CALLE ' +
+ 'is null'#10' THEN ALMACENES.PROVINCIA'#10' ' +
+ ' ELSE V_ALBARANES_PROVEEDOR.PROVINCIA'#10' END'#10' ' +
+ ' ELSE V_ALBARANES_PROVEEDOR.PROVINCIA'#10' END as PROVINCIA' +
+ ','#10#10' CASE WHEN (ALMACENES.ID > 0)'#10' THEN CASE WHEN V_A' +
+ 'LBARANES_PROVEEDOR.CALLE is null'#10' THEN ALMACENES' +
+ '.PERSONA_CONTACTO'#10' ELSE V_ALBARANES_PROVEEDOR.PE' +
+ 'RSONA_CONTACTO'#10' END'#10' ELSE V_ALBARANES' +
+ '_PROVEEDOR.PERSONA_CONTACTO'#10' END as PERSONA_CONTACTO,'#10#10' CASE W' +
+ 'HEN (ALMACENES.ID > 0)'#10' THEN CASE WHEN V_ALBARANES_PR' +
+ 'OVEEDOR.CALLE is null'#10' THEN ALMACENES.TELEFONO'#10' ' +
+ ' ELSE V_ALBARANES_PROVEEDOR.TELEFONO'#10' ' +
+ ' END'#10' ELSE V_ALBARANES_PROVEEDOR.TELEFONO'#10' END a' +
+ 's TELEFONO,'#10#10' V_ALBARANES_PROVEEDOR.OBSERVACIONES,'#10' V_ALBARANE' +
+ 'S_PROVEEDOR.IMPORTE_TOTAL,'#10' EMPRESAS.NIF_CIF AS NIF_CIF_EMPRESA' +
+ ','#10' EMPRESAS.NOMBRE AS NOMBRE_EMPRESA,'#10' EMPRESAS.RAZON_SOCIAL A' +
+ 'S RAZON_SOCIAL_EMPRESA,'#10' EMPRESAS.TELEFONO_1 AS TELEFONO_1_EMPR' +
+ 'ESA,'#10' EMPRESAS.FAX AS FAX_EMPRESA,'#10' EMPRESAS.MOVIL_1 AS MOVIL_' +
+ '1_EMPRESA,'#10' EMPRESAS.EMAIL_1 AS EMAIL_1_EMPRESA,'#10' EMPRESAS.PAG' +
+ 'INA_WEB AS PAGINA_WEB_EMPRESA'#10'FROM'#10' V_ALBARANES_PROVEEDOR'#10' L' +
+ 'EFT OUTER JOIN V_PROVEEDORES ON (V_PROVEEDORES.ID = V_ALBARANES_' +
+ 'PROVEEDOR.ID_PROVEEDOR)'#10' LEFT OUTER JOIN ALMACENES ON (ALMACENE' +
+ 'S.ID = V_ALBARANES_PROVEEDOR.ID_ALMACEN)'#10' LEFT OUTER JOIN EMPRE' +
+ 'SAS ON (EMPRESAS.ID = V_ALBARANES_PROVEEDOR.ID_EMPRESA)'#10'WHERE V_' +
+ 'ALBARANES_PROVEEDOR.ID = :ID'
StatementType = stSQL
ColumnMappings = <
item
@@ -310,6 +338,18 @@ object RptAlbaranesProveedor: TRptAlbaranesProveedor
Lookup = False
LookupCache = False
end
+ item
+ Name = 'NOMBRE_ALMACEN'
+ DataType = datString
+ Size = 255
+ BlobType = dabtUnknown
+ DisplayWidth = 0
+ Alignment = taLeftJustify
+ InPrimaryKey = False
+ Calculated = False
+ Lookup = False
+ LookupCache = False
+ end
item
Name = 'NOMBRE'
DataType = datString
diff --git a/Source/Modulos/Albaranes de proveedor/Reports/uRptAlbaranesProveedor_Server.pas b/Source/Modulos/Albaranes de proveedor/Reports/uRptAlbaranesProveedor_Server.pas
index 92a56823..71101cf1 100644
--- a/Source/Modulos/Albaranes de proveedor/Reports/uRptAlbaranesProveedor_Server.pas
+++ b/Source/Modulos/Albaranes de proveedor/Reports/uRptAlbaranesProveedor_Server.pas
@@ -25,9 +25,9 @@ type
frxChartObject1: TfrxChartObject;
frxDBCabecera: TfrxDBDataset;
frxDBDetalles: TfrxDBDataset;
+ frxReport: TfrxReport;
schReport: TDASchema;
DataDictionary: TDADataDictionary;
- frxReport: TfrxReport;
procedure DataModuleCreate(Sender: TObject);
private
FConnection: IDAConnection;
diff --git a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranProveedor.dfm b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranProveedor.dfm
index a743f2f2..d49f9b96 100644
--- a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranProveedor.dfm
+++ b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranProveedor.dfm
@@ -6,7 +6,7 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor
ClientWidth = 765
OnClose = CustomEditorClose
ExplicitWidth = 773
- ExplicitHeight = 653
+ ExplicitHeight = 646
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
diff --git a/Source/Modulos/Albaranes de proveedor/Views/uViewAlbaranDevProveedor.dfm b/Source/Modulos/Albaranes de proveedor/Views/uViewAlbaranDevProveedor.dfm
index 1d97ed99..ac68d610 100644
--- a/Source/Modulos/Albaranes de proveedor/Views/uViewAlbaranDevProveedor.dfm
+++ b/Source/Modulos/Albaranes de proveedor/Views/uViewAlbaranDevProveedor.dfm
@@ -23,7 +23,10 @@ inherited frViewAlbaranDevProveedor: TfrViewAlbaranDevProveedor
Width = 143
end
inherited frViewProveedorAlbaran: TfrViewDatosYSeleccionProveedor
+ Width = 350
+ ExplicitWidth = 350
inherited dxLayoutControl1: TdxLayoutControl
+ Width = 350
inherited edtlNombre: TcxDBTextEdit
ExplicitWidth = 224
Width = 224
@@ -54,23 +57,15 @@ inherited frViewAlbaranDevProveedor: TfrViewAlbaranDevProveedor
inherited dxLayoutControl1: TdxLayoutControl
Width = 445
Height = 175
- inherited rdxDestino1: TRadioButton
- Width = 255
- ExplicitWidth = 255
- end
- inherited rdxDestino2: TRadioButton
- Width = 287
- ExplicitWidth = 287
- end
inherited cbLista: TcxDBLookupComboBox
ExplicitWidth = 425
Width = 425
end
inherited bModificar: TBitBtn
- Left = 109
- Top = 109
- ExplicitLeft = 109
- ExplicitTop = 109
+ Left = 268
+ Top = 117
+ ExplicitLeft = 268
+ ExplicitTop = 117
end
inherited txtDireccion: TStaticText
Width = 549
@@ -78,13 +73,15 @@ inherited frViewAlbaranDevProveedor: TfrViewAlbaranDevProveedor
ExplicitWidth = 549
ExplicitHeight = 110
end
+ inherited cxLista: TcxCheckBox
+ ExplicitWidth = 566
+ Width = 566
+ end
+ inherited cxOtro: TcxCheckBox
+ ExplicitWidth = 566
+ Width = 566
+ end
inherited dxLayoutGroup1: TdxLayoutGroup
- inherited dxLayoutItem1: TdxLayoutItem
- Visible = False
- end
- inherited dxLayoutControl1Item2: TdxLayoutItem
- Visible = False
- end
inherited dxLayoutControl1Item4: TdxLayoutItem
Visible = False
end
@@ -107,16 +104,16 @@ inherited frViewAlbaranDevProveedor: TfrViewAlbaranDevProveedor
Width = 69
end
inherited eRefFactura: TcxDBTextEdit
- ExplicitWidth = 172
- Width = 172
+ ExplicitWidth = 330
+ Width = 330
end
inherited eReferenciaProveedor: TcxDBTextEdit
- ExplicitWidth = 172
- Width = 172
+ ExplicitWidth = 330
+ Width = 330
end
inherited eReferenciaFacturaProveedor: TcxDBTextEdit
- ExplicitWidth = 172
- Width = 172
+ ExplicitWidth = 330
+ Width = 330
end
inherited dxLayoutControl1Group_Root: TdxLayoutGroup
inherited dxLayoutControl1Group6: TdxLayoutGroup
diff --git a/Source/Modulos/Albaranes de proveedor/Views/uViewAlbaranProveedor.dfm b/Source/Modulos/Albaranes de proveedor/Views/uViewAlbaranProveedor.dfm
index 08bbfa22..2ad38a37 100644
--- a/Source/Modulos/Albaranes de proveedor/Views/uViewAlbaranProveedor.dfm
+++ b/Source/Modulos/Albaranes de proveedor/Views/uViewAlbaranProveedor.dfm
@@ -120,12 +120,6 @@ inherited frViewAlbaranProveedor: TfrViewAlbaranProveedor
Left = 239
ExplicitLeft = 239
end
- inherited Button1: TBitBtn
- OnClick = frViewProveedorAlbaranButton1Click
- end
- inherited Button2: TBitBtn
- OnClick = frViewProveedorAlbaranButton2Click
- end
inherited Button3: TBitBtn
Left = 123
ExplicitLeft = 123
@@ -169,14 +163,6 @@ inherited frViewAlbaranProveedor: TfrViewAlbaranProveedor
Height = 175
ExplicitWidth = 445
ExplicitHeight = 175
- inherited rdxDestino1: TRadioButton
- Width = 255
- ExplicitWidth = 255
- end
- inherited rdxDestino2: TRadioButton
- Width = 287
- ExplicitWidth = 287
- end
inherited cbLista: TcxDBLookupComboBox
ExplicitWidth = 425
Width = 425
diff --git a/Source/Modulos/Albaranes de proveedor/Views/uViewDireccionEntregaAlbaranProv.dfm b/Source/Modulos/Albaranes de proveedor/Views/uViewDireccionEntregaAlbaranProv.dfm
index bbfafb4d..16335b28 100644
--- a/Source/Modulos/Albaranes de proveedor/Views/uViewDireccionEntregaAlbaranProv.dfm
+++ b/Source/Modulos/Albaranes de proveedor/Views/uViewDireccionEntregaAlbaranProv.dfm
@@ -1,42 +1,23 @@
inherited frViewDireccionEntregaAlbaranProv: TfrViewDireccionEntregaAlbaranProv
- Width = 569
- Height = 225
- ExplicitWidth = 569
- ExplicitHeight = 225
+ Width = 586
+ Height = 301
+ ExplicitWidth = 586
+ ExplicitHeight = 301
object dxLayoutControl1: TdxLayoutControl
Left = 0
Top = 0
- Width = 569
- Height = 225
+ Width = 586
+ Height = 301
Align = alClient
ParentBackground = True
TabOrder = 0
AutoContentSizes = [acsWidth, acsHeight]
DesignSize = (
- 569
- 225)
- object rdxDestino1: TRadioButton
- Left = 10
- Top = 10
- Width = 255
- Height = 17
- Action = actLista
- Caption = 'Recibir el albar'#225'n en el almac'#233'n:'
- TabOrder = 0
- TabStop = True
- end
- object rdxDestino2: TRadioButton
- Left = 10
- Top = 60
- Width = 287
- Height = 17
- Action = actOtro
- Caption = 'Recibir el albar'#225'n en esta otra direcci'#243'n:'
- TabOrder = 2
- end
+ 586
+ 301)
object cbLista: TcxDBLookupComboBox
Left = 25
- Top = 33
+ Top = 37
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'ID_ALMACEN'
DataBinding.DataSource = dsAlbaran
@@ -63,11 +44,11 @@ inherited frViewDireccionEntregaAlbaranProv: TfrViewDireccionEntregaAlbaranProv
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 1
- Width = 425
+ Width = 551
end
object bModificar: TBitBtn
- Left = 431
- Top = 190
+ Left = 448
+ Top = 266
Width = 128
Height = 25
Caption = 'Modificar la direcci'#243'n...'
@@ -75,24 +56,70 @@ inherited frViewDireccionEntregaAlbaranProv: TfrViewDireccionEntregaAlbaranProv
OnClick = bModificarClick
end
object txtDireccion: TStaticText
- Left = 10
- Top = 83
- Width = 549
- Height = 110
+ Left = 25
+ Top = 91
+ Width = 551
+ Height = 177
AutoSize = False
BevelKind = bkFlat
TabOrder = 3
OnDblClick = txtDireccionDblClick
end
+ object cxLista: TcxCheckBox
+ Left = 10
+ Top = 10
+ Caption = 'Recibir el albar'#225'n en el almac'#233'n:'
+ Properties.ImmediatePost = True
+ Properties.MultiLine = True
+ Properties.NullStyle = nssUnchecked
+ Properties.ValueChecked = 1
+ Properties.ValueUnchecked = 0
+ State = cbsChecked
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 0
+ Width = 566
+ end
+ object cxOtro: TcxCheckBox
+ Left = 10
+ Top = 64
+ Caption = 'Recibir el albar'#225'n en el almac'#233'n:'
+ Properties.ImmediatePost = True
+ Properties.MultiLine = True
+ Properties.NullStyle = nssUnchecked
+ Properties.ValueChecked = 1
+ Properties.ValueUnchecked = 0
+ State = cbsChecked
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 2
+ Width = 566
+ end
object dxLayoutGroup1: TdxLayoutGroup
ShowCaption = False
Hidden = True
ShowBorder = False
- object dxLayoutItem1: TdxLayoutItem
- Caption = 'New Item'
+ object dxLayoutControl1Item4: TdxLayoutItem
ShowCaption = False
- Control = rdxDestino1
- ControlOptions.AutoColor = True
+ Control = cxLista
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item3: TdxLayoutItem
@@ -102,16 +129,16 @@ inherited frViewDireccionEntregaAlbaranProv: TfrViewDireccionEntregaAlbaranProv
Control = cbLista
ControlOptions.ShowBorder = False
end
- object dxLayoutControl1Item2: TdxLayoutItem
- Caption = 'New Item'
+ object dxLayoutControl1Item6: TdxLayoutItem
ShowCaption = False
- Control = rdxDestino2
- ControlOptions.AutoColor = True
+ Control = cxOtro
ControlOptions.ShowBorder = False
end
- object dxLayoutControl1Item4: TdxLayoutItem
+ object dxLayoutControl1Item5: TdxLayoutItem
AutoAligns = [aaHorizontal]
AlignVert = avClient
+ Caption = 'StaticText1'
+ Offsets.Left = 15
ShowCaption = False
Control = txtDireccion
ControlOptions.AutoColor = True
@@ -128,26 +155,23 @@ inherited frViewDireccionEntregaAlbaranProv: TfrViewDireccionEntregaAlbaranProv
end
end
object ActionList1: TActionList
- Left = 40
+ Left = 80
Top = 16
object actLista: TAction
- Caption = 'Recibir el pedido en el almac'#233'n:'
- Checked = True
- GroupIndex = 1
+ Caption = 'Recibir el albar'#195#161'n en el almac'#233'n:'
OnExecute = actListaExecute
end
object actOtro: TAction
- Caption = 'Recibir el pedido en esta otra direcci'#243'n:'
- GroupIndex = 1
+ Caption = 'Recibir el albar'#195#161'n en esta otra direcci'#243'n:'
OnExecute = actOtroExecute
end
end
object dsAlbaran: TDADataSource
- Left = 8
- Top = 16
+ Left = 40
+ Top = 8
end
object dsAlmacenes: TDADataSource
Left = 8
- Top = 48
+ Top = 40
end
end
diff --git a/Source/Modulos/Albaranes de proveedor/Views/uViewDireccionEntregaAlbaranProv.pas b/Source/Modulos/Albaranes de proveedor/Views/uViewDireccionEntregaAlbaranProv.pas
index 1b9fb5db..7ba9676f 100644
--- a/Source/Modulos/Albaranes de proveedor/Views/uViewDireccionEntregaAlbaranProv.pas
+++ b/Source/Modulos/Albaranes de proveedor/Views/uViewDireccionEntregaAlbaranProv.pas
@@ -8,7 +8,7 @@ uses
cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxLookupEdit,
cxDBLookupEdit, cxDBLookupComboBox, StdCtrls, cxControls, DB, uDADataTable,
ActnList, uBizAlmacenes, uAlmacenesController, uAlbaranesProveedorController,
- Buttons;
+ Buttons, cxCheckBox;
type
IViewDireccionEntregaAlbaranProv = interface(IViewBase)
@@ -20,13 +20,11 @@ type
TfrViewDireccionEntregaAlbaranProv = class(TfrViewBase, IViewDireccionEntregaAlbaranProv)
dxLayoutControl1: TdxLayoutControl;
- rdxDestino1: TRadioButton;
- rdxDestino2: TRadioButton;
+ cxLista: TcxCheckBox;
+ cxOtro: TcxCheckBox;
cbLista: TcxDBLookupComboBox;
dxLayoutGroup1: TdxLayoutGroup;
- dxLayoutItem1: TdxLayoutItem;
dxLayoutControl1Item3: TdxLayoutItem;
- dxLayoutControl1Item2: TdxLayoutItem;
ActionList1: TActionList;
actLista: TAction;
actOtro: TAction;
@@ -38,7 +36,6 @@ type
txtDireccion: TStaticText;
procedure actListaExecute(Sender: TObject);
procedure actOtroExecute(Sender: TObject);
- procedure cbListaPropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
procedure bModificarClick(Sender: TObject);
procedure txtDireccionDblClick(Sender: TObject);
protected
@@ -48,7 +45,7 @@ type
FController : IAlbaranesProveedorController;
function GetAlbaranProveedor: IBizAlbaranProveedor;
procedure SetAlbaranProveedor(const Value: IBizAlbaranProveedor);
- procedure CambioDireccionAlmacen;
+ procedure LimpiarDireccionEntrega;
procedure RefrescarDireccion;
procedure SetReadOnly(Value: Boolean); override;
@@ -66,25 +63,40 @@ uses
procedure TfrViewDireccionEntregaAlbaranProv.actListaExecute(Sender: TObject);
begin
- actLista.Checked := True;
- RefrescarDireccion;
-end;
-
-procedure TfrViewDireccionEntregaAlbaranProv.actOtroExecute(Sender: TObject);
-begin
- actOtro.Checked := True;
-// memDireccion.Enabled := True;
-
- if Assigned(FAlbaran) then
+ if cxLista.Checked then
begin
- FController.VerDireccionEntrega(FAlbaran);
+ cbLista.Enabled := True;
+ cbLista.DroppedDown := True;
+ end
+ else
+ begin
+ cbLista.Enabled := False;
+ cbLista.Text := '';
- if (FAlbaran.ID_ALMACEN > 0) then
+ if Assigned(FAlbaran) and (FAlbaran.ID_ALMACEN > 0) then
begin
FAlbaran.Edit;
FAlbaran.ID_ALMACEN := 0;
end;
end;
+end;
+
+procedure TfrViewDireccionEntregaAlbaranProv.actOtroExecute(Sender: TObject);
+begin
+ if cxOtro.Checked then
+ begin
+ if Assigned(FAlbaran) then
+ FController.VerDireccionEntrega(FAlbaran);
+ txtDireccion.Enabled := True;
+ bModificar.Enabled := True;
+ end
+ else
+ begin
+ txtDireccion.Enabled := False;
+ bModificar.Enabled := False;
+ LimpiarDireccionEntrega;
+ end;
+
RefrescarDireccion;
end;
@@ -94,30 +106,10 @@ begin
actOtro.Execute;
end;
-procedure TfrViewDireccionEntregaAlbaranProv.CambioDireccionAlmacen;
+procedure TfrViewDireccionEntregaAlbaranProv.LimpiarDireccionEntrega;
begin
- if Assigned(FAlbaran)
- and Assigned(FAlmacenes) then
- begin
- FAlbaran.Edit;
- FAlbaran.CALLE := FAlmacenes.CALLE;
- FAlbaran.POBLACION := FAlmacenes.POBLACION;
- FAlbaran.POBLACION := FAlmacenes.POBLACION;
- FAlbaran.PROVINCIA := FAlmacenes.PROVINCIA;
- FAlbaran.CODIGO_POSTAL := FAlmacenes.CODIGO_POSTAL;
- FAlbaran.PERSONA_CONTACTO := FAlmacenes.PERSONA_CONTACTO;
- FAlbaran.TELEFONO := FAlmacenes.TELEFONO;
- RefrescarDireccion;
- end;
-end;
-
-procedure TfrViewDireccionEntregaAlbaranProv.cbListaPropertiesValidate(
- Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
- var Error: Boolean);
-begin
- if Assigned(FAlbaran) and Assigned(FAlmacenes)
- and (FAlbaran.ID_ALMACEN <> FAlmacenes.ID) then
- CambioDireccionAlmacen;
+ FController.LimpiarDireccion(FAlbaran);
+ RefrescarDireccion;
end;
constructor TfrViewDireccionEntregaAlbaranProv.Create(AOwner: TComponent);
@@ -149,54 +141,52 @@ begin
txtDireccion.Caption := '';
if Assigned(FAlbaran) then
begin
- if (actOtro.Checked) then
- begin
- cbLista.Enabled := False;
- cbLista.Text := '';
- txtDireccion.Enabled := True;
- txtDireccion.Caption := FAlbaran.CALLE;
- txtDireccion.Caption := txtDireccion.Caption + #13#10 + FAlbaran.CODIGO_POSTAL + ' ' + FAlbaran.POBLACION;
- txtDireccion.Caption := txtDireccion.Caption + #13#10 + FAlbaran.PROVINCIA;
- bModificar.Enabled := True;
- end
- else begin
- txtDireccion.Enabled := False;
- bModificar.Enabled := False;
- cbLista.Enabled := True;
- cbLista.DroppedDown := True;
- end;
+ txtDireccion.Enabled := True;
+ txtDireccion.Caption := FAlbaran.CALLE;
+ txtDireccion.Caption := txtDireccion.Caption + #13#10 + FAlbaran.CODIGO_POSTAL + ' ' + FAlbaran.POBLACION;
+ txtDireccion.Caption := txtDireccion.Caption + #13#10 + FAlbaran.PROVINCIA;
end;
end;
procedure TfrViewDireccionEntregaAlbaranProv.SetAlbaranProveedor(const Value: IBizAlbaranProveedor);
begin
- cbLista.Properties.OnValidate := NIL;
dsAlbaran.DataTable := nil;
FAlbaran := Value;
if Assigned(FAlbaran) then
begin
dsAlbaran.DataTable := FAlbaran.DataTable;
- cbLista.Properties.OnValidate := cbListaPropertiesValidate;
{ Para poder inicializar con el almacén por defecto en el caso de un
- almacén nuevo, antes hay que comprobar que la dirección alternativa
+ albarán nuevo, antes hay que comprobar que la dirección alternativa
está vacia porque puede ser que el albarán se haya generado
automáticamente a partir de un pedido a proveedor con una dirección
que no es un almacén.
}
+ actLista.Checked := True;
+ actOtro.Checked := True;
if (FAlbaran.EsNuevo) and
- ((Length(FAlbaran.CALLE) = 0) and
- (Length(FAlbaran.CODIGO_POSTAL) = 0) and
- (Length(FAlbaran.POBLACION) = 0) and
- (Length(FAlbaran.PROVINCIA) = 0)) then
- CambioDireccionAlmacen
+ ((Length(FAlbaran.CALLE) = 0) and
+ (Length(FAlbaran.CODIGO_POSTAL) = 0) and
+ (Length(FAlbaran.POBLACION) = 0) and
+ (Length(FAlbaran.PROVINCIA) = 0)) then
+ begin
+ LimpiarDireccionEntrega;
+ actOtro.Checked := False;
+ end
else
- if (FAlbaran.ID_ALMACEN < 1) then
- actOtro.Checked := True;
+ begin
+ if (FAlbaran.ID_ALMACEN <= 0) then
+ actLista.Checked := False;
- RefrescarDireccion;
+ if (Length(FAlbaran.CALLE) = 0) then
+ actOtro.Checked := False;
+ end;
end;
+
+ RefrescarDireccion;
+ cxLista.Action := actLista;
+ cxOtro.Action := actOtro;
end;
procedure TfrViewDireccionEntregaAlbaranProv.SetReadOnly(Value: Boolean);
@@ -204,8 +194,8 @@ begin
inherited;
if ReadOnly then
begin
- rdxDestino1.Enabled := False;
- rdxDestino2.Enabled := False;
+ cxLista.Enabled := False;
+ cxOtro.Enabled := False;
end;
end;
diff --git a/Source/Modulos/Pedidos a proveedor/Controller/uPedidosProveedorController.pas b/Source/Modulos/Pedidos a proveedor/Controller/uPedidosProveedorController.pas
index 6cd138cc..d4b12889 100644
--- a/Source/Modulos/Pedidos a proveedor/Controller/uPedidosProveedorController.pas
+++ b/Source/Modulos/Pedidos a proveedor/Controller/uPedidosProveedorController.pas
@@ -48,6 +48,7 @@ type
function ElegirPedidos(APedido: IBizPedidoProveedor; AMensaje: String; AMultiSelect: Boolean): IBizPedidoProveedor;
procedure RecuperarProveedor(APedido: IBizPedidoProveedor);
+ procedure Limpiardireccion(APedido: IBizPedidoProveedor);
end;
TPedidosProveedorController = class(TObservador, IPedidosProveedorController)
@@ -111,6 +112,8 @@ type
function ExtraerSeleccionados(APedido: IBizPedidoProveedor) : IBizPedidoProveedor;
function ElegirPedidos(APedido: IBizPedidoProveedor; AMensaje: String; AMultiSelect: Boolean): IBizPedidoProveedor;
+
+ procedure Limpiardireccion(APedido: IBizPedidoProveedor);
end;
implementation
@@ -717,6 +720,20 @@ begin
end;
end;
+procedure TPedidosProveedorController.Limpiardireccion(APedido: IBizPedidoProveedor);
+begin
+ if Assigned(APedido) then
+ begin
+ APedido.Edit;
+ APedido.DataTable.FieldByName(fld_PedidosProveedorCALLE).AsVariant := null;
+ APedido.DataTable.FieldByName(fld_PedidosProveedorPOBLACION).AsVariant := null;
+ APedido.DataTable.FieldByName(fld_PedidosProveedorPROVINCIA).AsVariant := null;
+ APedido.DataTable.FieldByName(fld_PedidosProveedorCODIGO_POSTAL).AsVariant := null;
+ APedido.DataTable.FieldByName(fld_PedidosProveedorPERSONA_CONTACTO).AsVariant := null;
+ APedido.DataTable.FieldByName(fld_PedidosProveedorTELEFONO).AsVariant := null;
+ end;
+end;
+
function TPedidosProveedorController.Nuevo: IBizPedidoProveedor;
var
APedido : IBizPedidoProveedor;
diff --git a/Source/Modulos/Pedidos a proveedor/PedidosProveedor_Group.bdsgroup b/Source/Modulos/Pedidos a proveedor/PedidosProveedor_Group.bdsgroup
index 3475bb1e..2fbd8571 100644
--- a/Source/Modulos/Pedidos a proveedor/PedidosProveedor_Group.bdsgroup
+++ b/Source/Modulos/Pedidos a proveedor/PedidosProveedor_Group.bdsgroup
@@ -21,7 +21,8 @@
Views\PedidosProveedor_view.bdsproj
Plugin\PedidosProveedor_plugin.bdsproj
..\..\Cliente\FactuGES.bdsproj
- DataAbstract_D10.bpl Base.bpl ControllerBase.bpl GUIBase.bpl Contactos_view.bpl Articulos_view.bpl PedidosProveedor_model.bpl PedidosProveedor_data.bpl PedidosProveedor_controller.bpl PedidosProveedor_view.bpl PedidosProveedor_plugin.bpl FactuGES.exe
+ ..\..\Servidor\FactuGES_Server.bdsproj
+ DataAbstract_D10.bpl Base.bpl ControllerBase.bpl GUIBase.bpl Contactos_view.bpl Articulos_view.bpl PedidosProveedor_model.bpl PedidosProveedor_data.bpl PedidosProveedor_controller.bpl PedidosProveedor_view.bpl PedidosProveedor_plugin.bpl FactuGES.exe FactuGES_Server.exe
diff --git a/Source/Modulos/Pedidos a proveedor/Reports/uRptPedidosProveedor_Server.dfm b/Source/Modulos/Pedidos a proveedor/Reports/uRptPedidosProveedor_Server.dfm
index 06082a60..aac07404 100644
--- a/Source/Modulos/Pedidos a proveedor/Reports/uRptPedidosProveedor_Server.dfm
+++ b/Source/Modulos/Pedidos a proveedor/Reports/uRptPedidosProveedor_Server.dfm
@@ -104,30 +104,46 @@ object RptPedidosProveedor: TRptPedidosProveedor
'SELECT'#10' V_PEDIDOS_PROVEEDOR.ID,'#10' V_PEDIDOS_PROVEEDOR.ID_EMPRES' +
'A,'#10' V_PEDIDOS_PROVEEDOR.REFERENCIA,'#10' V_PEDIDOS_PROVEEDOR.FECHA' +
'_PEDIDO,'#10' V_PEDIDOS_PROVEEDOR.OBSERVACIONES,'#10' V_PROVEEDORES.NO' +
- 'MBRE,'#10' V_PROVEEDORES.FAX,'#10' ALMACENES.NOMBRE AS NOMBRE_ALMACEN,' +
- #10#10' CASE WHEN (ALMACENES.ID > 0)'#10' THEN ALMACENES.CALL' +
- 'E'#10' ELSE V_PEDIDOS_PROVEEDOR.CALLE'#10' END as CALLE,'#10#10' ' +
- 'CASE WHEN (ALMACENES.ID > 0)'#10' THEN ALMACENES.POBLACIO' +
- 'N'#10' ELSE V_PEDIDOS_PROVEEDOR.POBLACION'#10' END as POBLAC' +
- 'ION,'#10#10' CASE WHEN (ALMACENES.ID > 0)'#10' THEN ALMACENES.' +
- 'PROVINCIA'#10' ELSE V_PEDIDOS_PROVEEDOR.PROVINCIA'#10' END a' +
- 's PROVINCIA,'#10#10' CASE WHEN (ALMACENES.ID > 0)'#10' THEN AL' +
- 'MACENES.CODIGO_POSTAL'#10' ELSE V_PEDIDOS_PROVEEDOR.CODIG' +
- 'O_POSTAL'#10' END as CODIGO_POSTAL,'#10#10' CASE WHEN (ALMACENES.ID > 0)' +
- #10' THEN ALMACENES.PERSONA_CONTACTO'#10' ELSE V_' +
- 'PEDIDOS_PROVEEDOR.PERSONA_CONTACTO'#10' END as PERSONA_CONTACTO,'#10#10' ' +
- ' CASE WHEN (ALMACENES.ID > 0)'#10' THEN ALMACENES.TELEFON' +
- 'O'#10' ELSE V_PEDIDOS_PROVEEDOR.TELEFONO'#10' END as TELEFON' +
- 'O,'#10#10' EMPRESAS.NIF_CIF AS NIF_CIF_EMPRESA,'#10' EMPRESAS.NOMBRE AS ' +
- 'NOMBRE_EMPRESA,'#10' EMPRESAS.RAZON_SOCIAL AS RAZON_SOCIAL_EMPRESA,' +
- #10' EMPRESAS.TELEFONO_1 AS TELEFONO_1_EMPRESA,'#10' EMPRESAS.FAX AS ' +
- 'FAX_EMPRESA,'#10' EMPRESAS.MOVIL_1 AS MOVIL_1_EMPRESA,'#10' EMPRESAS.E' +
- 'MAIL_1 AS EMAIL_1_EMPRESA,'#10' EMPRESAS.PAGINA_WEB AS PAGINA_WEB_E' +
- 'MPRESA'#10'FROM'#10' V_PEDIDOS_PROVEEDOR'#10' LEFT OUTER JOIN V_PROVEEDORE' +
- 'S ON (V_PROVEEDORES.ID = V_PEDIDOS_PROVEEDOR.ID_PROVEEDOR)'#10' LEF' +
- 'T OUTER JOIN ALMACENES ON (ALMACENES.ID = V_PEDIDOS_PROVEEDOR.ID' +
- '_ALMACEN)'#10' LEFT OUTER JOIN EMPRESAS ON (EMPRESAS.ID = V_PEDIDOS' +
- '_PROVEEDOR.ID_EMPRESA)'#10'WHERE V_PEDIDOS_PROVEEDOR.ID = :ID'
+ 'MBRE,'#10' V_PROVEEDORES.FAX,'#10' CASE WHEN (ALMACENES.ID > 0)'#10' ' +
+ ' THEN CASE WHEN V_PEDIDOS_PROVEEDOR.CALLE is null'#10' ' +
+ ' THEN ALMACENES.NOMBRE'#10' END'#10' END AS NOMB' +
+ 'RE_ALMACEN,'#10#10' CASE WHEN (ALMACENES.ID > 0)'#10' THEN CAS' +
+ 'E WHEN V_PEDIDOS_PROVEEDOR.CALLE is null'#10' THEN A' +
+ 'LMACENES.CALLE'#10' ELSE V_PEDIDOS_PROVEEDOR.CALLE'#10' ' +
+ ' END'#10' ELSE V_PEDIDOS_PROVEEDOR.CALLE'#10' ' +
+ ' END as CALLE,'#10#10' CASE WHEN (ALMACENES.ID > 0)'#10' THEN ' +
+ 'CASE WHEN V_PEDIDOS_PROVEEDOR.CALLE is null'#10' THE' +
+ 'N ALMACENES.POBLACION'#10' ELSE V_PEDIDOS_PROVEEDOR.' +
+ 'POBLACION'#10' END'#10' ELSE V_PEDIDOS_PROVEE' +
+ 'DOR.POBLACION'#10' END as POBLACION,'#10#10' CASE WHEN (ALMACENES.ID > 0' +
+ ')'#10' THEN CASE WHEN V_PEDIDOS_PROVEEDOR.CALLE is null'#10' ' +
+ ' THEN ALMACENES.PROVINCIA'#10' ELSE V' +
+ '_PEDIDOS_PROVEEDOR.PROVINCIA'#10' END'#10' EL' +
+ 'SE V_PEDIDOS_PROVEEDOR.PROVINCIA'#10' END as PROVINCIA,'#10#10' CASE WHE' +
+ 'N (ALMACENES.ID > 0)'#10' THEN CASE WHEN V_PEDIDOS_PROVEE' +
+ 'DOR.CALLE is null'#10' THEN ALMACENES.CODIGO_POSTAL'#10 +
+ ' ELSE V_PEDIDOS_PROVEEDOR.CODIGO_POSTAL'#10' ' +
+ ' END'#10' ELSE V_PEDIDOS_PROVEEDOR.CODIGO_POSTAL'#10 +
+ ' END as CODIGO_POSTAL,'#10#10' CASE WHEN (ALMACENES.ID > 0)'#10' ' +
+ ' THEN CASE WHEN V_PEDIDOS_PROVEEDOR.CALLE is null'#10' ' +
+ ' THEN ALMACENES.PERSONA_CONTACTO'#10' ELSE V_PE' +
+ 'DIDOS_PROVEEDOR.PERSONA_CONTACTO'#10' END'#10' ' +
+ ' ELSE V_PEDIDOS_PROVEEDOR.PERSONA_CONTACTO'#10' END as PERSONA_CON' +
+ 'TACTO,'#10#10' CASE WHEN (ALMACENES.ID > 0)'#10' THEN CASE WHE' +
+ 'N V_PEDIDOS_PROVEEDOR.CALLE is null'#10' THEN ALMACE' +
+ 'NES.TELEFONO'#10' ELSE V_PEDIDOS_PROVEEDOR.TELEFONO'#10 +
+ ' END'#10' ELSE V_PEDIDOS_PROVEEDOR.TELEFO' +
+ 'NO'#10' END as TELEFONO,'#10#10' EMPRESAS.NIF_CIF AS NIF_CIF_EMPRESA,'#10' ' +
+ 'EMPRESAS.NOMBRE AS NOMBRE_EMPRESA,'#10' EMPRESAS.RAZON_SOCIAL AS RA' +
+ 'ZON_SOCIAL_EMPRESA,'#10' EMPRESAS.TELEFONO_1 AS TELEFONO_1_EMPRESA,' +
+ #10' EMPRESAS.FAX AS FAX_EMPRESA,'#10' EMPRESAS.MOVIL_1 AS MOVIL_1_EM' +
+ 'PRESA,'#10' EMPRESAS.EMAIL_1 AS EMAIL_1_EMPRESA,'#10' EMPRESAS.PAGINA_' +
+ 'WEB AS PAGINA_WEB_EMPRESA'#10'FROM'#10' V_PEDIDOS_PROVEEDOR'#10' LEFT OUTE' +
+ 'R JOIN V_PROVEEDORES ON (V_PROVEEDORES.ID = V_PEDIDOS_PROVEEDOR.' +
+ 'ID_PROVEEDOR)'#10' LEFT OUTER JOIN ALMACENES ON (ALMACENES.ID = V_P' +
+ 'EDIDOS_PROVEEDOR.ID_ALMACEN)'#10' LEFT OUTER JOIN EMPRESAS ON (EMPR' +
+ 'ESAS.ID = V_PEDIDOS_PROVEEDOR.ID_EMPRESA)'#10'WHERE V_PEDIDOS_PROVEE' +
+ 'DOR.ID = :ID'
StatementType = stSQL
ColumnMappings = <
item
@@ -705,7 +721,7 @@ object RptPedidosProveedor: TRptPedidosProveedor
PreviewOptions.Zoom = 1.000000000000000000
PrintOptions.Printer = 'Por defecto'
ReportOptions.CreateDate = 39065.872423495400000000
- ReportOptions.LastChange = 39352.784043865740000000
+ ReportOptions.LastChange = 39352.784043865700000000
ScriptLanguage = 'PascalScript'
ScriptText.Strings = (
''
diff --git a/Source/Modulos/Pedidos a proveedor/Reports/uRptPedidosProveedor_Server.pas b/Source/Modulos/Pedidos a proveedor/Reports/uRptPedidosProveedor_Server.pas
index 85a40ad5..8fea3a21 100644
--- a/Source/Modulos/Pedidos a proveedor/Reports/uRptPedidosProveedor_Server.pas
+++ b/Source/Modulos/Pedidos a proveedor/Reports/uRptPedidosProveedor_Server.pas
@@ -25,9 +25,9 @@ type
frxChartObject1: TfrxChartObject;
frxDBCabecera: TfrxDBDataset;
frxDBDetalles: TfrxDBDataset;
+ frxReport: TfrxReport;
schReport: TDASchema;
DataDictionary: TDADataDictionary;
- frxReport: TfrxReport;
procedure DataModuleCreate(Sender: TObject);
private
FConnection: IDAConnection;
diff --git a/Source/Modulos/Pedidos a proveedor/Views/uViewDireccionEntregaPedidoProv.dfm b/Source/Modulos/Pedidos a proveedor/Views/uViewDireccionEntregaPedidoProv.dfm
index d59bf99e..d8481f29 100644
--- a/Source/Modulos/Pedidos a proveedor/Views/uViewDireccionEntregaPedidoProv.dfm
+++ b/Source/Modulos/Pedidos a proveedor/Views/uViewDireccionEntregaPedidoProv.dfm
@@ -15,26 +15,9 @@ inherited frViewDireccionEntregaPedidoProv: TfrViewDireccionEntregaPedidoProv
DesignSize = (
586
301)
- object rdxDestino1: TRadioButton
- Left = 10
- Top = 10
- Width = 255
- Height = 17
- Action = actLista
- TabOrder = 0
- TabStop = True
- end
- object rdxDestino2: TRadioButton
- Left = 10
- Top = 60
- Width = 287
- Height = 17
- Action = actOtro
- TabOrder = 2
- end
object cbLista: TcxDBLookupComboBox
Left = 25
- Top = 33
+ Top = 37
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'ID_ALMACEN'
DataBinding.DataSource = dsPedido
@@ -61,7 +44,7 @@ inherited frViewDireccionEntregaPedidoProv: TfrViewDireccionEntregaPedidoProv
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 1
- Width = 425
+ Width = 551
end
object bModificar: TBitBtn
Left = 448
@@ -74,7 +57,7 @@ inherited frViewDireccionEntregaPedidoProv: TfrViewDireccionEntregaPedidoProv
end
object txtDireccion: TStaticText
Left = 25
- Top = 83
+ Top = 91
Width = 551
Height = 177
AutoSize = False
@@ -82,15 +65,61 @@ inherited frViewDireccionEntregaPedidoProv: TfrViewDireccionEntregaPedidoProv
TabOrder = 3
OnDblClick = txtDireccionDblClick
end
+ object cxLista: TcxCheckBox
+ Left = 10
+ Top = 10
+ Caption = 'Recibir el pedido en el almac'#233'n:'
+ Properties.ImmediatePost = True
+ Properties.MultiLine = True
+ Properties.NullStyle = nssUnchecked
+ Properties.ValueChecked = 1
+ Properties.ValueUnchecked = 0
+ State = cbsChecked
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 0
+ Width = 566
+ end
+ object cxOtro: TcxCheckBox
+ Left = 10
+ Top = 64
+ Caption = 'Recibir el pedido en el almac'#233'n:'
+ Properties.ImmediatePost = True
+ Properties.MultiLine = True
+ Properties.NullStyle = nssUnchecked
+ Properties.ValueChecked = 1
+ Properties.ValueUnchecked = 0
+ State = cbsChecked
+ Style.BorderColor = clWindowFrame
+ Style.BorderStyle = ebs3D
+ Style.HotTrack = False
+ Style.LookAndFeel.Kind = lfStandard
+ Style.LookAndFeel.NativeStyle = True
+ StyleDisabled.LookAndFeel.Kind = lfStandard
+ StyleDisabled.LookAndFeel.NativeStyle = True
+ StyleFocused.LookAndFeel.Kind = lfStandard
+ StyleFocused.LookAndFeel.NativeStyle = True
+ StyleHot.LookAndFeel.Kind = lfStandard
+ StyleHot.LookAndFeel.NativeStyle = True
+ TabOrder = 2
+ Width = 566
+ end
object dxLayoutGroup1: TdxLayoutGroup
ShowCaption = False
Hidden = True
ShowBorder = False
- object dxLayoutItem1: TdxLayoutItem
- Caption = 'New Item'
+ object dxLayoutControl1Item4: TdxLayoutItem
ShowCaption = False
- Control = rdxDestino1
- ControlOptions.AutoColor = True
+ Control = cxLista
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item3: TdxLayoutItem
@@ -100,11 +129,9 @@ inherited frViewDireccionEntregaPedidoProv: TfrViewDireccionEntregaPedidoProv
Control = cbLista
ControlOptions.ShowBorder = False
end
- object dxLayoutControl1Item2: TdxLayoutItem
- Caption = 'New Item'
+ object dxLayoutControl1Item6: TdxLayoutItem
ShowCaption = False
- Control = rdxDestino2
- ControlOptions.AutoColor = True
+ Control = cxOtro
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item5: TdxLayoutItem
@@ -132,13 +159,10 @@ inherited frViewDireccionEntregaPedidoProv: TfrViewDireccionEntregaPedidoProv
Top = 16
object actLista: TAction
Caption = 'Recibir el pedido en el almac'#233'n:'
- Checked = True
- GroupIndex = 1
OnExecute = actListaExecute
end
object actOtro: TAction
Caption = 'Recibir el pedido en esta otra direcci'#243'n:'
- GroupIndex = 1
OnExecute = actOtroExecute
end
end
diff --git a/Source/Modulos/Pedidos a proveedor/Views/uViewDireccionEntregaPedidoProv.pas b/Source/Modulos/Pedidos a proveedor/Views/uViewDireccionEntregaPedidoProv.pas
index 4f1d19ed..1dbc148a 100644
--- a/Source/Modulos/Pedidos a proveedor/Views/uViewDireccionEntregaPedidoProv.pas
+++ b/Source/Modulos/Pedidos a proveedor/Views/uViewDireccionEntregaPedidoProv.pas
@@ -3,12 +3,12 @@ unit uViewDireccionEntregaPedidoProv;
interface
uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, uBizPedidosProveedor, cxGraphics, dxLayoutControl, cxMemo,
cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxLookupEdit,
cxDBLookupEdit, cxDBLookupComboBox, StdCtrls, cxControls, DB, uDADataTable,
ActnList, uBizAlmacenes, uAlmacenesController, uPedidosProveedorController,
- Buttons;
+ Buttons, cxCheckBox, cxDBEdit;
type
IViewDireccionEntregaPedidoProv = interface(IViewBase)
@@ -20,13 +20,9 @@ type
TfrViewDireccionEntregaPedidoProv = class(TfrViewBase, IViewDireccionEntregaPedidoProv)
dxLayoutControl1: TdxLayoutControl;
- rdxDestino1: TRadioButton;
- rdxDestino2: TRadioButton;
cbLista: TcxDBLookupComboBox;
dxLayoutGroup1: TdxLayoutGroup;
- dxLayoutItem1: TdxLayoutItem;
dxLayoutControl1Item3: TdxLayoutItem;
- dxLayoutControl1Item2: TdxLayoutItem;
ActionList1: TActionList;
actLista: TAction;
actOtro: TAction;
@@ -36,9 +32,12 @@ type
bModificar: TBitBtn;
txtDireccion: TStaticText;
dxLayoutControl1Item5: TdxLayoutItem;
+ dxLayoutControl1Item4: TdxLayoutItem;
+ cxLista: TcxCheckBox;
+ dxLayoutControl1Item6: TdxLayoutItem;
+ cxOtro: TcxCheckBox;
procedure actListaExecute(Sender: TObject);
procedure actOtroExecute(Sender: TObject);
- procedure cbListaPropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
procedure bModificarClick(Sender: TObject);
procedure txtDireccionDblClick(Sender: TObject);
protected
@@ -48,7 +47,7 @@ type
FController : IPedidosProveedorController;
function GetPedidoProveedor: IBizPedidoProveedor;
procedure SetPedidoProveedor(const Value: IBizPedidoProveedor);
- procedure CambioDireccionAlmacen;
+ procedure LimpiarDireccionEntrega;
procedure RefrescarDireccion;
procedure SetReadOnly(Value: Boolean); override;
@@ -63,29 +62,44 @@ implementation
{$R *.dfm}
uses
- uEditorRegistryUtils, uCustomView;
+ uEditorRegistryUtils, schPedidosProveedorClient_Intf, uCustomView;
procedure TfrViewDireccionEntregaPedidoProv.actListaExecute(Sender: TObject);
begin
- actLista.Checked := True;
- RefrescarDireccion;
-end;
-
-procedure TfrViewDireccionEntregaPedidoProv.actOtroExecute(Sender: TObject);
-begin
- actOtro.Checked := True;
-// txtDireccion.Enabled := True;
-
- if Assigned(FPedido) then
+ if cxLista.Checked then
begin
- FController.VerDireccionEntrega(FPedido);
+ cbLista.Enabled := True;
+ cbLista.DroppedDown := True;
+ end
+ else
+ begin
+ cbLista.Enabled := False;
+ cbLista.Text := '';
- if (FPedido.ID_ALMACEN > 0) then
+ if Assigned(FPedido) and (FPedido.ID_ALMACEN > 0) then
begin
FPedido.Edit;
FPedido.ID_ALMACEN := 0;
end;
end;
+end;
+
+procedure TfrViewDireccionEntregaPedidoProv.actOtroExecute(Sender: TObject);
+begin
+ if cxOtro.Checked then
+ begin
+ if Assigned(FPedido) then
+ FController.VerDireccionEntrega(FPedido);
+ txtDireccion.Enabled := True;
+ bModificar.Enabled := True;
+ end
+ else
+ begin
+ txtDireccion.Enabled := False;
+ bModificar.Enabled := False;
+ LimpiarDireccionEntrega;
+ end;
+
RefrescarDireccion;
end;
@@ -95,30 +109,10 @@ begin
actOtro.Execute;
end;
-procedure TfrViewDireccionEntregaPedidoProv.CambioDireccionAlmacen;
+procedure TfrViewDireccionEntregaPedidoProv.LimpiarDireccionEntrega;
begin
- if Assigned(FPedido)
- and Assigned(FAlmacenes) then
- begin
- FPedido.Edit;
- FPedido.CALLE := FAlmacenes.CALLE;
- FPedido.POBLACION := FAlmacenes.POBLACION;
- FPedido.POBLACION := FAlmacenes.POBLACION;
- FPedido.PROVINCIA := FAlmacenes.PROVINCIA;
- FPedido.CODIGO_POSTAL := FAlmacenes.CODIGO_POSTAL;
- FPedido.PERSONA_CONTACTO := FAlmacenes.PERSONA_CONTACTO;
- FPedido.TELEFONO := FAlmacenes.TELEFONO;
- RefrescarDireccion;
- end;
-end;
-
-procedure TfrViewDireccionEntregaPedidoProv.cbListaPropertiesValidate(
- Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
- var Error: Boolean);
-begin
- if Assigned(FPedido) and Assigned(FAlmacenes)
- and (FPedido.ID_ALMACEN <> FAlmacenes.ID) then
- CambioDireccionAlmacen;
+ FController.LimpiarDireccion(FPedido);
+ RefrescarDireccion;
end;
constructor TfrViewDireccionEntregaPedidoProv.Create(AOwner: TComponent);
@@ -150,43 +144,43 @@ begin
txtDireccion.Caption := '';
if Assigned(FPedido) then
begin
- if (actOtro.Checked) then
- begin
- cbLista.Enabled := False;
- cbLista.Text := '';
- txtDireccion.Enabled := True;
- txtDireccion.Caption := FPedido.CALLE;
- txtDireccion.Caption := txtDireccion.Caption + #13#10 + FPedido.CODIGO_POSTAL + ' ' + FPedido.POBLACION;
- txtDireccion.Caption := txtDireccion.Caption + #13#10 + FPedido.PROVINCIA;
- bModificar.Enabled := True;
- end
- else begin
- txtDireccion.Enabled := False;
- cbLista.Enabled := True;
- cbLista.DroppedDown := True;
- bModificar.Enabled := False;
- end;
+ txtDireccion.Enabled := True;
+ txtDireccion.Caption := FPedido.CALLE;
+ txtDireccion.Caption := txtDireccion.Caption + #13#10 + FPedido.CODIGO_POSTAL + ' ' + FPedido.POBLACION;
+ txtDireccion.Caption := txtDireccion.Caption + #13#10 + FPedido.PROVINCIA;
end;
end;
procedure TfrViewDireccionEntregaPedidoProv.SetPedidoProveedor(
const Value: IBizPedidoProveedor);
begin
- cbLista.Properties.OnValidate := NIL;
dsPedido.DataTable := nil;
FPedido := Value;
+ if Assigned(FPedido) then
+ begin
+ dsPedido.DataTable := FPedido.DataTable;
- dsPedido.DataTable := FPedido.DataTable;
- cbLista.Properties.OnValidate := cbListaPropertiesValidate;
+ actLista.Checked := True;
+ actOtro.Checked := True;
+ if (FPedido.EsNuevo) then
+ begin
+ LimpiarDireccionEntrega;
+ actOtro.Checked := False;
+ end
+ else
+ begin
+ if (FPedido.ID_ALMACEN <= 0) then
+ actLista.Checked := False;
- if (FPedido.EsNuevo) then
- CambioDireccionAlmacen
- else
- if (FPedido.ID_ALMACEN < 1) then
- actOtro.Checked := True;
+ if (Length(FPedido.CALLE) = 0) then
+ actOtro.Checked := False;
+ end;
+ end;
RefrescarDireccion;
+ cxLista.Action := actLista;
+ cxOtro.Action := actOtro;
end;
procedure TfrViewDireccionEntregaPedidoProv.SetReadOnly(Value: Boolean);
@@ -194,13 +188,12 @@ begin
inherited;
if ReadOnly then
begin
- rdxDestino1.Enabled := False;
- rdxDestino2.Enabled := False;
+ cxLista.Enabled := False;
+ cxOtro.Enabled := False;
end;
end;
-procedure TfrViewDireccionEntregaPedidoProv.txtDireccionDblClick(
- Sender: TObject);
+procedure TfrViewDireccionEntregaPedidoProv.txtDireccionDblClick(Sender: TObject);
begin
inherited;
actOtro.Execute;
diff --git a/Source/Servidor/FactuGES_Server.bdsproj b/Source/Servidor/FactuGES_Server.bdsproj
index a783851c..c84f057d 100644
--- a/Source/Servidor/FactuGES_Server.bdsproj
+++ b/Source/Servidor/FactuGES_Server.bdsproj
@@ -1,4 +1,4 @@
-
+
+ RemObjects Pascal Script - RemObjects SDK 3.0 Integration
+
+
False