В наше время, когда о человеке говорят, что он умеет жить,
обычно подразумевают, что он не отличается особой честностью.
С.Галифакс.

1С:Школа.
Выпуск 30.
"
Монопольный режим".

Пользователи сетевых версий 1С:Предприятия часто задают вопросы, касающиеся работы в монопольном режиме: какие дополнительные функции этот режим предоставляет, на что влияет, надо ли ставить флаг «Монопольно» если знаешь, что работаешь один в базе т т.д. Итак, по порядку.

  1. Режим «Монопольно» присутствует только в сетевых версиях 1С. Если же у Вас не сетевая версия, то Вы будете по умолчанию заходить монопольно – Вас об этом даже не спросят.
  2. Какие существуют способы загрузки базы монопольно. Во-первых, при запуске информационной базы можно установить соответствующий флажок «Монопольно», во-вторых, при запуске информационной базы через ярлык можно указать ключ /m (Про ключи запуска см. соответствующий выпуск) В третьих, если Вы запускаете информационную базу из режима «Конфигуратор» (меню «Сервис»-«1С:Предприятие» в конфигураторе), то программа автоматически начнет загружаться в монопольном режиме. Про третий вариант часто забывают, но обычно до тех пор, пока один из бухгалтеров устанет ждать, когда Вы освободите базу.
  3. Правило обращения с режимом «Монопольно»: в этом режиме может работать одновременно только один пользователь. Если кто-то уже зашел в базу монопольно, то Вас туда уже не пустят (ни в монопольном, ни в разделенном режимах). Если кто работает в разделенном режиме, то Вас туда не пустят монопольно. В обоих случаях Вы получите сообщение «Ошибка блокировки….»
  4. Монопольный режим предназначен для выполнения определенных операций:
    1. Индексация информационной базы. Если Вы заходите в новую базу (например, после установки) или из предыдущей сессии вышли некорректно, то надо зайти в монопольном режиме. Система автоматически предложит переиндексацию базы. После переиндексации надо не забыть выйти из базы и зайти в разделенном (не монопольном) режиме, для того, чтобы пустить в базу остальных пользователей.
    2. В монопольном режиме выполняется удаление помеченных объектов. Это делается в меню «Операции» -> «Удаление помеченных объектов». Для системы это очень ответственная операция и при ее выполнение проверяются ссылки на каждый удаляемый объект во всей информационной базе. Если удаляемый объект где-то упоминается, то удалить его просто так не удастся (про удаление объектов, видимо, придется делать отдельный выпуск).
    3. В монопольном режиме выполняется открытие периодов в бухгалтерии и торговле. «Операции» - «Управление бухгалтерскими итогами» (для бухгалтерии) и «Операции» - «Управление оперативными итогами». 1С – хранит свои итоги с точностью до определенного периода, по этому при наступление нового периода (месяц, квартал) – их надо открывать.
  5. Надо ли заходить «Монопольно» если знаешь, что работаешь один в базе? Монопольные процедуры – 2а, 2б, 2с – выполняются не часто. По этому не стоит заходить монопольно из-за них. Но в монопольном режиме существенно повышается общая производительность системы. Каких-то статистических данных и замеров я не видел, но по моим оценкам от 10% до 25%. В монопольном режиме быстрее проводятся документы, строятся отчеты. По этому если Вы знаете, что никому не причините неудобств, то работайте монопольно.
  6. Если Вы администрируете 1С, то, возможно, что кому-то из пользователей надо запретить работать в монопольном режиме. В этом случае – не надо изобретать велосипед – достаточно в конфигураторе в наборе прав для этого пользователя снять флажок «Запуск в монопольном режиме». В этом случае, пользователь при входе в базу получит сообщение «Недостаточно прав доступа».
  7. Монопольный режим присутствует как в dbf так и SQL версии 1С Предприятия. Раньше часто возникали проблемы с тем, что кто-то работает в монопольном режиме в SQL-базе (SQL 7.0), а второй пользователь пытается зайти туда же и все падает (вместе с тем, кто сидит монопольно). Решение - необходимо поставить ServicePack 2 для SQL 7.0 и тогда падения не будет – второго пользователя не пустят, и данные останутся целыми.
  8. При конфигурировании иногда возникает необходимость запускать процедуры, созданные Вами, в монопольном режиме (например, если Вы задумали обмениваться данными с другой информационной базой, то лучше это делать монопольно). Для определения режима работы существует специальный метод: МонопольныйРежим(). Возвращаемое значение: Число 1 — если программа запущена в монопольном режиме; Число 0 — если программа запущена в сетевом режиме. Небольшой пример:
    Процедура Сформировать()
        Если МонопольныйРежим()=1 Тогда
            ВыгрузитьДанные();
        Иначе
            Предупреждение("Выгрузку данных необходимо производить в монопольном режиме");
            Возрат;
        КонецЕсли;
    КонецПроцедуры

Может быть, какие-то детали я забыл указать, но этого, на мой взгляд, достаточно для хорошей работы.


Автор рассылки: Алексей Колосов


Hosted by uCoz