Cambio de la logica de pedidos de proveedor y albaranes de proveedor, para que se pueda asociar un almacen como destino ademas de una dirección libre o incluso las dos cosas

git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES/trunk@202 c93665c3-c93d-084d-9b98-7d5f4a9c3376
This commit is contained in:
David Arranz 2007-12-26 15:49:51 +00:00
parent 7700bfddc3
commit 730d467c6b
24 changed files with 560 additions and 619 deletions

View File

@ -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.

View File

@ -149,7 +149,7 @@
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
<VersionInfo Name="MajorVer">2</VersionInfo>
<VersionInfo Name="MinorVer">3</VersionInfo>
<VersionInfo Name="Release">7</VersionInfo>
<VersionInfo Name="Release">8</VersionInfo>
<VersionInfo Name="Build">0</VersionInfo>
<VersionInfo Name="Debug">False</VersionInfo>
<VersionInfo Name="PreRelease">False</VersionInfo>
@ -162,7 +162,7 @@
<VersionInfoKeys>
<VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys>
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
<VersionInfoKeys Name="FileVersion">2.3.7.0</VersionInfoKeys>
<VersionInfoKeys Name="FileVersion">2.3.8.0</VersionInfoKeys>
<VersionInfoKeys Name="InternalName">FactuGES</VersionInfoKeys>
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>

View File

@ -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

Binary file not shown.

View File

@ -22,7 +22,8 @@
<Projects Name="AlbaranesProveedor_plugin.bpl">Plugin\AlbaranesProveedor_plugin.bdsproj</Projects>
<Projects Name="PedProv_AlbProv_relation.bpl">..\Relaciones\Pedidos de proveedor - Albaranes de proveedor\PedProv_AlbProv_relation.bdsproj</Projects>
<Projects Name="FactuGES.exe">..\..\Cliente\FactuGES.bdsproj</Projects>
<Projects Name="Targets">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</Projects>
<Projects Name="FactuGES_Server.exe">..\..\Servidor\FactuGES_Server.bdsproj</Projects>
<Projects Name="Targets">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</Projects>
</Projects>
<Dependencies/>
</Default.Personality>

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -6,7 +6,7 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor
ClientWidth = 765
OnClose = CustomEditorClose
ExplicitWidth = 773
ExplicitHeight = 653
ExplicitHeight = 646
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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;

View File

@ -21,7 +21,8 @@
<Projects Name="PedidosProveedor_view.bpl">Views\PedidosProveedor_view.bdsproj</Projects>
<Projects Name="PedidosProveedor_plugin.bpl">Plugin\PedidosProveedor_plugin.bdsproj</Projects>
<Projects Name="FactuGES.exe">..\..\Cliente\FactuGES.bdsproj</Projects>
<Projects Name="Targets">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</Projects>
<Projects Name="FactuGES_Server.exe">..\..\Servidor\FactuGES_Server.bdsproj</Projects>
<Projects Name="Targets">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</Projects>
</Projects>
<Dependencies/>
</Default.Personality>

View File

@ -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 = (
''

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<BorlandProject>
<PersonalityInfo>
<Option>
@ -154,7 +154,7 @@
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
<VersionInfo Name="MajorVer">2</VersionInfo>
<VersionInfo Name="MinorVer">3</VersionInfo>
<VersionInfo Name="Release">6</VersionInfo>
<VersionInfo Name="Release">8</VersionInfo>
<VersionInfo Name="Build">0</VersionInfo>
<VersionInfo Name="Debug">False</VersionInfo>
<VersionInfo Name="PreRelease">False</VersionInfo>
@ -167,19 +167,18 @@
<VersionInfoKeys>
<VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
<VersionInfoKeys Name="FileVersion">2.3.6.0</VersionInfoKeys>
<VersionInfoKeys Name="FileVersion">2.3.8.0</VersionInfoKeys>
<VersionInfoKeys Name="InternalName"></VersionInfoKeys>
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
<VersionInfoKeys Name="ProductName"></VersionInfoKeys>
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
<VersionInfoKeys Name="ProductVersion">2.3.6.0</VersionInfoKeys>
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
<VersionInfoKeys Name="CompileDate"></VersionInfoKeys></VersionInfoKeys>
<Excluded_Packages>
<Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Pascal Script\Dcu\D10\PascalScript_RO_D10.bpl">RemObjects Pascal Script - RemObjects SDK 3.0 Integration</Excluded_Packages>
</Excluded_Packages>
</Delphi.Personality>
<VersionInfoKeys Name="CompileDate">miércoles, 26 de diciembre de 2007 16:04</VersionInfoKeys></VersionInfoKeys> <Excluded_Packages>
<Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Pascal Script\Dcu\D10\PascalScript_RO_D10.bpl">RemObjects Pascal Script - RemObjects SDK 3.0 Integration</Excluded_Packages>
</Excluded_Packages>
</Delphi.Personality>
<ModelSupport>False</ModelSupport>
<!-- EurekaLog First Line
[Exception Log]

View File

@ -908,9 +908,9 @@
#define IdResourceStrings_RSStatusConnecting 65181
#define IdResourceStrings_RSStatusConnected 65182
#define IdResourceStrings_RSStatusDisconnecting 65183
#define uRODECConst_sFMT_XX 65184
#define uRODECConst_sInvalidKeySize 65185
#define uRODECConst_sNotInitialized 65186
#define ComConst_SNoMethod 65184
#define ComConst_SVarNotObject 65185
#define ComConst_STooManyParams 65186
#define IdResourceStrings_RSCannotAllocateSocket 65187
#define IdResourceStrings_RSConnectionClosedGracefully 65188
#define IdResourceStrings_RSCouldNotBindSocket 65189
@ -924,70 +924,70 @@
#define IdResourceStrings_RSNotConnected 65197
#define IdResourceStrings_RSObjectTypeNotSupported 65198
#define IdResourceStrings_RSTerminateThreadTimeout 65199
#define uRORes_err_VariantIsNotArray 65200
#define uRORes_err_InvalidVarArrayDimCount 65201
#define uRORes_err_MessageNotAssigned 65202
#define ComConst_SOleError 65203
#define ComConst_SNoMethod 65204
#define ComConst_SVarNotObject 65205
#define ComConst_STooManyParams 65206
#define uRODECConst_sProtectionCircular 65207
#define uRODECConst_sStringFormatExists 65208
#define uRODECConst_sInvalidStringFormat 65209
#define uRODECConst_sInvalidFormatString 65210
#define uRODECConst_sFMT_COPY 65211
#define uRODECConst_sFMT_HEX 65212
#define uRODECConst_sFMT_HEXL 65213
#define uRODECConst_sFMT_MIME64 65214
#define uRODECConst_sFMT_UU 65215
#define uRORes_err_ServerOnlySupportsOneDispatcher 65216
#define uRORes_err_UnhandledException 65217
#define uRORes_err_ChannelBusy 65218
#define uRORes_err_ArrayIndexOutOfBounds 65219
#define uRORes_err_InvalidHeader 65220
#define uRORes_err_UnknownClassInStream 65221
#define uRORes_err_UnexpectedClassInStream 65222
#define uRORes_err_SessionNotFound 65223
#define uRORes_err_ChannelDoesntSupportIROMetadataReader 65224
#define uRORes_err_TooManySessions 65225
#define uRORes_err_DOMElementIsNIL 65226
#define uRORes_err_CannotLoadXMLDocument 65227
#define uRORes_err_ErrorCreatingMsXmlDoc 65228
#define uRORes_err_NoXMLParsersAvailable 65229
#define uRORes_err_IDispatchMarshalingNotSupported 65230
#define uRORes_err_UnsupportedVariantType 65231
#define uRORes_str_ExceptionOnServer 65232
#define uRORes_str_ExceptionReraisedFromServer 65233
#define uRORes_err_AssignError 65234
#define uRORes_err_InvalidRequestStream 65235
#define uRORes_err_NILMessage 65236
#define uRORes_err_UnspecifiedInterface 65237
#define uRORes_err_UnspecifiedMessage 65238
#define uRORes_err_UnknownMethod 65239
#define uRORes_err_ClassFactoryDidNotReturnInstance 65240
#define uRORes_err_TypeNotSupported 65241
#define uRORes_err_ClassFactoryNotFound 65242
#define uRORes_err_IROMessageNotSupported 65243
#define uRORes_err_ClassAlreadyRegistered 65244
#define uRORes_err_UnknownProxyInterface 65245
#define uRORes_err_DispatcherAlreadyAssigned 65246
#define uRORes_err_CannotFindMessageDispatcher 65247
#define uRORes_err_InvalidIndex 65248
#define uRORes_err_InvalidType 65249
#define uRORes_err_InvalidStream 65250
#define uRORes_err_InvalidParamFlag 65251
#define uRORes_err_InvalidStringLength 65252
#define uRORes_str_InvalidClassTypeInStream 65253
#define uRORes_err_UnexpectedEndOfStream 65254
#define uRORes_err_RodlDuplicateName 65255
#define uRORes_err_RodlNoDataTypeSpecified 65256
#define uRORes_err_RodlNoEnumValues 65257
#define uRORes_err_RodlNoStructElementsDefined 65258
#define uRORes_err_RodlNoOperationsDefined 65259
#define uRORes_err_RodlUsedFileDoesNotExist 65260
#define uRORes_err_RodlInvalidDataType 65261
#define uRORes_err_RodlStructCannotBeNested 65262
#define uRORes_err_RodlInvalidAncestorType 65263
#define uRORes_err_InvalidHeader 65200
#define uRORes_err_UnknownClassInStream 65201
#define uRORes_err_UnexpectedClassInStream 65202
#define uRORes_err_SessionNotFound 65203
#define uRORes_err_ChannelDoesntSupportIROMetadataReader 65204
#define uRORes_err_TooManySessions 65205
#define uRORes_err_DOMElementIsNIL 65206
#define uRORes_err_CannotLoadXMLDocument 65207
#define uRORes_err_ErrorCreatingMsXmlDoc 65208
#define uRORes_err_NoXMLParsersAvailable 65209
#define uRORes_err_IDispatchMarshalingNotSupported 65210
#define uRORes_err_UnsupportedVariantType 65211
#define uRORes_err_VariantIsNotArray 65212
#define uRORes_err_InvalidVarArrayDimCount 65213
#define uRORes_err_MessageNotAssigned 65214
#define ComConst_SOleError 65215
#define uRORes_err_NILMessage 65216
#define uRORes_err_UnspecifiedInterface 65217
#define uRORes_err_UnspecifiedMessage 65218
#define uRORes_err_UnknownMethod 65219
#define uRORes_err_ClassFactoryDidNotReturnInstance 65220
#define uRORes_err_TypeNotSupported 65221
#define uRORes_err_ClassFactoryNotFound 65222
#define uRORes_err_IROMessageNotSupported 65223
#define uRORes_err_ClassAlreadyRegistered 65224
#define uRORes_err_UnknownProxyInterface 65225
#define uRORes_err_DispatcherAlreadyAssigned 65226
#define uRORes_err_CannotFindMessageDispatcher 65227
#define uRORes_err_ServerOnlySupportsOneDispatcher 65228
#define uRORes_err_UnhandledException 65229
#define uRORes_err_ChannelBusy 65230
#define uRORes_err_ArrayIndexOutOfBounds 65231
#define uRORes_err_InvalidStringLength 65232
#define uRORes_str_InvalidClassTypeInStream 65233
#define uRORes_err_UnexpectedEndOfStream 65234
#define uRORes_err_RodlDuplicateName 65235
#define uRORes_err_RodlNoDataTypeSpecified 65236
#define uRORes_err_RodlNoEnumValues 65237
#define uRORes_err_RodlNoStructElementsDefined 65238
#define uRORes_err_RodlNoOperationsDefined 65239
#define uRORes_err_RodlUsedFileDoesNotExist 65240
#define uRORes_err_RodlInvalidDataType 65241
#define uRORes_err_RodlStructCannotBeNested 65242
#define uRORes_err_RodlInvalidAncestorType 65243
#define uRORes_str_ExceptionOnServer 65244
#define uRORes_str_ExceptionReraisedFromServer 65245
#define uRORes_err_AssignError 65246
#define uRORes_err_InvalidRequestStream 65247
#define uRODECConst_sProtectionCircular 65248
#define uRODECConst_sStringFormatExists 65249
#define uRODECConst_sInvalidStringFormat 65250
#define uRODECConst_sInvalidFormatString 65251
#define uRODECConst_sFMT_COPY 65252
#define uRODECConst_sFMT_HEX 65253
#define uRODECConst_sFMT_HEXL 65254
#define uRODECConst_sFMT_MIME64 65255
#define uRODECConst_sFMT_UU 65256
#define uRODECConst_sFMT_XX 65257
#define uRODECConst_sInvalidKeySize 65258
#define uRODECConst_sNotInitialized 65259
#define uRORes_err_InvalidIndex 65260
#define uRORes_err_InvalidType 65261
#define uRORes_err_InvalidStream 65262
#define uRORes_err_InvalidParamFlag 65263
#define Consts_SDockedCtlNeedsName 65264
#define Consts_SDockTreeRemoveError 65265
#define Consts_SDockZoneNotFound 65266
@ -2162,9 +2162,9 @@ BEGIN
IdResourceStrings_RSStatusConnecting, "Connecting to %s."
IdResourceStrings_RSStatusConnected, "Connected."
IdResourceStrings_RSStatusDisconnecting, "Disconnecting."
uRODECConst_sFMT_XX, "XX Coding"
uRODECConst_sInvalidKeySize, "Length from Encryptionkey is invalid.\r\nKeysize for %s must be to %d-%d bytes"
uRODECConst_sNotInitialized, "%s is not initialized call Init() or InitKey() before."
ComConst_SNoMethod, "Method '%s' not supported by automation object"
ComConst_SVarNotObject, "Variant does not reference an automation object"
ComConst_STooManyParams, "Dispatch methods do not support more than 64 parameters"
IdResourceStrings_RSCannotAllocateSocket, "Cannot allocate socket."
IdResourceStrings_RSConnectionClosedGracefully, "Connection Closed Gracefully."
IdResourceStrings_RSCouldNotBindSocket, "Could not bind socket. Address and port are already in use."
@ -2178,26 +2178,6 @@ BEGIN
IdResourceStrings_RSNotConnected, "Not Connected"
IdResourceStrings_RSObjectTypeNotSupported, "Object type not supported."
IdResourceStrings_RSTerminateThreadTimeout, "Terminate Thread Timeout"
uRORes_err_VariantIsNotArray, "Variant must be Array, but is %d"
uRORes_err_InvalidVarArrayDimCount, "Variant Array DimCount must be 1 but is %d"
uRORes_err_MessageNotAssigned, "Message is NIL"
ComConst_SOleError, "OLE error %.8x"
ComConst_SNoMethod, "Method '%s' not supported by automation object"
ComConst_SVarNotObject, "Variant does not reference an automation object"
ComConst_STooManyParams, "Dispatch methods do not support more than 64 parameters"
uRODECConst_sProtectionCircular, "Circular Protection detected, Protection Object is invalid."
uRODECConst_sStringFormatExists, "String Format \"%d\" not exists."
uRODECConst_sInvalidStringFormat, "Input is not an valid %s Format."
uRODECConst_sInvalidFormatString, "Input can not be convert to %s Format."
uRODECConst_sFMT_COPY, "copy Input to Output"
uRODECConst_sFMT_HEX, "Hexadecimal"
uRODECConst_sFMT_HEXL, "Hexadecimal lowercase"
uRODECConst_sFMT_MIME64, "MIME Base 64"
uRODECConst_sFMT_UU, "UU Coding"
uRORes_err_ServerOnlySupportsOneDispatcher, "%s servers only support one dispatcher"
uRORes_err_UnhandledException, "Unhandled exception"
uRORes_err_ChannelBusy, "Channel is busy. Try again later."
uRORes_err_ArrayIndexOutOfBounds, "Array index out of bounds (%d)."
uRORes_err_InvalidHeader, "Invalid binary header. Either incompatible or not a binary message."
uRORes_err_UnknownClassInStream, "Unknown class \"%s\" found in stream."
uRORes_err_UnexpectedClassInStream, "Unexpected class found in stream; class \"%s\" does not descend from \"%s\"."
@ -2210,10 +2190,10 @@ BEGIN
uRORes_err_NoXMLParsersAvailable, "MSXML is not installed"
uRORes_err_IDispatchMarshalingNotSupported, "Marshaling of IDispatch (%d) type variants is not supported."
uRORes_err_UnsupportedVariantType, "Unsupported variant type \"%d\""
uRORes_str_ExceptionOnServer, "An exception of type %s was raised on the server: %s"
uRORes_str_ExceptionReraisedFromServer, "An exception was raised on the server: %s"
uRORes_err_AssignError, "Cannot assign a \"%s\" to a \"%s\"."
uRORes_err_InvalidRequestStream, "Invalid request stream (%d bytes)"
uRORes_err_VariantIsNotArray, "Variant must be Array, but is %d"
uRORes_err_InvalidVarArrayDimCount, "Variant Array DimCount must be 1 but is %d"
uRORes_err_MessageNotAssigned, "Message is NIL"
ComConst_SOleError, "OLE error %.8x"
uRORes_err_NILMessage, "Message is NIL"
uRORes_err_UnspecifiedInterface, "The message does not have an interface name"
uRORes_err_UnspecifiedMessage, "The message does not have a name"
@ -2226,10 +2206,10 @@ BEGIN
uRORes_err_UnknownProxyInterface, "Unknown proxy interface \"%s\""
uRORes_err_DispatcherAlreadyAssigned, "Dispatcher for %s already assigned"
uRORes_err_CannotFindMessageDispatcher, "Cannot find message dispatcher. Maybe there is no message component configured for for the requested path?"
uRORes_err_InvalidIndex, "Invalid index %d"
uRORes_err_InvalidType, "Invalid type \"%s. Expected \"%s\"\""
uRORes_err_InvalidStream, "Invalid stream"
uRORes_err_InvalidParamFlag, "Invalid Parameter Flag \"%s\""
uRORes_err_ServerOnlySupportsOneDispatcher, "%s servers only support one dispatcher"
uRORes_err_UnhandledException, "Unhandled exception"
uRORes_err_ChannelBusy, "Channel is busy. Try again later."
uRORes_err_ArrayIndexOutOfBounds, "Array index out of bounds (%d)."
uRORes_err_InvalidStringLength, "Stream read error: Invalid string length \"%d\""
uRORes_str_InvalidClassTypeInStream, "Stream read error: Invalid class type encountered: \"%s\""
uRORes_err_UnexpectedEndOfStream, "Unexpected end of stream."
@ -2242,6 +2222,26 @@ BEGIN
uRORes_err_RodlInvalidDataType, "Invalid or undefined data type \"%s\"."
uRORes_err_RodlStructCannotBeNested, "Structs cannot recursively contain themselves."
uRORes_err_RodlInvalidAncestorType, "Invalid or undefined ancestor type \"%s\"."
uRORes_str_ExceptionOnServer, "An exception of type %s was raised on the server: %s"
uRORes_str_ExceptionReraisedFromServer, "An exception was raised on the server: %s"
uRORes_err_AssignError, "Cannot assign a \"%s\" to a \"%s\"."
uRORes_err_InvalidRequestStream, "Invalid request stream (%d bytes)"
uRODECConst_sProtectionCircular, "Circular Protection detected, Protection Object is invalid."
uRODECConst_sStringFormatExists, "String Format \"%d\" not exists."
uRODECConst_sInvalidStringFormat, "Input is not an valid %s Format."
uRODECConst_sInvalidFormatString, "Input can not be convert to %s Format."
uRODECConst_sFMT_COPY, "copy Input to Output"
uRODECConst_sFMT_HEX, "Hexadecimal"
uRODECConst_sFMT_HEXL, "Hexadecimal lowercase"
uRODECConst_sFMT_MIME64, "MIME Base 64"
uRODECConst_sFMT_UU, "UU Coding"
uRODECConst_sFMT_XX, "XX Coding"
uRODECConst_sInvalidKeySize, "Length from Encryptionkey is invalid.\r\nKeysize for %s must be to %d-%d bytes"
uRODECConst_sNotInitialized, "%s is not initialized call Init() or InitKey() before."
uRORes_err_InvalidIndex, "Invalid index %d"
uRORes_err_InvalidType, "Invalid type \"%s. Expected \"%s\"\""
uRORes_err_InvalidStream, "Invalid stream"
uRORes_err_InvalidParamFlag, "Invalid Parameter Flag \"%s\""
Consts_SDockedCtlNeedsName, "Docked control must have a name"
Consts_SDockTreeRemoveError, "Error removing control from dock tree"
Consts_SDockZoneNotFound, " - Dock zone not found"

View File

@ -14,7 +14,7 @@ BEGIN
BEGIN
VALUE "FileVersion", "2.3.6.0\0"
VALUE "ProductVersion", "2.3.6.0\0"
VALUE "CompileDate", "martes, 11 de diciembre de 2007 18:48\0"
VALUE "CompileDate", "miércoles, 26 de diciembre de 2007 16:04\0"
END
END
BLOCK "VarFileInfo"

Binary file not shown.

View File

@ -56,9 +56,9 @@ object dmServer: TdmServer
item
Name = 'IBX'
ConnectionString =
'IBX?Server=localhost;Database=E:\Codigo (Luis Le'#243'n)\Database\FAC' +
'TUGES.FDB;UserID=sysdba;Password=masterkey;Dialect=3;Charset=ISO' +
'8859_1;'
'IBX?Server=localhost;Database=C:\Codigo Luis Leon\Database\FACTU' +
'GES.FDB;UserID=sysdba;Password=masterkey;Dialect=3;Charset=ISO88' +
'59_1;'
Default = True
Tag = 0
end>