Установленный монопольный режим позволит пользователю быть единственным пользователем базы, пока он установлен. Однако сам монопольный режим можно установить только в том случае, если на момент установки пользователь был единственным!
Установка монопольного режима
Код 1C v 8.х
Как видите, если применение процедуры работы с информационной базой УстановитьМонопольныйРежим() приводит к ошибке, приходится с этим смириться. Хотя если захотите обеспечить выход других пользователей из системы, в настоящем издании есть пример того, как этого добиться: Как принудительно завершить работу всех пользователей информационной базы ?».
Кроме самой установки монопольного режима можно еще, например, убедиться, что в текущий момент работа идет в монопольном режиме:
Проверка монопольного режима
Код 1C v 8.х
Или же снять монопольный режим (Отмена монопольного режима):
Код 1C v 8.х
В 1С 7.7, режим «Монопольно» присутствует только в сетевых версиях 1С. Если же у Вас не сетевая версия, то Вы будете по умолчанию заходить монопольно – Вас об этом даже не спросят.
Удаление в 1С без монопольного режима
Для определения режима работы существует специальный метод: МонопольныйРежим(). Возвращаемое значение: Число 1 — если программа запущена в монопольном режиме; Число 0 — если программа запущена в сетевом режиме. Небольшой пример:
Код 1C v 7.x
Монопольный режим — это особый режим работы базы 1С, при котором к базе имеет доступ только 1 сеанс. В статье рассмотрены особенности применения данного режима.
Монопольный режим целесообразно использовать когда необходимо выполнить существенные изменения данных и при этом исключить влияние других сеансов на результаты работы. В частности, режим монопольного доступа устанавливается при выполнении некоторых сервисных процедур (удаление помеченных объектов) и вызове некоторых методов встроенного языка ( УстановитьЧасовойПоясИнформационнойБазы () , УдалитьОбъекты () и др.).
Установка монопольного режима
Установка и снятие монопольного режима выполняется методом
В качестве входного параметра передается значение типа булево.
Монопольный режим возможно установить только при одновременном выполнении условий:
- в режиме предприятия работает только один пользователь (Вы);
- у пользователя есть право на изменение монопольного режима (в ролях флаг «Монопольный режим» корня дерева метаданных).
- отсутствуют активные транзакции ( явные или неявные ).
Если какое-то требование не соблюдается, выполнение метода завершится ошибкой вида
Проверить установку монопольного режима можно при помощи метода
Метод возвращает Истина, если монопольный режим установлен.
В монопольном режиме запрещено создание новых сеансов, за исключением одного фонового задания. Управляемые блокировки не устанавливаются, попытки их установки игнорируются.
При работе 1С в клиент-серверном варианте с СУБД MS SQL Server установка базы в монопольный режим не переводит базу данных в однопользовательский режим (single user).
1С 7.7 Программа была завершена аварийно. Что же делать!?
Использование монопольного режима в базе с разделителями
Метод УстановитьМонопольныйРежим () устанавливает монопольный режим только в той области, которая определена для текущего сеанса. Таким образом, в одной базе может одновременно существовать несколько областей, для которых установлен монопольный режим. Если в сеансе разделители не используются, то режим будет установлен не на область, а на всю базу.
Остались вопросы?
Спросите в комментариях к статье.
При работе в сетевых платформах 1С обычно пользователи работают в разделённом режиме. Это означает, что они одновременно (совместно) могут пользоваться программой. Но существуют определённые задачи, для выполнения которых нужно войти в сетевой пакет монопольно. Рассмотрим, как установить или снять монопольный режим в 1С.
Монопольность необходима для выполнения специальных задач.
Представляем монопольный режим
Прежде всего, затевать разговор о вероятности перехода в монопольный режим можно только тогда, когда на PC установлена сетевая платформа. В противном случае (развёрнут локальный вариант) монопольно работать вы будете всегда и по-другому никак.
Что нам нужно в режиме «монопольно» и для чего его запускать?
Переиндексация базы
Некорректное закрытие программы 1С (например, при внезапном отключении питания) требует выполнения переиндексации информационной базы. Это программное требование и без выполнения этой процедуры 1С просто не откроется. Но выполнение переиндексации возможно только монопольно.
Удаление помеченных объектов
Иногда требуется удалить из программы какие-то объекты. Сначала они как бы «предварительно» помечаются «на удаление» (по правой кнопке мышки из контекстного меню). Если пользователь передумал, то эту пометку можно с объекта снять (таким же способом).
Для непосредственного удаления предварительно помеченных записей потребуется выход из программы всех пользователей. И тогда кто-то один монопольно сможет осуществить удаление, войдя во вкладку основного меню — «Операции», затем «Удаление помеченных объектов».
После этого проверяются связи этого объекта с другими проведёнными операциями. При обнаружении таковой — удаление не произойдёт. Ведь таким действием будет нарушена логическая цепочка событий, документов, операций.
Открытие периодов
Итоговые данные в 1С учитываются помесячные и поквартально. Это не чья-то прихоть, а соответствие правилам бухгалтерского учёта. При наступлении нового периода — нужно этот период «открыть». Сделать это можно только через запущенный монопольный вход. Для создания нового периода нужно открыть в основном меню на раскрывающейся вкладке «Операции» выбрать «Управление бухгалтерскими итогами»:
Важные моменты монопольной работы
Общее правило использование монопольного входа определяет, что в реальный момент времени находиться в программе имеет право только один пользователь. И если кто-то уже вошёл в неё таким образом, то другому доступ будет закрыт. Если же в ней кто-то уже работает разделённо, то нельзя будет войти монопольно. В обоих случаях системой будет отражено сообщение об «Ошибке блокировки».
Запрет использования режима
Для запрета на монопольность входа конкретному юзеру нужно в настройках его прав (в Конфигураторе) снять галку «Запуск монопольного режима». Тогда при попытке такого входа ему будет послано сообщение «Недостаточно прав»:
Монопольная загрузка базы 7.7
Рассмотрим интересующие нас доступные способы входа.
Указание режима при входе
В самом начале, запуская выбранную информационную базу, нужный режим «Монопольно» выбирается установкой в соответствующем чек-боксе флажка.
Свойства ярлыка
Для запуска 1С в нужном режиме создаётся ярлык, который, минуя запускающее окно, сразу будет загружать нужную базу (используется команда 1cv7.exe enterprise/M).
Конфигуратор
При загрузке ИБ через Конфигуратор загрузка предприятия автоматически происходит в монопольно. Именно о таком входе почему-то редко кто вспоминает, когда ему это требуется.
Монопольность в восьмёрке
В 1С 8 переход в такой режим осуществляется из самой программы. Находясь в восьмёрке, перейти в него можно только будучи в одиночестве. Для того чтобы проверить количество пользователей, нужно в Конфигураторе на вкладке «Администрирование» вызвать команду «Активные пользователи». Тогда будет выдан их список.
Теперь вы знаете как запустить 1С в монопольном режиме. Используя один из способов, вы непременно добьётесь желаемого результата как в семёрке, так и восьмёрке.
Источник: softlast.ru
Запуск программы «1С:Предприятие 7.7» из командной строки
Программу «1С:Предприятие» при необходимости можно запустить из командной строки или с помощью BAT-файла. На практике это может потребоваться для запуска программы из стороннего приложения, например, из планировщика заданий для выполнения каких-либо технологических операций.
В общем случае формат строки для запуска системы «1С:Предприятие» версии 7.7 будет следующим:
/M /D /U /N /P
- — полное имя исполнимого файла программы (с указанием пути к нему). Если имена каталогов содержат пробелы, всё имя необходимо взять в двойные кавычки, например, «C:Program Files1Cv7BIN1cv7.exe» ;
- — режим запуска программы. Параметр может принимать только одно из следующих значений:
- ENTERPRISE — запуск в обычном режиме;
- CONFIG — запуск в режиме «Конфигуратор»;
- DEBUG — запуск в режиме «Отладчик»;
- MONITOR — запуск в режиме «Монитор».
Кроме описанных выше параметров, в строке запуска могут также использоваться и другие необязательные параметры:
Пример строки запуска программы в режиме «Конфигуратор» для 32-разрядных ОС:
1cv7.exe CONFIG /Dd:Base1SBDB /NАдминистратор /P123
Пример строки запуска программы в монопольном режиме для 64-разрядных ОС:
«C:Program Files (x86)1cv7BIN1cv7.exe» ENTERPRISE /M /Dd:Base1SBDB /NАдминистратор /P123
Данную строку можно использовать в окне команды «Выполнить»:
или в окне командного интерпретатора:
Кстати, аналогичная строка запуска присутствует и в свойствах ярлыка программы (поле «Объект»).
Использование BAT-файлов
Если программу «1С:Предприятие» необходимо запустить из стороннего приложения, а синтаксис команды запуска в данном приложении не позволяет указать дополнительные параметры запуска (например, в команде можно указать только имя исполнимого файла, включая путь к нему), следует воспользоваться пакетным файлом (BAT-файлом).
Содержимым такого BAT-файла может быть строка подобная той, что приводилась в примерах выше.
Однако у пакетного файла с таким содержимым есть один недостаток: окно командного интерпретатора, открывающееся при его запуске, будет висеть на экране до тех пор, пока не будет закрыто окно программы «1С:Предприятие». А значит, всё это время впустую будет расходоваться некоторый объём (порядка одного мегабайта) оперативной памяти компьютера.
Устранить этот недостаток можно путём использования в BAT-файле команды start , после выполнения которой, окно командного интерпретатора сразу же закроется.
Примечание: Пустой параметр ( «» ) в команде start необходим только в том случае, когда путь к исполнимому файлу программы «1С:Предприятие» заключён в кавычки, так как команда start (согласно заложенного синтаксиса) воспринимает первый параметр в кавычках как имя, которое необходимо при запуске присвоить окну командного интерпретатора. То есть, если имена каталогов, указанных в полном имени файла 1cv7.exe , не содержат пробелов, то команда может выглядеть следующим образом:
start C:1CBIN1cv7.exe config /Dd:Base1SBDB /NКассир /P1q2w3e
Другие статьи по схожей тематике
- Запуск внешнего приложения из программного кода
- Работа с внешними отчётами и обработками
- Работа с файловой системой
- Функции среды исполнения
- Что такое 1С. Просто о сложном
- Обновление КЛАДР в 1С версии 7.7
Источник: webbrat.ru
Монопольный режим в 1С
В 1С существует особый режим программы. Называется он монопольный режим. В большинстве случаев работы он не используется, так как не нужен. Но существуют моменты, когда без него никак не обойтись.
Например, когда необходимо очистить помеченные на удаление объекты. Если попробуете удалить ненужные объекты, когда еще кто-то кроме вас в базе, то это не получится. Система выдаст сообщение об ошибке.
Также существуют условия, которые необходимо выполнить, если хотим установить монопольный режим. Например, в базе не должно быть никого больше. В ином случае выполнять действия, которые запланировали, будет невозможно.
Особенно важный момент, про который не стоит забывать, это то, что у пользователя должны быть права по установке этого режима.
И последнее условие заключается в том, что в системе не должно выполнятся никаких транзакций. Если что-то пошло не так с каким-то из описанных выше условий, то система выдаст примерно такую ошибку:
Я думаю, вы знаете, что необходимо сделать в таком случае. Кстати, знаете какой самый важный процесс в режиме предприятия выполняется в монопольном режиме 1С? Не знаете? Это же свертка базы 1С 8.3 на определенную дату.
2. Как установить монопольный режим в 1С
Разработчику легко установить этот режим, всего лишь в коде необходимо написать:
МонопольныйРежим – это параметр в зависимости от значения, которое передается, устанавливается или снимается монопольный режим. Имеет два значения: · Истина; · Ложь.
Первое значение прописывается, когда нам необходимо установить наш однопользовательский режим. Второе — противоположное первому и отключает его.
Легко и просто проверить установился монопольный режим 1C или нет можно при помощи небольшого метода: МонопольныйРежим(); Этот метод возвращает значение, в котором говорится — установлен наш режим или нет.
Кстати, интересный момент: базовые версии конфигураций как раз используют метод работы в монопольном режиме 1С, в котором работает только один пользователь в системе.
И еще один момент: в клиент-серверном варианте базы, однопользовательский режим не устанавливается.
Нужно учится, постоянно учится, чтобы стать хорошим специалистом. Ведь мы никогда не знаем, когда наши знания могут пригодится.
Специалист компании ООО «Кодерлайн» Олег Мороз.
Вас могут заинтересовать следующие статьи:
94 [PROP_CODE] => TAGS2 [TITLE] => Вас могут заинтересовать следующие семинары: ) —> 95 [PROP_CODE] => TAGS [TITLE] => Вас могут заинтересовать следующие вебинары: ) —>
Вас могут заинтересовать следующие вебинары:
1С: Конвертация данных [1] => Конвертация данных [2] => Программирование в 1С [3] => Как сделать в 1С [4] => 1С:Бухгалтерия [5] => Отчеты в 1С [6] => Обмен между базами [7] => Закрытие месяца [8] => 1С:Управление производственным предприятием [9] => 1С: Розница [10] => 1С: CRM [11] => Оценка задач [12] => СКД [13] => РСБУ [14] => Администрирование 1С [15] => Оптимизация [16] => 1С: ERP [17] => Моделирование [18] => Продажи [19] => 1С: Управление торговлей [20] => Бюджетирование [21] => HTTP [22] => Управление проектами [23] => MS SQL Server [24] => МСФО [25] => БУ [26] => Внедрение ERP [27] => com-объекты [28] => 1С: WMS Управление складом [29] => Перенос данных [30] => Торговое оборудование [31] => 1С: Сценарное тестирование [32] => 1С: Колледж [33] => Запросы 1С [34] => LINUX [35] => WEB [36] => Лицензии 1С [37] => 1С:Зарплата и Управление Персоналом [38] => 1С: Документооборот [39] => Excel [40] => ADO [41] => Транспортная логистика [42] => Внедрение [43] => Техническое задание [44] => Отчетность [45] => Ценообразование [46] => 1С:Комплексная автоматизация [47] => Производство [48] => Интеграция 1С [49] => Планирование [50] => Налоги [51] => Отпуск [52] => Полезные обработки [53] => Расширение конфигурации [54] => XML [55] => Word [56] => WEB-сервисы 1С [57] => Лизинг [58] => 1С:Управление нашей фирмой [59] => 1С:Управление корпоративными финансами [60] => 1С: Аренда и управление недвижимостью [61] => Правила обмена [62] => 1С: Платформа [63] => Финансовый учет ) —>
Источник: www.koderline.ru