Установленный монопольный режим позволит пользователю быть единственным пользователем базы, пока он установлен. Однако сам монопольный режим можно установить только в том случае, если на момент установки пользователь был единственным!
Установка монопольного режима
Код 1C v 8.х
Как видите, если применение процедуры работы с информационной базой УстановитьМонопольныйРежим() приводит к ошибке, приходится с этим смириться. Хотя если захотите обеспечить выход других пользователей из системы, в настоящем издании есть пример того, как этого добиться: Как принудительно завершить работу всех пользователей информационной базы ?».
Кроме самой установки монопольного режима можно еще, например, убедиться, что в текущий момент работа идет в монопольном режиме:
Проверка монопольного режима
Код 1C v 8.х
Или же снять монопольный режим (Отмена монопольного режима):
Код 1C v 8.х
В 1С 7.7, режим «Монопольно» присутствует только в сетевых версиях 1С. Если же у Вас не сетевая версия, то Вы будете по умолчанию заходить монопольно – Вас об этом даже не спросят.
Для определения режима работы существует специальный метод: МонопольныйРежим(). Возвращаемое значение: Число 1 — если программа запущена в монопольном режиме; Число 0 — если программа запущена в сетевом режиме. Небольшой пример:
Код 1C v 7.x
Монопольный режим — это особый режим работы базы 1С, при котором к базе имеет доступ только 1 сеанс. В статье рассмотрены особенности применения данного режима.
Монопольный режим целесообразно использовать когда необходимо выполнить существенные изменения данных и при этом исключить влияние других сеансов на результаты работы. В частности, режим монопольного доступа устанавливается при выполнении некоторых сервисных процедур (удаление помеченных объектов) и вызове некоторых методов встроенного языка ( УстановитьЧасовойПоясИнформационнойБазы () , УдалитьОбъекты () и др.).
- Установка монопольного режима
- Использование монопольного режима в базе с разделителями
- Представляем монопольный режим
- Переиндексация базы
- Удаление помеченных объектов
- Открытие периодов
- Важные моменты монопольной работы
- Запрет использования режима
- Монопольная загрузка базы 7.7
- Указание режима при входе
- Свойства ярлыка
- Конфигуратор
- Монопольность в восьмёрке
Установка монопольного режима
Установка и снятие монопольного режима выполняется методом
В качестве входного параметра передается значение типа булево.
Монопольный режим возможно установить только при одновременном выполнении условий:
- в режиме предприятия работает только один пользователь (Вы);
- у пользователя есть право на изменение монопольного режима (в ролях флаг «Монопольный режим» корня дерева метаданных).
- отсутствуют активные транзакции ( явные или неявные ).
Если какое-то требование не соблюдается, выполнение метода завершится ошибкой вида
Проверить установку монопольного режима можно при помощи метода
Метод возвращает Истина, если монопольный режим установлен.
В монопольном режиме запрещено создание новых сеансов, за исключением одного фонового задания. Управляемые блокировки не устанавливаются, попытки их установки игнорируются.
При работе 1С в клиент-серверном варианте с СУБД MS SQL Server установка базы в монопольный режим не переводит базу данных в однопользовательский режим (single user).
Использование монопольного режима в базе с разделителями
Метод УстановитьМонопольныйРежим () устанавливает монопольный режим только в той области, которая определена для текущего сеанса. Таким образом, в одной базе может одновременно существовать несколько областей, для которых установлен монопольный режим. Если в сеансе разделители не используются, то режим будет установлен не на область, а на всю базу.
Остались вопросы?
Спросите в комментариях к статье.
При работе в сетевых платформах 1С обычно пользователи работают в разделённом режиме. Это означает, что они одновременно (совместно) могут пользоваться программой. Но существуют определённые задачи, для выполнения которых нужно войти в сетевой пакет монопольно. Рассмотрим, как установить или снять монопольный режим в 1С.
Монопольность необходима для выполнения специальных задач.
Представляем монопольный режим
Прежде всего, затевать разговор о вероятности перехода в монопольный режим можно только тогда, когда на PC установлена сетевая платформа. В противном случае (развёрнут локальный вариант) монопольно работать вы будете всегда и по-другому никак.
Что нам нужно в режиме «монопольно» и для чего его запускать?
Переиндексация базы
Некорректное закрытие программы 1С (например, при внезапном отключении питания) требует выполнения переиндексации информационной базы. Это программное требование и без выполнения этой процедуры 1С просто не откроется. Но выполнение переиндексации возможно только монопольно.
Удаление помеченных объектов
Иногда требуется удалить из программы какие-то объекты. Сначала они как бы «предварительно» помечаются «на удаление» (по правой кнопке мышки из контекстного меню). Если пользователь передумал, то эту пометку можно с объекта снять (таким же способом).
Для непосредственного удаления предварительно помеченных записей потребуется выход из программы всех пользователей. И тогда кто-то один монопольно сможет осуществить удаление, войдя во вкладку основного меню — «Операции», затем «Удаление помеченных объектов».
После этого проверяются связи этого объекта с другими проведёнными операциями. При обнаружении таковой — удаление не произойдёт. Ведь таким действием будет нарушена логическая цепочка событий, документов, операций.
Открытие периодов
Итоговые данные в 1С учитываются помесячные и поквартально. Это не чья-то прихоть, а соответствие правилам бухгалтерского учёта. При наступлении нового периода — нужно этот период «открыть». Сделать это можно только через запущенный монопольный вход. Для создания нового периода нужно открыть в основном меню на раскрывающейся вкладке «Операции» выбрать «Управление бухгалтерскими итогами»:
Важные моменты монопольной работы
Общее правило использование монопольного входа определяет, что в реальный момент времени находиться в программе имеет право только один пользователь. И если кто-то уже вошёл в неё таким образом, то другому доступ будет закрыт. Если же в ней кто-то уже работает разделённо, то нельзя будет войти монопольно. В обоих случаях системой будет отражено сообщение об «Ошибке блокировки».
Запрет использования режима
Для запрета на монопольность входа конкретному юзеру нужно в настройках его прав (в Конфигураторе) снять галку «Запуск монопольного режима». Тогда при попытке такого входа ему будет послано сообщение «Недостаточно прав»:
Монопольная загрузка базы 7.7
Рассмотрим интересующие нас доступные способы входа.
Указание режима при входе
В самом начале, запуская выбранную информационную базу, нужный режим «Монопольно» выбирается установкой в соответствующем чек-боксе флажка.
Свойства ярлыка
Для запуска 1С в нужном режиме создаётся ярлык, который, минуя запускающее окно, сразу будет загружать нужную базу (используется команда 1cv7.exe enterprise/M).
Конфигуратор
При загрузке ИБ через Конфигуратор загрузка предприятия автоматически происходит в монопольно. Именно о таком входе почему-то редко кто вспоминает, когда ему это требуется.
Монопольность в восьмёрке
В 1С 8 переход в такой режим осуществляется из самой программы. Находясь в восьмёрке, перейти в него можно только будучи в одиночестве. Для того чтобы проверить количество пользователей, нужно в Конфигураторе на вкладке «Администрирование» вызвать команду «Активные пользователи». Тогда будет выдан их список.
Теперь вы знаете как запустить 1С в монопольном режиме. Используя один из способов, вы непременно добьётесь желаемого результата как в семёрке, так и восьмёрке.