Приложение 7. Особенности поведения системы в различных режимах
страницаПриложение 7. Особенности поведения системы в различных режимах
7.1. Особенности режима низкой скорости соединения
При функционировании в режиме низкой скорости соединения имеется ряд особенностей поведения системы, которые перечислены ниже:
● Формы начальной страницы автоматически не отображаются. Для отображения рабочего стола следует нажать гиперссылку Показать рабочий стол, расположенную в левом верхнем углу рабочей области рабочего стола. В интерфейсе Такси начальная страница отображается сразу.
● При создании формы происходит получение представлений ссылочных данных формы (не делается дополнительного вызова сервера для получения представлений после открытия формы).
● При создании формы происходит получение значений данных формы «через точку», отображаемых элементами формы (не делается дополнительного вызова сервера для получения этих значений после открытия формы).
● Оповещение сервера о закрытии формы (а также снятие блокировки с объекта, если он заблокирован) происходит в следующих случаях:
● получение формы с сервера с помощью методов ОткрытьФорму(), ПолучитьФорму();
● вызов серверных (контекстных и внеконтекстных) методов формы;
● закрытие 20 форм;
● система находится в состоянии ожидания более 20 секунд;
● при выполнении следующих команд динамического списка:
● удаление элемента;
● пометка на удаление элемента;
● проведение или отмена проведения документа;
● перенос элемента справочника в другую группу.
● Настройки сохраняются только в том случае, если они были изменены, и не сразу при закрытии формы, а отложено – при следующем открытии любой формы, или при накоплении 20 отложено сохраняемых настроек, или по прошествии 20 минут (при бездействии системы), или при закрытии приложения.
● Клиентское приложение не получает и не отображает картинки панели разделов.
● В поле ввода не выполняется формирование списка выбора во время ожидания в процессе ввода по строке.
● Для списков быстрого выбора и списков ввода по строке формируется специальный кеш данных. Данные кеша сохраняются на время сеанса. Для каждого типа объектов хранится не более 20 последних списков. В кеше может храниться не более 200 списков.
Каждые 20 минут кеш очищается от устаревших данных, относящихся к объектам, по которым отображаются изменения на стороне клиента в этом сеансе.
Повторная операция выбора или ввода по строке с теми же параметрами, без перехода в другое поле, приводит к новому запросу данных с сервера.
● В режиме нормальной скорости соединения, поиск в динамическом списке (см. здесь) выполняется в процессе набора, со стандартной задержкой. В режиме медленной скорости соединения поиск выполняется после того, как строка поиска теряет фокус ввода.
7.2. Особенности режима совместимости
Ряд механизмов системы имеют различное поведение, которое зависит от состояния свойства конфигурации Режим совместимости. В данном разделе перечислены такие различия в поведении.
● Свойство конфигурации Основной режим запуска не может быть установлено в значение Управляемое приложение одновременно с установкой свойства конфигурации Режим совместимости в значение Версия 8.1. Проверка выполняется при обновлении конфигурации базы данных.
● В режиме совместимости с версией 8.1 для объектов метаданных, которые могли принадлежать подсистемам, свойство Подсистемы доступно из встроенного языка. Также в режиме совместимости с версией 8.1 доступно свойство конфигурации Состав, которое заполняется ссылками на объекты, принадлежащие корневому элементу дерева подсистем. При выключении режима совместимости с версией 8.1 свойство конфигурации Состав будет очищено и станет недоступным в панели свойств конфигурации.
● В обычных формах заполнение новых объектов происходит аналогично версии 8.1, т. е. обработчик заполнения вызывается только при вводе на основании и вызове метода Заполнить().
● В объектах метаданных метод ПроверитьЗаполнение() становится недоступным, автоматическая проверка заполнения не выполняется.
● Вызов справки из формы выполняется аналогично версии 8.1, т. е. выдается диалог выбора раздела справки, если для данной формы отсутствует справочная информация.
● Таблицы журналов документов не содержат виртуальное поле Тип.
● В конструкторе запроса в списке таблицы информационной базы отображаются таблицы и поля, на которые у текущего пользователя отсутствует право просмотра.
● Система компоновки данных не проверяет интерактивные права на таблицы.
● Картинки, выбранные из библиотеки картинок во внешний отчет или обработку, конвертируются во внешние картинки.
● Доступно свойство Тип объектов ДоступноеПолеКомпоновкиДанных, ДоступноеПолеОтбораКомпоновкиДанных и ДоступныйПараметрКомпоновкиДанных.
● Недоступно свойство ВерсияДанных для справочников, документов, планов видов характеристик, планов счетов, планов видов расчетов, планов обмена, бизнес-процессов и задач. Ограничения доступа к данным для поля ВерсияДанных проверяются на основе ограничений, установленных на поле Ссылка.
● Установка прав ИнтерактивноеДобавление, ИнтерактивноеУдаление, ИнтерактивнаяПометкаУдаления, ИнтерактивноеСнятиеПометкиУдаления, ИнтерактивноеУдалениеПомеченных, ИнтерактивноеПроведение, ИнтерактивноеПроведениеНеОперативное, ИнтерактивнаяОтменаПроведения, ИнтерактивноеИзменениеПроведенных, ИнтерактивныйСтарт, ИнтерактивнаяАктивация, ИнтерактивноеВыполнение не связана с установкой права Редактирование.
● При выгрузке файлов конфигурации модуль обычного приложения выгружается в файл Конфигурация.МодульПриложения.txt.
● Форматирование значений типов Число, Дата и Булево происходит в соответствии с параметрами, заданными в региональных настройках информационной базы.
● В диалоге выбора цвета веб-цвета упорядочены по английским названиям.
● Свойствам табличного документа Вывод и ОриентацияСтраницы можно присваивать любые значения. При этом значения с неподходящим типом игнорируются.
● Для интерактивного выбора доступны картинки ДокументОбъект, ПланВидовХарактеристикОбъект, РегламентныеЗадания, СправочникОбъект, БизнесПроцессОбъект, ЗадачаОбъект, ПланВидовРасчетаОбъект, ПланОбменаОбъект, ПланСчетовОбъект, РегистрСведенийЗапись, ВыбратьИзСписка, ДобавитьЭлементСписка, НоваяГруппа, ИзменитьЭлементСписка, УстановитьПометкуУдаленияЭлементаСписка, УдалитьЭлементСпискаНепосредственно, УдалитьЭлементСписка.
● Вид сравнения Содержит системы компоновки данных считает символы _, % и [ как специальные символы.
● Операция языка запросов ВЫРАЗИТЬ возвращает строку фиксированной длины (с концевыми пробелами) при приведении к типу Строка.
● Настройки параметров печати у отдельных табличных документов (объектов) не различаются и меняются одновременно (даже если совпадает ключ параметров печати).
● Запрос, в котором указано ключевое слово РАЗЛИЧНЫЕ, а в предложении УПОРЯДОЧИТЬ ПО указано выражение, отсутствующее в списке выборки, считается корректным, и при исполнении такого запроса не будет выдана ошибка.
● Поля остатка вложенного запроса во внешнем запросе не считаются полями остатка, и итоги по ним рассчитываются как по обычным полям.
● Размер реквизита метаданных типа Строка фиксированного размера ограничен 1024 символами.
● Для новых регистров накопления и бухгалтерии по умолчанию не устанавливается признак разделения итогов.
● Изменяется представление полных имен модулей в технологической информации (технологический журнал, журнал регистрации и т. д.) – в именах отсутствует конкретизация модуля.
● Проверка значений блокировки на соответствие типу поля блокировки в элементах управляемых блокировок при выполнении метода Заблокировать() выполняется только для первого значения блокировки для каждого элемента.
● В конструкторе формы и конструкторе макета при изменении синонима изменяется имя, а при изменении имени изменяется синоним, если после открытия конструктора не изменялись значения этих полей, созданные автоматически.
● Редактор картинок не поддерживает работу с альфа-каналом. Не происходит преобразования картинок в формат PNG после завершения редактирования.
● Выделяется заголовок активной колонки таблицы в форме.
● Нажатие клавиш Tab или Shift + Tab в таблице формы, не содержащей строк или имеющей режим выделения Строка, приводит к активизации, соответственно, следующей или предыдущей колонки таблицы. Активизация следующего/предыдущего элемента формы выполняется только после достижения крайней колонки таблицы.
● У табличного документа делаются доступными свойства ЦветФонаГруппировки, ЦветТекстаГруппировки, ЦветФонаЗаголовков, ЦветТекстаЗаголовков.
● Если для элемента формы выбрана нестандартная рамка или цвет рамки, а также для элементов Кнопка, Поле ввода и Полоса регулирования выбран нестандартный цвет фона кнопки, то элемент формы отображается заданным цветом и рамка не имеет скруглений.
● Не вызывается обработчик формы ПередЗакрытием, если модальная форма закрывается по тайм-ауту.
● При выгрузке журнала регистрации в XML-формате, в поле UserName выводится полное имя пользователя.
● Пользователь без административных прав может изменять свойство ЗапрещеноИзменятьПароль объекта ПользовательИнформационнойБазы.
● При получении макета на сервере и во внешнем соединении в качестве языка макета устанавливается язык конфигурации по умолчанию.
● Свойство Путь к данным пользовательского поля системы компоновки данных формируется на английском языке.
● При открытии обычной формы записи регистра сведений значение свойства Период устанавливается равным текущей дате, только если это свойство не заполнено и форма записи открывается из формы списка. В остальных случаях свойство не заполняется.
● Изменяется состав таблиц, описывающих регламентные задания:
● Используется режим совместимости – все регламентные задания хранятся в одной таблице.
● Не используется режим совместимости – каждое регламентное задание хранится в отдельной таблице.
● Изменяется состав таблиц, хранящих константы:
● Используется режим совместимости – для хранения констант используется одна таблица. Для регистрации изменений используется также одна таблица.
● Не используется режим совместимости – каждая константа хранится в собственной таблице. Регистрация изменений каждой константы также ведется в собственной таблице.
● Изменяется состав таблиц, хранящих настройки регистров накопления:
● Используется режим совместимости – настройки регистров накопления хранятся в одной таблице.
● Не используется режим совместимости – настройки каждого регистра хранятся в собственной таблице.
● Изменяется состав таблиц, хранящих настройки регистров бухгалтерии:
● Используется режим совместимости – настройки регистров бухгалтерии хранятся в одной таблице.
● Не используется режим совместимости – настройки каждого регистра хранятся в собственной таблице.
● Изменилось включение справки по подсистеме в содержание справочной информации:
● Используется режим совместимости – справка по подсистеме отображалась в содержании справки в том случае, если у какого-либо из объектов, входящих в состав подсистемы, было установлено свойство Включать в содержание справки, а у самой подсистемы это свойство было выключено.
● Не используется режим совместимости – включение справки по подсистеме в содержание справки полностью зависит от состояния свойства подсистемы Включать в содержание справки и не зависит от этого свойства объектов, входящих в состав подсистемы.
● Изменилось количество ресурсов, выводимых в диаграмму системой компоновки данных:
● Используется режим совместимости – в диаграмму выводится только один ресурс (первый).
● Не используется режим совместимости – в диаграмму выводится более одного ресурса.
● Изменена возможность группировки по полям-ресурсам системы компоновки данных:
● Используется режим совместимости – группировка по полям-ресурсам не поддерживается.
● Не используется режим совместимости – возможна группировка по полям-ресурсам.
● Изменена диагностика ключевых значений, идентифицирующих отображаемую строку, для динамического списка с установленным произвольным запросом:
● Используется режим совместимости – ошибки, возникающие при получении данных динамического списка, не отображаются.
● Не используется режим совместимости – если в выборке обнаружены дублирующиеся ключевые значения, то отображается предупреждение и отображение данных становится невозможным.
● Изменена обязательность параметра Период метода менеджера периодического регистра сведений Получить():
● Используется режим совместимости – параметр не является обязательным, и результат работы метода не определен.
● Не используется режим совместимости – параметр является обязательным.
● Изменилось поведение системы при автоматическом определении размера элемента формы в том случае, если в свойствах элемента формы задан размер шрифта, отличный от размера шрифта по умолчанию:
● Используется режим совместимости – размер шрифта элемента не учитывается при расчете размера элемента формы.
● Не используется режим совместимости – размер шрифта элемента учитывается при определении размеров элемента. Изменение шрифта, выполняемое с помощью условного оформления формы или динамического списка, не оказывает влияния на размер элементов формы.
● Изменено текстовое представление стандартного реквизита ВерсияДанных:
● Используется режим совместимости – преставление равно пустой строке.
● Не используется режим совместимости – представлением является строка из 12 пробелов.
● При передаче значения от реквизита к элементу формы изменено обновление текста в поле ввода:
● Используется режим совместимости – обновление происходит всегда, кроме случая, когда в обработчике события АвтоПодбор происходит установка значения того же типа, что и тип имеющегося в поле ввода значения. Свойство ОбновлениеТекстаРедактирования игнорируется.
● Не используется режим совместимости – управление обновлением возможно с помощью свойства поля ввода ОбновлениеТекстаРедактирования и метода ОбновитьТекстРедактирования() расширения формы поля ввода.
● При одновременном использовании методов УстановитьЗначение() и ИспользоватьИзИсточникаДанных() объекта ЭлементБлокировкиДанных:
● Используется режим совместимости – приоритетным является значение, установленное методом ИспользоватьИзИсточникаДанных().
● Не используется режим совместимости – вызывается исключение.
● Изменены ключи объектов, предназначенных для хранения настроек командного интерфейса рабочего стола:
● Используется режим совместимости:
● Для настроек панели навигации используется ключ Подсистема.desktop/ПанельНавигации/НастройкиКомандногоИнтерфейса.
● Для настроек панели действий используется ключ Подсистема.desktop/ПанельДействий/НастройкиКомандногоИнтерфейса.
● Не используется режим совместимости:
● Для настроек панели навигации используется ключ РабочийСтол/ПанельНавигации/НастройкиКомандногоИнтерфейса.
● Для настроек панели действий используется ключ РабочийСтол/ПанельДействий/НастройкиКомандногоИнтерфейса.
● Изменен алгоритм автоматического заполнения списка реквизитов формы, заполнение которых необходимо проверить:
● Используется режим совместимости – реквизиты, отключенные с помощью функциональных опций, попадают в список проверяемых реквизитов.
● Не используется режим совместимости – реквизиты, отключенные с помощью функциональных опций, не попадают в список проверяемых реквизитов.
● Чтение данных для таблиц управляемой формы, связанных с динамическими списками, выполняемое при открытии формы:
● Используется режим совместимости – выполняется чтение для всех таблиц, связанных с динамическими списками, в том числе и для тех, которые не видны пользователю.
● Не используется режим совместимости – чтение выполняется только для таблиц, которые отображаются пользователю при открытии формы.
● Преобразование свойства Имя в источнике данных поля таблицы внешнего источника данных при помещении в SQL-запрос:
● Используется режим совместимости – значение свойства всегда заключается в двойные кавычки, вне зависимости от состава символов в имени.
● Не используется режим совместимости – значение свойства заключается в двойные кавычки только в том случае, если поле содержит спецсимволы и не заключено в одинарные кавычки.
● Определение типа колонки для вычисляемого поля при выводе результата компоновки данных в коллекцию значений:
● Используется режим совместимости – тип колонки определяется автоматически, на основании выражения вычисляемого поля.
● Не используется режим совместимости – в качестве типа значения колонки устанавливается тип значения, указанный для вычисляемого поля. Если тип значения не указан, то тип определяется на основании выражения вычисляемого поля.
● Вывод результатов компоновки данных в коллекцию значений, в случае, когда одно поле компоновки данных попадает в различные группировки:
● Используется режим совместимости – поля различных группировок, ссылающихся на одно поле компоновки данных, попадали в разные колонки коллекции.
● Не используется режим совместимости – поля различных группировок, ссылающихся на одно поле компоновки данных, попадали в разные колонки коллекции.
С версией 8.2.16
● Формирование произвольного представления объекта данных:
● Используется режим совместимости с версией 8.2.16 – не поддерживается формирование произвольных представлений.
● Не используется режим совместимости – поддерживается формирование произвольных представлений.
● Вывод дополнительных данных для иерархических записей:
● Используется режим совместимости с версией 8.2.16 – используются данные для иерархической записи.
● Не используется режим совместимости – используются данные для детальных записей.
С версией 8.3.2
● Получение значения функциональной опции, для которой установлено получение в привилегированном режиме:
● Используется режим совместимости с версией 8.3.2 – в безопасном режиме выдается ошибка в том случае, если отсутствуют права доступа на объект, хранящий значение получаемой функциональной опции.
● Не используется режим совместимости – проверка прав не выполняется.
С версией 8.3.3
● Использование свойства ОсновныеРоли:
● Используется режим совместимости с версией 8.3.3 – допускается включение в свойство только одной роли. При переключении в режим совместимости с версией 8.3.3 проверяется, что в свойстве ОсновныеРоли указана только одна роль.
● Не используется режим совместимости – допускается отмечать несколько ролей.
● Доступные настройки динамического списка, отключенные с помощью функциональных опций:
● Используется режим совместимости с версией 8.3.3 – не удаляются из списка доступных настроек.
● Не используется режим совместимости – удаляются из списка доступных настроек. В некоторых случаях, в случае наличия настроек, ссылающихся на поля, отключенные с помощью функциональных опций, может диагностироваться ошибка Поле не обнаружено.
● Автоматическое имя кнопки, связанной с командой Отмена расширения управляемой формы отчета, управляемой формы варианта отчета и управляемой формы настроек:
● Используется режим совместимости с версией 8.3.3 – для кнопки назначалось имя ФормаОтмена (FormCancel).
● Не используется режим совместимости – для кнопки назначается имя ФормаОтменитьРедактирование (FormCancelEdit).
С версией 8.3.4
● Вычисление выражения системы компоновки данных:
● Используется режим совместимости с версией 8.3.4 – вычисление выражения выполняется с правами текущего пользователя.
● Не используется режим совместимости – при вычислении выражения система переключается в безопасный режим (см. здесь).
● Перетаскивание в таблице управляемой формы:
● Используется режим совместимости с версией 8.3.4 – перетаскивание начинается из любой ячейки таблицы. Если ячейка, откуда начинается перетаскивание, доступная – вначале происходит активизация ячейки и потом – собственно перетаскивание. Если ячейка недоступная – выполняется перетаскивание текущей активной ячейки таблицы управляемой формы.
● Не используется режим совместимости – перетаскивание можно осуществить только из доступной ячейки таблицы управляемой формы.
● Генерация макета компоновки данных из предопределенных макетов:
● Используется режим совместимости с версией 8.3.4 – при генерации макета компоновки данных из предопределенных макетов полностью копируются выражения расшифровки.
● Не используется режим совместимости – при генерации макета компоновки данных из предопределенных макетов удаляются выражения расшифровки, которые содержат поля, недоступные по функциональным опциям.
● Параметр Текст условного оформления системы компоновки данных, которое задается для области использования в заголовке полей:
● Используется режим совместимости с версией 8.3.4 – не применяется к заголовкам полей группировки.
● Не используется режим совместимости – применяется к заголовкам полей группировки.
● Поведение параметра вывода системы компоновки данных РасположениеГруппировок:
● Используется режим совместимости с версией 8.3.4 – общий итог группировки не выводился, если параметр системы компоновки данных РасположениеГруппировок, для выбранной группировки, имел значение Конец или Нет.
● Не используется режим совместимости – не влияет на вывод общих итогов.
● Поведение генератора макета компоновки данных для вложенных отчетов:
● Используется режим совместимости с версией 8.3.4 – группировки родительского отчета не учитывались при выводе вложенных отчетов.
● Не используется режим совместимости – для макетов вложенных отчетов системы компоновки данных всегда генерирует свойство ВертикальныйУровень. К значению данного свойства прибавляется уровень родительского отчета, в котором находится вложенный отчет.
● Добавление строк в таблицу формы:
● Используется режим совместимости с версией 8.3.4 – строка в таблице автоматически удалялась, если эта строка была добавлена при окончании редактирования предыдущей строки или при нажатии клавиши Стрелка вниз и в том случае, если после окончания добавления эта строка не изменялась интерактивно.
● Не используется режим совместимости – строка в таблице автоматически удаляется, если эта строка была добавлена при окончании редактирования предыдущей строки или при нажатии клавиши Стрелка вниз и в том случае, если после окончания добавления эта строка не изменялась ни программно, ни интерактивно.
● Ограничение максимальной длины значения свойства управляемой формы КлючНазначенияИспользования:
● Используется режим совместимости с версией 8.3.4 – ограничения длины не установлено.
● Не используется режим совместимости – длина значения для данного реквизита ограничена 128 символами.
● Дополнительные параметры методов НайтиПомеченныеНаУдаление(), НайтиПоСсылкам(), УдалитьОбъекты():
● Используется режим совместимости с версией 8.3.4 – дополнительные параметры не используются. Их использование приведет к ошибке времени выполнения.
● Не используется режим совместимости – дополнительные параметры используются.
● Автоматическое формирование ключа настройки отображения формы:
● Используется режим совместимости с версией 8.3.4 – ключ объекта формируется как <Полное имя формы>/НастройкиФормы.
● Не используется режим совместимости – ключ объекта формируется как <Полное имя формы>/<Ключ назначения использования>/НастройкиФормы. Подробнее см. здесь.
● Доступные настройки отчетов и динамических списков:
● Используется режим совместимости с версией 8.3.4 – удаляются элементы настроек, которые содержат ссылки на недоступные поля, отключенные функциональными опциями, недоступные в соответствии с правами доступами.
● Не используется режим совместимости – удаляются элементы настроек, которые содержат ссылки на недоступные поля, отключенные функциональными опциями, недоступные в соответствии с правами доступами или связанные с более несуществующими полями схемы компоновки данных.
● Доступность основного реквизита управляемой формы типа <Вид>Объект и ДинамическийСписок:
● Используется режим совместимости с версией 8.3.4 и ранее – в версии 8.2 основной реквизит формы типа <Вид>Объект не отключался даже если функциональной опцией (любой) был отключен соответствующий объект конфигурации.
В версии 8.3 основной реквизит формы типа <Вид>Объект отключался, если функциональной опцией был отключен соответствующий объект конфигурации. При этом анализировались все функциональные опции.
В предыдущих версиях «1С:Предприятия» основной реквизит типа ДинамическийСписок отключался в том случае, если функциональной опцией был отключен объект конфигурации, который указан в качестве основной таблицы динамического списка. При этом анализировались все функциональные опции.
● Не используется режим совместимости – основной реквизит управляемой формы типа <Вид>Объект (СправочникОбъект, ДокументОбъект и т. д.) будет отключен в том случае, если функциональной опцией отключен соответствующий объект конфигурации.
Основной реквизит управляемой формы типа ДинамическийСписок будет отключен в том случае, если функциональной опцией отключен объект конфигурации, который указан в качестве основной таблицы динамического списка.
В обоих случаях анализируются только те функциональные опции, которые не имеют параметров.
С версией 8.3.5
● Кнопка управляемой формы, связанная с командой:
● Используется режим совместимости с версией 8.3.5 – всегда отображается доступной, вне зависимости от доступности команды.
● Не используется режим совместимости – кнопка становится недоступной, если для текущего пользователя команда, связанная с кнопкой, также недоступна.
● Поведение управляемой формы при невозможности создать источник доступных настроек динамического списка:
● Используется режим совместимости с версией 8.3.5 – при невозможности создать источник доступных настроек компоновки данных для динамического списка, никаких ошибок не генерируется, и работа управляемой формы продолжается так, как будто источник данных динамического списка не содержит ни каких доступных полей. В результате все элементы формы, связанные с данными динамического списка, удаляются с управляемой формы.
● Не используется режим совместимости – при невозможности создать источник доступных настроек динамического списка генерируется исключение и создание формы не происходит.
● Заполнение значений независимых и совместных разделителей при записи набора записей регистра сведений:
● Используется режим совместимости с версией 8.3.5 – значения разделителей, в состав которых входит регистр сведений, всегда заменяются на значения разделителей, установленных в текущем сеансе.
● Не используется режим совместимости – все значения по умолчанию для независимых и совместных разделителей, в состав которых входит регистр сведений, заменяются на значения разделителей, установленных в текущем сеансе.
Если значение разделителя не совпадает со значением по умолчанию для типа разделителя или не равно значению разделителя, установленного в текущем сеансе – генерируется ошибка.
● Поведение системы при работы с объектом xBase в случае возникновения ошибок работы с файлом .dbf:
● Используется режим совместимости с версией 8.3.5 – в случае возникновения ошибки формировались диалоговые окна.
● Не используется режим совместимости – в случае возникновения ошибки генерируется исключение.
● Работа обработчиков ожидания (подключенных с помощью методов ПодключитьОбработчикОжидания()) во время временной блокировки (с помощью команды Временная блокировка или с помощью метода ЗаблокироватьРаботуПользователя()) интерфейса клиентского приложения:
● Используется режим совместимости с версией 8.3.5 – работа обработчиков не зависит от наличия временной блокировки клиентского приложения.
● Не используется режим совместимости – обработчики ожидания не вызываются.
● Применение значения, указанного у включенного параметра условного оформления Текст:
● Используется режим совместимости с версией 8.3.5 – не применялось к полям предопределенных макетов группировок системы компоновки данных.
● Не используется режим совместимости – применяется к полям предопределенных макетов группировок и полей отчетов системы компоновки данных.
● Поведение процессора вывода при выгрузке результата компоновки данных в коллекцию значений при наличии колонок с дублирующимися именами:
● Используется режим совместимости с версией 8.3.5 – уникальность колонок не проверялось, колонки создавались всегда.
● Не используется режим совместимости – проверяется уникальность имени колонки в коллекции. Колонки с повторяющимися именами повторно не создаются.
● Выгрузка результата компоновки данных в коллекцию значений при наличии вложенных отчетов:
● Используется режим совместимости с версией 8.3.5 – выгрузка невозможна. При попытке выполнить выгрузку генерируется исключение.
● Не используется режим совместимости – выгрузка возможна.
● Получение параметров прокси-сервера из переменных окружения в ОС Linux:
● Используется режим совместимости с версией 8.3.5 – переменные среды не использовались при создании объекта ИнтернетПрокси. Если при создании объектов HTTPСоединение и FTPСоединение не были указаны параметры прокси-сервера, при выполнении методов объектов производилась попытка определения параметров прокси-сервера из переменных окружения.
● Не используется режим совместимости – При создании объекта ИнтернетПрокси используются значения переменных окружения ОС http_proxy, https_proxy, ftp_proxy, ftps_proxy, all_proxy в тех случаях, если параметр конструктора ПроксиПоУмолчанию имеет значение Истина и система не может обнаружить файл inetcfg.xml.
Методы объектов HTTPСоединение и FTPСоединение не пытаются определить настройки прокси-сервера, а используются те настройки, которые находятся в свойстве Прокси соответствующего объекта.
● Экспорт примечаний табличного документа в файлы формата Microsoft Excel 2007-2010:
● Используется режим совместимости с версией 8.3.5 – примечания выгружались как рисунки таблицы Excel.
● Не используется режим совместимости – примечания выгружаются как примечания таблицы Excel.
● Получение полей детальных записей в агрегатных функциях для иерархических группировок:
● Используется режим совместимости с версией 8.3.5 – использовались поля иерархического набора данных, если в этом наборе данных доступны соответствующие поля.
● Не используется режим совместимости – используются поля детального набора данных. Для получения внутри агрегатных функций значения иерархической записи можно использовать функцию ВычислитьВыражение().
● Подстановка параметра шаблона ограничения доступа, указанного в комментариях:
● Используется режим совместимости с версией 8.3.5 – заменяется на фактическое значение.
● Не используется режим совместимости – не заменяется.
● Применение механизма условного оформления системы компоновки данных к полям группировок и детальных записей:
● Используется режим совместимости с версией 8.3.5 – при оформлении ячейки, в которую выводится поле родительской группировки, используются выражения полей, полученных для родительской группировки.
● Не используется режим совместимости – при оформлении ячейки, в которую выводится поле родительской группировки, используются выражения полей, полученных для текущей группировки.
● Загрузка свойства расширения таблицы формы для динамического списка Период и свойства Отображение таблицы формы, связанной с динамическим списком, при открытии формы:
● Используется режим совместимости с версией 8.3.5 – свойство расширения таблицы формы для динамического списка Период загружается из пользовательских настроек до выполнения обработчика события управляемой формы ПриСозданииНаСервере.
Свойство Отображение таблицы формы, связанной с динамическим списком, загружается из настроек на клиенте при открытии формы.
● Не используется режим совместимости – загружаются из настроек одновременно с загрузкой пользовательских настроек динамического списка.
● Поведение системы в том случае, если в обработчике события управляемой формы ПриОткрытии параметру Отказ установлено значение Истина:
● Используется режим совместимости с версией 8.3.5 – обработчик события ПриЗакрытии и оповещение, указанное в свойстве управляемой формы ОписаниеОповещенияОЗакрытии:
● В тонком клиенте вызываются;
● В веб-клиенте не вызываются.
● Не используется режим совместимости – не вызывается обработчик события ПриЗакрытии и оповещение, установленное в свойстве управляемой формы ОписаниеОповещенияОЗакрытии.
● История выбора при вводе (см. здесь) для перечислений:
● Используется режим совместимости с версией 8.3.5 – история выбора не отображается и не сохраняется.
● Не используется режим совместимости – отображение и сохранение истории выбора управляется свойством ИсторияВыбораПриВводе.
● Обращение (во встроенных механизмах платформы) к свойствам метода, написанного на встроенном языке, в том случае, если изменяется состав свойств объекта, переданного в качестве параметра этого метода:
● Используется режим совместимости с версией 8.3.5 – обращение выполняется по номеру свойства, определенного в момент начал вызова. Если номер свойства изменяется – обращение не будет выполнено корректно.
● Не используется режим совместимости – обращение выполняется по имени свойства. Если изменяется имя свойства – обращение не будет выполнено корректно.
С версией 8.3.6
● Поведение метода Получить() для объекта типа ХранилищеЗначения:
● Используется режим совместимости с версией 8.3.6 – использование метода в тонком клиенте не приводит к генерации исключения. В этом случае возвращается значение Неопределено. Использование данного метода в веб-клиенте приводит к генерации исключения.
● Не используется режим совместимости – использование метода в тонком клиенте приводит к генерации исключения.
● Поведение функции языка запросов ТипЗначения() с параметром типа Неопределено:
● Используется режим совместимости с версией 8.3.6 – возвращает NULL.
● Не используется режим совместимости – возвращает значение Неопределено.
● Поведение функции ПравоДоступа() для проверки прав на графу журнала:
● Используется режим совместимости с версией 8.3.6 – не выполняется проверка прав на реквизиты, входящие в состав графы журнала. Графа всегда считалась доступной.
● Не используется режим совместимости – право доступа на графу «складывается» из прав доступа на входящие реквизиты. Графа считается недоступной, если недоступен хотя бы один реквизит, входящий в состав графы.
● Определение первого дня недели:
● Используется режим совместимости с версией 8.3.6 – всегда понедельник.
● Не используется режим совместимости – настраивается с помощью свойства Первый день недели в диалоге региональных настроек информационной базы (подробнее см. здесь). Установленный первый день недели учитывается при работе различных механизмов системы (включая язык запросов, систему компоновки данных, представление календаря и т. д.).
● Содержимое списка истории выбора:
● Используется режим совместимости с версией 8.3.6 – пять последних выбранных значений.
● Не используется режим совместимости – не более 7 значений, отбираемых по специальному алгоритму (см. здесь).
● Тип значения объекта, хранящего историю выбора:
● Используется режим совместимости с версией 8.3.6 – объект Массив.
● Не используется режим совместимости – объект НастройкиИсторииВыбора.
● Свойство Макет объекта ТабличныйДокумент:
● Используется режим совместимости с версией 8.3.6 – табличный документ с установленным свойством Макет редактируется в управляемой форме всегда на текущем языке.
● Не используется режим совместимости – табличный документ с установленным свойством Макет редактируется в управляемой форме на нескольких языка. Состав языков, на которых редактируется табличный документ, получается из самого табличного документа.
● Язык отображения табличного документа:
● Используется режим совместимости с версией 8.3.6 – в тонком клиенте табличный документ всегда отображается и редактируется на текущем языке, в веб-клиенте используется свойство КодЯзыка. При редактировании табличного документа устанавливается только строка на текущем языке, строки на других языках теряются.
● Не используется режим совместимости – табличный документ отображается и редактируется на языке, который задан с помощью свойства КодЯзыка. Если значение свойства не задано – отображение и редактирование выполняется на текущем языке. При редактировании изменяются строки только на указанном языке, строки на других языках не изменяются.
● Вывод общих итогов в колонках таблицы системы компоновки данных:
● Используется режим совместимости с версией 8.3.6 – в шапке таблицы системы компоновки данных, в колонке итогов, не отображались заголовки полей ресурсов, расположенных в группах, в том случае если у колонок таблицы установлены макеты группировок.
● Не используется режим совместимости – в колонках общих итогов таблицы системы компоновки данных выводятся заголовки полей ресурсов, расположенных в группах, в случае если у колонок таблицы установлены макеты группировок.
● Автоматическое заполнение доступных полей отбора при наличии вложенного запроса в наборе схемы компоновки данных:
● Используется режим совместимости с версией 8.3.6 – поля вложенного запроса не доступны для установки отбора (кроме параметров виртуальных таблиц).
● Не используется режим совместимости – поля из списка выборки вложенного запроса становятся доступными для отбора, кроме полей, которые в родительском запросе являются параметрами агрегатных функций.
● Тип связи наборов данных в системе компоновки данных:
● Используется режим совместимости с версией 8.3.6 – заменяется на внутреннюю при использовании в отборе поля набора данных, с которым выполняется связь.
● Не используется режим совместимости – заменяется на внутреннюю в том случае, если применяется отбор, который содержит только поля набора данных, с которым выполняется связь. Условия, для которых не были сделаны внутренние связи, добавляются в свойство группировок ОтборЗаписей, в которых задействован хотя бы один из наборов данных, поля которых используются в условиях.
● Поведение системы в том случае, если номер объекта (документа, элемента справочника, плана видов характеристик, бизнес-процесса или задачи) выделялся в транзакции и объект в этой транзакции не был записан:
● Используется режим совместимости с версией 8.3.6 – выделенный номер не использовался повторно в том случае, если установлен режим автонумерации Не освобождать автоматически.
● Не используется режим совместимости – он будет повторно использоваться даже в том случае, если установлен режим автонумерации Не освобождать автоматически, в том числе в ситуации, когда объект в транзакции не записывался.
Режим автонумерации Не освобождать автоматически действует только на номера, которые выданы вне транзакции. Т.е. если номер выдан вне транзакции и код не был использован (объект не был записан), то в режиме Не освобождать автоматически номер не будет переиспользован, а в режим Освобождать автоматически номер будет переиспользован.
С версией 8.3.7
● Итоговое упорядочивание в том случае, если упорядочивание указано у поля набора данных схемы компоновки данных и в настройках компоновки данных:
● Используется режим совместимости с версией 8.3.7 – если у поля набора данных схемы компоновки данных указано выражение упорядочивания, и в настройках компоновки данных указано упорядочивание по этому полю с направлением упорядочивания По убыванию, то направление упорядочивания, указанное в выражении упорядочивания для данного поля заменяется на обратное.
● Не используется режим совместимости – если у поля набора данных схемы компоновки данных указаны выражения упорядочивания, то при упорядочивании по данному полю направление упорядочивания всегда получается из выражения упорядочивания. Направление упорядочивания из настроек для этого поля игнорируется.
● Использование файла cacert.pem для проверки сертификатов серверов при создании HTTPS/FTPS-соединения:
● Используется режим совместимости с версией 8.3.7 – используется файл cacert.pem.
● Не используется режим совместимости – файл cacert.pem не используется. Используется список корневых сертификатов используемой операционной системы.
● Расширения, подключаемые при выполнении фонового задания:
● Используется режим совместимости с версией 8.3.7 – подключаются все расширения, зарегистрированные для текущей информационной базы.
● Не используется режим совместимости – подключаются те же расширения, что и в сеансе, из которого запускается фоновое задание.
● Поведение метода ПакетОтображаемыхДокументов.Напечатать():
● Используется режим совместимости с версией 8.3.7 – каждый документ печатается в отдельном задании.
● Не используется режим совместимости:
● Для ОС Windows:
● создается одно задание на принтер;
● весь пакет выводится в один файл, имя которого запрашивается перед выводом.
● Для ОС Linux:
● если параметры печати всех документов в пакете совпадают – поведение совпадает с поведением в ОС Windows;
● если параметры различаются – каждый документ печатается в отдельном задании принтера.
● Максимальный размер данных, индексируемых полнотекстовым поиском, до первого вызова метода УстановитьМаксимальныйРазмерИндексируемыхДанных():
● Используется режим совместимости с версией 8.3.7 – ограничение не установлено.
● Не используется режим совместимости – 1 Мбайт.
● Применение свойства условного оформления Выделять отрицательные системы компоновки данных:
● Используется режим совместимости с версией 8.3.7 – применяется только, если свойство Использование установлено в значение Истина.
● Не используется режим совместимости – применяется в том случае, когда само свойство установлено в значение Истина и свойство Использование также установлено в значение Истина.
● Расчет типа конструкции языка запросов ВЫБОР:
● Используется режим совместимости с версией 8.3.7 – при расчете игнорируются ветки ТОГДА, в которых находится константное выражение, принимающее значение NULL.
● Не используется режим совместимости – при расчете типа учитываются типы выражений из всех веток ТОГДА.
● Тип результата операции деления (в языке запросов), где делителем является NULL:
● Используется режим совместимости с версией 8.3.7 – не трактуется как число и может выступать в качестве операнда в операции, где числовое значение недопустимо (например, операции AND, OR, NOT).
● Не используется режим совместимости – трактуется как число произвольной разрядности. Результат такой операции не может выступать в качестве операнда в операции, где числовое значение недопустимо (например, операции AND, OR, NOT).
● Преобразование символов, отсутствующих в текущем шрифте, при экспорте табличного документа в формат PDF:
● Используется режим совместимости с версией 8.3.7 – символы, отсутствующие в текущем шрифте, отображаются потерянным символом («квадратиком»).
● Не используется режим совместимости – выполняется подбор шрифта для символов, отсутствующих в текущем шрифте (см. здесь).
● Тип поля запроса и тип параметра запроса в схеме компоновки данных (в запросе вида ВЫБРАТЬ &Параметр КАК Поле):
● Используется режим совместимости с версией 8.3.7 – тип, указанный для параметра схемы компоновки данных, не влияет на тип поля запроса, в котором этот параметр используется.
● Не используется режим совместимости – тип, указанный для параметра в схеме компоновки данных, влияет на тип поля запроса, в котором используется этот параметр.
● Применение элементов условного оформления Текст и Формат к полям макета диаграммы системы компоновки данных:
● Используется режим совместимости с версией 8.3.7 – только в случае, если ранее к этому полю не применялось условное оформление Формат.
● Не используется режим совместимости – вне зависимости от ранее установленного оформления Формат (в т.ч. и взятого из схемы компоновки данных). При этом элемент условного оформления Текст имеет более высокий приоритет, чем элемент условного оформления Формат.
● Использование поля системного перечисления (ссылки на таблицу внешнего источника данных или уникального идентификатора) в операции запроса СГРУППИРОВАТЬ ПО в том случае, если полученное значение не комбинируется с другими типами:
● Используется режим совместимости с версией 8.3.7 – в некоторых случаях группировка по такому полю может не выполняться.
● Не используется режим совместимости – группировка по такому полю выполняется всегда.
● Доступность на стороне клиента (через свойство таблицы ТекущиеДанные и метода ДанныеСтроки()) данных динамического списка, на которые у текущего пользователя отсутствует право Просмотр и установлен флаг Использовать всегда:
● Используется режим совместимости с версией 8.3.7 – данные доступны и заполнены значениями по умолчанию соответствующих типов.
● Не используется режим совместимости – данные отсутствуют и доступ к ним невозможен.
● Работа динамического списка в том случае, если у текущего пользователя отсутствует право Просмотр на ключевое поле динамического списка:
● Используется режим совместимости с версией 8.3.7 – в большинстве случаев работает успешно.
● Не используется режим совместимости – приводит к ошибке нарушения прав доступа.
● Доступность в источнике доступных настроек компоновки данных для динамического списка для отбора, сортировки и группировки следующих полей: дочерние поля полей, являющихся агрегатными функциями языка запросов; дочерние поля полей из других (внешних) источников данных; дочерние поля–характеристики полей табличных частей:
● Используется режим совместимости с версией 8.3.7 – доступны. При установке отбора на такие поля, динамический список мог работать неправильно: не отображать часть или все данные.
● Не используется режим совместимости – недоступны.
● Поиск через строку поиска по ссылочным полям, являющимся агрегатными функциями языка запросов:
● Используется режим совместимости с версией 8.3.7 – поиск пытался выполняться. При этом могли выдаваться ошибки, а в случае если ошибки не выдавались – динамический список мог работать неправильно: не отображать часть или все данные.
● Не используется режим совместимости – не выполняется.
● Доступность для отбора полей основной таблицы (и их дочерних полей) в динамическом списке с заданным произвольным запросом и указанной основной таблицей:
● Используется режим совместимости с версией 8.3.7 – для отбора доступны только поля присутствующие в тексте запроса и стандартные поля (Ссылка и т. п.) основной таблицы. Если поместить в отбор недоступные поля с именами, совпадающими с именами полей из основной таблицы – такой отбор мог примениться успешно.
● Не используется режим совместимости – не зависит от присутствия этих полей в тексте запроса динамического списка. Поля основной таблицы неявно добавляются в текст запроса, если они отсутствуют в тексте запроса.
Если в тексте запроса, установленном для динамического списка, уже есть поле, псевдоним которого совпадает с псевдонимом поля основной таблицы – для отбора будет использоваться именно это поле, в независимости от того действительно оно является этим полем основной таблицы.
Поля, имеющие несколько вариантов пути (на разных вариантах встроенного языка), доступны только на текущем варианте встроенного языка.
7.3. Особенности режима совместимости расширения
С версией 8.3.7
● Добавление дочерних объектов для заимствованных объектов:
● Используется режим совместимости с версией 8.3.7 – действие не поддерживается.
● Не используется режим совместимости – действие поддерживается.
● Переопределение свойств заимствованных объектов в расширении:
● Используется режим совместимости с версией 8.3.7 – действие не поддерживается.
● Не используется режим совместимости – действие поддерживается.
7.4. Особенности работы веб-клиента
● В веб-браузерах Google Chrome и Safari не поддерживается:
● Программная вставка из буфера обмена, а начиная с версии Google Chrome 6 и Safari 5 – любые операции программного доступа к буферу обмена. Доступны только команды работы с буфером обмена с помощью клавиатуры (а не контекстного меню).
● Автоматическая аутентификация операционной системы.
● Возможность изменения колонтитулов при печати.
● В веб-браузере Safari не поддерживается расширение работы со средствами криптографии.
● В веб-браузере Microsoft Edge не поддерживается:
● Технология внешних компонент;
● Расширение работы с файлами;
● Расширение работы с криптографией.
● Работа с COM-объектами поддерживается только при работе в веб-браузере Microsoft Internet Explorer.
● ОС OS X поддерживают ввод паролей только с помощью букв латинского алфавита и цифр. ОС iOS, до версии 5.x (включая), поддерживает ввод паролей только с помощью букв латинского алфавита и цифр. В версии ОС iOS 6 допускается использовать в паролях символы национальных алфавитов. Для обеспечения совместимости между различными версиями ОС, а также при необходимости использовать прикладное решение с помощью веб-браузера Safari, рекомендуется задавать пароли пользователей с использованием цифр и букв только латинского алфавита.
● При добавлении страницы с веб-приложением в Закладки веб-браузера Mozilla Firefox с помощью команды Добавить страницу в закладки следует вручную исправить добавленную ссылку. Для этого необходимо открыть окно редактирования свойств добавленной закладки и в поле адреса удалить текст от начала строки до http://, либо воспользоваться перетаскиванием иконки приложения (слева от адреса страницы) в меню Закладки.
● Не поддерживается прерывание пользователем работы модуля. Во время выполнения модуля вызов метода ОбработкаПрерыванияПользователя() игнорируется.
● Не поддерживается метод ЗаблокироватьРаботуПользователя().
● В функции Вычислить() не диагностируется ошибка Обращение к процедуре как к функции.
● При возникновении ошибки в выражении, переданном в функцию Вычислить(), ошибка диагностируется как ошибка вызова метода, а не как ошибка в переданном выражении.
● В веб-браузере Google Chrome не поддерживается отладка кода на встроенном языке в обработчиках событий ПередЗавершениемРаботыСистемы и ПриЗавершенииРаботыСистемы.
● Во время выполнения длительных операций не происходит изменения вида курсора.
● Не поддерживается горизонтальная прокрутка (с помощью колеса мыши и нажатой клавиши Shift) во всех элементах формы.
● В веб-браузерах Microsoft Internet Explorer и Mozilla Firefox не обрабатываются клавиши, нажатые во время серверного вызова. В веб-браузерах Google Chrome и Safari эти нажатия обрабатываются после завершения серверного вызова.
● Не поддерживается определение горячей клавиши с помощью символа & в текстах команд, пунктов меню и т. д. Символ &, указанный в тексте, игнорируется и не отображается в интерфейсе.
● При работе в веб-браузере Safari при длительном выполнении запроса сервером может происходить ошибка.
● Не рекомендуется выполнять программное открытие и закрытие одной или нескольких форм в одном обработчике. Такие действия должны быть разнесены по времени. Рекомендуется закрытие форм выполнять в обработчике ожидания.
● Если форма, которая открыта во вспомогательном окне, закрывается нажатием системной кнопки закрытия окна («крестик» в правом верхнем углу формы) или нажатием Alt + F4, то не происходит вызов обработчика ПередЗакрытием модуля закрываемой формы.
● Если форму, которая открывается во вспомогательном окне, закрыть нажатием системной кнопки закрытия окна («крестик» в правом верхнем углу формы) до того, как она полностью отображена на экране, возможно возникновение ошибки веб-браузера.
● При изменении значений реквизитов формы вне модуля этой формы, сделанные изменения не отображаются элементами формы. Для отображения изменений необходимо вызвать метод ОбновитьОтображениеДанных().
● В веб-браузере Google Chrome не производится активизация свернутого окна при выдаче предупреждения, относящегося к содержимому данного окна.
● Если в веб-браузере Google Chrome свернуть форму измененного объекта, а затем закрыть основное окно приложения, то будет выдано предупреждение о несохраненных данных, но форма с этими данными не будет активизирована.
● Если необходимо нормально отобразить текст элемента формы при указании большого размера шрифта, следует указывать не только размер, но и гарнитуру используемого векторного шрифта (TrueType-шрифт).
● В веб-клиенте, работающем в веб-браузере Google Chrome, при использовании в элементах формы шрифта «MS Shell Dlg», вместо шрифта «Microsoft Sans Serif» будет использоваться шрифт «Times New Roman».
● Формирование представления значения (для отображения в поле ввода), которое передается в параметре ВыбранноеЗначение обработчика ОбработкаВыбора, происходит после того, как переданное значение приводится к типу значения реквизита, который отображается полем ввода.
● Если высота кнопки превышает 5 единиц (при стандартном размере шрифта), то кнопка отображается без перехода цветов (градиента).
● Если в перечне кнопок функции глобального контекста Вопрос() нет кнопки со значением КодВозвратаДиалога.Отмена, то попытка закрыть диалог с помощью системной кнопки закрытия («крестик» в правом верхнем углу формы) приведет к повторному открытию диалога.
● Функциональность панели состояния ограничена. Во время выполнения модуля обновление состояния зависит от используемого веб-браузера (подробнее см. здесь).
● Отображение поля индикатора отличается от тонкого клиента. В частности отличается внешний вид поля индикатора, у которого свойство Отображение установлено в значение Прерывистый или ПрерывистыйНаклонный.
● Функциональность объекта Дендрограмма ограничена.
● Функциональность объекта ГрафическаяСхема ограничена.
● Функциональность объекта ГеографическаяСхема ограничена.
● Для объекта ДиаграммаГанта ограничены возможности интерактивной настройки.
● Не поддерживается получение системной информации о клиентском компьютере.
● Не поддерживается работа с объектами ЧтениеТекста, ЗаписьТекста, ЧтениеZipФайла, ЗаписьZipФайла, XBase. Рекомендуется выполнять работу с такими файлами на стороне сервера.
● Не поддерживается работа с XML и XDTO. Рекомендуется выполнять работу с такими файлами на стороне сервера.
● В веб-браузерах Google Chrome и Safari реализован внутренний буфер обмена:
● Данные во внутреннем буфере обмена актуальны во время сеанса.
● Все значения, помещаемые в буфер обмена операционной системы, также дублируются во внутренний буфер обмена.
● Команды M+ и M–изменяют значение, находящееся во внутреннем буфере обмена. Полученный результат помещается в буфер обмена операционной системы.
● Внутренний буфер обмена в калькуляторе отображается в ячейке «1». Команды калькулятора MR, M+ и M–работают со значением внутреннего буфера обмена. Полученный результат помещается в буфер обмена операционной системы.
● Не поддерживается диалог настройки калькулятора.
● Функциональность интерактивного изменения табличного документа ограничена.
● Интерактивные команды, настраивающие отображение табличного документа, доступны в ограниченном объеме. Не поддерживается возможность отображения заголовков колонок/строк и отображения линий сетки.
● Правила переноса текста в ячейке табличного документа зависят от используемого веб-браузера.
● Не поддерживается просмотр и печать табличного документа в черно-белом режиме.
● Табличный документ, напечатанный из различных веб-браузеров, может иметь разные размеры.
● При отображении в ячейках табличного документа текста, состоящего из нескольких строк, может отличаться межстрочный интервал в зависимости от используемого веб-браузера.
● В ячейку таблицы управляемой формы выводятся только те строки многострочного текста, которые целиком помещаются в ячейку по высоте. Если строка отображается не полностью, в конце строки отображается символ "...". В веб-браузере Microsoft Internet Explorer 8 многоточие в конце строки не отображается.
● Если в результате изменения источника данных таблицы в таблице изменяется текущая строка и одновременно изменяется значение свойства элемента формы, которое приводит к перестроению формы, то порядок вызова обработчика ПриИзмененииСтроки и момент перезагрузки формы не определены.
● В формах, в которых предполагается вертикальная прокрутка, у таких элементов, как таблица, табличный документ, диаграмма и т. д., необходимо выключать растягивание по вертикали.
● Метод ПолучитьHTML() объекта ФорматированныйДокумент возвращает пустой список картинок.
● Выделение текста, выполненное в поле форматированного документа, скрывает цветовое оформление текста (цвет текста и цвет фона) при работе в веб-браузере Microsoft Internet Explorer и тонком клиенте.
● Не поддерживается открытие из файла табличного документа, содержащего отчет, в расшифровках которого присутствуют ссылочные значения.
● В табличном документе, поле табличного документа и таблице формы не поддерживается прокрутка с помощью нажатия колеса мыши.
● Если у ячейки табличного документа установлено выравнивание по правому краю и текст полностью не помещается в ячейке, то помещающаяся часть текста выравнивается по левому краю.
● В веб-браузерах Microsoft Internet Explorer 6.0 и 7 не поддерживается отображение объединенных ячеек табличного документа, у которых указана рамка слева и не указана рамка снизу. Рекомендуется указывать рамку снизу для таких ячеек.
● В веб-браузере Microsoft Internet Explorer 7 для табличного документа, в котором используются ячейки разной ширины в одной колонке и используются текст и рисунок в одной ячейке, вывод на печать выполняется с искажениями.
● В веб-браузерах Google Chrome и Safari при определенном сочетании объединений ячеек и рамок ячеек в табличном документе возможно неправильное отображение рамки.
● Для двух соседних (по горизонтали) ячеек табличного документа соприкасающаяся граница будет оформлена такой же линией, что и правая граница левой ячейки, если табличный документ отображается в веб-браузере Microsoft Internet Explorer 6.0.
● Для оформления ячейки табличного документа доступны только следующие типы линий: Сплошная, Точечная и НетЛинии. Другие типы линий заменяются доступными следующим образом:
● тип линии Двойная заменяется на Сплошная;
● типы линий РедкийПунктир, ЧастыйПунктир и БольшойПунктир заменяются типом Точечный.
● В веб-браузерах Microsoft Internet Explorer и Google Chrome точечная рамка смежных ячеек в некоторых случаях может отображаться как сплошная.
● Для правильной печати из веб-браузеров Google Chrome и Mozilla Firefox (версии 20 и выше) табличных документов, содержащих точечные линии, рекомендуется устанавливать у этих табличных документов свойство ТочностьПечати в значение Точная. Аналогичная рекомендация применяется в случае печати из веб-браузеров Google Chrome и Mozilla Firefox (версии 20 и выше) табличных документов, для которых нужно обеспечить точную размерность всех элементов, выводимых на печать.
● Не поддерживается режим сравнения файлов.
● Не поддерживается список последних открытых файлов.
● Не поддерживается перетаскивание файлов в формы веб-клиента.
● В веб-клиенте используется ограниченный набор шрифтов, доступных в используемых операционных системах. Другие шрифты не могут выбираться в диалоге выбора шрифта в веб-клиенте, а при использовании замещаются на поддерживаемые шрифты.
● Доступ к главному меню выполняется с помощью клавиши F10, доступ с помощью одиночного нажатия клавиши Alt не поддерживается.
● Нажатие комбинации Ctrl + W в веб-браузере Google Chrome приводит к закрытию вспомогательного окна, а не к выделению слова.
● Нажатие комбинации Ctrl + F4 в веб-браузере Google Chrome приводит к закрытию текущей вкладки. Если вкладка последняя, выполняется закрытие текущего окна веб-браузера.
● Нажатие комбинации Ctrl + N в веб-браузере Google Chrome приводит к созданию нового окна веб-браузера, а не к открытию меню создания нового документа.
● Не поддерживается установка в веб-браузере масштаба отображения, отличного от 100 %, или использование нестандартного dpi.
● Переключение окон с помощью клавиатуры имеет ряд особенностей (в зависимости от веб-браузера):
● Microsoft Internet Explorer:
● Версия 6.0 – без особенностей.
● Версии 7 и 8 – не работает переключение по Ctrl +``Tab, Ctrl +``Shift +``Tab, если в веб-браузере включены закладки. Переключение по F6, Ctrl + F6 работает без ограничений. В веб-браузере Microsoft Internet Explorer 8 в некоторых случаях при переходе между окнами будет выдаваться предупреждение Нажмите ОК для перехода к окну с кнопкой ОК. Переход к окну будет выполнен после нажати помощью клавиатуры требуется дополнительная настройка, выполнить которую можно с помощью диалога Главное меню – Сервис – Настройки веб-браузера.
● Google Chrome:
● Для любых версий – не работает переключение по Ctrl + Tab, Ctrl + Shift + Tab. Переключение по F6, Ctrl + F6 работает без ограничений.
● Для версии 7.0 и младше – при использовании горячих клавиш (F6, Ctrl + F6) для переключения окон веб-клиента, при попытке повторного открытия уже открытой формы или при использовании для переключения методаАктивизировать(), после переключения на новое окно выдается предупреждение Выполнен переход к окну. Нажмите ОК для продолжения. После нажатия кнопки ОК можно продолжить работу с окном, в которое произошло переключение.
● Модальное окно в веб-браузере Microsoft Internet Explorer блокирует все родительские окна, в веб-браузере Mozilla Firefox блокируется только родительское окно данного окна, в веб-браузере Google Chrome окна не блокируются. При этом остальные окна приложения затемняются, в эти окна можно переключиться, но в них нельзя выполнять никаких действий.
● При открытии модального окна перестает выполняться обновление отображения главного окна в веб-браузере Microsoft Internet Explorer.
● Из-за ограничения веб-браузеров, невозможно открытие немодальной формы из формы, открытой модально. В связи с этим, все формы, открываемые из модальной формы, также открываются в модальном режиме.
● Окно веб-клиента не может быть меньше некоторого размера, определяемого используемым веб-браузером.
● При работе на нескольких мониторах, если они имеют разное установленное разрешение, окна, открытые не на первом мониторе, при повторном открытии могут иметь другие координаты.
● Не поддерживается отображение командной панели с вертикальным отображением кнопок.
● Отображение отсутствующей картинки в веб-клиенте отличается от отображения в тонком клиенте.
● В веб-браузере Microsoft Internet Explorer 8 некорректно отображаются картинки, содержащие цвет с уровнем прозрачности, отличным от 0 или 100%.
● Не поддерживается отображение в поле HTML-документа страниц, имеющих в адресе то же имя хоста веб-сервера, что и веб-клиент. Рекомендуется хранить страницы в информационной базе.
● Не поддерживается обработка событий поля HTML-документа для страниц, имеющих в адресе то же имя хоста веб-сервера, что и веб-клиент. Страницы, для которых требуется обработка событий, следует хранить в информационной базе.
● Окно выбора из списка значений при использовании методов ВыбратьИзСписка() и ПоказатьВыборИзСписка() открывается в виде отдельного окна веб-браузера, а не в виде списка.
● Меню выбора из списка значений при использовании метода ВыбратьИзМеню(), а также меню расшифровки системы компоновки данных открываются в виде отдельного окна веб-браузера, а не в виде меню.
● При вызове метода ПоместитьФайл() возможны ситуации, когда ошибка помещения файла корректно не определяется. При этом в качестве возвращаемого значения выступает значение Истина, а параметр Адрес не содержит адрес во временном хранилище.
● В веб-браузере Safari окна калькулятора и календаря всегда открываются в окнах, размер которых не меньше минимального размера окна для этого браузера
● Цвет полос прокрутки поля HTML-документа соответствует цвету, заданному в операционной системе, кроме случая использования веб-браузера Microsoft Internet Explorer, когда в поле HTML-документа отображается HTML-страница, заданная строкой текста.
● Не поддерживается вызов обработчиков событий ДокументСформирован и ПриНажатии, а также выполнение команд Печать и Сохранить поля HTML-документа в том случае, если в поле отображается документ, в адресе которого имя хоста веб-сервера отличается от имени хоста веб-клиента.
● Отличается от других клиентов поведение команд отмены и возврата действия в многострочных полях ввода. В веб-клиенте объем отменяемых изменений определяется веб-браузером.
● В поле ввода результат щелчка левой кнопкой мыши по слову (с нажатой клавишей Ctrl) зависит от веб-браузера, а не приводит к выделению слова, по которому выполняется щелчок.
● В поле текстового документа нажатие стрелок влево/вправо в первой/последней позиции строки приводит к переходу на предыдущую/последующую строку.
● В многострочном поле ввода и поле текстового документа не поддерживается ввод текста в режиме замены.
● В многострочном поле ввода и ячейке таблицы формы перенос текста выполняется только по словам. Сплошной текст по границе элемента не переносится.
● При нажатии Shift + Del в многострочном поле ввода удаляется вся строка, без учета автоматического разбиения строки по границе поля ввода.
● Если символ, недопустимый с точки зрения спецификации XML версии 1.0 (http://www.w3.org/TR/xml/), программно помещается в поле ввода, то в веб-браузерах Google Chrome и Safari этот символ будет заменен символом "?" и поле ввода станет недоступным для редактирования.
● Если в тексте подсказки присутствуют разделители строк, то в веб-браузере Mozilla Firefox вместо них отображаются пробелы.
● Язык интерфейса веб-клиента в веб-браузере Safari соответствует языку интерфейса веб-браузера, если язык интерфейса явно не задан с помощью параметра запуска L.
● Если при отладке веб-клиента локальные переменные или параметры методов используются в окне Выражение, табло или условиях точек останова, то их имена должны задаваться в точности так, как эти имена заданы при определении (с учетом регистра символов).
● В веб-клиенте не поддерживаются следующие возможности:
● Общие:
● печать на текущий принтер.
● Поле графической схемы:
● поиск и замена.
● Табличный документ:
● переход к ячейке.
● Текстовый документ:
● переход к строке;
● работа с закладками;
● подменю Текст главного меню.
● В веб-клиенте не поддерживается вызов следующих команд с помощью горячих клавиш:
● Поле картинки:
● увеличить масштаб (Num+);
● уменьшить масштаб (Num-);
● прокрутка картинки с помощью клавиатуры.
● Поле графической схемы:
● прокрутка схемы.
● Таблица, связанная с иерархическим списком:
● свернуть узел (Ctrl + Num-);
● свернуть все узлы (Ctrl + Shift + Num-);
● развернуть узел (Ctrl + Num+);
● развернуть все узлы (Ctrl + Shift + Num+).
● Табличный документ:
● свернуть группу (Ctrl + Num-);
● свернуть все группы (Ctrl + Shift + Num-);
● развернуть группу (Ctrl + Num+);
● развернуть все группы (Ctrl + Shift + Num+);
● прокрутка страницы влево (Alt + PgUp);
● прокрутка страницы вправо (Alt + PgDn);
● выделение ячеек с помощью клавиатуры.
● Текстовый документ:
● удалить текущую строку (Ctrl + L): не поддерживается в веб-браузерах Mozilla Firefox, Google Chrome, Safari.
● В операционной системе OS X при включенной неанглийской раскладке клавиатуры не поддерживается использование горячих клавиш, если в сочетаниях используются следующие клавиши:
● в веб-браузере Google Chrome: клавиши Alt и Alt + Shift;
● в веб-браузере Safari: клавиши Alt, Alt + Shift, Cmd и Cmd + Shift.
7.5. Особенности работы веб-клиента на iPad
Эти особенности расширяют перечень особенностей поведения веб-клиента, описание которых изложено в предыдущем разделе.
При работе на устройстве iPad:
● Вместо двойного щелчка левой кнопкой мыши используется быстрое двойное нажатие на одном и том же месте экрана. Вместо щелчка правой кнопкой мыши используется длительное нажатие (более 1 сек.).
● Поддерживается только режим работы в закладках и интерфейс Такси.
● Экранная клавиатура может не появляться автоматически при редактировании ячейки таблицы или табличного документа (в появляющемся поле ввода). Для того чтобы она появилась, следует повторно нажать редактируемое поле ввода в ячейке.
● Не поддерживается переход к главному окну приложения с помощью диалога Все окна. При попытке перейти к нему выводится предупреждение с текстом Не может быть выполнен переход к главному окну.
● Рекомендуется для завершения работы с веб-клиентом пользоваться кнопкой закрытия в верхнем правом углу главного окна.
● Не реализовано перетаскивание.
● Не выполняется переход к главному окну при открытых вспомогательных окнах.
● Не поддерживается печать.
● Поле форматированного документа позволяет только просмотр документа (без возможности редактирования).
● Панель состояния отображается таким же окном, как и окно оповещения пользователя.
● Недоступен метод ПоместитьФайл().
● Недоступно расширение работы с файлами, расширение работы с криптографией и внешние компоненты.
Следующие методы объектов и глобального контекста не могут быть использованы в прикладном решении, работающем на iPad:
● Глобальный контекст:
● Вопрос(),
● ОткрытьЗначение(),
● ОткрытьФормуМодально(),
● Предупреждение(),
● ВвестиДату(),
● ВвестиЗначение(),
● ВвестиСтроку(),
● ВвестиЧисло().
● Объект ДиалогВыбораШрифта:
● Выбрать().
● Объект ДиалогВыбораЦвета:
● Выбрать().
● Объект ДиалогРедактированияСтандартногоПериода:
● Редактировать().
● Объект КонструкторФорматнойСтроки:
● ОткрытьМодально().
● Объект ОбработкаРасшифровкиКомпоновкиДанных:
● ВыбратьДействие().
● Объект ДиалогРасписанияРегламентногоЗадания:
● ОткрытьМодально().
● Объект СписокЗначений:
● ОтметитьЭлементы(),
● ВыбратьЭлемент().
● Объект УправляемаяФорма:
● ВыбратьИзМеню(),
● ВыбратьИзСписка(),
● ОткрытьМодально().
7.6. Особенности поведения объектов системы с включенным режимом разделения данных
7.6.1. Изменение значений разделителей
В процессе работы сеанса использование разделителей и значения разделителей могут быть изменены посредством изменения параметров сеанса. Значения параметров сеанса, на которые ссылается общий реквизит (см. здесь), могут быть изменены в произвольный момент времени в соответствии с ограничениями, наложенными на права пользователя, от лица которого производится попытка изменения параметров сеанса.
Замена текущих значений разделителей позволяет, например, выполнять необходимые административные действия в случаях, когда требуется работа в разделенном режиме.
Однако следует помнить, что если доступ к информационной базе выполняется посредством веб-сервера, то программное изменение значений объектов, связанных с механизмом разделения, может быть заблокировано с помощью файла default.vrd (подробнее см. здесь).
«1С:Предприятие» не гарантирует логическую целостность данных приложения (не информационной базы) после изменения параметров сеанса, аналогично изменению параметров сеанса, влияющих на ограничения доступа (см. здесь).
Изменение из встроенного языка значения параметра сеанса, на который ссылается хотя бы один разделитель в режиме Независимо, приводит к следующим действиям:
● очищается кеш объектов;
● удаляются повторно используемые значения (см. здесь).
После изменений значений и использования разделителей в сеансе рекомендуется вызвать метод ОбновитьИнтерфейс().
7.6.2. Нумерация объектов
Механизм нумерации работает в рамках каждой уникальной комбинации значений разделителей. Для такой комбинации работает автоматическая нумерация объектов и реализуется контроль уникальности.
При определении номера используются значения разделителей, установленных в сеансе. В том случае, если разделитель не используется в сеансе, для этого разделителя используется значение, установленное у объекта информационной базы.
7.6.3. Оперативная отметка времени
Оперативная отметка времени разделяется в рамках каждой уникальной комбинации независимых разделителей только в том случае, если не существует документов, для которых разрешено проведение в оперативном режиме и которые не входят в состав этих разделителей.
Например, в прикладном решении существует два независимых разделителя: Абонент и Организация, а также три документа (с разрешенным проведением в оперативном режиме) ПриходнаяНакладная, РасходнаяНакладная и Перемещение. В состав разделителя Организация входят документы ПриходнаяНакладная и Перемещение, а в состав разделителя Абонент входят все документы. Разделение оперативной отметки времени будет выполняться только для разделителя Абонент, т. к. для разделителя Организация существуют документы, которые им не разделены (документ РаходнаяНакладная):
|
|
|
|
|
|
Входит |
Входит |
|
|
Входит |
Не входит |
|
|
Входит |
Входит |
|
Разделение оперативной отметки |
Разделяется |
Не разделяется |
7.6.4. Предопределенные данные
Предопределенные данные можно использовать для объектов, входящих в состав любых разделителей.
Создание предопределенных данных при первом обращении к таблице объекта будет выполнено только в том случае, если в сеансе используются все разделители (в том числе разделители в режиме Независимо и совместно), в состав которых входит объект, содержащий предопределенные данные.
Для создания предопределенных данных в новой области данных можно воспользоваться методом ИнициализироватьПредопределенныеДанные(). В зависимости от того, как в сеансе используются разделители, в состав которых входит объект конфигурации, можно выделить следующие варианты:
1. В сеансе используются все разделители, в состав которых входит объект конфигурации – предопределенные элементы будут созданы.
2. В сеансе не используются все разделители, в состав которых входит объект конфигурации – предопределенные элементы не будут созданы и объект конфигурации будет пропущен.
Уникальные идентификаторы элементов данных, связанных с предопределенными данными, не совпадают для данных, расположенных в разных областях. Другими словами, если в справочнике Товары есть предопределенный элемент П1, и есть две области: с кодами 165 и 567, то уникальный идентификатор элемента данных, связанный с элементом П1 в области 165, не будет равен уникальному идентификатору элемента данных, связанному с элементом П1 в области 567.
В распределенной и разделенной информационной базе изменения предопределенных элементов регистрируются следующим образом:
● Если план обмена и объект конфигурации, для которого выполняется регистрация изменения предопределенных данных, входят в состав одного разделителя, то регистрируются изменения только тех предопределенных элементов, у которых значение разделителя совпадает со значением этого же разделителя узла плана обмена. Таким образом, не регистрируются изменения предопределенных элементов, если в планах обмена нет узлов, у которых значение разделителя совпадает со значением разделителя предопределенного элемента. Не выполняется регистрация в узлах, у которых значение разделителя отличается от значения разделителя предопределенного элемента.
● Если план обмена и объект метаданных не имеют общих разделителей, то выполняется регистрация всех предопределенных элементов во всех узлах этого плана обмена.
● Никогда не выполняется регистрация изменений для узла ЭтотУзел.
7.6.5. Права доступа
Административные действия, которые выполняются в целом над информационной базой и над конкретной областью данных, регулируются разными правами.
● Администрирование – данное право регулирует административные действия над всей информационной базой и редактирование списка пользователей.
● Администрирование данных – данное право регулирует административные действия над данными. К этим действиям относятся:
● просмотр записей журнала регистрации и получение значений отбора без ограничений;
● установка часового пояса информационной базы (области данных) – вызов метода УстановитьЧасовойПоясИнформационнойБазы();
● создание начального образа подчиненного узла распределенной информационной базы (вызов методаСоздатьНачальныйОбраз());
● обновление нумерации объектов (вызов метода ОбновитьНумерациюОбъектов());
● выполнение методов объекта СтандартноеХранилищеНастроекМенеджер в тех случаях, если выполняется работа с настройками пользователя, отличными от текущего.
Примечание. Право Администрирование требует наличия права Администрирование данных. Проверка на наличие в списке пользователей информационной базы пользователя с правом Администрирование учитывает только пользователей, в которых не задан ни один разделитель.
Для общих реквизитов, для которых включено разделение данных, права по умолчанию не устанавливаются, даже если в форме редактирования роли установлен флажок Устанавливать права для реквизитов и табличных частей по умолчанию.
7.6.6. Пользователи
При создании пользователя информационной базы (объект ПользовательИнформационнойБазы) имеется возможность указать значения разделителя для этого пользователя.
Для этого служит свойство РазделениеДанных объекта ПользовательИнформационнойБазы. В данном свойстве хранится структура, в которой:
● Ключ элемента структуры содержит имя разделителя (как оно задано в конфигураторе).
● Значение элемента структуры содержит строковое представление значения разделителя. Подробнее о формировании строкового представления значения разделителя см. здесь.
Если в структуре присутствует запись с именем какого-либо разделителя, значит, для пользователя значение этого разделителя задано.
Значение свойства РазделениеДанных определяет:
● пространство уникальности имен пользователей, если разделитель разделяет аутентификацию (см. здесь);
● разделение списка пользователей, если разделитель разделяет пользователей (см. здесь);
● начальную установку значений разделителей сеанса пользователя для любого разделителя, определенного в конфигурации (см. здесь).
7.6.7. Планы обмена
Любой разделитель, в состав которого входит план обмена, с точки зрения плана обмена считается находящимся в режиме Независимо и совместно. При этом обеспечивается уникальность ссылок элементов плана обмена, в том числе и для тех элементов, которые описывают предопределенные узлы в каждой области данных (метод ЭтотУзел() менеджера плана обмена).
Поведение системы при регистрации изменений зависит от следующих факторов:
● разделен или нет план обмена;
● разделен или нет регистрируемый объект всеми разделителями плана обмена;
● используется или нет в текущем сеансе хотя бы один разделитель, в состав которого входит план обмена.
Описание того, как будет выполняться автоматическая регистрация изменений в зависимости от вышеуказанных факторов, приведено в таблице:
|
План |
Объект метаданных разделен всеми разделителями плана обмена |
Используется хотя бы один разделитель плана обмена |
Автоматическая |
|
Не разделен |
– |
– |
Все узлы |
|
Разделен |
Нет |
Нет |
Все узлы |
|
Разделен |
Нет |
Да |
1 |
|
Разделен |
Да |
Нет |
2 |
|
Разделен |
Да |
Да |
2 |
В приведенной таблице:
1. Вызывается исключение при выполнении автоматического заполнения списка узлов получателя. Если план обмена входит в состав хотя бы одного разделителя, в состав которого не входит объект метаданных с включенной авторегистрацией в этом плане обмена, то при обновлении конфигурации базы данных будет выдано предупреждение о том, что объект конфигурации не входит в состав разделителя плана обмена.
2. При автоматическом заполнении списка узлов получателей используется область данных, которая определяется набором разделителей, каждый из которых разделяет и план обмена, и объект метаданных. При этом если используются не все разделители, в состав которых входит и план обмена, и объект, для которого выполняется регистрация изменений, то для недостающих разделителей используются значения разделителей из этого объекта. Если при регистрации изменений обнаруживается, что изменены значения разделителей, то:
● Для узлов плана обмена области данных, определяемых «старой» комбинацией значений разделителей, регистрируется удаление объекта данных.
● Для узлов плана обмена области данных, определяемых «новой» комбинацией значений разделителей, регистрируется изменение объекта данных.
Изменение конфигурации регистрируется для всех узлов всех планов обмена вне зависимости от разделения этих планов обмена каким-либо разделителем (только для планов обмена с установленным флажком Распределенная информационная база).
При записи узла плана обмена выполняется проверка, что в области данных, описанной значениями всех разделителей, в состав которых входит записываемый объект, должен существовать ровно один элемент плана обмена, для которого значение свойства ЭтотУзел установлено в значение Истина. Если условие не выполняется – генерируется исключение. Если запись выполняется в режиме загрузки данных (свойство ОбменДанными.Загрузка установлено в значение Истина), то проверка не выполняется.
7.6.8. Функциональные опции
В случае если объект конфигурации, использующийся для хранения значения функциональной опции, входит в состав разделителей, то получение значения функциональной опции будет выполняться следующим образом:
● Если не установлен хотя бы один независимый разделитель, который разделяет объект конфигурации, использующийся для хранения значения функциональной опции, то значение функциональной опции, хранимой в реквизите типа Булево, будет равно значению Истина, а для реквизитов других типов будет вызвано исключение.
● Если используются все независимые разделители и не используется хотя бы один разделитель с установленным режимом разделения Независимо и совместно, то значение функциональной опции, хранимой в реквизите типа Булево, будет определяться сложением «по ИЛИ» всех значений с незаданными значениями разделителя, а для реквизитов других типов будет вызвано исключение.
● Анализируется использование только тех разделителей, в состав которых входит объект конфигурации, в котором хранится значение функциональной опции.
7.6.9. Регламентные задания
Регламентное задание может входить в состав разделителя.
Запуск регламентного задания выполняется со значениями разделителей, которые заданы для этого задания с помощью свойства РазделениеДанных объекта РегламентноеЗадание. С помощью этого свойства также можно получить набор разделителей, соответствующих сеансу, в котором запускается регламентное задание (доступны только значения разделителей, находящихся в режиме Независимо и совместно, см. здесь).
Для объекта РегламентноеЗадание возможно изменение значений свойства РазделениеДанных по общим правилам, кроме предопределенных регламентных заданий, для которых изменение свойства РазделениеДанных невозможно. Регламентное задание может быть изменено из сеанса, в котором используются только разделители, разделяющие это регламентное задание.
При получении регламентных заданий (по уникальному идентификатору или списка регламентных заданий) выполняется неявная установка отбора по разделителям в соответствии со значениями разделителей, установленных в текущем сеансе. В зависимости от режима разделителя будет доступен разный набор регламентных заданий:
● Разделитель в режиме Независимо.
● Разделитель используется – доступны только регламентные задания, для которых значения разделителей совпадают со значениями разделителей в текущем сеансе.
● Разделитель не используется – нет доступных регламентных заданий.
● Разделитель в режиме Независимо и совместно:
● Разделитель используется – доступны только регламентные задания, для которых значения разделителей совпадают со значениями разделителей в текущем сеансе.
● Разделитель не используется – доступны регламентные задания с произвольным значением этого разделителя, а также задания, не разделенные этим разделителем.
Если регламентное задание отмечено в конфигураторе как предопределенное, то при первом входе в режиме 1С:Предприятие с новой комбинацией разделителей происходит создание списка регламентных заданий с текущей комбинацией значений разделителей и их использования. Если при этом в сеансе разделитель не используется, а регламентное задание входит в состав такого разделителя, то в соответствующее свойство регламентного задания будет записано значение по умолчанию для типа разделителя и включено использование.
Совет. Не рекомендуется создавать разделенные регламентные задания, которые выполняются достаточно часто при большом количестве областей данных. Рекомендуется создавать неразделенное регламентное задание, которое будет само обрабатывать разные значения разделителей.
Стоит учитывать, что на разделенные регламентные задания действуют более жесткие ограничения записи по сравнению с другими объектами, т. к. регламентное задание это не просто запись в базы данных, но и порождение какого-либо действия.
Сеанс, работающий с определенной комбинацией разделителей, не должен иметь возможность инициировать какое-либо действие в недоступных ему областях. В связи с этим, если в сеансе значение разделителя установлено, а регламентное задание этим разделителем не разделяется, то запись такого регламентного задания в этом сеансе запрещена, так как это позволит выполнить код со значением разделителя, отличным от значения разделителям в текущем сеансе.
7.6.10. Фоновые задания
Запуск фонового задания выполняется со значениями разделителей, соответствующих сеансу, из которого выполняется запуск фонового задания. Во время работы фонового задания (или после его завершения) значения разделителей можно получить с помощью свойства РазделениеДанных объекта ФоновоеЗадание (доступны только значения разделителей, находящихся в режиме Независимо и совместно, см. здесь).
При получении фоновых заданий (по уникальному идентификатору или списка фоновых заданий) выполняется неявная установка отбора по разделителям в соответствии со значениями разделителей, установленных в текущем сеансе. В зависимости от типа разделителя будет доступен разный набор фоновых заданий:
● Разделитель в режиме Независимо: доступны только фоновые задания, запущенные из сеансов с таким же использованием и значениями разделителей, что и для текущего сеанса.
● Разделитель в режиме Независимо и совместно: доступны только фоновые задания, запущенные из сеансов с такими же значениями разделителей, используемых в текущем сеансе. Неиспользуемые разделители не учитываются.
7.6.11. Web-сервисы
При вызове Web-сервиса значения разделителей могут быть указаны так же, как и для веб-клиента (см. здесь).
7.6.12. Константы
В случае, если в сеансе используются все разделители, в состав которых входят константы, то в языке запросов можно обращаться к константам посредством таблицы Константы (аналогично «1С:Предприятию» версии 8.2.13 и младше).
Поля, соответствующие разделителям, находящимся в режиме Независимо и совместно, существуют у объекта КонстантаМенеджерЗначения и таблицы Константа.
7.6.13. Регистры
Разделитель, находящийся в режиме Независимо и совместно, выступает в регистре в качестве измерения, логически предшествующего измерениям, заданным прикладным разработчиком.
В одном наборе записей могут находиться только записи с одинаковым набором значений разделителей.
7.6.13.1. Регистры сведений
Разделители входят в состав основного отбора регистра сведений.
В свойство Отбор набора записей регистра сведений могут быть добавлены элементы отбора, соответствующие разделителям, в состав которых входит регистр сведений.
Проверка уникальности записи выполняется в рамках области данных, соответствующей текущей уникальной комбинации значений разделителей.
При вызове метода Прочитать() набора записей следует помнить о следующих особенностях:
● Можно не устанавливаться значения разделителей в отборе набора записей, если в текущем сеансе используются все разделители, в состав которых входит регистр;
● Если в качестве значений разделителей в отборе набора записей будут установлены значения, не совпадающие со значениями, указанными для текущего сеанса, результатом выполнения метода будет пустой набор записей;
● Если в отборе набора записей не будут установлены значения для разделителей, которые не используются в текущем сеансе, результатом выполнения метода будет набор записей без отбора по значениям этих разделителей.
При вызове метода Прочитать() менеджера записи следует помнить о следующих особенностях:
● Можно не устанавливаться значения разделителей в менеджере записи, если в текущем сеансе используются все разделители, в состав которых входит регистр;
● Если в качестве значений разделителей в менеджере записи будут установлены значения, не совпадающие со значениями, указанными для текущего сеанса, результатом выполнения метода будет пустая запись;
● Если в менеджере записи не будут установлены значения для разделителей, которые не используются в текущем сеансе, результатом выполнения метода будет пустая запись.
При вызове методов менеджера регистра Выбрать(), Получить(), ПолучитьПервое(), ПолучитьПоследнее(), СрезПервых() и СрезПоследних() нужно учитывать следующие особенности:
● Если в параметре вызова этих методов Отбор указано значение для разделителя, используемого в сеансе, то это значение должно совпадать со значением разделителя. В противном случае будет вызвано исключение.
● При вызове метода Получить() в параметре Отбор должны быть указаны значения для всех разделителей, которые не используются в текущем сеансе.
7.6.13.2. Регистры накопления и бухгалтерии
Параметры регистров (признак разделения итогов, признак использования итогов и т. д.) являются разделяемыми и хранятся для каждой области данных. Получение и установку настройки итогов можно выполнять только для сеанса, в котором используются все значения разделителей, в состав которых входит регистр. При удалении разделителей или модификации их типов, во время обновления конфигурации базы данных, в таблицах параметров регистров происходит объединение записей по новым комбинациям установленных разделителей.
Операцию пересчета итогов (методы ПересчитатьИтоги() и ПересчитатьИтогиЗаПериод()) и текущих итогов (метод ПересчитатьТекущиеИтоги()) можно выполнять при любом состоянии использования разделителей, в состав которых входит соответствующий регистр. Пересчет итогов будет выполняться в пределах области данных, определенной текущими значениями используемых разделителей.
7.6.13.2.1. Регистр бухгалтерии
При редактировании регистров бухгалтерии и планов счетов нужно помнить о следующих особенностях:
● Состав независимых разделителей, в состав которых входит план счетов и связанный с ним регистр бухгалтерии, должен быть идентичным.
● Регистр бухгалтерии должен входить в состав всех разделителей, находящихся в режиме Независимо и совместно, в которые входит план счетов, связанный с данным регистром.
При записи элемента плана счетов, если были изменены настройки учета, влияющие на движения регистров бухгалтерии, проверяется, что в сеансе не используются разделители регистра бухгалтерии в режиме Независимо и совместно, которых нет в плане счетов.
При записи набора записей регистра бухгалтерии проверяется, что все счета, использованные в наборе записей, имеют значения разделителей, идентичные значениям разделителей в записях набора записей.
7.6.13.2.2. Агрегаты регистра накопления
Настройки агрегатов являются разделяемыми и хранятся для каждой области данных.
При работе с агрегатами необходимо помнить следующие особенности:
● Следующие методы можно вызывать только в таком сеансе, в котором используются все разделители, включающие регистр:
● ПолучитьРежимАгрегатов(),
● ПолучитьИспользованиеАгрегатов(),
● ПолучитьАгрегаты(),
● УстановитьРежимАгрегатов(),
● УстановитьИспользованиеАгрегатов().
● Следующие методы можно вызывать в любом случае:
● ОпределитьОптимальныеАгрегаты(). Выполняется над данными области, определенной значениями используемых разделителей.
● ПерестроитьИспользованиеАгрегатов(). Если в сеансе используются все разделители, в состав которых входит регистр, то метод выполняется только для определенной области данных. В противном случае устанавливает одинаковые настройки (состав и периодичность) использования агрегатов для используемых разделителей и всех комбинаций значений неиспользуемых разделителей.
● ОбновитьАгрегаты(), ОчиститьАгрегаты(), АгрегатыЗаполнены(). Если в сеансе используются все разделители, в состав которых входит регистр, методы выполняются только для определенной области, в противном случае – для каждой области данных в рамках значений используемых разделителей.
Если разделитель находится в режиме Независимо и совместно и в сеансе этот разделитель не используется, то существует возможность использования агрегатов, кроме следующих случаев:
● Если для некоторых значений разделителя включен режим итогов.
● Если для некоторых значений разделителя выключено использование агрегатов.
● Если для разных значений разделителя выбрана разная минимальная периодичность используемых агрегатов. Если метод ПерестроитьИспользованиеАгрегатов() вызывался в неразделенном режиме, то минимальная периодичность используемых агрегатов будет одинаковой.
● Если для разных значений разделителей наборы используемых агрегатов для разных значений разделителей не пересекаются. Если метод ПерестроитьИспользованиеАгрегатов() вызывался в случае, когда разделители не используются, то наборы используемых агрегатов будут одинаковыми.
● Для запросов в транзакции – если для некоторых значений разделителей процесс обновления агрегатов не завершен и находится на этапе переноса данных в агрегат из буфера.
7.6.13.3. Регистры расчета
При получении виртуальной таблицы данных графика сопоставление записей регистра расчета и записей регистра сведений графика работы выполняется не только по реквизитам регистра расчета с заполненным свойством Связь с графиком, но и по разделителям в режиме Независимо и совместно, являющимся общими для регистра сведений графика и регистра расчета.
При получении виртуальной таблицы базовых данных сопоставление записей регистров расчета выполняется не только по полям, переданным как параметры виртуальной таблицы, но и по разделителям в режиме Независимо и совместно, которые являются общими для регистра сведений графика и регистра расчета.
При расчете фактического периода действия разделение периода действия между вытесняющими видами расчетов выполняется с учетом совпадения значений разделителей (в режиме Независимо и совместно).
Также нужно помнить о следующих особенностях:
● при записи набора записей регистра расчета не контролируется совпадение значений разделителей (в режиме Независимо и совместно) в записи регистра расчета и в виде расчета этой записи;
● при записи вида расчета не контролируется совпадение значений разделителей (в режиме Независимо и совместно) в виде расчета и во всех записях регистра расчетов с таким видом расчета;
● не контролируется совпадение значений разделителей (в режиме Независимо и совместно) в виде расчета и в тех видах расчета, которые включены в табличные части вытесняющих, базовых и ведущих видов расчета.
7.6.13.3.1. Перерасчеты
Перерасчеты автоматически входят в состав того же набора разделителей, что и соответствующие регистры расчета. При записи перерасчетов используются значения разделителей, установленных для соответствующих записей регистра расчета.
7.6.14. Последовательность документов
Разделитель, находящийся в режиме Независимо и совместно, выступает для последовательности в качестве измерения.
Последовательность документов является разделенной только в следующем случае:
● разделены все документы и регистры, входящие в нее;
● документы и регистры, входящие в последовательность, разделены одинаковым набором разделителей.
Параметр Отбор методов УстановитьГраницу() и Проверить() является необязательным.
Если свойство Заполнение последовательностей документа, участвующего в последовательности, установлено в значение Заполнять автоматически, то значения общих реквизитов записи последовательности будут установлены в значения, соответствующие документу, который порождает эту запись.
7.6.15. Параметры информационной базы
Часовой пояс информационной базы разделяется независимыми разделителями. Если используются не все разделители, то при попытке получения или установки часового пояса информационной базы вызывается исключение. В противном случае используется значение часового пояса в разрезе значений разделителей.
Об изменении часового пояса информационной базы другие сеансы оповещаются не позднее чем через 20 секунд после установки. Не требуется монопольный доступ к информационной базе, если установка часового пояса выполняется в сеансе, в котором используется хотя бы один разделитель.
Метод УстановитьЧасовойПоясИнформационнойБазы() требует установки монопольной блокировки области в том случае, если в текущем сеансе не используется ни один разделитель.
7.6.16. Список сеансов
В список сеансов попадут сеансы, в которых значения разделителей совпадают со значениями в текущем сеансе (из которого выполняется получение списка с помощью метода ПолучитьСеансыИнформационнойБазы()). В этом списке сеансов имена пользователей (и имена компьютеров) будут недоступны, если пользователь не принадлежит области данных, доступной текущему сеансу. Например, в информационной базе существует разделитель Абонент (типа Число). Для пользователя Иванов значение разделителя установлено равным 5. Если в процессе работы прикладное решение изменит значение разделителя Абонент на любое другое значение, то в списке сеансов имя пользователя будет недоступным.
7.6.17. Список соединений
Список соединений (полученный с помощью метода ПолучитьСоединенияИнформационнойБазы()) будет непустым только в том случае, если в текущем сеансе не используется ни один разделитель.
7.6.18. Журнал регистрации
7.6.18.1. Визуальное отображение
Если журнал регистрации открыт в сеансе, где существует хотя бы один неиспользуемый разделитель, то в следующие формы будет добавлено поле Разделение данных сеанса:
● форма списка журнала регистрации,
● форма настройки отбора журнала регистрации,
● форма записи журнала регистрации.
Представление имен разделителей определяются следующим образом:
● Для существующего разделителя – его представление.
● Для переименованного разделителя, т. е. разделителя, имя которого было изменено после внесения записей с его участием в журнал, – текущее представление разделителя.
● Для удаленного разделителя – последнее имя удаленного разделителя, дополненное пробелами перед не первыми прописными буквами. При этом прописные буквы преобразуются в строчные (кроме первой буквы в имени разделителя).
7.6.18.2. Отбор
При формировании (для просмотра или при выгрузке с помощью метода ВыгрузитьЖурналРегистрации()) журнала регистрации всегда выполняется фильтрация по тем разделителям, которые используются в текущем сеансе. Такой отбор (принудительный) невозможно отключить или изменить. Если формирование журнала регистрации выполняется в сеансе, в котором разделитель условно выключен, то отбор по этому разделителю не выполняется.
Для тех разделителей, которые не используются в текущем сеансе, возможна пользовательская установка значений отбора. При этом принудительный отбор и пользовательский отбор по значениям разделителей объединяются «по И».
При получении значений отбора для полей Пользователь и Компьютер (с помощью метода ПолучитьЗначенияОтбораЖурналаРегистрации()) результат формируется следующим образом:
● Разделитель используется – возвращаются значения полей из тех записей журнала, которые были зафиксированы для текущего значения разделителя.
● Разделитель не используется – возвращаются все значения полей, зафиксированные журналом регистрации.
При программном получении записей журнала регистрации (с помощью метода ВыгрузитьЖурналРегистрации()) отбор формируется путем добавления в структуру фильтра элемента РазделениеДанныхСеанса, имеющего типСтруктура. Каждый элемент структуры в качестве ключа содержит имя разделителя, а в качестве значения – набор значений разделителя, по которым следует отбирать записи журнала регистрации. Если в структуре РазделениеДанныхСеанса задано больше одного элемента, запись будет удовлетворять отбору, если она удовлетворяет всем значениям, указанным в структуре (отбор «по И»).
Этот набор можно задавать либо с помощью структуры (в этом случае отбор выполняется по одному значению), либо с помощью массива структур (в этом случае отбор задается набором значений).
Структура, используемая для отбора, содержит следующие элементы:
● Использование (типа Булево). Значение по умолчанию – Истина. Задает использование общего реквизита, разделяющего данные. Если Ложь, элемент Значение игнорируется и может быть опущен. Таким образом, можно отбирать записи журнала, в которых данный общий реквизит не установлен.
● Значение (произвольного типа). Значение общего реквизита, по умолчанию – Неопределено.
Если в элементе структуры РазделениеДанныхСеанса указан массив структур, то запись журнала регистрации будет удовлетворять этому условию, если она удовлетворяет хотя бы одному значению (отбор «по ИЛИ»).
Рассмотрим пример.
В прикладном решении заданы два разделителя:
● Абонент, тип Число;
● Филиал, тип Число.
Пример 1:
● Тип Структура.
● Ключ Абонент, значение Структура:
● Элемент 1: ключ Использование, значение Истина.
● Элемент 2: ключ Значение, значение 1.
● Ключ Филиал, значение Структура:
● Элемент 1: ключ Использование, значение Ложь.
В этом случае в отбор попадут записи журнала регистрации, которые одновременно удовлетворяют следующим условиям:
● Разделитель Абонент используется и установлен в значение 1.
● Разделитель Филиал не используется.
Пример 2:
● Тип Структура.
● Ключ Абонент, значение Массив:
● Элемент 1: Структура:
● Элемент 1: ключ Использование, значение Истина.
● Элемент 2: ключ Значение, значение 1.
● Элемент 2: Структура:
● Элемент 1: ключ Использование, значение Истина.
● Элемент 2: ключ Значение, значение 5.
● Ключ Филиал, значение Структура:
● Элемент 1: ключ Использование, значение Истина.
● Элемент 2: ключ Значение, значение 8215.
В этом случае в отбор попадут записи журнала регистрации, которые одновременно удовлетворяют следующим условиям:
● Разделитель Абонент используется и может принимать значение 1 или 5.
● Разделитель Филиал используется и может принимать значение 8215.
7.6.18.3. Получение записей журнала регистрации
При выгрузке журнала регистрации (в таблицу значений или в документ формата XML) в соответствующую структуру данных добавляются следующие колонки:
● РазделениеДанныхСеанса, тип Структура, где ключ структуры – имя разделителя, значение – значение разделителя;
● ПредставлениеРазделенияДанныхСеанса, тип Массив, состоящий из строк вида <Представление разделителя>: <Представление значения разделителя>.
Эти колонки добавляются только в том случае, если в текущем сеансе есть хотя бы один разделитель, который не используется в данном сеансе. Данные, содержащиеся в колонках РазделениеДанныхСеанса и ПредставлениеРазделенияДанныхСеанса, содержат информацию только по неиспользуемым разделителям.
Например, в прикладном решении существуют два разделителя:
● Абонент,
● Филиал.
Если в сеансе используются оба разделителя, то в выгружаемых данных не будет колонок РазделениеДанныхСеанса и ПредставлениеРазделенияДанныхСеанса. Если в сеансе не используется только разделитель Абонент, то в данных колонок РазделениеДанныхСеанса и ПредставлениеРазделенияДанныхСеанса будет информация только по разделителю Абонент, а по разделителю Филиал информация будет отсутствовать.
Представление имен разделителей определяется следующим образом:
● Для существующего разделителя – его представление.
● Для переименованного разделителя, т. е. разделителя, имя которого было изменено после внесения записей с его участием в журнал, – текущее представление разделителя.
● Для удаленного разделителя – последнее имя удаленного разделителя, дополненное пробелами перед не первыми прописными буквами. При этом прописные буквы преобразуются в строчные (кроме первой буквы в имени разделителя).
Для получения набора допустимых значений общих реквизитов, разделяющих данные, используется метод ПолучитьЗначенияОтбораЖурналаРегистрации().
Для получения набора общих реквизитов, разделяющих данные, в первом параметре метода следует указать строку РазделениеДанныхСеанса.
В структуре, которую возвращает метод, набор общих реквизитов записывается в элемент с ключом РазделениеДанныхСеанса. Значением элемента является соответствие, где:
● Ключ – имя общего реквизита,
● Значение – представление общего реквизита.
Для получения набора значений разделителей в первом параметре метода следует указать строку РазделениеДанныхСеанса.<Имя общего реквизита>, где <Имя общего реквизита> – имя общего реквизита (см. выше).
В структуре, которую возвращает метод, набор допустимых значений общего реквизита записывается в элемент с ключом РазделениеДанныхСеансаЗначения. Значением элемента является соответствие, где:
● Ключ – имя общего реквизита.
● Значение – значение типа Соответствие, в котором:
● Ключ – значение общего реквизита;
● Значение – представление значения общего реквизита.
7.6.18.4. Прочее
Если пользователь недоступен в текущем сеансе (принадлежит другой области данных, удален и т. д.), то при просмотре журнала, его выгрузке и в диалоге установки отбора такой пользователь отображается в виде строки Имя пользователя <не найден>.
7.6.19. Настройки и избранное
Настройки хранятся в разрезе уникальной комбинации значений разделителей и имен пользователей. Разные пользователи с одинаковым именем неразличимы. Отключенный разделитель представляет собой особое значение, для которого также выполняется хранение настроек.
При изменении значений разделителей в процессе работы системы не происходит автоматического считывания настроек для нового состава разделителей. Для этого необходимо закрыть и заново открыть ту форму, настройки которой требуется перечитать.
При реструктуризации информационной базы (после изменения состава разделителей) выполняются следующие действия:
● При добавлении разделителя считается, что все настройки, которые были ранее в базе данных, были записаны в ситуации, когда новый разделитель используется и его значением является значение по умолчанию для типа добавленного общего реквизита.
● Если при удалении разделителя обнаружено несколько настроек, сохраненных для одинаковых объектов конфигурации и различных значений разделителя, то будут сохранены только те настройки, которые сохранялись для минимального значения удаляемого разделителя. При возникновении такой ситуации при реструктуризации будет выдано предупреждение.
Работа с избранным происходит по вышеописанным правилам.
7.6.20. История
История действий пользователя хранится в разрезе уникальной комбинации значений разделителей и имен пользователей. Разные пользователи с одинаковым именем неразличимы. Отключенный разделитель представляет собой особое значение, для которого также выполняется хранение истории.
При реструктуризации информационной базы (после изменения состава разделителей) выполняются следующие действия:
● При добавлении разделителя считается, что вся история действия, которая была ранее в базе данных, была записана в ситуации, когда новый разделитель используется и его значением является значение по умолчанию для типа добавленного общего реквизита.
● При удалении разделителя выполняется очистка истории таким образом, чтобы в каждой уникальной комбинации значений остающихся разделителей было не более 200 записей истории.
7.6.21. Настройки стандартного интерфейса OData
Настройки стандартного интерфейса OData хранятся в разрезе уникальной комбинации значений разделителей. Отключенный разделитель представляет собой особое значение, для которого также выполняется хранение настройки стандартного интерфейса OData.
При реструктуризации информационной базы (после изменения состава разделителей) выполняется удаление настройки стандартного интерфейса OData и ее необходимо выполнить заново (см. здесь).
7.6.22. Запросы
Если объект входит в состав разделителя и в запросе к данным используется соединение с его объектной таблицей, то в условии соединения (секция запроса ПО) не допускается использование табличной части объекта.
Следует учитывать, что эффективность запросов, которые выполняются с низкой эффективностью (из-за большого количества соединений) в системе без разделителей, будет еще более снижена, если в системе существует более двух разделителей или разделитель типа Строка. В связи с этим следует избегать использование большого количества соединений в системах с указанными особенностями.
7.6.23. Управляемые транзакционные блокировки
При блокировке из языка без указания каких-либо полей блокируется все пространство по используемым разделителям.
Установка блокировки из языка с явным указанием разделителей доступна только для разделителей в режиме Независимо и совместно, только для пространств измерений (не наборов записей) регистров.
Если объект записывается со значениями разделителей, равными значениям по умолчанию своих типов и эти разделители используются в текущем сеансе, то блокировка устанавливается по значениям разделителей, указанным в сеансе.
Если блокировка выполняется по значению ссылки, то пространство блокировки определяется этим значением и используемыми значениями независимых разделителей. Таким образом, одновременная блокировка по значению ссылки из сеанса, в котором используется разделитель в режиме Независимо и совместно, и другого сеанса, в котором этот же разделитель не используется, невозможна.
В том случае, когда сеанс устанавливает монопольный доступ к каким-либо областям, все попытки установить управляемые блокировки на эти области (выполняемые из этого же сеанса) будут игнорироваться.
7.6.24. Монопольный режим
Метод УстановитьМонопольныйРежим() оперирует с областью, описанной разделителями, которые используются в данном сеансе. Таким образом, в одной информационной базе может одновременно существовать несколько областей, для которых установлен монопольный режим (с учетом ограничений, описанных далее). Если в сеансе не используется ни один разделитель, монопольный режим будет установлен не на область, а на всю базу данных.
Монопольный режим области не совместим с любой блокировкой другим сеансом той же области данных или ее любой вложенной области, а также с монопольным режимом, который пытается установить другой сеанс для любой объемлющей области. При этом область О2 является вложенной в область О1 в том случае, если существует разделитель, который используется в области O2 и не используется в области О1, а разделители, одновременно используемые в областях О1 и О2, имеют одинаковые значения. Соответственно, аналогичным образом определяется объемлющая область.
При переходе из области в область, список областей, на которые данный сеанс установил монопольный доступ, не изменяется.
Монопольный режим, заданный для области данных, запрещает:
● Создание новых сеансов для области и ее вложенных областей;
● Изменение данных области из объемлющих областей;
● Установку монопольного режима в объемлющих областях.
При этом (для вышеописанных ограничений) можно считать всю информационную базу областью, являющейся объемлющей для любой области данных.
7.6.25. Удаление помеченных объектов
Метод НайтиПомеченныеНаУдаление() находит все помеченные на удаление объекты, доступные в текущем сеансе.
При попытке удаления объектов (метод УдалитьОбъекты()) с контролем ссылочной целостности этот контроль выполняется среди тех объектов, которые доступы в текущем сеансе в соответствии с установленными разделителями. Возможны ситуации, когда на удаляемые объекты существуют ссылки из других объектов, недоступных в рамках текущего сеанса (например, из другой области данных). В этом случае ответственность за удаление объектов лежит на разработчике прикладного решения и пользователе, выполняющем такое удаление.
Совет. В прикладных решениях рекомендуется ограничивать удаление объектов (например, удаление неразделенных объектов в разделенных сеансах) с помощью средств конфигурирования (права доступа и т. д.).
7.6.26. Полнотекстовый поиск
В прикладном решении, использующем разделители, индекс полнотекстового поиска (как совокупность служебных файлов) является общим для всех значений разделителей информационной базы. Обновление индекса происходит сразу для всех значений разделителей и может выполняться только в сеансе, где все разделители не используются. Обновление полнотекстового индекса не поддерживается, если в сеансе используется хотя бы один разделитель.
Для поиска будут использоваться все неразделенные объекты и разделенные объекты, для которых выполняются следующие условия:
● Разделитель в режиме Независимо:
● Разделитель используется – в поиске участвуют объекты, для которых значение разделителя, установленное для сеанса, совпадает со значением, которое установлено для объекта.
● Разделитель не используется – разделенные объекты не участвуют в поиске.
● Разделитель в режиме Независимо и совместно:
● Разделитель используется – в поиске участвуют объекты, для которых значение разделителя, установленное для сеанса, совпадает со значением, которое установлено для объекта.
● Разделитель не используется – в поиске участвуют все разделенные объекты.
Если в сеансе используются все разделители прикладного решения, то время поиска информации эквивалентно времени поиска в информационной базе без разделителей, аналогичной по характеристикам области данных. Если в сеансе используются не все разделители прикладного решения, то поиск может занимать несколько большее время, чем в информационной базе без разделения данных, аналогичной по параметрам области данных по заданным разделителям.
Совет. Регламентные задания, используемые для обновления и слияния индекса полнотекстового поиска, необходимо делать неразделенными.
В силу того, что индекс полнотекстового поиска один для всей информационной базы (а не для каждой комбинации разделителей), метод ИндексАктуален() может вернуть Ложь даже в том случае, если в текущем сеансе не было никаких изменений, которые могут попасть в индекс. Такие изменения могут быть выполнены в сеансах с другими значениями разделителей.
Методы ОбновитьИндекс(), ОчиститьИндекс(), УстановитьРежимПолнотекстовогоПоиска() могут использоваться только в том случае, когда в сеансе не используется ни один разделитель. В противном случае вызывается исключение.
7.7. Особенности работы клиентского приложения под ОС Linux
Клиентское приложение, работающее под ОС Linux, обладает некоторыми особенностями и ограничениями:
● Не поддерживается технология COM и весь перечень возможностей, связанных с этой технологией:
● Не поддерживается работа с объектом COMОбъект;
● Запуск клиента «1С:Предприятия» в режиме Automation-сервера;
● Внешние компоненты, созданные с использованием COM-технологии.
● Не поддерживается консоль администрирования кластера серверов «1С:Предприятия». Администрирование возможно с помощью сервера администрирования (ras) и утилиты администрирования (rac).
● Не поддерживается аутентификация пользователя средствами операционной системы.
● Не поддерживается работа с объектом Почта. Вместо этого объекта можно использовать почтовое приложение по умолчанию, использую функцию ЗапуститьПриложение(), передавая ей в качестве параметра URL, сформированный в соответствии с описанием схемы mailto: (RFC 2368, http://tools.ietf.org/html/rfc2368).
● Не поддерживается размещение на одном компьютере нескольких версий приложения и возможность автоматического «подбора» версии системы для работы с информационной базой.
● Не поддерживается использование метафайлов Windows (WMF,EMF).
● При разработке прикладных решений следует учитывать, что элемент управления ПолеHTMLДокумента (в обычном режиме) и поле формы вида Поле HTML документа (в управляемом режиме) реализовано на основе библиотеки WebKit вместо Internet``Explorer. В связи с этим следует учитывать, что внешний вид и объектная модель HTML-документа (DOM-модель), доступ к которому осуществляется с помощью свойства ПолеHTMLДокумента.Документ, могут отличаться от таковых при работе в клиентском приложении, работающего на ОС Windows.
7.8. Особенности работы клиентского приложения под OS X
Версия «1С:Предприятия» для OS X обладает следующими ограничениями:
● Отсутствует 32-разрядная версия.
● Не поддерживается работа с файловой информационной базой, если она расположена на сетевом ресурсе.
● Не поддерживается работа кластера серверов «1С:Предприятия» на компьютере под управлением OS X.
● Не поддерживается публикация на веб-сервере.
Клиентское приложение, работающее под OS X, обладает некоторыми особенностями и ограничениями:
● Не поддерживается технология COM и весь перечень возможностей, связанных с этой технологией:
● Не поддерживается работа с объектом COMОбъект;
● Запуск клиента «1С:Предприятия» в режиме Automation-сервера;
● Внешние компоненты, созданные с использованием COM-технологии.
● Не поддерживается консоль администрирования кластера серверов «1С:Предприятия».
● Не поддерживается работа с объектом Почта. Вместо этого объекта можно использовать почтовое приложение по умолчанию, использую функцию ЗапуститьПриложение(), передавая ей в качестве параметра URL, сформированный в соответствии с описанием схемы mailto: (RFC 2368, http://tools.ietf.org/html/rfc2368).
● Не поддерживается использование метафайлов Windows (WMF,EMF).
● При разработке прикладных решений следует учитывать, что элемент управления ПолеHTMLДокумента (в обычном режиме) и поле формы вида Поле HTML документа (в управляемом режиме) реализовано на основе библиотеки WebKit вместо Internet Explorer. В связи с этим следует учитывать, что внешний вид и объектная модель HTML-документа (DOM-модель), доступ к которому осуществляется с помощью свойства ПолеHTMLДокумента.Документ, могут отличаться от таковых при работе в клиентском приложении, работающего на ОС Windows.
Не поддерживается бета-версией клиентского приложения «1С:Предприятия», работающего под управлением OS X, но планируется к реализации в финальной версии:
● Возможность автоматического подбора версии системы для работы с информационной базой.
● Обновление клиентского приложения по HTTP.
● Внешние компоненты, созданные по технологии Native API.
● Не поддерживается установка прикладных решений из комплектов поставки.
● Не поддерживается использование хранилища сертификатов операционной системы.
Не поддерживается бета-версией клиентского приложения «1С:Предприятия», работающего под управлением OS X, но рассматривается для дальнейшей реализации:
● Работа с панелью меню OS X.
● Работа с файловой информационной базой, расположенной на сетевом ресурсе.
● Работа с внешними источниками данных на стороне клиентского приложения и в Конфигураторе.
● Аутентификация пользователя средствами операционной системы.
7.9. Особенности работы мобильного приложения
При разработке мобильного приложения поддерживаются следующие объекты конфигурации и механизмы системы:
● Подсистемы;
● Константы;
● Справочники;
● Документы;
● Журналы документов;
● Регистры накопления (кроме разделения итогов и режима агрегатов);
● Регистры сведений;
● Обработки;
● Перечисления;
● Права доступа (с ограничениями), роли;
● Пользователи информационной базы (с ограничениями);
● Функциональные опции;
● Параметры сеанса;
● Планы обмена (за исключением планов обмена с установленным признаком Распределенная информационная база);
● Подписки на события;
● Запросы;
● Динамический список (с ограничениями);
● Использование Web-сервисов (без возможности создания Web-сервиса в мобильном прикладном решении);
● Общие картинки;
● Общие команды и группы команд;
● Общие макеты;
● Общие модули;
● Общие формы;
● Объекты настройки системы компоновки данных (без интерфейса пользователя);
● Условное оформление;
● Механизм XDTO (без возможности создания пакетов XDTO);
● Полнотекстовый поиск;
● Языки;
● Фоновые задания;
● Механизмы отладки прикладных решений.
Не поддерживаются механизмы и объекты конфигурации:
● Переключение интерфейсов (и режим совместимости интерфейсов)
● Механизмы бухгалтерского учета;
● Механизмы периодических расчетов;
● Механизмы бизнес-процессов и задач;
● Система компоновки данных;
● Механизм общих реквизитов;
● Ограничения доступа к данным;
● Управляемые блокировки;
● Работа с внешними источниками данных;
● Механизм автоматизированного тестирования;
● Механизм перетаскивания;
● Стандартные функции;
● Некоторые элементы управляемых форм;
● Расширенное редактирование в элементах формы;
● Пользовательская настройка форм;
● Сохранение и восстановление данных форм в настройках;
● Информационная панель, история работы пользователя и оповещения (метод ПоказатьОповещениеПользователя());
● Отображение состояния длительных процессов (метод Состояние());
● Справочная система;
● Механизм регламентных заданий;
● Возможности и изменения, реализованные в платформе для персонального компьютера, автоматически не переносятся в мобильную платформу. Новые возможности мобильной платформы отражаются соответствующими записями в файле V8Update.htm, в разделе Мобильная платформа.
При поставке конфигурации для мобильного приложения без исходных текстов (см. здесь), следует иметь ввиду следующую особенность системы: модуль, поставляемый без исходного текста, компилируется в предположении, что он будет исполняться исключительно на персональном компьютере. Если в таком модуле (поставляющемся без исходных текстов) используются методы, у которых разное количество параметров для мобильной платформы и платформы для персонального компьютера, то при проверке такого модуля при выгрузке в мобильное приложение будет генерироваться ошибка.
Некоторые объекты конфигурации и механизмы работают с особенностями:
● В ОС iOS не поддерживается работа оператора Выполнить() и функции Вычислить();
● ОС iOS, до версии 5.x (включительно), поддерживает ввод паролей только с помощью букв латинского алфавита и цифр. В версии ОС iOS 6 допускается использовать в паролях символы национальных алфавитов. Для обеспечения совместимости между различными версиями ОС рекомендуется задавать пароли пользователей с использованием цифр и букв только латинского алфавита.
● При работе динамического списка не поддерживается интерактивное управление настройками динамического списка. Управление настройками доступно только из встроенного языка.
● На мобильных устройствах под управлением ОС Android, анимация в мобильном приложении может быть отключена, если платформа оценивает данное устройство как недостаточно мощное.
При работе под управлением ОС Windows (как версии для телефонов, так и версии для сенсорных устройств) не поддерживаются:
● Инструменты преобразования адреса в географические координаты и обратно (методы ПолучитьМестоположениеПоАдресу() и ПолучитьАдресПоМестоположению()), а также возможность отображения координат на карте (метод ПоказатьНаКарте());
● Сканирование штрихкодов с помощью камеры устройства;
● Работа с механизмом уведомлений;
● Работа с календарями;
● Работа с контактами;
● Доступ к журналу звонков;
● Печать из приложения;
● Получение и неинтерактивная отправка SMS-сообщений;
● Неинтерактивный набор номера;
● Работа с сертификатами клиентского приложения.
Также необходимо помнить, что для поддерживаемых объектов реализованы не все возможности, доступные в прикладных решениях для персональных компьютеров. В связи с этим следует обращать внимание на раздел Доступность синтакс-помощника для определения доступности того или иного метода или свойства в мобильной платформе.
7.10. Механизм защиты от опасных действий
7.10.1. Общая информация
Кроме программного кода, который расположен в конфигурации, в прикладном решении может исполняться сторонний программный код. Сторонний программный код может попасть в систему с помощью внешних отчетов и обработок и расширений. В общем случае, администратор прикладного решения не может гарантировать, что сторонний код не выполняет каких-либо деструктивных действий (как сам такой код, так и опосредовано, через запуск внешних приложений, внешних компонент, COM-объектов).
Для помощи администратору прикладного решения предусмотрен специальный механизм защиты от опасных действий. При выполнении потенциально опасного действия система выдает предупреждение, содержащее информацию о выполняемом действии и потенциальной опасности этого действия. К потенциально опасным действиям относятся:
● Загрузка внешней обработки (отчета) или расширения конфигурации.
● Загрузка или обновление конфигурации/расширения.
● Доступ из внешней обработки (отчета) или расширения к следующим возможностям:
● Загрузка другой внешней обработки (отчет).
● Исполнение команды операционной системы.
● Управление пользователями.
● Загрузка внешней компоненты.
Пользователь имеет возможность разрешить или отклонить потенциально опасное действие. Если действие разрешено, в ряде случаев может потребоваться повторно выполнить разрешенное действие.
В общем случае работа с включенным механизмом защиты от опасных действий выглядит следующим образом (на примере расширения):
● При попытке добавления расширения в информационную базу, система запросит разрешение пользователя. Если пользователь разрешает это действие, то расширение добавляется в информаицонную базу. Если пользователь запрещает действие – расширение не добавляется.
● Если для расширения включена защита от опасных действий, то при выполнении расширением одного из потенциально опасных действий (перечень действий приведен выше), система запрашивает пользователя.
● В том случае, когда пользователь разрешает то или иное потенциально опасное действие, система запоминает это разрешение в разрезе пользователя, собственно внешнего отчета, обработки или расширения и разрешенного действия. При дальнейшем использовании запрос не повторяется, если текущий пользователь для данного объекта (внешня обработка (отчет) или расширение) уже разрешал какое-либо действие. Разрешение сохраняется в информационной базе.
Если пользователь запрещает какое-либо действие, то данный запрет не запоминается, а при следующем выполнении запрос на разрешение будет задан повторно.
В том случае, если потенциально опасное действие выполняется в том месте системы, где недоступно интерактивное взаимодействие (например, в фоновом задании), и выполняемое действие ранее не было разрешено интерактивно, то оно будет заблокировано, о чем будет выполнена запись в журнал регистрации.
Система идентифицирует объект (внешняя обработку (отчет) или расширение) по хешу этого объекта. Из этого следует, что для измененного объекта система опять будет запрашивать разрешение на потенциально опасные действия.
Механизм защиты от опасных действий проявляется:
● Во время интерактивной загрузки внешней обработки (отчет) – подробнее см. здесь.
● При интерактивном подключении расширения – подробнее см. здесь.
● Во время обновления конфигурации с помощью файла обновления конфигурации – подробнее см. здесь.
● При вызове метода Подключить() менеджера внешних обработок (отчетов) – подробнее см. здесь.
● При вызове метода РасширениеКонфигурации.Записать().
● При попытке выполнить команду операционной системы: ЗапускПриложения(), НачатьЗапускПриложения(), КомандаСистемы().
● При попытке записи или удаления информации о пользователе информационной базы: Записать() или Удалить() объекта ПользовательИнформационнойБазы.
● При попытке загрузить внешнюю компоненту: ПодключитьВнешнююКомпоненту(), НачатьПодключениеВнешнейКомпоненты().
● При работе с COM-объектами: ПолучитьCOMОбъект(), конструктор объекта COMОбъект().
7.10.2. Отключение механизма защиты от опасных действий
В ряде случае необходимо отключить механизм защиты от опасных действий. Для этого можно воспользоваться следующими возможностями:
1. Выключить флажок Защита от опасных действий (ЗащитаОтОпасныхДействий) в свойствах конкретного пользователя. Это отключит защиту для этого пользователя. Подробнее см. здесь.
2. Воспользоваться параметром ЗащитаОтОпасныхДействий методов Подключить() менеджеров внешних обработок (отчетов). В этом случае имеется возможность загрузить внешнюю обработку (отчет) без запросов пользователя.
3. Воспользоваться свойством ЗащитаОтОпасныхДействий объекта РасширениеКонфигурации перед вызовом метода Записать() этого объекта.
4. Воспользоваться параметром DisableUnsafeActionProtection файла conf.cfg (более подробно см. здесь). В этом случае механизм защиты от опасных действий будет отключаться для всех пользователей информационных баз, строки соединения которых удовлетворяют указанным маскам.
Отключение защиты от опасных действий выполняется по следующим правилам (в указанном порядке):
1. Защита считается отключенной, если у текущего пользователя сброшен флажок Защита от опасных действий.
2. Защита считается отключенной, если строка соединения с информационной базой удовлетворяет одному из шаблонов, указанных в параметре DisableUnsafeActionProtection файла conf.cfg.
3. Если внешняя обработка (отчет) подключается с явным образом отключенной защитой с помощью параметра ЗащитаОтОпасныхДействий.
4. Если защита явным образом отключена с помощью свойства расширения ЗащитаОтОпасныхДействий.