diff --git a/Database/FACTUGES.FDB b/Database/FACTUGES.FDB index 071f8868..503bba7d 100644 Binary files a/Database/FACTUGES.FDB and b/Database/FACTUGES.FDB differ diff --git a/Source/Base/Base.res b/Source/Base/Base.res index 1641339f..8b251f31 100644 Binary files a/Source/Base/Base.res and b/Source/Base/Base.res differ diff --git a/Source/Base/GUIBase/GUIBase.res b/Source/Base/GUIBase/GUIBase.res index 1641339f..8b251f31 100644 Binary files a/Source/Base/GUIBase/GUIBase.res and b/Source/Base/GUIBase/GUIBase.res differ diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res index 3197c585..0614ab82 100644 Binary files a/Source/Cliente/FactuGES.res and b/Source/Cliente/FactuGES.res differ diff --git a/Source/Modulos/Contactos/Reports/uRptEtiquetasContactos_Server.pas b/Source/Modulos/Contactos/Reports/uRptEtiquetasContactos_Server.pas index df78558e..5fb273fd 100644 --- a/Source/Modulos/Contactos/Reports/uRptEtiquetasContactos_Server.pas +++ b/Source/Modulos/Contactos/Reports/uRptEtiquetasContactos_Server.pas @@ -59,7 +59,6 @@ end; function TRptEtiquetasContactos.GenerarEtiquetas(const AID: String): Binary; var dsMaster: IDADataset; - dsDetail: IDADataset; AStream: TMemoryStream; begin diff --git a/Source/Modulos/Contactos/Servidor/srvContactos_Impl.pas b/Source/Modulos/Contactos/Servidor/srvContactos_Impl.pas index 17348dc7..c1420f43 100644 --- a/Source/Modulos/Contactos/Servidor/srvContactos_Impl.pas +++ b/Source/Modulos/Contactos/Servidor/srvContactos_Impl.pas @@ -66,7 +66,6 @@ var dsDataSet: IDADataset; AConnection: IDAConnection; begin - Result := False; AConnection:= dmServer.DarNuevaConexion; AConnection.BeginTransaction; try diff --git a/Source/Modulos/Tienda web/Controller/Utiles/uActualizarArticulosUtils.pas b/Source/Modulos/Tienda web/Controller/Utiles/uActualizarArticulosUtils.pas index 688faa23..393c6e17 100644 --- a/Source/Modulos/Tienda web/Controller/Utiles/uActualizarArticulosUtils.pas +++ b/Source/Modulos/Tienda web/Controller/Utiles/uActualizarArticulosUtils.pas @@ -11,7 +11,7 @@ function ActualizarArticulosTienda(ATiendaWeb : IBizTiendaWeb): Boolean; implementation uses - uArticulosController, uBizArticulos, + uArticulosController, uBizArticulos, uStringsUtils, uOscProductsController, uProveedoresController, uOscManufacturersController, uBizOscManufacturers, uBizOscProducts, uPasswordUtils, schTiendaWebClient_Intf, uDADataTable, @@ -25,7 +25,6 @@ var AOSCProductController : IOscProductsController; AOSCManufacturersController : TOscManufacturersController; AOSCManufacturer : IBizOscManufacturer; - Resultado : Boolean; begin Result := True; @@ -50,8 +49,8 @@ begin AOSCProductController.Anadir(AOSCProducts); with AOSCProducts do begin - products_name := AArticulo.DESCRIPCION; - products_model := AArticulo.REFERENCIA_PROV; + products_name := EscaparCadena(AArticulo.DESCRIPCION); + products_model := EscaparCadena(AArticulo.REFERENCIA_PROV); products_date_added := Now; manufacturers_id := AOSCManufacturer.manufacturers_id; rdx_products_id_local := AArticulo.ID; @@ -59,7 +58,7 @@ begin Post; end; AOSCProductController.Guardar(AOSCProducts); - + finally AOSCProductController := NIL; AOSCManufacturer := NIL; @@ -73,7 +72,6 @@ var AOSCProductController : IOscProductsController; AOSCManufacturersController : TOscManufacturersController; AOSCManufacturer : IBizOscManufacturer; - Resultado : Boolean; begin Result := True; @@ -93,7 +91,7 @@ begin AOSCManufacturer.DataTable.Active := True; if (AOSCManufacturer.DataTable.RecordCount = 0) then raise Exception.CreateFmt('No se ha encontrado el proveedor %d en la tienda web (ActualizarOSCProduct)', [AArticulo.ID_PROVEEDOR]); - + try if not AOSCProductController.Localizar(AOSCProducts, AArticulo.ID) then raise Exception.CreateFmt('No se ha localizado el producto con ID = %d', [AArticulo.ID]); @@ -101,15 +99,15 @@ begin with AOSCProducts do begin Edit; - products_name := AArticulo.DESCRIPCION; - products_model := AArticulo.REFERENCIA_PROV; + products_name := EscaparCadena(AArticulo.DESCRIPCION); + products_model := EscaparCadena(AArticulo.REFERENCIA_PROV); products_last_modified := Now; manufacturers_id := AOSCManufacturer.manufacturers_id; - products_status := 1; + products_status := 1; Post; end; AOSCProductController.Guardar(AOSCProducts); - + finally AOSCProductController := NIL; AOSCManufacturer := NIL; @@ -117,6 +115,47 @@ begin end; end; + +function EliminarOSCProduct(AOSCProducts : IBizOscProduct; AArticulo : IBizArticulo) : Boolean; +var + AOSCProductController : IOscProductsController; + AOSCManufacturersController : TOscManufacturersController; + AOSCManufacturer : IBizOscManufacturer; +begin + Result := True; + + if not Assigned(AOSCProducts) then + raise Exception.Create ('OSCProducts no asignado (EliminarOSCProduct)'); + + if not Assigned(AArticulo) then + raise Exception.Create ('Artículo no asignado (EliminarOSCProduct)'); + + AArticulo.DataTable.Active := True; + + AOSCProductController := TOscProductsController.Create; + AOSCProducts.DataTable.Active := True; + + AOSCManufacturersController := TOscManufacturersController.Create; + AOSCManufacturer := AOSCManufacturersController.Buscar(AArticulo.ID_PROVEEDOR); + AOSCManufacturer.DataTable.Active := True; + if (AOSCManufacturer.DataTable.RecordCount = 0) then + raise Exception.CreateFmt('No se ha encontrado el proveedor %d en la tienda web (ActualizarOSCProduct)', [AArticulo.ID_PROVEEDOR]); + + try + if not AOSCProductController.Localizar(AOSCProducts, AArticulo.ID) then + raise Exception.CreateFmt('No se ha localizado el producto con ID = %d', [AArticulo.ID]); + + AOSCProducts.Delete; + AOSCProductController.Guardar(AOSCProducts); + finally + AOSCProductController := NIL; + AOSCManufacturer := NIL; + AOSCManufacturersController := NIL; + end; +end; + + + function HayCambiosPendientes(AArticulo : IBizArticulo; const UltimaSincro : TDateTime): Boolean; begin if not Assigned(AArticulo) then @@ -209,27 +248,42 @@ begin Application.ProcessMessages; end;} - if not AOSCProductController.Localizar(AOSCProducts, AArticulos.ID) then + + if (AArticulos.TIENDA_WEB = 0) then begin - s := Format('Añadiendo %15s... ', [AArticulos.DESCRIPCION]); - Resultado := AnadirOSCProduct(AOSCProducts, AArticulos); - if Resultado then - s := s + 'OK' - else - s := s + 'Fallo'; + if (AOSCProductController.Localizar(AOSCProducts, AArticulos.ID)) then + begin + s := Format('Eliminado %15s... ', [AArticulos.DESCRIPCION]); + Resultado := EliminarOSCProduct(AOSCProducts, AArticulos); + if Resultado then + s := s + 'OK' + else + s := s + 'Fallo'; + end; end else begin - if HayCambiosPendientes(AArticulos, ATiendaWeb.ULTIMA_ACTUALIZACION) then + if not AOSCProductController.Localizar(AOSCProducts, AArticulos.ID) then begin - s := Format('Actualizando %15s... ', [AArticulos.DESCRIPCION]); - Resultado := ActualizarOSCProduct(AOSCProducts, AArticulos); + s := Format('Añadiendo %15s... ', [AArticulos.DESCRIPCION]); + Resultado := AnadirOSCProduct(AOSCProducts, AArticulos); if Resultado then s := s + 'OK' else s := s + 'Fallo'; end - else - s := Format('%15s... sin cambios', [AArticulos.DESCRIPCION]); + else begin + if HayCambiosPendientes(AArticulos, ATiendaWeb.ULTIMA_ACTUALIZACION) then + begin + s := Format('Actualizando %15s... ', [AArticulos.DESCRIPCION]); + Resultado := ActualizarOSCProduct(AOSCProducts, AArticulos); + if Resultado then + s := s + 'OK' + else + s := s + 'Fallo'; + end + else + s := Format('%15s... sin cambios', [AArticulos.DESCRIPCION]); + end; end; //ADlg.Expando.Lines.Add(s); diff --git a/Source/Modulos/Tienda web/Controller/Utiles/uActualizarClientesUtils.pas b/Source/Modulos/Tienda web/Controller/Utiles/uActualizarClientesUtils.pas index a0e037ba..7b2edf4d 100644 --- a/Source/Modulos/Tienda web/Controller/Utiles/uActualizarClientesUtils.pas +++ b/Source/Modulos/Tienda web/Controller/Utiles/uActualizarClientesUtils.pas @@ -12,7 +12,7 @@ implementation uses uClientesController, uOscAddressBookController, uDireccionesContactoController, - uOscCustomersController, uBizOscAddressBook, uBizOscCustomers, + uOscCustomersController, uBizOscAddressBook, uBizOscCustomers, uStringsUtils, uPasswordUtils, schTiendaWebClient_Intf, uDADataTable, uBizContactos, uBizDireccionesContacto, schContactosClient_Intf, JSDialogs, uDialogUtils, StrUtils, uIntegerListUtils; @@ -42,15 +42,15 @@ begin begin Insert; rdx_address_book_id_local := ADireccionContacto.ID; - entry_company := ACliente.NOMBRE_COMERCIAL; + entry_company := EscaparCadena(ACliente.NOMBRE_COMERCIAL); entry_gender := OSC_CUSTOMER_GENDER; // No puede ser nulo - entry_firstname := ACliente.NOMBRE; + entry_firstname := EscaparCadena(ACliente.NOMBRE); entry_lastname := ''; // No puede ser nulo - entry_street_address := ADireccionContacto.CALLE; - entry_postcode := ADireccionContacto.CODIGO_POSTAL; - entry_city := ADireccionContacto.POBLACION; - entry_state := ADireccionContacto.PROVINCIA; - entry_telephone := ADireccionContacto.TELEFONO; + entry_street_address := EscaparCadena(ADireccionContacto.CALLE); + entry_postcode := EscaparCadena(ADireccionContacto.CODIGO_POSTAL); + entry_city := EscaparCadena(ADireccionContacto.POBLACION); + entry_state := EscaparCadena(ADireccionContacto.PROVINCIA); + entry_telephone := EscaparCadena(ADireccionContacto.TELEFONO); entry_country_id := OSC_CUSTOMER_COUNTRY_ID; // No puede ser nulo entry_zone_id := OSC_CUSTOMER_ZONE_ID; // No puede ser nulo Post; @@ -80,15 +80,15 @@ begin with AOSCAddressBook do begin Edit; - entry_company := ACliente.NOMBRE_COMERCIAL; + entry_company := EscaparCadena(ACliente.NOMBRE_COMERCIAL); entry_gender := OSC_CUSTOMER_GENDER; // No puede ser nulo - entry_firstname := ACliente.NOMBRE; + entry_firstname := EscaparCadena(ACliente.NOMBRE); entry_lastname := ''; // No puede ser nulo - entry_street_address := ADireccionContacto.CALLE; - entry_postcode := ADireccionContacto.CODIGO_POSTAL; - entry_city := ADireccionContacto.POBLACION; - entry_state := ADireccionContacto.PROVINCIA; - entry_telephone := ADireccionContacto.TELEFONO; + entry_street_address := EscaparCadena(ADireccionContacto.CALLE); + entry_postcode := EscaparCadena(ADireccionContacto.CODIGO_POSTAL); + entry_city := EscaparCadena(ADireccionContacto.POBLACION); + entry_state := EscaparCadena(ADireccionContacto.PROVINCIA); + entry_telephone := EscaparCadena(ADireccionContacto.TELEFONO); entry_country_id := OSC_CUSTOMER_COUNTRY_ID; // No puede ser nulo entry_zone_id := OSC_CUSTOMER_ZONE_ID; // No puede ser nulo Post; @@ -132,11 +132,11 @@ begin AOSCCustomerController.Anadir(AOSCCustomers); with AOSCCustomers do begin - customers_firstname := ACliente.NOMBRE; + customers_firstname := EscaparCadena(ACliente.NOMBRE); customers_lastname := ''; // No puede ser nulo - customers_email_address := ACliente.EMAIL_1; - customers_telephone := ACliente.TELEFONO_1; - customers_fax := ACliente.FAX; + customers_email_address := EscaparCadena(ACliente.EMAIL_1); + customers_telephone := EscaparCadena(ACliente.TELEFONO_1); + customers_fax := EscaparCadena(ACliente.FAX); customers_password := EncriptarPasswordOSC(ACliente.NIF_CIF); rdx_customers_id_local := ACliente.ID; Post; diff --git a/Source/Modulos/Tienda web/Controller/Utiles/uActualizarProveedoresUtils.pas b/Source/Modulos/Tienda web/Controller/Utiles/uActualizarProveedoresUtils.pas index 54bda5c8..9b7bf734 100644 --- a/Source/Modulos/Tienda web/Controller/Utiles/uActualizarProveedoresUtils.pas +++ b/Source/Modulos/Tienda web/Controller/Utiles/uActualizarProveedoresUtils.pas @@ -11,7 +11,7 @@ function ActualizarProveedoresTienda(ATiendaWeb : IBizTiendaWeb): Boolean; implementation uses - uProveedoresController, uOscManufacturersController, + uProveedoresController, uOscManufacturersController, uStringsUtils, uBizOscManufacturers, uPasswordUtils, schTiendaWebClient_Intf, uDADataTable, uBizContactos, uBizDireccionesContacto, schContactosClient_Intf, JSDialogs, uDialogUtils, StrUtils, uIntegerListUtils; @@ -20,8 +20,6 @@ uses function AnadirOSCManufacturer(AOSCManufacturers : IBizOscManufacturer; AProveedor : IBizProveedor): Boolean; var AOSCManufacturerController : IOscManufacturersController; - i : Integer; - Resultado : Boolean; begin Result := True; @@ -40,7 +38,7 @@ begin AOSCManufacturerController.Anadir(AOSCManufacturers); with AOSCManufacturers do begin - manufacturers_name := AProveedor.NOMBRE; + manufacturers_name := EscaparCadena(AProveedor.NOMBRE); date_added := Now; rdx_manufacturers_id_local := AProveedor.ID; Post; @@ -56,8 +54,6 @@ end; function ActualizarOSCManufacturer(AOSCManufacturers : IBizOscManufacturer; AProveedor : IBizProveedor) : Boolean; var AOSCManufacturerController : IOscManufacturersController; - i : Integer; - Resultado : Boolean; begin Result := True; @@ -79,7 +75,7 @@ begin with AOSCManufacturers do begin Edit; - manufacturers_name := AProveedor.NOMBRE; + manufacturers_name := EscaparCadena(AProveedor.NOMBRE); last_modified := Now; Post; end; diff --git a/Source/Modulos/Tienda web/Controller/uTiendaWebController.pas b/Source/Modulos/Tienda web/Controller/uTiendaWebController.pas index bcaf829b..ce551c50 100644 --- a/Source/Modulos/Tienda web/Controller/uTiendaWebController.pas +++ b/Source/Modulos/Tienda web/Controller/uTiendaWebController.pas @@ -39,10 +39,12 @@ type function Buscar(const ID_Empresa: Integer): IBizTiendaWeb; function Ver(ATiendaWeb: IBizTiendaWeb) : Integer; - function HayConexionConTienda(ATiendaWeb : IBizTiendaWeb): Boolean; overload; - function HayConexionConTienda(const ABDServer : String; + function HayConexionConTienda: Boolean; + + {function HayConexionConTienda(ATiendaWeb : IBizTiendaWeb): Boolean; overload; + function HayConexionConTienda(const ABDServer : String; const ABDName : String; const ABDUser : String; - const ABDPass : String): Boolean; overload; + const ABDPass : String): Boolean; overload;} function ActualizarTienda(ATiendaWeb : IBizTiendaWeb): Boolean; function DescargarPedidos(ATiendaWeb : IBizTiendaWeb): Boolean; @@ -71,10 +73,11 @@ type function Buscar(const ID_Empresa: Integer): IBizTiendaWeb; function Ver(ATiendaWeb: IBizTiendaWeb) : Integer; - function HayConexionConTienda(ATiendaWeb : IBizTiendaWeb): Boolean; overload; - function HayConexionConTienda(const ABDServer : String; + function HayConexionConTienda: Boolean; + {function HayConexionConTienda(ATiendaWeb : IBizTiendaWeb): Boolean; overload; + function HayConexionConTienda(const ABDServer : String; const ABDName : String; const ABDUser : String; - const ABDPass : String): Boolean; overload; + const ABDPass : String): Boolean; overload;} function ActualizarTienda(ATiendaWeb : IBizTiendaWeb): Boolean; function DescargarPedidos(ATiendaWeb : IBizTiendaWeb): Boolean; @@ -120,7 +123,7 @@ begin Exit; end; - if not Self.HayConexionConTienda(ATiendaWeb) then + if not Self.HayConexionConTienda then begin ShowErrorMessage('No hay conexión con la tienda web', 'Se ha producido un error al intentar realizar la conexión con la tienda web.' + #10#13 + 'Inténtelo de nuevo pasados unos minutos o revise los datos de conexión a la tienda.'); @@ -299,7 +302,7 @@ begin Exit; end; - if not Self.HayConexionConTienda(ATiendaWeb) then + if not Self.HayConexionConTienda then begin ShowErrorMessage('No hay conexión con la tienda web', 'Se ha producido un error al intentar realizar la conexión con la tienda web.' + #10#13 + 'Inténtelo de nuevo pasados unos minutos o revise los datos de conexión a la tienda.'); @@ -462,7 +465,12 @@ begin end; -function TTiendaWebController.HayConexionConTienda( +function TTiendaWebController.HayConexionConTienda: Boolean; +begin + Result := FDataModule.HayConexionConTienda; +end; + +{function TTiendaWebController.HayConexionConTienda( ATiendaWeb: IBizTiendaWeb): Boolean; begin if not Assigned(ATiendaWeb) then @@ -518,6 +526,6 @@ begin finally FreeAndNIL(SQLConnection1); end; -end; +end;} end. diff --git a/Source/Modulos/Tienda web/Data/uDataModuleTiendaWeb.pas b/Source/Modulos/Tienda web/Data/uDataModuleTiendaWeb.pas index a8df944d..0ca2c8fb 100644 --- a/Source/Modulos/Tienda web/Data/uDataModuleTiendaWeb.pas +++ b/Source/Modulos/Tienda web/Data/uDataModuleTiendaWeb.pas @@ -86,6 +86,7 @@ type function GetOSCOrders: IBizOscOrder; function GetOSCOrder(const IDLocal : Integer): IBizOscOrder; + function HayConexionConTienda : Boolean; end; implementation @@ -379,4 +380,9 @@ begin end; end; +function TDataModuleTiendaWeb.HayConexionConTienda: Boolean; +begin + Result := (RORemoteService as IsrvTiendaWeb).HayConexionConTienda; +end; + end. diff --git a/Source/Modulos/Tienda web/Model/Data/uIDataModuleTiendaWeb.pas b/Source/Modulos/Tienda web/Model/Data/uIDataModuleTiendaWeb.pas index fde252b0..d0e5d480 100644 --- a/Source/Modulos/Tienda web/Model/Data/uIDataModuleTiendaWeb.pas +++ b/Source/Modulos/Tienda web/Model/Data/uIDataModuleTiendaWeb.pas @@ -52,7 +52,9 @@ type function GetOSCOrders: IBizOscOrder; function GetOSCOrder(const IDLocal : Integer): IBizOscOrder; - function GetNextIDOSC(const DataSetName : String) : Integer; + function GetNextIDOSC(const DataSetName : String) : Integer; + + function HayConexionConTienda : Boolean; end; implementation diff --git a/Source/Modulos/Tienda web/Model/uBizOscCustomerServer.pas b/Source/Modulos/Tienda web/Model/uBizOscCustomerServer.pas index f9641308..fdb075b0 100644 --- a/Source/Modulos/Tienda web/Model/uBizOscCustomerServer.pas +++ b/Source/Modulos/Tienda web/Model/uBizOscCustomerServer.pas @@ -24,13 +24,17 @@ type aChangeType: TDAChangeType; aChange: TDADeltaChange; const aCommand: IDASQLCommand; var CanRemoveFromDelta: Boolean; Error: Exception); override; + + procedure GenerateSQL(Sender: TDABusinessProcessor; + ChangeType: TDAChangeType; const ReferencedStatement: TDAStatement; + const aDelta: IDADelta; var SQL: string); override; end; implementation uses Dialogs, Variants, uDataModuleServer, uDAClasses, DARemoteService_Impl, - schTiendaWebClient_Intf, uROClasses, srvTiendaWeb_Impl, Windows; + schTiendaWebClient_Intf, uROClasses, srvTiendaWeb_Impl, Windows, uServerMainForm; { TBizOscCustomerServer } @@ -81,6 +85,14 @@ begin end; end; +procedure TBizOscCustomerServer.GenerateSQL(Sender: TDABusinessProcessor; + ChangeType: TDAChangeType; const ReferencedStatement: TDAStatement; + const aDelta: IDADelta; var SQL: string); +begin + inherited; + fServerForm.Memo1.Lines.Add(SQL); +end; + procedure TBizOscCustomerServer.Insert_Customers_Info(aChange: TDADeltaChange); var ASchema : TDASchema; diff --git a/Source/Modulos/Tienda web/Model/uBizOscProductServer.pas b/Source/Modulos/Tienda web/Model/uBizOscProductServer.pas index 0288d95c..c74201df 100644 --- a/Source/Modulos/Tienda web/Model/uBizOscProductServer.pas +++ b/Source/Modulos/Tienda web/Model/uBizOscProductServer.pas @@ -158,8 +158,8 @@ begin begin ParamByName('products_id').Value := aChange.NewValueByName[fld_osc_Productsproducts_id]; ParamByName('language_id').Value := AIdiomasDataSet.FieldByName(fld_osc_Languageslanguages_id).Value; - ParamByName('products_name').Value := TratarCadena(aChange.NewValueByName[fld_osc_Productsproducts_name]); - ParamByName('products_description').Value := TratarCadena(aChange.NewValueByName[fld_osc_Productsproducts_description]); + ParamByName('products_name').Value := aChange.NewValueByName[fld_osc_Productsproducts_name]; + ParamByName('products_description').Value := aChange.NewValueByName[fld_osc_Productsproducts_description]; ParamByName('products_url').Value := null; ParamByName('products_viewed').Value := 0; Execute; @@ -230,8 +230,8 @@ begin begin ParamByName('OLD_products_id').Value := aChange.OldValueByName[fld_osc_Productsproducts_id]; ParamByName('OLD_language_id').Value := AIdiomasDataSet.FieldByName(fld_osc_Languageslanguages_id).Value; - ParamByName('products_name').Value := TratarCadena(aChange.NewValueByName[fld_osc_Productsproducts_name]); - ParamByName('products_description').Value := TratarCadena(aChange.NewValueByName[fld_osc_Productsproducts_description]); + ParamByName('products_name').Value := aChange.NewValueByName[fld_osc_Productsproducts_name]; + ParamByName('products_description').Value := aChange.NewValueByName[fld_osc_Productsproducts_description]; ParamByName('products_url').Value := null; ParamByName('products_viewed').Value := 0; Execute; diff --git a/Source/Modulos/Tienda web/Plugin/uPluginTiendaWeb.dfm b/Source/Modulos/Tienda web/Plugin/uPluginTiendaWeb.dfm index 49d8df31..135329d9 100644 --- a/Source/Modulos/Tienda web/Plugin/uPluginTiendaWeb.dfm +++ b/Source/Modulos/Tienda web/Plugin/uPluginTiendaWeb.dfm @@ -53,7 +53,7 @@ object PluginTiendaWeb: TPluginTiendaWeb Tag = 2 Action = actActualizarTienda end - object N3: TMenuItem + object N1: TMenuItem Tag = 3 Caption = '-' end diff --git a/Source/Modulos/Tienda web/Plugin/uPluginTiendaWeb.pas b/Source/Modulos/Tienda web/Plugin/uPluginTiendaWeb.pas index 9d2bf4f4..ef6e2ee3 100644 --- a/Source/Modulos/Tienda web/Plugin/uPluginTiendaWeb.pas +++ b/Source/Modulos/Tienda web/Plugin/uPluginTiendaWeb.pas @@ -20,11 +20,11 @@ type SmallImages: TPngImageList; actActualizarTienda: TAction; actConfigurarTienda: TAction; - Configurartienda1: TMenuItem; Actualizartienda1: TMenuItem; Recogerpedidos1: TMenuItem; iendaweb1: TMenuItem; - N3: TMenuItem; + Configurartienda1: TMenuItem; + N1: TMenuItem; procedure actRecogerPedidosExecute(Sender: TObject); procedure actConfigurarTiendaExecute(Sender: TObject); procedure actActualizarTiendaExecute(Sender: TObject); diff --git a/Source/Modulos/Tienda web/Servidor/srvTiendaWeb_Impl.dfm b/Source/Modulos/Tienda web/Servidor/srvTiendaWeb_Impl.dfm index de598544..2b3fcfee 100644 --- a/Source/Modulos/Tienda web/Servidor/srvTiendaWeb_Impl.dfm +++ b/Source/Modulos/Tienda web/Servidor/srvTiendaWeb_Impl.dfm @@ -1984,10 +1984,12 @@ object srvTiendaWeb: TsrvTiendaWeb 'INSERT'#10' INTO customers'#10' (customers_firstname,'#10' customers' + '_lastname, customers_email_address,'#10' customers_default_addre' + 'ss_id, customers_telephone, '#10' customers_fax, customers_passw' + - 'ord,'#10' rdx_customers_id_local)'#10' VALUES'#10' (:customers_first' + - 'name,'#10' :customers_lastname, :customers_email_address,'#10' :' + - 'customers_default_address_id, :customers_telephone, '#10' :custo' + - 'mers_fax, :customers_password,'#10' :rdx_customers_id_local)' + 'ord,'#10' rdx_customers_id_local,'#10' customers_gender, custome' + + 'rs_dob)'#10' VALUES'#10' (:customers_firstname,'#10' :customers_last' + + 'name, :customers_email_address,'#10' :customers_default_address_' + + 'id, :customers_telephone, '#10' :customers_fax, :customers_passw' + + 'ord,'#10' :rdx_customers_id_local,'#10' '#39' '#39', '#39'0000-00-00 00:00:0' + + '0'#39')' StatementType = stSQL ColumnMappings = <> end> @@ -2744,11 +2746,13 @@ object srvTiendaWeb: TsrvTiendaWeb Connection = 'MySQL' TargetTable = 'products' SQL = - 'INSERT'#10' INTO products'#10' (products_model, products_status,'#10' ' + - ' products_date_added, products_last_modified,'#10' manufacturer' + - 's_id, rdx_products_id_local)'#10' VALUES'#10' (:products_model, :pro' + - 'ducts_status, current_timestamp, null,'#10' :manufacturers_id, :' + - 'rdx_products_id_local)' + 'INSERT'#10' INTO products'#10' (products_model, products_status, pro' + + 'ducts_quantity,'#10' products_price, products_weight, products_t' + + 'ax_class_id,'#10' products_ordered, products_date_added, product' + + 's_last_modified,'#10' manufacturers_id, rdx_products_id_local)'#10' ' + + ' VALUES'#10' (:products_model, :products_status, 0,'#10' 0, 0, 0,' + + #10' 0, current_timestamp, null,'#10' :manufacturers_id, :rdx_p' + + 'roducts_id_local)' StatementType = stSQL ColumnMappings = <> end> diff --git a/Source/Modulos/Tienda web/Servidor/srvTiendaWeb_Impl.pas b/Source/Modulos/Tienda web/Servidor/srvTiendaWeb_Impl.pas index 0ae88bba..8ecda7b7 100644 --- a/Source/Modulos/Tienda web/Servidor/srvTiendaWeb_Impl.pas +++ b/Source/Modulos/Tienda web/Servidor/srvTiendaWeb_Impl.pas @@ -50,6 +50,7 @@ type function GetDatasetDataExOSC(const DatasetName: String; const Params: TDADatasetParamArray; const UserFilter: String; const IncludeSchema: Boolean; const MaxRecords: Integer): Binary; function UpdateDataOSC(const Delta: Binary): Binary; + function HayConexionConTienda: Boolean; end; implementation @@ -59,7 +60,7 @@ uses {Generated:} FactuGES_Invk, uDataModuleServer, schTiendaWebClient_Intf, uDatabaseUtils, uRestriccionesUsuarioUtils, Dialogs, uBizTiendaWebServer, uBizOscCustomerServer, uBizOscAddressBookServer, uBizOscManufacturerServer, - uBizOscProductServer, uUsersManager, uBizOscOrderServer; + uBizOscProductServer, uUsersManager, uBizOscOrderServer, uTiendaWebUtils; procedure Create_srvTiendaWeb(out anInstance : IUnknown); begin @@ -149,6 +150,13 @@ begin end; end; +function TsrvTiendaWeb.HayConexionConTienda: Boolean; +var + AErrMsg : String; +begin + Result := uTiendaWebUtils.HayConexionConTienda(dmServer.FOSCServer, AErrMsg); +end; + function TsrvTiendaWeb.UpdateDataOSC(const Delta: Binary): Binary; begin AsignarConexion('MySQL'); diff --git a/Source/Modulos/Tienda web/Views/uEditorTiendaWeb.dfm b/Source/Modulos/Tienda web/Views/uEditorTiendaWeb.dfm index dda8eec8..5e4a01a9 100644 --- a/Source/Modulos/Tienda web/Views/uEditorTiendaWeb.dfm +++ b/Source/Modulos/Tienda web/Views/uEditorTiendaWeb.dfm @@ -65,6 +65,7 @@ object fEditorTiendaWeb: TfEditorTiendaWeb Anchors = [akLeft, akTop, akRight, akBottom] Caption = 'Probar conexi'#243'n con la tienda' TabOrder = 1 + Visible = False DesignSize = ( 333 198) diff --git a/Source/Modulos/Tienda web/Views/uEditorTiendaWeb.pas b/Source/Modulos/Tienda web/Views/uEditorTiendaWeb.pas index 7917be56..48ad1f15 100644 --- a/Source/Modulos/Tienda web/Views/uEditorTiendaWeb.pas +++ b/Source/Modulos/Tienda web/Views/uEditorTiendaWeb.pas @@ -80,8 +80,9 @@ end; procedure TfEditorTiendaWeb.actComprobarExecute(Sender: TObject); begin - if FController.HayConexionConTienda(edtBDSERVER.Text, edtBDNAME.Text, - edtBDUSER.Text, edtBDPASS.Text) then +{ if FController.HayConexionConTienda(edtBDSERVER.Text, edtBDNAME.Text, + edtBDUSER.Text, edtBDPASS.Text) then} + if FController.HayConexionConTienda then ShowInfoMessage('Conexión válida con la tienda') else ShowErrorMessage('Error de conexión', 'No se ha podido establecer la conexión con la base de datos.'); diff --git a/Source/Servicios/FactuGES.RODL b/Source/Servicios/FactuGES.RODL index 8f05b2aa..860b5fd8 100644 --- a/Source/Servicios/FactuGES.RODL +++ b/Source/Servicios/FactuGES.RODL @@ -444,6 +444,12 @@ + + + + + + diff --git a/Source/Servicios/FactuGES_Intf.pas b/Source/Servicios/FactuGES_Intf.pas index 4ba34f69..fd316c29 100644 --- a/Source/Servicios/FactuGES_Intf.pas +++ b/Source/Servicios/FactuGES_Intf.pas @@ -519,6 +519,7 @@ type function GetDatasetDataExOSC(const DatasetName: String; const Params: TDADatasetParamArray; const UserFilter: String; const IncludeSchema: Boolean; const MaxRecords: Integer): Binary; function UpdateDataOSC(const Delta: Binary): Binary; + function HayConexionConTienda: Boolean; end; { CosrvTiendaWeb } @@ -537,6 +538,7 @@ type function GetDatasetDataExOSC(const DatasetName: String; const Params: TDADatasetParamArray; const UserFilter: String; const IncludeSchema: Boolean; const MaxRecords: Integer): Binary; function UpdateDataOSC(const Delta: Binary): Binary; + function HayConexionConTienda: Boolean; end; { IsrvFacturasProveedor } @@ -1950,6 +1952,28 @@ begin end end; +function TsrvTiendaWeb_Proxy.HayConexionConTienda: Boolean; +var + __request, __response : TMemoryStream; +begin + __request := TMemoryStream.Create; + __response := TMemoryStream.Create; + + try + __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'HayConexionConTienda'); + __Message.Finalize; + + __Message.WriteToStream(__request); + __TransportChannel.Dispatch(__request, __response); + __Message.ReadFromStream(__response); + + __Message.Read('Result', TypeInfo(Boolean), result, []); + finally + __request.Free; + __response.Free; + end +end; + { CosrvFacturasProveedor } class function CosrvFacturasProveedor.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvFacturasProveedor; diff --git a/Source/Servicios/FactuGES_Invk.pas b/Source/Servicios/FactuGES_Invk.pas index d0c1f6eb..4ba035d6 100644 --- a/Source/Servicios/FactuGES_Invk.pas +++ b/Source/Servicios/FactuGES_Invk.pas @@ -165,6 +165,7 @@ type procedure Invoke_GetDatasetSchemaOSC(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_GetDatasetDataExOSC(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure Invoke_UpdateDataOSC(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); + procedure Invoke_HayConexionConTienda(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); end; TsrvFacturasProveedor_Invoker = class(TDARemoteService_Invoker) @@ -1065,6 +1066,22 @@ begin end; end; +procedure TsrvTiendaWeb_Invoker.Invoke_HayConexionConTienda(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); +{ function HayConexionConTienda: Boolean; } +var + lResult: Boolean; +begin + try + lResult := (__Instance as IsrvTiendaWeb).HayConexionConTienda; + + __Message.Initialize(__Transport, 'FactuGES', 'srvTiendaWeb', 'HayConexionConTiendaResponse'); + __Message.Write('Result', TypeInfo(Boolean), lResult, []); + __Message.Finalize; + + finally + end; +end; + { TsrvFacturasProveedor_Invoker } procedure TsrvFacturasProveedor_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); diff --git a/Source/Servicios/RODLFILE.res b/Source/Servicios/RODLFILE.res index e3b54304..351b381c 100644 Binary files a/Source/Servicios/RODLFILE.res and b/Source/Servicios/RODLFILE.res differ diff --git a/Source/Servidor/FactuGES_Server.drc b/Source/Servidor/FactuGES_Server.drc index 2ecdbbd1..3fcf4000 100644 --- a/Source/Servidor/FactuGES_Server.drc +++ b/Source/Servidor/FactuGES_Server.drc @@ -908,9 +908,9 @@ #define IdResourceStrings_RSStatusConnecting 65181 #define IdResourceStrings_RSStatusConnected 65182 #define IdResourceStrings_RSStatusDisconnecting 65183 -#define ComConst_SNoMethod 65184 -#define ComConst_SVarNotObject 65185 -#define ComConst_STooManyParams 65186 +#define uRODECConst_sFMT_XX 65184 +#define uRODECConst_sInvalidKeySize 65185 +#define uRODECConst_sNotInitialized 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_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 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 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." - 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_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." IdResourceStrings_RSCannotAllocateSocket, "Cannot allocate socket." IdResourceStrings_RSConnectionClosedGracefully, "Connection Closed Gracefully." IdResourceStrings_RSCouldNotBindSocket, "Could not bind socket. Address and port are already in use." @@ -2178,6 +2178,26 @@ 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\"." @@ -2190,10 +2210,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_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_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_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" @@ -2206,10 +2226,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_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_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_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." @@ -2222,26 +2242,6 @@ 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" diff --git a/Source/Servidor/FactuGES_Server.rc b/Source/Servidor/FactuGES_Server.rc index 285bf526..b2f08115 100644 --- a/Source/Servidor/FactuGES_Server.rc +++ b/Source/Servidor/FactuGES_Server.rc @@ -16,7 +16,7 @@ BEGIN VALUE "FileVersion", "3.0.0.0\0" VALUE "ProductName", "FactuGES Server\0" VALUE "ProductVersion", "3.0.0.0\0" - VALUE "CompileDate", "miércoles, 11 de junio de 2008 11:40\0" + VALUE "CompileDate", "lunes, 16 de junio de 2008 18:29\0" END END BLOCK "VarFileInfo" diff --git a/Source/Servidor/FactuGES_Server.res b/Source/Servidor/FactuGES_Server.res index 1e1d2fae..fc9c9425 100644 Binary files a/Source/Servidor/FactuGES_Server.res and b/Source/Servidor/FactuGES_Server.res differ diff --git a/Source/Servidor/Utiles/uSchemaUtilsServer.pas b/Source/Servidor/Utiles/uSchemaUtilsServer.pas index 4985f3b5..f5445f1e 100644 --- a/Source/Servidor/Utiles/uSchemaUtilsServer.pas +++ b/Source/Servidor/Utiles/uSchemaUtilsServer.pas @@ -39,7 +39,6 @@ var i : integer; Separador : String; bHayAgrupacion : Boolean; - APos : Integer; function GetTrueFieldName(AField : string; ConAlias : Boolean = True) : String; var @@ -131,7 +130,6 @@ function TReplicarDataSet.GetNewDataSet: IDADataset; var SQL: String; ASchemaDataSet: TDADataSet; - AField: TDAField; AColumnList : TStringList; i, j : Integer; begin diff --git a/Source/Servidor/Utiles/uTiendaWebUtils.pas b/Source/Servidor/Utiles/uTiendaWebUtils.pas index b8b01c49..18eaa52d 100644 --- a/Source/Servidor/Utiles/uTiendaWebUtils.pas +++ b/Source/Servidor/Utiles/uTiendaWebUtils.pas @@ -2,7 +2,7 @@ unit uTiendaWebUtils; interface -function TratarCadena (Cadena: String): String; +//function TratarCadena (Cadena: String): String; function HayConexionConTienda(const AODBCName : String; var AErrorMsg: String): Boolean; @@ -23,7 +23,7 @@ begin Name := 'ADOConnection1'; Provider := 'MSDASQL.1'; LoginPrompt := False; - ConnectionString := 'Provider=MSDASQL.1;Persist Security Info=False;' + + ConnectionString := 'Provider=MSDASQL.1;Persist Security Info=False;CHARSET=utf8;' + 'Data Source=' + AODBCName; try @@ -43,9 +43,9 @@ begin end; end; -function TratarCadena (Cadena: String): String; +{function TratarCadena (Cadena: String): String; begin Result := StringReplace(Cadena, '''', '\\''', []); -end; +end;} end. diff --git a/Source/Servidor/uAcercaDe.pas b/Source/Servidor/uAcercaDe.pas index a8b4a07f..31b7a860 100644 --- a/Source/Servidor/uAcercaDe.pas +++ b/Source/Servidor/uAcercaDe.pas @@ -21,7 +21,7 @@ implementation {$R *.dfm} -uses JclFileUtils; +uses JclFileUtils, uDAInterfaces; procedure TfAcercaDe.FormShow(Sender: TObject); var diff --git a/Source/Servidor/uDataModuleServer.dfm b/Source/Servidor/uDataModuleServer.dfm index 41016a17..3ef34648 100644 --- a/Source/Servidor/uDataModuleServer.dfm +++ b/Source/Servidor/uDataModuleServer.dfm @@ -48,8 +48,8 @@ object dmServer: TdmServer item Name = 'MySQL' ConnectionString = - 'ADO?AuxDriver=MSDASQL.1;Server=OSCommerce Desarrollo;UserID=root' + - ';Password=;Option=3;' + 'ADO?AuxDriver=MSDASQL.1;Server="OSCommerce Desarrollo";useUnicod' + + 'e=True;characterEncoding=latin1_spanish_ci;' Default = False Tag = 0 end diff --git a/Source/Servidor/uDataModuleServer.pas b/Source/Servidor/uDataModuleServer.pas index 246de397..c1a21255 100644 --- a/Source/Servidor/uDataModuleServer.pas +++ b/Source/Servidor/uDataModuleServer.pas @@ -268,7 +268,7 @@ begin ConnectionManager.Connections.GetDefaultConnection.ConnectionString := GetConnectionString; with ConnectionManager.Connections.ConnectionByName('MySQL') do - ConnectionString := 'ADO?AuxDriver=MSDASQL.1;Server=' + FOSCServer + ';useUnicode=True;characterEncoding=UTF_8'; + ConnectionString := 'ADO?AuxDriver=MSDASQL.1;Server=' + FOSCServer + ';useUnicode=True;characterEncoding=latin1_spanish_ci;'; ShowBalloonHint('Conectado a ' + ConnectionName, biInfo); diff --git a/Source/Servidor/uServerMainForm.pas b/Source/Servidor/uServerMainForm.pas index eb28cdd6..3901355f 100644 --- a/Source/Servidor/uServerMainForm.pas +++ b/Source/Servidor/uServerMainForm.pas @@ -74,7 +74,7 @@ begin for i := 0 to dmServer.ConnectionManager.Connections.Count - 1 do Memo1.Lines.Add(dmServer.ConnectionManager.Connections[i].Name + ' -> ' + dmServer.ConnectionManager.Connections[i].ConnectionString); end; -// JvTrayIcon.HideApplication; + JvTrayIcon.HideApplication; end; procedure TfServerForm.actRestartExecute(Sender: TObject);