1C:Enterprise 8.3. Developer Guide. Appendix 6. System Behavior in Various Modes

1C:Enterprise 8.3. Developer Guide. Contents


SYSTEM BEHAVIOR IN VARIOUS MODES

6.1. SPECIAL CHARACTERISTICS OF LOW CONNECTION SPEED MODE

In the low connection speed mode the system behavior acquires the following special characteristics:

„ Desktop forms are not displayed automatically. To display the desktop click the Show Desktop hyperlink in the top left corner of the desktop working area. In Taxi interface the start page is displayed once you open the application.

„ When a form is generated, presentations for form reference data are obtained (after the form is opened no additional calls are made to the server to retrieve presentations).

„ When a form is generated, "over-the-period" form data values displayed by form elements are obtained (after the form is opened no additional calls are made to the server to retrieve these values).

„ The server notifies the user forms have been closed (or object locks – released if objects have been locked) after 20 forms have been closed or 20 s have elapsed after form closing.

     Getting a form from a server using the OpenForm(), GetForm() methods.

Calling server (context and out-of-context) form methods. Closing 20 forms.

The system is the waiting state for more than 20 seconds.

When the following dynamic list commands are executed:

□ deleting an item;

□ marking an item for deletion;

□ posting a document or canceling a posting; □ moving a catalog item to another group.

„ Settings are only saved if modified. Moreover, it does not happen immediately after form closing, the procedure is delayed until the next form is opened, 20 delayed settings have accumulated, 20 min have elapsed (when idle) or the application is closed.

„ Client application neither receives nor displays pictures of sectionsections panel.

„ Initial status of selection form is cached and re-used upon re-creation of this form. Form data are removed from cache if:

     The form has not been in use for the last 20 min.

Refresh command has been called in the selection form.

Data changes for an object of relevant type are displayed on the client side.

„ Selection list is not generated in the text box while waiting for input by string to complete.

„ A special data cache is generated for quick selection lists and input-by-string lists. Cache data are saved for a session lifetime. A maximum of 20 latest lists can be stored for each object type. Cache can store a maximum of 200 lists.

Every 20 min cache is cleared of expired data related to objects that have changes displayed in this session on the client side.

Repeat selection or input by string operation with the same parameters without moving to another field creates a new data query to the server.

6.2. SPECIAL CHARACTERISTICS OF COMPATIBILITY MODE

A number of system mechanisms can vary their behavior depending on the Compatibility mode configuration property. The present section lists the possible behavior differences:

„ You cannot set Default run mode to Managed application when the Compatibility mode configuration property is set to Version 8.1. These settings are checked when updating the configuration database.

„ In the Version 8.1 Compatibility Mode, the Subsystems property of the metadata objects that could belong to subsystems is available from the 1C:Enterprise script. Moreover, the Version 8.1 Compatibility Mode makes the Content configuration property available. This property is filled with references to objects that belonged to subsystem tree root item. If you disable the Version 8.1 Compatibility Mode, the Content configuration property is cleared and becomes unavailable in the configuration properties panel.

„ In ordinary forms, the object filling procedure is similar to Version 8.1, i.e. the filling handler is called for Enter Based On only or when the Fill() method is invoked.

The FillCheck() method is unavailable for metadata objects; auto-check is not used.

„ You can invoke help from a form the same way you did in Version 8.1, i.e. open a dialog box where you can select a help section if no help is provided for the current form.

„ Document journal tables contain Type virtual field.

„ Infobase table list of the query wizard displays tables and fields that can be viewed by the current user.

„ The data composition system does not validate interactive rights to tables.

„ Pictures selected in the picture library and inserted into a report or a data processor are converted to external pictures.

„ The Type property is available for DataCompositionAvailableField, DataCompositionFilterAvailableField and DataCompositionAvailableParameter objects.

„ The DataVersion property is unavailable for catalogs, documents, charts of characteristic types, charts of accounts, charts of calculation types, exchange plans, business processes and tasks. Data access restrictions for the DataVersion field are checked based on the restrictions set for the Ref field.

„ Setting the InteractiveInsert, InteractiveDelete, Interac- tiveSetDeletionMark, InteractiveClearDeletionMark, InteractiveDeleteMarked, InteractivePosting, InteractivePostingRegular, InteractiveUndoPosting, InteractiveChangeOfPosted, InteractiveStart, InteractiveActivate and InteractiveExecute rights is not related to setting the Edit right.

„ As you dump configuration files, an ordinary application module is dumped to Configuration.ApplicationModule.txt.

„ Formatting Number, Date and Boolean values is based on parameters specified in the regional infobase settings.

„ Web colors in the color selection dialog box are ordered by their English names.

„ You can assign any values to spreadsheet document Output and PageOrientation properties. Values of invalid types are ignored.

„ You can interactively select the following pictures: DocumentObject, ChartOfCharacteristicTypesObject, ScheduledJobs, CatalogObject, BusinessProcessObject, TaskObject, ChartOfCalculationTypesObject, ExchangePlanObject, ChartOfAccountsObject, InformationRegisterRecord, ChooseFromList, AddListItem, NewFolder, ChangeListItem, SetListItemDeletionMark, DeleteListItemDirectly and DeleteListItem.

„ Contains comparison type of the data composition system counts _, % and [ as special characters.

CAST operation of the query language returns a fixed-length string (with trailing white spaces) when you perform casting to the String type.

„ Print parameters for individual spreadsheet documents (objects) are not separated and are modified at the same time (even if the print parameter key is a match).

„ If a query contains the DISTINCT keyword and an expression missing from the selection list is specified in the ORDER BY clause, this query is valid and does not raise an error.

„ Nested query balance fields are not treated as balance fields in an external query and totals for these fields are calculated in the same way as for standard fields.

„ Maximum size of String of Fixed Size metadata attribute is 1024 characters.

„ New accumulation and accounting registers do not have their totals splitting flag set by default.

„ Representation of complete module names in technological information (technological log, event log, etc.) has been modified: names do not specify the module precisely.

„ When you execute the Lock() method in managed lock items, only the first lock value in each item is checked against the lock field type.

„ Synonym modification in the form and template wizards changes the name, while the name change modifies the synonym if none of these auto-generated field values has been changed after opening the wizard.

„ The picture editor does not support the alpha channel. After you complete editing, pictures are not converted to PNG.

„ Title of an active table column in a form is highlighted.

„ Pressing Tab or Shift + Tab in a form table with no rows or with the Row selection mode on activates the next or previous column, accordingly. The next or previous form element is only activated after you reach the last or the first table column.

„ The following properties are available for spreadsheet documents: GroupBackColor, GroupTextColor, HeaderBackColor and HeaderTextColor.

„ If you select a custom border or border color for a form element or choose a custom button background color for a Button, Text Box or Slider elements, the form element is displayed with the selected color and the border corners are not rounded.

„ BeforeClose form handler is not called if modal form times out.

„ When event log is dumped in XML format, the UserName field displays the full user name.

„ User with no administrative permissions can modify the CannotChangePassword property of the InfoBaseUser object.

When a template is received on a server and in an external connection, the default configuration language is set as the template language.

„ The Data Path property of the data composition template user field is generated in English.

„ When a normal form of an information register record is opened, the Period property value is set to the current data, but only if this property is not filled and the form record is opened from a list form. For all other cases, this property is not populated.

„ Contents of tables describing scheduled jobs are changed:

     Compatibility mode is used – all scheduled jobs are stored in one table.

Compatibility mode is not used – each scheduled job is stored in a separate table.

„ Contents of tables storing constants is changed:

     Compatibility mode is used – one table is used to store constants. The same table is used to register changes.

Compatibility mode is not used – each constant is stored in its own table.

Changes for each constant are also registered in a separate table.

„ Contents of tables storing accumulation register settings are changed:

     Compatibility mode is used – accumulation register settings are stored in one table.

Compatibility mode is not used – the settings of each register are stored in a separate table.

„ Contents of tables storing accounting register settings are changed:

     Compatibility mode is used – accounting register settings are stored in one table.

Compatibility mode is not used – the settings of each register are stored in a separate table.

„ Help inclusion by a subsystem in help system contents was changed:

     Compatibility mode is used – subsystem help was shown in help contents, if for any object included in the subsystem, the Include in Help Contents property was set and it was disabled for the subsystem.

Compatibility mode is not used – inclusion of subsystem help in help contents completely depends on the Include in Help Contents subsystem property status and does not depend on the properties of the objects included in the subsystem.

„ A number of resources shown in a diagram by the data composition system has changed:

     Compatibility mode is used – only one resource (the first one) is shown in the diagram.

Compatibility mode is not used – several resources are shown in the diagram.

An ability to group by data composition system field resources has changed:

Compatibility mode is used – grouping by field resources is not supported.

Compatibility mode is not used – grouping by field resources is supported.

„ Diagnostics of key values identifying a string displayed for a dynamic list with a set arbitrary query has changed:

     Compatibility mode is used – errors occurring when receiving dynamic list data are not shown.

Compatibility mode is not used – if duplicated key values are found in the selection, a warning is shown and data can't be displayed.

„ Period parameter necessity of the Get() method for periodic information register manager has changed:

     Compatibility mode is used – the option is not required and the method result is not defined.

Compatibility mode is not used – the option is required.

„ System behavior is changed for a scenario when the form element size is determined automatically if the font size specified in the form element properties is not the default font size.

     Compatibility mode is used – the element font size is not taken into account when element size is calculated.

Compatibility mode is not used – the element font size is taken into account when element size is calculated. Changing font using a form or dynamic list conditional appearance does not affect form element size.

„ DataVersion standard attribute text representation has changed:

     Compatibility mode is used – representation is an empty string.

Compatibility mode is not used – representation is a string containing 12 white spaces.

„ When a value is passed from an attribute to a form element, text refreshing in a text box has changed:

     Compatibility mode is used – refreshing always takes place, except in the case when the AutoComplete event handler sets the same type of value that is set in value text box. The RefreshingEditText property is ignored.

Compatibility mode is not used – refreshing can be managed with the RefreshingEditText text box property and the RefreshEditText() method of the text box form extension.

„ When the SetValue() method and the UseFromDataSource() method of the DataLockItem object are simultaneously used.

     Compatibility mode is used – the value set by the UseFromDataSource() method has the highest priority.

Compatibility mode is not used – an exception is raised.

Keys of objects designed to store desktop command interface settings have changed:

Compatibility mode is used:

□ The Subsystem.desktop/NavigationPanel/CommandInterfa- ceSettings key is used for navigation panel settings.

□ The Subsystem.desktop/ActionPanel/CommandInterfa- ceSettings key is used for action panel settings.

Compatibility mode is not used:

□ The Desktop/NavigationPanel/CommandInterfaceSettings key is used for navigation panel settings.

□ The Desktop/ActionPanel/CommandInterfaceSettings key is used for action panel settings.

„ The algorithm used to fill automatically the form attribute list that has to be checked is changed:

     If the compatibility mode is used and attributes disabled by functional options are included in the list of checked attributes.

If the compatibility mode is not used and attributes disabled by functional options are not included in the list of checked attributes.

„ Reading data for managed form tables linked with dynamic lists when the form is open:

     If the compatibility mode is used, reading is available for all the tables linked with dynamic lists, including tables which are not visible to the user.

If the compatibility mode is not used, reading is available only for the tables displayed when the form is open.

„ Converting the Name in data source property of the external data source table field when placed to the SQL query:

     If the compatibility mode is used, the property value is always surrounded by double quotes regardless of the characters in the name.

If the compatibility mode is not used, the property value is surrounded by double quotes only when the field contains special characters and is not surrounded by single quotes.

„ Defining the calculated field column type when data composition results are output to the collection of values:

     If the compatibility mode is used, the column type is defined automatically on the basis of the calculated field expression.

If the compatibility mode is not used, the value type specified for the calculated field is set as the column value type. If the value type is not specified, then it is defined based on the calculated field expression.

Outputting data composition results to the collection of values when one data composition field is included in different groups:

If the compatibility mode is used, different group fields that reference to the same data composition field were included in different collection columns.

If the compatibility mode is not used, different group fields that reference to the same data composition field were included in different collection columns.

„ Generating an custom data object presentation:

     If the compatibility mode is used, generating custom presentations is not supported.

If the compatibility mode is not used, generating custom presentations is supported.

„ To obtain a value for the functional option, if this value is set to be received in privileged mode:

„ If compatibility mode using version 8.3.2 is used – an error is generated in safe mode if you do not have access rights to an object storing the functional option value.

     If compatibility mode is not used – rights are not verified.

6.3. SPECIFIC CHARACTERISTICS OF WEB CLIENT

„ The following features are not supported in Google Chrome and Safari browsers:

     Programmatical insertion from the clipboard, and starting with Google Chrome 6 and Safari 5 – any operations of programmatical access to the clipboard. Only keyboard clipboard commands (not context menu commands) are available.

Automatic operating system authentication.

The ability to change headers and footers when printing.

„ The cryptography tools extension is not supported in the Safari web browser.

„ MacOS X only supports password input using Latin letters and digits. iOS (up to version 5.x) only supports password input using the Latin alphabet and digits. iOS 6 supports the use of national alphabet characters in passwords. If you need to ensure compatibility between various OS versions or to use the applied solution in the Safari web browser, we recommend you enter passwords using digits and the Latin alphabet only.

„ Due to operational peculiarities of the Safari web browser for MacOS X, a slow connection may result in server connection errors that are not generated in other browsers. These errors are caused by the lack of connection timeout parameters in this web browser.

In a cross-domain query, if an OpenID authentication is performed in Microsoft Internet Explorer 6.0 and 7, a message window prompting you to confirm the operation opens after the username and password are entered. If the user confirms the operation, authentication proceeds. Otherwise, the system prompts the user to enter his/her user name and password again.

„ When a page with Web application is added to Bookmarks in Mozilla Firefox Web browser using the Bookmark This Page command, the user has to adjust the added link manually. To do this, open the properties editing window for the added bookmark and remove text up to http:// in the address box or drag and drop the application icon (to the left of page address) in the Bookmarks menu.

„ User-initiated interruption of module operation is not supported. When the module is running, calls of the UserInterruptProcessing() method are ignored.

„ The LockApplication() method is not supported.

„ The Eval() function does not diagnose the Procedure called as function error.

„ If there is a mistake in the expression transferred to the Eval() function, the error is identified as a method call error, and not as an error in the transferred expression.

„ Google Chrome does not support script code debugging in the BeforeExit and OnExit event handlers.

„ Long-lasting operations do not affect cursor appearance in any way.

„ Horizontal scrolling is not supported in any of the form’s elements (with a mouse wheel when Shift is pressed).

„ Microsoft Internet Explorer and Mozilla Firefox browsers do not process keys pressed during a server call. In Google Chrome and Safari browsers these keystrokes are processed when the server call is finished.

„ Hotkey definition with the & character in the command text, menu items, etc. is not supported. The & character specified in the text is ignored and not shown in the interface.

„ In Safari, when a server handles a query for a long time, an error can occur.

„ It is not recommended to programmatically open and close one or more forms in one handler. These actions should be performed at a different time. It is recommended to close forms in a standby handler.

„ If a form opened in an auxiliary window is closed by clicking the system close button ("cross" in the top corner of the form) or pressing Alt + F4, the BeforeClose handler is not called for the closed form module.

„ If a form opened in an auxiliary window is closed by clicking the system Close button (the cross in the top right form corner) before it is fully shown on the screen, an error can occur in a browser.

„ A minimized window in Google Chrome is not activated if a warning related to the contents of this window is displayed.

If a user minimizes a form of the modified object in Google Chrome and then closes the main application window, the system warns that some data has not been saved, but the form with this data will not be activated.

„ Sometimes in Internet Explorer 6.0 and Google Chrome, an empty window can be shown when receiving a file from a server.

„ If you need to display form element text normally when specifying the font size, you should specify both the font size and type of the TrueType font used.

„ If button height is more than 5 units (with the standard font size), the button is shown without gradients.

„ If the Question() global context function button list does not contain a button with the DialogReturnCode.Cancel function, an attempt to close the dialog using the system Close Window button (the cross in the top right form corner) will reopen the dialog.

„ Status bar functionality is limited. When a module is running, status updates depend on the Web browser (for details see page 1-351).

„ The indicator field display differs from a thin client. In particular, this concerns the appearance of an indicator field for which the Representation property is set to Broken or BrokenTilt.

„ Dendrogram object functionality is limited.

„ GraphicalSchema object functionality is limited.

„ GeographicalSchema object functionality is limited.

„ GanttChart object has limited interactive setup features.

„ Retrieval of system information about client computer is not supported.

„ Work with TextReader, TextWriter, ZipFileReader, ZipFileWriter and XBase objects is not supported. It is recommended to work with these files on the server side.

„ Work with XML and XDTO is not supported. It is recommended to work with these files on the server side.

„ Internal clipboard is implemented in Google Chrome and Safari browsers:

     Data in the internal clipboard are relevant during the session.

All values in the operating system clipboard are also duplicated in the internal clipboard.

The M+ and M- commands change the value in the internal clipboard. The result is written to the operating system clipboard.

The internal clipboard is shown in the "1" cell in the calculator, and the MR, M+ and M- calculator commands work with internal clipboard values. The result is written to the operating system clipboard.

„ The calculator configuration dialog is not supported.

„ The functionality of the interactive spreadsheet change is restricted.

Interactive commands for setting up the spreadsheet view are limited.

„ Background image for spreadsheet documents is not supported.

„ Patterns in spreadsheet document cells are not supported.

„ If text does not fit in a table cell, no ellipsis is added at the end.

„ When changing table data source, the current table row is changed and at the same time the form element property value changes, which rebuilds the form, the OnRowChange handler call and form reload procedures are not defined.

„ Vertical stretching should be disabled in forms with a vertical scrollbar for elements, such as a table, a spreadsheet document, a diagram, etc.

„ The GetHTML() method of the FormattedDocument object returns an empty picture list.

„ Opening a spreadsheet document with a report containing reference values from a file is not supported.

„ The spreadsheet document field and form table are not supported when you are scrolling using the mouse wheel in a spreadsheet document.

„ If the Fit property for a non-empty spreadsheet document cell is set to Auto, cells are merged horizontally up to the next filled cell or to the end of the spreadsheet document.

„ If a picture is located in multiple spreadsheet document cells, all intersected cells are merged and only the text in the top left cell within the intersected cells is displayed.

„ A spreadsheet document will not support overlapping of a text and a picture in cells. First the picture is displayed, then the text.

„ In some cases, a picture placed in a spreadsheet document can be truncated by edge row borders or column borders of the area where the picture is located. Changing the picture size or moving it to normalize the image is recommended.

„ In some cases, a picture in a spreadsheet document, for which the lower or the right border is located above the upper border or to the left of the left picture border, can be located with a shift. Changing the picture size or moving it to normalize the image is recommended.

„ If right alignment is set for a spreadsheet document cell and the text does not fit in the cell, the text part moved is left-aligned.

„ Microsoft Internet Explorer 6.0 and 7 Web browsers do not support display of merged spreadsheet document cells that have a left border and no bottom border. It is recommended to set bottom borders for these cells.

„ In Microsoft Internet Explorer 7 Web browser spreadsheet documents with cells of varying widths in a single column and text combined with picture in a single cell produce garbled printouts.

In Google Chrome and Safari, a border can be shown incorrectly with a certain combination of cell groups and cell frames in a spreadsheet document.

„ For two adjacent (horizontally) spreadsheet document cells, the contiguous border will be decorated with the same line that is used for the right border of the left cell if the document is displayed in Microsoft Internet Explorer 6.0.

„ The following line types are only available for spreadsheet document cells: Solid, Dotted and None. Other line types are replaced with the available types as follows:

     Double line type is replaced with Solid;

ThinDashed, ThickDashed and LargeDashed line types are replaced with Dotted.

„ In Microsoft Internet Explorer and Google Chrome, the dotted frame of adjacent cells can sometimes be displayed as a solid frame.

„ To ensure spreadsheet documents with dotted lines are correctly printed from the Google Chrome web browser, we recommend you set the PrintAccuracy property for these documents to Accurate. Similarly, this recommendation applies if you use Google Chrome to print spreadsheet documents and want to ensure that accurate dimensions are used for all printed items.

„ File comparison mode is not supported.

„ Recently used file list is not supported.

„ Files cannot be dragged and dropped to web client forms.

„ Web clients use a limited set of fonts available in OS in use. Other fonts cannot be selected in the font selection dialog box in the web client; if used they are replaced with supported fonts.

„ The main menu can be accessed by pressing F10; access by pressing Alt once is not supported.

„ Pressing Ctrl + W in Google Chrome closes auxiliary windows and does not select a word.

„ Pressing Ctrl + F4 in Google Chrome closes the current tab. If the tab is the last tab, the next browser window is closed.

„ Pressing Ctrl + N in Google Chrome creates a new browser window and does not open the New Document menu.

„ Web browsers do not support scaling (other than 100%) or non-standard DPI settings.

„ Navigation between windows using the keyboard can have special characteristics (depending on Web browser type):

     Microsoft Internet Explorer 6.0 – no special characteristics.

Microsoft Internet Explorer 7, Microsoft Internet Explorer 8 – navigation using Ctrl + Tab and Ctrl + Shift + Tab is not supported if tabs are enabled in the Web browser. Navigation using F6 and Ctrl + F6 is available with no constraints.

Mozilla Firefox – navigation between windows using the keyboard requires additional setup in the Main Menu – Tools – Web browser setup dialog box.

Google Chrome:

□ For any version – Ctrl + Tab, Ctrl + Shift + Tab combinations do not switch tabs. F6, Ctrl + F6 work without restrictions.

□ For version 7.0 and earlier versions, when you are using hotkeys (F6, Ctrl + F6) to switch browser windows, an attempt to reopen an already open form or using the Activate() method, Navigation to the window completed. Click OK to proceed warning is shown after switching to a new window. You can click OK and continue working with the opened window.

„ A modal window in Microsoft Internet Explorer locks all parent windows, in Mozilla Firefox only the parent window is locked, and in Google Chrome windows are not locked. All other application windows are shaded. You can switch to them, but you can't perform any actions in them.

„ When a modal window is opened, the main window is not refreshed in Microsoft Internet Explorer.

„ Web browser restrictions make it impossible to open a modeless form from the modal one. Therefore all forms to be opened from modal ones are opened in the modal mode.

„ The web client window can't have a size smaller than the size set in a browser.

„ In multiple display mode, if displays have set a different resolution, windows not opened on the first display can have different coordinates when they are reopened.

„ Displaying the command bar with vertical buttons rendering is not supported.

„ Displaying a missing picture in the web client differs from displaying a missing picture in the thin client.

„ Microsoft Internet Explorer 8 incorrectly displays images with transparency other than 0 and 100%.

„ Displaying pages with a web server host name in the address matching web client host name in an HTML document field is not supported. Storing pages in an infobase is recommended.

„ Processing events of an HTML document field for pages with a web server host name in the address matching web client host name is not supported. Pages that require event handling should be stored in an infobase.

„ When the ChooseFromList() method is used, the value list selection window is opened as a separate browser window and not as a list.

„ When the ChooseFromMenu() method is used, the value list selection menu and data composition system details menu are opened as a separate browser window and not as a menu.

When the PutFile() method is called, there could be situations when put file errors are determined incorrectly. In this case True is returned and the Address parameter does not contain a temporary storage address.

„ Size modification mode (using the mouse) for a calendar opened from a text box is not disabled if the mouse button is released outside the window where the calendar is opened. To disable size modification mode click the left mouse button again and release it inside the calendar window.

„ In Safari, the calculator and calendar windows are always opened in windows, which size is not less than the minimal window size for that browser.

„ Scroll bar color for HTML document field matches OS color, except the cases when Microsoft Internet Explorer is used and HTML document field displays HTML page set by a text string.

„ Calling the DocumentComplete and OnClick event handlers and Print and Save commands of an HTML document field is not supported if a document is displayed in the field for which the web server host name is different from the web client host name.

„ Cancel and Undo commands behavior in multiple line text boxes is different from other clients. In the web client, the amount of canceled changes is defined by the browser.

„ The result of left clicking a word in a text box (with pressed Ctrl) depends on the browser and the clicked word is not selected.

„ Clicking left/right arrows in a text document field in the first/last string position will move the pointer to the previous/next string.

„ In a multiple line text box and in a text document field, entering text in the insert mode is not supported.

„ In a multiple line text box and a form table cell, text is broken only per word. Solid text at element border is not wrapped.

„ When Shift+Del is pressed in a multiple line text box, the whole string is deleted and automatic line break for text box borders is not considered.

„ If an invalid XML version 1.0 character (http://www.w3.org/TR/xml/) is programmatically moved to a text box, in Google Chrome and Safari this character is replaced with "?" and the text box becomes uneditable.

„ If a tip text contains line breaks, in Mozilla Firefox white spaces are shown instead.

„ The web client language in Safari matches the browser interface language, if the interface language is not explicitly set using the L command line option.

„ When the web client is debugged and local variables or method options are used in the Expression window, a table or breakpoint conditions, their names should be specified exactly as they were set in the definition (accounting case characters).

„ The following features are not supported in the web client:

     General:

□ Print using the current printer.

Graphical schema field: □ Search and Replace. Spreadsheet Document:

□ Go to Cell.

Text Document:

□ Go to Line.

□ Using tabs.

Text submenu of the main menu.

„ The web client does not support the following hotkey commands:

     Picture box:

□ Zoom in (Num+). □ Zoom out (Num-).

□ Picture scrolling using keyboard.

Graphical schema field:

□ Schema scrolling.

Table linked to a hierarchical list:

□ Minimize node (Ctrl + Num-).

□ Minimize all nodes (Ctrl + Shift + Num-).

□ Maximize node (Ctrl + Num+).

□ Maximize all nodes (Ctrl + Shift+ Num+).

Spreadsheet Document:

□ Minimize group (Ctrl + Num-);

□ Minimize all groups (Ctrl + Shift + Num-).

□ Maximize group (Ctrl + Num+).

□ Maximize all groups (Ctrl + Shift + Num+).

□ scroll page left (Alt + PgUp).

□ scroll page right (Alt + PgDn).

□ Select cells using keyboard.

Text Document:

□ delete current line (Ctrl +L ): not supported in Mozilla Firefox, Google Chrome, Safari.

In MacOS X, when a non-English keyboard layout is enabled, hotkeys are not supported if the following keys are pressed:

□ Google Chrome: Alt and Alt + Shift;

□ Safari: Alt, Alt + Shift, Cmd and Cmd + Shift.

6.4. WEB CLIENT SPECIFICS FOR IPAD

These specifics extend the list of web client behavior specifics described in the previous section.

For iPad:

„ Instead of a mouse double-click, a quick double touch of the same screen position is used. Instead of a mouse right click, a long touch is used (more than 1 sec.)

„ Tabs are supported only.

„ The on-screen keyboard cannot show automatically when you are editing a table cell or a spreadsheet document cell (in the text box shown). To show the keyboard, click the text box edited again.

„ Switching to the main window using the All Windows dialog is not supported. If you try to switch to the dialog, the following warning is displayed: Unable to go to the main window.

„ It is recommended to use the close button in the top right corner of the main window to exit the web client.

„ Drag-and-drop is not implemented.

„ Switching to the main window when auxiliary windows are open is not supported.

„ Printing is not supported.

„ A formatted document field allows only viewing of the document (without editing).

„ The status bar is shown in the same window as user notifications.

„ The PutFile() method is not available.

„ The file system extension, cryptography tools, and add-ins are not available.

The following object and global context methods cannot be used in an applied solution on iPad:

„ Global context:

     Question()

OpenValue()

OpenFormModal()

Warning()

InputData()

InputValue()

InputString()

InputNumber()

„ FontChooseDialog object: Select()

„ ColorChooseDialog object:

     Select()

„ StandardPeriodEditDialog object:

     Edit()

„ FormatStringWizard object:

     OpenModal()

„ DataCompositionDetailsProcess object:

     ChooseAction()

„ ScheduledJobScheduleDialog object:

     OpenModal()

„ ValueList object:

     CheckItems()

ChooseItem()

„ ManagedForm object:

     ChooseFromMenu()

ChooseFromList()

OpenModal()

6.5. SPECIFICS OF SYSTEM OBJECT BEHAVIOR WITH ENABLED DATA SEPARATION MODE

This section describes specifics of different 1C:Enterprise objects and mechanisms behavior, if the application uses data separation mode.

6.5.1. Changing Separator Values

In the session separator usage and separator, values can be changed by directly changing the session options. Session option values to which a common attribute is referencing (see page 2-898) can be changed anytime according to rights restrictions of the user on behalf of which the attempt to change the session options is made.

Replacing the current separator values, for example, allows you to perform necessary administrative actions when the separated mode is required.

However, we should note that if an infobase is accessed via a web server, changing object values programmatically can be locked with the default.vrd file (for more details see page 2-913).

1C:Enterprise does not guarantee the logical integrity of application data (not infobase data) after session options change, similar to changing session options affecting access restrictions (see page 1-188).

Changing a session option value referenced by at least one separator in the Independent mode in 1C:Enterprise script leads to the following:

„ Object cache is cleared.

„ Reused values are deleted (see page 1-178).

When separator usage and separator values are changed in the session, it is recommended to call the RefreshInterface() method.

6.5.2. Object Numeration

The numerating mechanism works within every unique combination of separator values. Automatic object numeration works for this combination and uniqueness control is implemented.

When a number is determined, the separator values set in the session are used. In this case, if a separator is not used in the session, the value set for the infobase object is used for the separator.

6.5.3. Real-Time Timestamp

Real-time timestamp is separated within every unique combination of independent separators only if there are no documents for which real-time posting is enabled and which are not included in these separators.

For example, there are two independent separators in an application: Subscriber and Organization, and three documents (with enabled real-time posting): ReceiptOfGoods, Invoice and Move. The Organization separator includes the ReceiptOfGoods and Move documents, and the Subscriber separator includes all documents. The real-time timestamp is separated only for the Subscriber separator, since documents exist for the Organization separator that are not separated (the Invoice document).

 

Subscriber

Organization

ReceiptOfGoods

Included

Included

Invoice

Included

Not included

Move

Included

Included

Real-time timestamp separation

Separated

Not separated

6.5.4. Predefined Data

You can use predefined data for objects included in any splitters.

When you first access an object table, predefined data is only created if the session uses all the splitters (including splitters in the Independent and Shared mode) that contain an object with predefined data.

You can create predefined data in a new data area using the InitializePredefinedData() method. The session must use all the splitters that contain objects with predefined data.

Unique identifiers of data items associated with predefined data do not match for data from different areas. In other words, if the Goods catalog has a predefined item named P1 and two areas with codes 165 and 567, the unique identifier of a data item associated with P1 in area 165 is not the same as the unique identifier of a data item associated with P1 in area 567.

6.5.5. Access Rights

Administrative actions that are generally performed with an infobase and a specific data area are regulated with different rules.

„ Administration – this right regulates administrative actions with the whole infobase and regulates user list editing.

„ Data administration – this right regulates administrative actions with data. These actions include:

Viewing event log records and getting filter values without restrictions.

Setting the infobase (data area) time zone (calling the SetInfoBa- seTimeZone() method).

Creating an initial image for the distributed infobase subordinate node (calling the CreateInitialImage method).

Refreshing object numbering (calling the RefreshObjectsNumbering() method).

Executing the StandardSettingsStorageManager object method, if settings of a non-current user are processed.

NOTE

The Administration right requires the Data administration right. When an infobase user list is checked with the Administration right, it considers only users without any separators.

For common attributes with enabled data separation, default rights are not set, even if the Set rights for attributes and tabular sections by default checkbox is checked for the form.

6.5.6. Users

When an infobase user is created (the InfoBaseUser object), you can specify separator values for the user.

The DataSeparation property of the InfoBaseUser object is used for this purpose. This property stores a structure with the following specifics:

„ The structure element key contains the name of the separator (as it is set in the Designer).

„ The structure element value contains a string representation of the separator value. For details about generating a string representation of a separator value, see page 2-911.

If a structure includes a record with a separator name, this separator value is set for the user.

The DataSeparation property value determines:

„ Username uniqueness space, if the separator separates authentication (see page 2-900).

„ User list separation, if the separator separates users (see page 2-899).

„ Initial separator values setting of a user session for any separator defined in the configuration (see page 2-910).

6.5.7. Exchange Plans

From an exchange plan point of view, any separator that includes an exchange plan is considered as being in the Independent and Shared mode. This ensures uniqueness of exchange plan element references, including those elements that describe predefined nodes in every data area (the ThisNode() method of the exchange plan manager).

When changes are registered, system behavior depends on the following factors:

„ Is the exchange plan separated or not?

„ Is the registered object separated by all exchange plan separators or not?

„ Is at least one separator that includes the exchange plan used in the current session?

The table below describes automatic change registration depending on the factors stated above:

Exchange Plan

Metadata object is separated by all exchange plan separators

At least one exchange plan separator is used

Automatic registration

Not separated

 

 

All nodes

Separated

No

No

All nodes

Separated

No

Yes

1.

Separated

Yes

No

2.

Separated

Yes

Yes

2.

In this table:

1.     An exception is raised when the receiver node list is automatically populated. If an exchange plan includes at least one separator that does not include a metadata object with autoregistration enabled for this exchange plan, when the database configuration is updated a warning is shown saying that the configuration object is not included in the exchange plan separator.

2.     When the receiver node list is automatically populated, a data area is used which is defined by a set of separators, each of which separates both the exchange plan and the metadata object. If not every separator that includes both the exchange plan and the object for which changes are registered is used, these object separator values are used for missing separators. If in the process of change registration it is found that separator values are changed:

For data area exchange plan nodes defined by the "old" combination of separator values, data object deletion is registered.

For data area exchange plan nodes defined by the "new" combination of separator values, data object modification is registered.

Configuration modification is registered for all nodes and all exchange plans regardless of their separation by any separator (only for exchange plans with a checked Distributed infobase checkbox).

6.5.8. Functional Options

If a configuration object used to store the functional option value is included in separators, the functional option value is received as follows:

„ If at least one independent separator that separates the configuration object used to store a functional option value is not set, the value of the functional option stored in a Boolean-type attribute will be set to True, and for other types of attributes an exception is raised.

„ If all the independent separators are used and at least one separator with the Independent and Shared mode enabled is not used, the value of the functional option stored in a Boolean-type attribute will be determined by OR-ing all the values with unspecified separator values; for other types of attributes an exception is raised.

„ Only those separators are analyzed that include a configuration object storing a functional option value.

6.5.9. Scheduled Jobs

A scheduled job can be included in a separator.

A scheduled job is started with separator values set for this job using the DataSeparation property of the ScheduledJob object. This property can also be used to get a set of separators corresponding to the session where the scheduled job is started (only values of separators with the Independent and Shared mode enabled are available, see page 2-897).

For the ScheduledJob object you can change the DataSeparation property by general rules, except predefined scheduled jobs for which the DataSeparation property can't be changed. You can change a scheduled job from a session that uses only separators that separate that scheduled job.

When scheduled jobs are received (by a unique ID or a scheduled job list), the filter is implicitly set by separators according to the separator values set in the current session. Based on a separator value, different scheduled job sets are available:

„  The Independent mode separator.

     The separator is used – only those scheduled jobs are available for which separator values match current session separator values.

The separator is not used – there are no available scheduled jobs.

„  The Independent and Shared mode separator:

     If the separator is used – only scheduled jobs with separator values matching separator values in the current session are available.

If the separator is not used – scheduled jobs with random separator values and jobs with no separator are available.

If a scheduled job is marked in the Designer, when 1C:Enterprise is first enabled with a new combination of separators, a list of scheduled jobs is created with the current combination of separator values and separator usage. If a separator is not used in this session and a scheduled job is included in this separator, the corresponding scheduled job property will be set to the default value for the separator type and separator usage will be enabled.

TIP

Creating separated scheduled jobs that are frequently executed with a large number of data areas is not recommended. Rather, creating a non-separated scheduled job that will process different separator values on its own is advised.

6.5.10. Background Jobs

A background job is started with separator values corresponding to the session from which the background job is started. When a background job is running (or after it is completed) you can get separator values using the DataSeparation object of the BackgroundObject (only the values of separators with the Independent and Shared mode enabled are available, see page 2-897).

When background jobs are received (by a unique ID or a background job list), the filter is implicitly set by separators according to separator values set in the current session. Based on a separator value, different background job sets are available:

„ The Independent mode separator: only those background jobs are available that were started from sessions with the same separator usage and separator values as the current session's.

„ The Independent and Shared mode separator: only those background jobs are available that were started from sessions with the same separator values as are used in the current session. Unused separators are not considered.

NOTE

In a file mode infobase a background job is running not with a set of separators set in the session where the background job was started, but rather with a set of separators of the session where the ProcessJobs() global context method is executed (see page 2-831).

6.5.11. Web Services

When a web service is called, separator values can be specified similar to the web client (see page 2-912).

6.5.12. Constants

If all separators that include constants are used in a session, you can use constants in the query language using the Constants table (similar to 1C:Enterprise 8.2.13 and earlier versions).

The ConstantValueManager object and the Constant table have fields corresponding to splitters in the Independent and Shared mode.

6.5.13. Registers

An Independent and Shared mode separator acts in a register as a dimension that logically precedes dimensions set by the application developer.

One recordset can only contain records with the same separator values set.

6.5.13.1. Information Registers

Separators are not included in the main information register filter.

Filter items corresponding to separators that include an information register can be added to the Filter property of the information register recordset.

Record uniqueness is checked within the data area corresponding to the current unique combination of separation values.

When you call the Read() method for a set of records, remember the following:

„ You do not need to set separator values in a record set filter if the current session uses all separators that contain a register;

„ If the separator values in the record set filter are set to values that do not match the current session values, the method execution returns an empty set of records;

„ If the values for separators that are not used in the current session are not set in the record set filter, the method execution returns a set of records with no filtering according to the values of these separators.

When you call the Read() method for the record manager, remember the following:

„ You do not need to set separator values in the record manager if the current session uses all separators that contain a register;

„ If the separator values in the record manager are set to values that do not match current session values, the method execution returns an empty record;

„ If the values for separators that are not used in the current session are not set in the record manager, the method execution returns an empty record.

When the Select(), Get(), GetFirst(), GetLast(), SlcieFirst() and SliceLast() methods of the register manager are called, you should note the following:

„ If the Filter property of these methods has a separator value passed as the parameter for the separator used in the session, and this value should match the separator value; otherwise an exception is raised.

„ When the Get() method is called, the Filter parameter should specify the values of all the separators not used in the current session.

6.5.13.2. Accumulation and Accounting Registers

Register parameters (totals separation flag, totals usage flag, etc.) are separated and stored for each data area. Totals settings can be received only for a session that uses all the values of separators that include the register.

When separators are deleted or their types are modified, the records are merged in the register parameter tables by new combinations of defined separators during the database configuration update.

Recalculate totals operation (the RecalcTotals() and RecalcTotalsForPeriod() methods) and recalculate present totals (the RecalcPresentTotals() method) can be executed with any usage state of separators that include the corresponding register. Totals are recalculated within a data area defined by the current values of used separators.

Accounting Register

When accounting registers and charts of accounts are edited, you should note the following:

„ Contents of independent separators that include charts of accounts and the related accounting register should be identical.

„ The accounting register should be included in all Independent and Sharedmode separators that include a chart of accounts related to this register.

When a chart of accounts element is written, if the accounting settings that affect accounting registers movement are changed, the system checks whether the accounting register separators that are not included in the chart of accounts in the session are used in the Independent and Shared mode.

When the accounting register recordset is written, the system checks that all accounts used in the recordset have separator values identical to recordset separator values.

Accumulation Register Aggregates

Aggregate setting is separable and stored for every data area.

You should note the following when working with aggregates:

„ The following methods can be called only in a session where all separators that include the register are used.

     GetAggregatesMode(),

GetAggregatesUsing(),

GetAggregates(), SetAggregatesMode(),

SetAggregatesUsing().

„ The following methods can be called in any case:

     DetermineOptimalAggregates(). Executed for the data area defined by used separator values.

RebuildAggregatesUsing(). If all the separators that include the register are used in the session, the method is executed only for a specific data area. Otherwise, similar settings (contents and periodicity) of aggregates usage for separators used and all value combinations of unused separators are set.

UpdateAggregates(), ClearAggregates(), AggregatesIsFilled().

If all separators that include the register are used in the session, methods are executed only for a specific area; otherwise, they are executed for every data area within separator values used.

If a separator is in the Independent and Shared mode and it is not used in the session, you can use aggregates, except for the following scenarios:

„ If the totals mode is enabled for some separator values.

„ If aggregates usage is disabled for some separator values.

„ If different minimal periodicity of used aggregates is set for different separator values. If the RebuildAggregatesUsing() method is called in the nonseparated mode, minimal periodicity of used aggregates is the same.

„ If for different separator values used aggregate sets are not overlapping. If the RebuildAggregatesUsing() method is called when separators are not used, the sets of the used aggregates are the same.

„ For queries in a transaction – if for some separator values the aggregates update process is not completed and it is in the stage of data migration from a buffer to an aggregate.

6.5.13.3. Calculation Registers

When the schedule data virtual table is received, the calculation register records and information register job schedule records are mapped not only by calculation register attributes with the filled Link to schedule property, but also by Independent and Shared-mode separators that are common separators for the information register and the calculation register.

When a basic data virtual table is received, calculation register records are mapped not only by fields passed as virtual table parameters, but also by Independent and Shared-mode separators that are common separators for the information register and the calculation register.

When an actual validity period is calculated, the validity period between displacing calculation types is separated using separator value matches (in the Independent and Shared mode).

Also note the following:

„ When a calculation register recordset is written, separator value matching (the Independent and Shared mode) is not controlled in calculation register records and this record calculation type.

„ When a calculation type is written, separator value matching (the Independent and Shared mode) is not controlled in the calculation type and all calculation register records with this type of calculation.

„ Separator value matching (the Independent and Shared mode) is not controlled in the calculation type and those calculation types that are included in the tabular section of displacing, base and leading calculation types.

Recalculations

Recalculations are automatically included in the same set of separators as the corresponding calculation registers. When recalculations are written, values of separators set for the corresponding calculation register records are used.

6.5.14. Document Sequence

In the Independent and Shared mode, the separator acts as a tool of calculation for a sequence.

A document sequence is separated only in the following scenarios:

„ All documents and registers included in the sequence are separated.

„ Documents and registers included in the sequence are separated with the same set of separators.

The Filter parameter of the SetBound() and Validate() methods is not required.

If the Sequence Filling property of a document included in the sequence is set to Fill automatically, sequence record common attribute values will be set to values corresponding to the document generating this record.

6.5.15. Infobase Options

The infobase time zone is separated by independent separators. If not all separators are used, an attempt to set or get the infobase time zone raises an exception. Otherwise, the timezone value in the separator values slice is used.

Other sessions are notified of any time zone change within 20 seconds after the change. The exclusive infobase access mode is not required if the time zone is set in the session that uses at least one separator.

The SetInfoBaseTimeZone() method requires an exclusive area lock to be set if the current session does not use a separator.

6.5.16. Session List

The session list will include the session where separator values match the values of the current session (from which the list is received using the GetInfoBaseSessions() method). In this session, the list user names (and computer names) are not available if the user does not belong to the data area available for the current session. For example, the Subscriber separator exists in an infobase (the Number type). For Johnson, the separator value is set to 5. If the application changes the Subscriber separator value for any other value, user names are not available in the session list.

6.5.17. Connection List

Only if no separators are used in the current session will a connection list (received using the GetInfoBaseConnections() method) not be empty.

6.5.18. The Event Log

6.5.18.1. Visual Representation

If the event log is opened in a session with at least one unused separator, the Session data split field will be added to the following forms:

„ Event log list form

„ Event log list filter setting form

„ Event log record form

Separator name representation is defined as follows:

„ For an existing separator – its representation.

„ For a renamed separator, i.e., a separator whose name was changed after related records were added to the log – current separator representation.

„ For a deleted separator – the last name of the deleted separator appended with white spaces before upper case letters (but not before the first upper case letter). In this case upper case letters are converted to lower case letters (except for the first letter in the separator name).

6.5.18.2. Filter

When the event log is generated (to view the log or export it using the UnloadEventLog() method), filtering is always implemented for separators that are used in the current session. This filter (forced filter) can't be disabled or changed. If the event log is generated within the session where the separator is conditionally disabled, the filter by this separator is also disabled.

For separators that are not used in the current session, filter values can be set by the user. In this case the forced filter and user filter by separator values are added with the AND operation.

When filter values for the User and Computer fields are received (using the GetEventLogFilterValues() method), the result is generated as follows:

„ The separator is used – field values are returned from log records that were registered for the current separation value.

„ The separator is not used – all field values registered by the event log are returned.

When event log records are received programmatically (using the GetEventLogFilterValues() method), a filter is generated by adding the DataSessionSeparation element of the Structure-type to the filter structure. Every structure element contains a separator name as the key, and a set of separator values that are used to filter event log records as the value. If the DataSessionSeparation structure contains multiple elements, a record will match the filter, if it matches all values set in the structure (the AND filter).

This set can be specified using a structure (in this case the records are filtered by one value) or using a structure array (in this case the filter is specified with a set of values).

A structure used for a filter contains the following elements:

„ Using (Boolean type). Default value – True. Sets using a common attribute separating data. If the value is set to False, the Value element is ignored and can be omitted. Thus you can filter log records for which this common attribute is not set.

„ Value (arbitrary type). Common attribute value, default value – Undefined.

If a structure array is specified in the SessionDataSeparation structure element, an event log record will match this condition, if it matches at least one value (the OR filter).

Consider the following example.

Two separators are set in an application:

„ Subscriber, Number type.

„ Branch, Number type.

Example 1:

„ Type: Structure.

     Key: Subscriber, value: Structure.

□ Item 1: key: Using, value: True.

□ Item 2: key: Value, value: 1.

Key: Branch, value: Structure:

□ Item 1: key: Using, value: False.

In this case the event log records that simultaneously fulfill the following conditions are filtered:

„ The Subscriber separator is used and set to 1.

„ The Branch separator is not used.

Example 2:

„ Type: Structure.

     Key: Subscriber, value: Array.

□ Item 1: Structure.

§  Item 1: key: Using, value: True.

§  Item 2: key: Value, value: 1.

□ Item 2: Structure.

§  Item 1: key: Using, value: True.

§  Item 2: key: Value, value: 5.

Key: Branch, value: Structure:

□ Item 1: key: Using, value: True.

□ Item 2: key: Value, value: 8215.

In this case event log records that simultaneously fulfill the following conditions are filtered:

„ The Subscriber separator is used and can accept values from 1 to 5.

„ The Branch separator is used and can accept 8215 value.

6.5.18.3. Getting Event Log Records

When the event log is unloaded (to a value table or an XML document) the following columns are added to the corresponding data structure:

„ SessionDataSeparation, Structure type, where the structure key is the separator name and the structure value is the separator value.

„ SessionDataSeparationRepresentation, Array type, containing the <Separator Representation>: <Separator Value Representation> strings.

These columns are added only if the current session has at least one separator that is not used in this session. Data in the SessionDataSeparation and SessionDataSeparationRepresentation columns contain information only for separators not used.

For example, two separators exist in an application: „ Subscriber, „ Branch.

If both separators are used in the session, unloaded data will not have the SessionDataSeparation and SessionDataSeparationRepresenta-

tion columns. If only the Subscriber separator is not used in the session, the SessionDataSeparation and SessionDataSeparationRepresentation columns data will contain only information for the Subscriber separator, and for the Branch separator there will be no information.

Separator name representation is defined as follows:

„ For an existing separator – its representation.

„ For a renamed separator, i.e., a separator whose name was changed after related records were added to the log – current separator representation.

„ For a deleted separator – the last name of the deleted separator appended with white spaces before upper case letters (but not before the first upper case letter). In this case upper case letters are converted to lower case letter (except for the first letter in the separator name).

The GetEventLogFilterValues() method is used to get a set of acceptable values for common attributes separating data.

You need to specify the SessionDataSeparation string as the first method parameter to get a set of common attributes separating data.

In a structure returned by the method, a set of common attributes is written to an item with the SessionDataSeparation key. Item value is a match, where:

„ Key is the common attribute name,

„ Value is the common attribute representation.

To get a set of separator values you need to specify the SessionDataSeparation.<Common attribute name> string in the first method parameter, where <Common attribute name> is the name of the common attribute (see above).

In a structure returned by the method, a set of acceptable values of the common attributes is written to an item with the SessionDataSeparation key. Item value is a match, where:

„ Key – common attribute name,

„ ValueMatch-type value, where:

Key is the common attribute value,

Value is the common attribute value representation.

6.5.18.4. Other

If the user is not available in the current session (belongs to another data area, is deleted, etc.), when you view the log, unload it and use the filter setting dialog this user is shown as User name <not found>.

6.5.19. Settings and Favorites

Settings are stored in a slice of a unique combination of separator values and user names. Different users with the same name are accepted as identical. A disabled separator represents a single value, for which settings are also stored.

When separator values are changed in the process of system operation, new separator content settings are not automatically read. For this purpose you need to close and reopen the form whose settings need to be read.

When an infobase is restructured (after the separator contents change) the following actions are performed:

„ When a separator is added, it is considered that all settings previously set in a database were written in a situation when a new separator is used and its value is the default value of the added common attribute type.

„ If when a separator is added, several settings are found that were saved for identical configuration objects and different separator values, only those settings will be saved that were saved for a minimal value of the deleted separator. A warning is shown when this situation occurs in restructuring.

Work with user favorites follows the rules stated above.

6.5.20. History

User actions history is stored in a slice of a unique combination of separator values and user names. Different users with the same name are not distinctive. A disabled separator represents a single value, for which history is also stored.

When an infobase is restructured (after the separator contents change) the following actions are performed:

„ When a separator is added, it is considered that all action history previously set in a database was written in a situation when a new separator is used and its value is the default value of the added common attribute type.

„ History is cleared when a separator is deleted, so every unique value combination of the remaining separators never contains more than 200 history records.

6.5.21. Queries

If an object is included in a separator and a data query uses the connection with its object table, you can't use the object tabular section in the connection condition (the UNTIL section).

Please note that performance of queries that are processed slowly (due to the large number of connections) in a system without separators will be even lower if the system contains over two separators or a separator of the String type. Therefore, try to avoid using multiple connections in such systems.

6.5.22. Managed Transaction Locks

When the 1C:Enterprise script locks something without specifying any fields, the whole space of any separators used is locked.

Lock can be set in 1C:Enterprise script with an explicitly specified separator only for the Independent and Shared-mode separators, and only for register dimension spaces (not recordsets).

If an object is written with separator values equal to the default values of the corresponding types and these separators are used in the current session, lock is set by the separator values set in the session.

If a lock is set by a reference value, the lock space is defined by these values and the values of the independent separators used. Thus, simultaneous lock by a reference value from the session where an Independent and Shared-mode separator is used and from the other session, in which the same separator is used, is not available.

If a session imposes exclusive access to certain areas, any attempt to set managed locks for the same areas (in the same session) are ignored.

6.5.23. Exclusive mode

The SetExclusiveMode() method works with an area described by the separator used in this session. So, a single infobase can simultaneously have multiple areas with the exclusive mode set (with regard to the restrictions described below). If a session uses no separators, the exclusive mode is set for the entire database rather than just for an area of it.

Exclusive mode for an area means that no other session can lock the same area or any of its nested areas, and no other session can set an exclusive mode for any enveloping area. Area A1 is a nested area of area A2 if there is a separator that is used in area A2 and is not used in area A1, while separators used in both area A1 and area A2 have the same values. An enveloping area is defined similarly.

When you move from one area to another, the list of areas with exclusive access set by the current session does not change.

Exclusive mode set for a data area prevents you from doing the following:

„ Creating new sessions for an area and its nested areas

„ Modifying area data from enveloping areas

„ Setting exclusive mode in enveloping areas

Please note that the restrictions described above mean that the entire infobase may be seen as an enveloping area for any data area.

6.5.24. Deleting Marked Objects

The FindMarkedForDeletion() method finds all objects marked for deletion available in the current session.

When you try to delete objects (the DeleteObjects() method) with reference integrity control, this control is implemented among the objects that are available in the current session according to set separators. Situations are possible when there are references to deleted objects not available within the current session (for example, from another data area). In this case the application developer and user deleting the objects is responsible for deleting these objects.

TIP

It is recommended to restrict object deletion in applications (for example, deleting non-separated objects in separated sessions) using configuration tools (access rights, etc.)

6.5.25. Full-text search

In applications using separators, the full-text search index (as a set of service files) is common for all infobase separator values. The index is updated for all separator values and it can be updated only in a session where separators are not used. Fulltext search index update is not supported if the session uses at least one separator.

All non-separated objects and separated objects for which the following conditions are met will be used for search:

„ Separator in the Independent mode:

     If the separator is used – the search returns objects if their separator value matches the value set for the session.

If the separator is not used – separated objects are not returned by the search.

„ Separator in the Independent and Shared mode:

     If the separator is used – the search returns objects if their separator value matches the value set for the session.

If the separator is not used – all separated objects are returned by the search.

If all application separators are used in the session, the information search time is equal to the search time in an infobase without separators similar to data area characteristics. If not all application separators are used in the session, the search can take longer than in an infobase without data separation similar to the data area in set separators.

TIP

Scheduled jobs used to update and merge the full-text search index should be made non-separated.

Since the full-text search index is the same for the whole infobase (and not for every separator combination), the IndexTrue method can return True, even if there were no changes in the current session that can be included in the index. Such changes can be applied in a session with other separator values.

The UpdateIndex(), ClearIndex(), SetFullTextMode() methods can be used only when the session does not use any separator. Otherwise, an exception is raised.

6.6. RUNNING THE CLIENT APPLICATION IN LINUX

The client application run under Linux OS has some specific features and restrictions:

„ The system does not support COM-based technology nor any of the capabilities associated with it, including:

working with the COMObject object;

running the 1C:Enterprise client in the Automation server mode; external components created through the COM-based technology.

„ The administration console for the 1C:Enterprise server cluster is not supported. Administration can be performed via the administration server (ras) and the administration utility (rac).

„ User authentication through the operating system tools is not supported;

„ The Mail object is not supported. Instead, you can run the default mailing application using the RunApp() function and passing a URL based on the mailto: scheme (RFC 2368, http://www.ietf.org/rfc/rfc2368) as the function parameter.

„ The installation of multiple application versions on one computer is not supported and automatic "selection" of the system version to work with the infobase is not possible.

„ The use of Windows metafiles (WMF, EMF) is not supported.

„ When developing application solutions, remember that the HTMLDocu- mentField control (in ordinary mode) and the form field of the HTML document field type (in managed mode) are created on the basis of the WebKit library instead of the Internet Explorer library. You should therefore note that the appearance and the object model of the HTML document (DOM model) that can be accessed via the HTMLDocumentField.Document property may differ from those in the client application under Windows.

6.7. SPECIFICS OF MOBILE APPLICATION OPERATIONS

When you develop a mobile application, the following configuration objects and system mechanisms are supported:

„ Constants

„ Catalogs

„ Documents

„ Document journals

„ Accumulation registers (except totals split and aggregate mode)

„ Information registers

„ Data processors

„ Enumerations

„ Session parameters

„ Exchange plans (except exchange plans with the Distributed infobase attribute set)

„ Event subscriptions

„ Dynamic list (with limitations)

„ Web service use (with Web service creation unavailable in a mobile applied solution)

„ Common pictures

„ Common commands and command groups

„ Common templates

„ Common modules

„ Common forms

„ Data composition system setting objects (without user interface)

„ Conditional appearance

„ XDTO

„ Languages

The following mechanisms and configuration objects are not supported:

„ Taxi interface

„ Accounting mechanisms

„ Periodic calculation mechanisms

„ Mechanisms of business processes and tasks

„ Data composition system

„ Mechanisms of applied solution debugging

„ Functional options

„ Common attribute mechanism

„ Access rights, roles, data access restrictions

„ Managed locks

„ Use of external data sources

„ Automated testing mechanism

„ Dragging mechanism

„ Subsystems

„ Infobase users

„ Full-text search

„ Standard functions

„ Ordinary interface

„ Some managed form items

„ Extended editing in form items

„ Custom form settings

„ Saving and restoring form data in settings

„ Information panel, user work history and notifications (ShowUserNotification() method)

„ The display of the long-term process state (State() method)

„ Printing of spreadsheet document

„ Help system

„ Features and modifications implemented in version 8.2.16 and earlier are not supported in the mobile platform

Some configuration objects and mechanisms have certain operation peculiarities:

„ iOS does not support the Execute() operator and the Eval() function.

„ The start page can only display a single form. If the start page settings specify multiple forms, the platform uses the first form in the left-hand (or only) column of the start page work area. If desktop visibility is disabled for the form, no form is displayed by the system.

If the start page work area on a mobile device has no form (for whatever reason), the main application menu opens immediately upon application launch.

„ iOS (up to version 5.x) only supports password input using the Latin alphabet and digits. iOS 6 supports the use of national alphabet characters in passwords. If you need to ensure compatibility between various OS versions, we recommend you enter user passwords using digits and the Latin alphabet only.

You should also remember that supported objects do not have the same capabilities as they do in applied solutions for desktop computers. To define the accessibility of a method or property in the mobile platform, use the Availability section of the Syntax Assistant.

Leave a Reply

Your email address will not be published. Required fields are marked *

1C:Enterprise Developer's Community