Introduction

Interactive (IA) reports are the current report version in RK7. When the installer is used, they can be configured during the installation process.

MS SQL Server 2012 or higher is required.

To work with IA reports, the user should have the relevant restaurant specified in the Current Restaurant field.

Server interaction schematic diagram

Interactive reports are installed with the use of the r_keeper 7 installer.
webinteractive_reports_single.png

For IA reports operation, do the following:

  1. Install and configure the Common Server.
  2. Install and configure the report function server (IRReportsFSPrj.exe).
  3. Configure the manager station plugin. To do this, copy the files FCLocalize.xml, SchRepPluginClient.xml, SchRepPluginClient.ini into the RK7/bin/win/plugins folder.
  4. Configure INI files.
If an SQL Server client is not installed on your local PC, the report function server will be unavailable for selection in the installer!

Before the RecalcInvalidShifts parameter has been added, the Feature Server did not recalculate broken shifts. Now, if the shift is repaired, broken shifts will be recalculated with this parameter enabled within the time interval specified in the FastControlDays parameter. If the shift remains broken after FastControlDays being applied, it will not be recalculated again.

Installation Procedure

  1. Download the required installer version from FTP, f.ex. ftp://ftp.ucs.ru/rk7/versions/7_05_03/RK7_Setup_7.5.3.268.1.exe, and run it as administrator
  2. The language selection, greeting, and license agreement terms are not described due to impracticability
  3. Select New instance installation (if you use the installer for deletion purposes, select  One of the previously installed instances removal), then click Next
  4. In the next window, select the directory, where the new instance will be installed, enter the name of the instance, and click Next. Any location can be used

  5. Then, select the required components and click Next

    It is obligatory to select UCS CommonServer, Report function server, and Reports plugin. If Common Server has already been installed on the PC, you can use it.

    Also, pay attention to the RK7 Manager station item. When it is selected, a new manager station instance will be created with a configured plugin.
    If you selected this item, go to step 6, if not — to step 7.

  6. Specify the Network name and port of the reference server, then click Next.
  7. Specify the IP address of the report function server (IRReportsFSPrj.exe) and the port, to which the service will be physically, then click Next

    Important: the report function server port should be unique; it is also recommended to specify a port, different from 8888.

  8. In the displayed window, enter the external IP address of the report function server (IRReportsFSPrj.exe) and the external port for IRReportsFSPrj configuration (required for feedback specification), then click Next

  9. Specify the IP address and port for the new CS(CommonServer), then click Next

    Note: this event happens if you select UCS CommonServer during the installation.



  10. When using certificates, select them (optionally) and click Next

  11. Select the logging level and click Next

    The plugin log file is created automatically in \bin\win\Logs\plugins\SchRepPluginClient\log\schRepPlugin.txt. The file location should not be changed.

    The FS server log file is created automatically in the *Logs\ directory of the FS server. The file location should not be changed.

  12. Select the components that will operate as services and click Next

    It is recommended to launch servers as applications when run for the first time.

  13. Enter the MS SQL server connection data and click Next
  14. Enter the name of the cumulative SQL database and click Next
    The DB name can be checked in the External DB settings reference.
  15. Select the applications, for which shortcuts on the desktop should be created, and click Next
  16. Click Install to start the installation process
  17. Click Finish to exit the installation program
  18. After the launch, CS will be displayed in the list of services with the Running status. 


    If CS was installed as an application, you will see a window containing a successful launch notification and port information


    Important: when changing the FS version, the aggregates version does not always change, so aggregates may not be recalculated when switching to the new Feature version. It is also recommended not to delete aggregate DBs. If you transfer the DB to another server, you should transfer aggregate DBs as well, or downgrade the version of aggregates in the database (for test DBs only).

  19. If you install the Feature Server as an application, you will see the following window upon its launch:

Description of INI Files

Below, you can see the minimum required set of parameters; if you have specified additional parameters, do not delete them.

CS_Service.ini — CommonServer configuration file

[CS_CONNECTION] section

connect_timeout(s)=30
receive_timeout(s)=30
send_timeout(s)=30
compression=c_Base64_ZLib
def_port=7007
SSL_port=7007
db_path=C:\Program Files (x86)\UCS\CommonServerRK7IR\RK7_IR\UCS.csdb

[CS] section

Name=CS_RK7_IR
loglevel=3
Log_level=3
i_guid={C7BB200D-C644-4743-BEA9-D93EB518EDFF}
certificate_path=C:\Program Files (x86)\UCS\CommonServerRK7IR\RK7_IR\
Root_Cert_File=ca.cer
Cert_File=work.cer
Key_File=work.key

Main parameters description


[CS_CONNECTION] section
Timeouts in seconds. In case of large databases (10 GB and larger), it is recommended to set high values (from 30,000 to 50,000).

connect_timeout(s)=30
receive_timeout(s)=30
send_timeout(s)=30
def_port=7007 ;; Common Server main port

FeatureServPrj.ini — FS server configuration file

FS server configuration file

[FS_CONNECTION] section

ConnectTimeout=50000
ReceiveTimeout=50000
SendTimeout=50000
CommandTimeOut=50000
SessionTimeOut=50000

url=http://127.0.0.1:7777/soap/IStructuresInfo
start_port=7777
DB_Connect_Count=10

[CS_CONNECTION] section

// address and port of the PC running the CS_Service
url=http://127.0.0.1:7007/soap/UCSCommonWS

[FS_TYPE] section

i_Guid={F4DED846-8913-4F1D-B5B5-5699CAC45DA9}
instance_name=fsRK7_2    
MasterServer=1
connection_string=Provider=SQLNCLI11.1;Persist Security Info=True;Initial Catalog=rk7_5_3_Z;Data Source=127.0.0.1,1433
MainLang=FeatureServPrj.rus

[FS_MAILING] section

Mailing=0

[RPL_PARAM] section

url =http://121.10.10.111:8892/soap/IStructuresInfo
start_port = 8892

[FS_AGREGATE] section

Agregate=1
Count_shifts=10
Time_between_recalc=0
Time_between_checking=10   
WaitConnectionInterval=5  

Parameters description

[FS_CONNECTION] section
Timeouts in seconds. In case of large databases (10 GB and larger), it is recommended to set high values (from 30,000 to 50,000).

  • ConnectTimeout=50000
  • ReceiveTimeout=50000
  • SendTimeout=50000
  • CommandTimeOut=50000
  • SessionTimeOut=50000
  • url=http://127.0.0.1:7777/soap/IStructuresInfo ;; Feature Server native URL
  • start_port=7777 ;; Feature Server native port
  • DB_Connect_Count=10
[CS_CONNECTION] section
[FS_TYPE] section
  • i_Guid — a unique FS server code (FS server GUID) This one is unique for each server instance;
  • intrance_name — the name of the FS server service (specified during the installation, does not change later. If it is necessary to change the service name, it has to be changed in the registry too);
  • MasterServer=1 — the parameter controlling the prohibition to edit references (0 = prohibited, 1 = allowed)
  • connection_string — SQL database connection string
  • MainLang — localization setting. If the localization does not match the RK7 localization, you need to replace the file and specify it in FeatureServPrj.ini.
[FS_MAILING] section
  • Mailing — mailing (1 = enabled, 0 = disabled);
[RPL_PARAM] section
  • url = http://121.10.10.111:8892/soap/IStructuresInfo — an external address visible to CS, where "/soap/IStructuresInfo" is an identical prefix for all FS
  • start_port = 8892 — the port at the physical PC, where the Feature is launched.

    URL in all microserver settings (not only of this Feature) is the feedback address, controlling its visibility for the Common Server. Any Feature Server should use this address to register at the CS.
    start_port is the port on the PC, occupied by the selected Feature. Since the network may use port forwarding, the start port can be different from the port specified in the URL parameter.

[FS_AGREGATE] section

Agregate=1 // 1 — enable aggregates, 0 = disable
Count_shifts=10 // the number of shifts to be recalculated during the next check
Time_between_recalc=0 // the time between recalculations of the aggregates (in minutes)
Time_between_checking=10 // the time of aggregates relevance check after the latest successful recalculation of aggregates
WaitConnectionInterval=5 // connection timeout, in minutes (added if necessary, starting from FS 1.24.1.0).

Starting from the FS 1.24.1.0, it is possible to restore an interrupted database connection. By default, a time interval between database re-connection attempts is set to 1 minute. If it is necessary to increase this time, add the WaitConnectionInterval parameter to the [FS_AGREGATE] section of FS INI file. This parameter sets the time in minutes for the service to wait before trying to re-connect to the database in case of connection failure.

SchRepPluginClient.ini — the plugin configuration file

Plugin configuration file (\\rk7_5_3_Z\bin\win\plugins\SchRepPluginClient\SchRepPluginClient.ini)

[CS_CONNECTION] section  
url = http://127.0.0.1:7007/soap/UCSCommonW  
fs_guid = {F4DED846-8913-4F1D-B5B5-5699CAC45DA9}   
ConnectTimeout = 300000
ReceiveTimeout = 300000
SendTimeout= 300000
[CL_TYPE]
i_Guid={0DA2E90B-C4CA-46D1-80E0-E26A076B4042}

Parameters description

[CS_CONNECTION] section
  • url=http://127.0.0.1:7007/soap/UCSCommonWS — the url used to connect to the Common Server
  • fs_guid — the FS server unique code (GUID). Here, you specify the GUID of the server, where the plugin connects to. FS server GUID should be unique for each FS server instance. However, multiple plugins can access one FS server; in this case, different plugin instances will have an identical fs_guid
  • ConnectTimeout=300000 ;; depending on the SQL DB size, it can take the values of 300,000 to 500,000,000
  • ReceiveTimeout=300000 ;; depending on the SQL DB size, it can take the values of 300,000 to 500,000,000
  • SendTimeout=300000 ;; depending on the SQL DB size, it can take the values of 300,000 to 500,000,000
[CL_TYPE] section
  • i_Guid — the plugin unique code (GUID). This one is unique for each plugin instance.

Launching reports in RK7MAN

Log in to the manager station.

If you see the You are not authorized error upon login, make sure that the SQL database has r_keeper 7 references. If not, check the SQL communication settings and repeat the export.

In the upper menu, you will see the IR reports section with links to reports, and in the Extensions section — additional settings for IA reports.

Configuring Reports for Restaurant Chain

Below, you can see the scheme of report implementation via the plugin for several restaurants.
webinteractive_reports_chain.png


FS connects to the database (the communication with SQL is specified in FeatureServPrj.ini), and registers its GUID at the CS. Consequently, you can configure a separate FS for each SQL DB (or each point, whether local or central). The FS functionality is vast enough; it can work without plugins, e.g. in the report mailing mode. All FS will register at the same CS.

The RK7 plugin connects to FS via CS. The plugin can interact with one FS only. Each plugin will connect to CS and search for the required FS by GUID. CS may be single, and it can work with multiple FS.

If you need to display the data (IA reports) from point B  at point A, you should reconfigure the plugin at point A for FS at point B (line H in Figure below). Alternatively, you can reconfigure FS at point A for the DB at point B (change the SQL DB communication parameter in the FS INI file).

Hiding a restaurant from the report filter.

  1. Protect the restaurant with a preset object privilege
  2. Disable those privileges for the role, the restaurants of which should be made inaccessible
  3. As a result, the role users will not see those restaurants, for which they do not have privileges. The method works for all preset interactive and web reports
  4. This method might not work for custom reports. In this case, you need to adjust the value selection request for the Restaurant parameter — just copy the request for the same parameter from any predefined report. To do this, open the report parameters and edit the SQL request
  5. For the parameter, you can create a list of values, from which the user will select the required ones by setting the relevant filter flag:

    This list is created via an SQL request in the parameter settings
  6. In the parameter settings of the created report data set, specify the same request for the Restaurant parameter, as in the data sets of the predefined reports for the same parameter. The request for the Restaurant parameter in predefined reports is intentionally configured in a manner considering the availability of restaurants to the user according to privileges.

Troubleshooting

Connection issues

  • Error: You are not authorized
19.12.2019 17:22:01.743> [LOG]User entered incorrrectly    
19.12.2019 17:22:02.080> [LOG]You are not authorized   
19.12.2019 17:22:12.893> [LOG]After registration: code 2, Server re-registration
19.12.2019 17:22:28.217> [LOG]After registration: code 2, Server re-registration

Reason: In the Feature Server connection settings, no database user is specified.
Solution: Open the IRReportsFSPrj.ini file, and in the connection_string field, specify the correct connection string with a username and a password. For example:

connection_string=Provider=SQLOLEDB.1;Password=1;Persist Security Info=True;User ID=sa;Initial Catalog=7171848;Data Source=127.0.0.1
  • Error: Invalid PLG_EMPLOYEEROLES object name

Reason: Feature Server has not created the table PLG_EMPLOYEEROLES
Solution: Use the script attached to the article. Do not forget to specify your database name in the script.

Issues concerning SQL collation

Possible Error: Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Lithuanian_CI_AS" in the equal to operation

As a result, some IA reports may become non-functional.

Solution: Check the sorting settings of the SQL server and the DB itself (see the figure below). After that, re-create the STAT aggregate databases:

  1. Stop the FeatureServer
  2. Execute the following script in the main database: UPDATE [dbo].[DBInformation] set [DBVer]=0 where [Alias] = 'Agregates'
  3. Delete all aggregate databases (STAT)
  4. Launch the FeatureServer.

Issues when importing the report from an XML file

Possible Error: Could not find stored procedure 'RPL8_GET_CURRENT_DATABASE_GUID
The problem is caused by the absence of certain tables and procedures.

Solution: Perform the following scripts:

USE [RK7]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[RPL8_TRANSACT](
 [ID_INC] [int] IDENTITY(1,1) NOT NULL,
 [GUID] [uniqueidentifier] NOT NULL,
 [SERVER_GUID] [uniqueidentifier] NOT NULL,
 [DTS] [datetime] NULL
) ON [PRIMARY]
GO
CREATE PROCEDURE [dbo].[RPL8_GET_CURRENT_DATABASE_GUID]
(@SRVGUID uniqueidentifier OUTPUT )
 AS BEGIN
 SET @SRVGUID = NEWID()
 END
GO



  • No labels