Как запустить 1С в монопольном режиме

1C 7.7 Запуск в командной строке и пакетный режим

  • Командная строка
  • Пакетный режим
    • Запуск Конфигуратора в пакетном режиме
    • Структура файла пакетного режима
    • Работа в пакетном режиме

Командная строка

При запуске программы 1С: Предприятие можно сразу же указать как именно она должна запуститься.
Пользователю не надо будет указывать базу данных и режим работы, имя и пароль. Соответствующие
диалоги не будут показывать программой.

Ключи запуска программы 1С: Предприятие из командной строки:

config запускать в режим «Конфигуратор»
debug запускать в режиме «Отладчика»
enterprise запускать в режиме «Предприятие» (обычный пользовательский режим)
/M запуск программы в монопольном режиме;
/D каталог базы данных;
/U рабочий каталог пользователя (каталог из списка пользователей игнорируется);
/N имя пользователя
/P пароль пользователя (если пароля нет, то этот ключ можно не задавать);
/@ запуск конфигуратора в пакетном режиме

Пример 1: «1cv7.exe config»
При запуске программы в диалог с выбором режима работы
и базы данных в режиме работы будет указано «Конфигуратор» вместо используемого
по умолчанию «Предприятие» (но пользователь, как обычно, может поменять режим работы в этом диалоге)

Пример 2:
«1cv7.exe enterprise /DC:\Data1C\Mainbase /NИванов /P123 /m»,
Произойдет запуск программы в монопольном режиме
без вывода диалогов о выборе базы и режима работы,
а также без запроса имени и пароля пользователя.

Пример 3:
«1cv7.exe enterprise /DC:\Data1C\Mainbase»
Произойдет запуск программы без запроса о выборе базы
и режима работы. Будут запрошены только имя и пароль пользователя.

Пример 4:
«1cv7.exe config /DC:\Data1C\Mainbase /NИванов /P123 /m /@command.ini»,
Конфигуратор запустится полностью автоматические, без единого запроса.
Дополнительно в пакетном файле можно указать,
что конфигуратор не должен задавать каких-либо вопросов при выполнении заданий пакетного файла
и должен завершать работу автоматически. В этом случае программа будет
запускаться, выполнять задания и завершать свою работу без участия человека.

Пакетный режим

В данном разделе описывается специальный режим работы конфигуратора — <Пакетный
режим>. Он предназначен для выполнения конфигуратором административных функций
без участия пользователя. Данный режим применяется в специальных случаях. Например,
с его помощью можно организовать специальный ярлык на рабочем столе Windows
для создания резервной копии информационной базы 1С:Предприятия. При этом пользователю
не нужно будет выполнять никаких действий по выбору необходимой функции в конфигураторе
и указанию параметров необходимых для сохранения информационной базы. Данный
режим может использоваться для организации автоматического выполнения административных
функций в определенный момент времени. Для этого используется любое программное
обеспечение, имеющее возможность планирования и запуска задач в определенное
время. Например, может быть организовано автоматическое создание резервной копии
в ночное время суток.

Пакетный режим предназначен для выполнения следующих действий:

· тестирование и исправление информационной базы;

· выгрузка данных;

· сохранение данных;

· автообмен распределенной информационной базы (режим доступен,
если установлена компонента <Управление распределенными информационными базами>).

Запуск Конфигуратора в пакетном режиме

Для работы Конфигуратора в пакетном режиме следует в командной строке запуска
1С:Предприятия, кроме параметра CONFIG, указывающего на то, что система 1С:Предприятие
запускается в режиме <Конфигуратор>, указать параметр /@ФайлПакетногоРежима.
ФайлПакетногоРежима — это имя файла, содержащего параметры пакетного запуска.
Все необходимые функции, которые должны быть выполнены Конфигуратором в пакетном
режиме, описываются в этом файле.

Имя файла может задаваться как абсолютным путем, так и относительным.

В случае задания относительным путем файл ищется программой сначала в рабочем
каталоге пользователя, затем в каталоге информационной базы, а затем в том каталоге,
из которого запускается 1С:Предприятие. Заметим, что для того, чтобы при пакетном
режиме не выдавался диалог запуска 1С:Предприятия и диалог авторизации, в строке
запуска должны быть указаны все необходимые параметры:

· параметр CONFIG;

· каталог информационной базы (параметр /D);

· имя пользователя, если для данной информационной базы ведется
список пользователей (параметр /N);

· пароль пользователя, если для пользователя задан пароль (параметр
/Р).

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

Ниже приведен пример строки запуска Конфигуратора в пакетном режиме:

c:\1cv7\bin\1cv7.exe
CONFIG /Dc:\1cv7\db /NПопов /PSekret /@C:\lCV7\CMD\Backup

Структура файла пакетного режима.

Файл пакетного режима является текстовым файлом и может создаваться и модифицироваться
любым текстовым редактором. Структура файла включает секции и параметры, определенные
для каждой секции. Секция задается отдельной строкой с именем секции в прямоугольных
скобках. Параметры задаются отдельными строками после строки соответствующей
секции с указанием имени параметра и значением, отделенным знаком <=>. Основная
секция General, описывает общие параметры пакетного
режима и необходимость выполнения отдельных функций пакетного режима. Остальные
секции содержат параметры, описывающие особенности выполнения конкретных функций.

Секция General

Данная секция предназначена для описания общих параметров пакетного режима
и необходимости выполнения отдельных функций.

style=’page-break-before:always’>

Параметр

Пояснение

Output=Имя_файла

Указывает файл, в который будет дополнительно направляться вывод записей
о выполняемых действиях в пакетном режиме. Имя файла может указываться
как абсолютным путем, так и относительно каталога, в котором расположен
файл параметров. Формат файла дополнительного вывода совпадает с форматом
вывода в журнал регистрации. Если параметр не указан, то дополнительный
вывод производиться не будет. В любом случае вывод производится в журнал
регистрации

Quit=Значение

Указывает, нужно ли завершать выполнение Конфигуратора после выполнения
действий пакетного режима.

Если задано Y или 1, после выполнения действий пакетного режима, программа
будет завершена, а если 0 или N, то нет.

Если параметр не задан, то программа будет завершена.

CheckAndRepair=

Значение

Указывает, нужно ли выполнять тестирование и исправление информационной
базы.

Если задано Y или 1, тестирование и исправление будет выполняться, а
если 0 или N, то нет.

Если параметр не задан, то тестирование и исправление выполняться не
будет.

UnloadData =3начение

Указывает, нужно ли выполнять выгрузку информационной базы.

Если задано Y или 1, выгрузка будет выполняться, а если 0 или N, то нет.

Если параметр не задан, то выгрузка выполняться не будет.

SaveData=Значение

Указывает, нужно ли выполнять сохранение информационной базы.

Если задано Y или 1, сохранение будет выполняться, а если 0 или N, то
нет.

Если параметр не задан, то сохранение выполняться не будет.

AutoExchange=

Значение

Указывает, нужно ли выполнять автообмен в распределенной информационной
базе.

Если задано Y или 1, автообмен будет выполняться, а если 0 или N, то
нет.

Если параметр не задан, то автообмен выполняться не будет.

Подробное описание работы с распределенными информационными базами приведено
в книге <Управление распределенными информационными базами>.

Секция CheckAndRepair

Данная секция предназначена для описания выполнения тестирования и исправления
информационной базы.

Параметр

Пояснение

Repair=Значение

Параметр указывает, должно ли выполняться исправление информационной
базы.

Если задано значение Y или 1, то будет выполняться тестирование и исправление
обнаруженных ошибок в информационной базе.

Если задано значение N или 0, то будет производиться только тестирование.

Если параметр не задан, то будет производиться тестирование и исправление.

PhysicalIntegrity=

Значение

Параметр указывает, следует ли производить проверку физической целостности
таблиц информационной базы.

Если задано Y или 1, проверка будет производиться, если N или 0,
то нет.

Если параметр не задан, проверка будет производиться.

Reindex=Значение

Параметр указывает, следует ли производить реиндексацию таблиц информационной
базы.

Если задано Y или 1, реиндексация будет производиться, если N или 0,
то нет.

Если параметр не задан, реиндексация будет производиться.

Если установлен режим исправления, то рекомендуется установить и режим
реиндексации.

LogicalIntegrity=

Значение

Параметр указывает, следует ли производить проверку логической целостности
таблиц информационной базы.

Если задано Y или 1, проверка будет производиться, если N или 0, то нет.

Если параметр не задан, проверка будет производиться.

RecalcSecondaries=

Значение

Параметр указывает, следует ли производить обновление (пересчет) вторичных
данных информационной базы, то есть служебных данных, которые могут быть
рассчитаны на основании другой информации, хранящейся в информационной
базе.

Если задано Y или 1, обновление будет производиться, если N или 0 — то
нет.

Если параметр не задан, обновление будет производиться.

RecalcTotals=

Значение

Параметр указывает, следует ли производить пересчет итогов бухгалтерского
и оперативного учета.

Если задано Y или 1, пересчет будет производиться, если N или 0 — то
нет.

Если параметр не задан, пересчет будет производиться.

Pack=3начение

Параметр указывает, следует ли производить упаковку таблиц информационной
базы, то есть освобождать место занятое удаленными записями.

Если задано Y или 1, упаковка будет производиться, если N или 0,
то нет.

Если параметр не задан, упаковка не будет производиться.

Данный параметр имеет смысл, только если данные хранятся в формате DBF/CDX.

SkipUnresolved=

Значение

Параметр указывает, следует ли пропускать неразрешенные ссылки, или их
следует исправлять.

Если задано Y или 1, неразрешенные ссылки будет только диагностироваться,
если N или 0, то ссылки будут разрешаться способом, задаваемым параметром
CreateForUnresolved (см. ниже).

Если параметр не задан, ссылки будут исправляться.

Параметр имеет смысл только, если проводится тестирование и исправление
информационной базы.

CreateForUnresolved=Значение

Параметр указывает способ разрешения неразрешенных ссылок.

Если задано Y или 1, для неразрешенной ссылки будет создан объект соответствующего
типа, если N или 0, то ссылка будет очищена.

Если параметр не задан, будет создан объект.

Параметр имеет смысл только, если проводится тестирование и исправление
информационной базы.

Reconstruct=

Значение

Параметр указывает способ исправления информационной базы в случае, когда
данные объекта частично потеряны. Если задано Y или 1, будет создан объект,
заполненный имеющимися данными, если N или 0, то данные объекта будут
удалены.

Если параметр не задан, будет создан объект.

Параметр имеет смысл только, если проводится тестирование и исправление
информационной базы.

Секция UnloadData

Данная секция предназначена для описания выполнения выгрузки данных информационной
базы.

Параметр

Пояснение

UnloadToFile=

Имя_Файла

Параметр указывает имя файла переноса данных, в который будет производиться
выгрузка. Может задаваться как абсолютно, так и относительно того каталога,
в котором размещается файл параметров.

Параметр должен быть задан обязательно.

IncludeUserDef=

Значение

Параметр указывает должен ли в файл переноса данных включаться список
пользователей.

Если задано Y или 1, то список пользователей будет включен в файл переноса,
если 0 или N, то нет.

Если параметр не задан, то список будет включен в файл переноса.

Password=Пароль

Параметр задает пароль, которым будет закрыт файл переноса данных.

Если параметр не задан, то файл переноса не будет закрыт паролем.

Секция SaveData

Данная секция предназначена для описания выполнения сохранения данных информационной
базы.

Параметр

Пояснение

SaveToFile=

Имя_Файла

Параметр указывает имя файла, в который будет производиться сохранение
данных. Может задаваться как абсолютно, так и относительно того каталога,
в котором размещается файл параметров.

Параметр должен быть задан обязательно.

FileList=Список сохраняемых файлов

Задается как перечисление имен файлов, разделенных пробелами или запятыми.
Длинные имена файлов, содержащие пробелы должны заключаться в кавычки
«». В именах файлов могут использоваться символы <*> для обозначения
групп файлов.

Если параметр не задан, то список сохраняемых файлов будет взят из файла
1CV7FILE.LST, так же как и в случае выполнения сохранения из пункта меню
<Администрирование>.

Работа в пакетном режиме

Выполнение указанных действий в пакетном режиме производится всегда в строго
определенной последовательности, вне зависимости от порядка следования секций
и параметров в файле пакетного режима:

· тестирование и исправление информационной базы;

· выгрузка данных;

· сохранение данных;

· автообмен распределенной информационной базы.

При работе Конфигуратора в пакетном режиме не выполняется выдача предупреждений
и запросов, требующих подтверждения пользователя. При возникновении критических
ошибок выполнение пакетного режима прекращается. Результаты выполнения пакетного
режима можно просмотреть в журнале регистрации и в файле дополнительного вывода,
если он был определен в файле параметров пакетного режима.

Установленный монопольный режим позволит пользователю быть единственным пользователем базы, пока он установлен. Однако сам монопольный режим можно установить только в том случае, если на момент установки пользователь был единственным!
Установка монопольного режима
Код 1C v 8.х

Как видите, если применение процедуры работы с информационной базой УстановитьМонопольныйРежим() приводит к ошибке, приходится с этим смириться. Хотя если захотите обеспечить выход других пользователей из системы, в настоящем издании есть пример того, как этого добиться: Как принудительно завершить работу всех пользователей информационной базы ?».
Кроме самой установки монопольного режима можно еще, например, убедиться, что в текущий момент работа идет в монопольном режиме:

Проверка монопольного режима
Код 1C v 8.х

Или же снять монопольный режим (Отмена монопольного режима):
Код 1C v 8.х

В 1С 7.7, режим «Монопольно» присутствует только в сетевых версиях 1С. Если же у Вас не сетевая версия, то Вы будете по умолчанию заходить монопольно – Вас об этом даже не спросят.
Для определения режима работы существует специальный метод: МонопольныйРежим(). Возвращаемое значение: Число 1 — если программа запущена в монопольном режиме; Число 0 — если программа запущена в сетевом режиме. Небольшой пример:
Код 1C v 7.x

Монопольный режим — это особый режим работы базы 1С, при котором к базе имеет доступ только 1 сеанс. В статье рассмотрены особенности применения данного режима.

Монопольный режим целесообразно использовать когда необходимо выполнить существенные изменения данных и при этом исключить влияние других сеансов на результаты работы. В частности, режим монопольного доступа устанавливается при выполнении некоторых сервисных процедур (удаление помеченных объектов) и вызове некоторых методов встроенного языка ( УстановитьЧасовойПоясИнформационнойБазы () , УдалитьОбъекты () и др.).

Установка монопольного режима

Установка и снятие монопольного режима выполняется методом

В качестве входного параметра передается значение типа булево.

Монопольный режим возможно установить только при одновременном выполнении условий:

  • в режиме предприятия работает только один пользователь (Вы);
  • у пользователя есть право на изменение монопольного режима (в ролях флаг «Монопольный режим» корня дерева метаданных).
  • отсутствуют активные транзакции ( явные или неявные ).

Если какое-то требование не соблюдается, выполнение метода завершится ошибкой вида

Проверить установку монопольного режима можно при помощи метода

Метод возвращает Истина, если монопольный режим установлен.

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

При работе 1С в клиент-серверном варианте с СУБД MS SQL Server установка базы в монопольный режим не переводит базу данных в однопользовательский режим (single user).

Использование монопольного режима в базе с разделителями

Метод УстановитьМонопольныйРежим () устанавливает монопольный режим только в той области, которая определена для текущего сеанса. Таким образом, в одной базе может одновременно существовать несколько областей, для которых установлен монопольный режим. Если в сеансе разделители не используются, то режим будет установлен не на область, а на всю базу.

Остались вопросы?
Спросите в комментариях к статье.

При работе в сетевых платформах 1С обычно пользователи работают в разделённом режиме. Это означает, что они одновременно (совместно) могут пользоваться программой. Но существуют определённые задачи, для выполнения которых нужно войти в сетевой пакет монопольно. Рассмотрим, как установить или снять монопольный режим в 1С.

Монопольность необходима для выполнения специальных задач.

Представляем монопольный режим

Прежде всего, затевать разговор о вероятности перехода в монопольный режим можно только тогда, когда на PC установлена сетевая платформа. В противном случае (развёрнут локальный вариант) монопольно работать вы будете всегда и по-другому никак.

Что нам нужно в режиме «монопольно» и для чего его запускать?

Переиндексация базы

Некорректное закрытие программы 1С (например, при внезапном отключении питания) требует выполнения переиндексации информационной базы. Это программное требование и без выполнения этой процедуры 1С просто не откроется. Но выполнение переиндексации возможно только монопольно.

Удаление помеченных объектов

Иногда требуется удалить из программы какие-то объекты. Сначала они как бы «предварительно» помечаются «на удаление» (по правой кнопке мышки из контекстного меню). Если пользователь передумал, то эту пометку можно с объекта снять (таким же способом).

Для непосредственного удаления предварительно помеченных записей потребуется выход из программы всех пользователей. И тогда кто-то один монопольно сможет осуществить удаление, войдя во вкладку основного меню — «Операции», затем «Удаление помеченных объектов».

После этого проверяются связи этого объекта с другими проведёнными операциями. При обнаружении таковой — удаление не произойдёт. Ведь таким действием будет нарушена логическая цепочка событий, документов, операций.

Открытие периодов

Итоговые данные в 1С учитываются помесячные и поквартально. Это не чья-то прихоть, а соответствие правилам бухгалтерского учёта. При наступлении нового периода — нужно этот период «открыть». Сделать это можно только через запущенный монопольный вход. Для создания нового периода нужно открыть в основном меню на раскрывающейся вкладке «Операции» выбрать «Управление бухгалтерскими итогами»:

Важные моменты монопольной работы

Общее правило использование монопольного входа определяет, что в реальный момент времени находиться в программе имеет право только один пользователь. И если кто-то уже вошёл в неё таким образом, то другому доступ будет закрыт. Если же в ней кто-то уже работает разделённо, то нельзя будет войти монопольно. В обоих случаях системой будет отражено сообщение об «Ошибке блокировки».

Запрет использования режима

Для запрета на монопольность входа конкретному юзеру нужно в настройках его прав (в Конфигураторе) снять галку «Запуск монопольного режима». Тогда при попытке такого входа ему будет послано сообщение «Недостаточно прав»:

Монопольная загрузка базы 7.7

Рассмотрим интересующие нас доступные способы входа.

Указание режима при входе

В самом начале, запуская выбранную информационную базу, нужный режим «Монопольно» выбирается установкой в соответствующем чек-боксе флажка.

Свойства ярлыка

Для запуска 1С в нужном режиме создаётся ярлык, который, минуя запускающее окно, сразу будет загружать нужную базу (используется команда 1cv7.exe enterprise/M).

Конфигуратор

При загрузке ИБ через Конфигуратор загрузка предприятия автоматически происходит в монопольно. Именно о таком входе почему-то редко кто вспоминает, когда ему это требуется.

Монопольность в восьмёрке

В 1С 8 переход в такой режим осуществляется из самой программы. Находясь в восьмёрке, перейти в него можно только будучи в одиночестве. Для того чтобы проверить количество пользователей, нужно в Конфигураторе на вкладке «Администрирование» вызвать команду «Активные пользователи». Тогда будет выдан их список.

Теперь вы знаете как запустить 1С в монопольном режиме. Используя один из способов, вы непременно добьётесь желаемого результата как в семёрке, так и восьмёрке.

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

Для того, чтобы расположить на форме кнопку, раньше, в версии 8.1, нужно было:

  • Перетащить на панель кнопку
  • Добавить функцию — обработчик события кнопки
  • В данной функции прописать код на языке 1С, который выполнит требуемые действия.

В 1С версии 8.2 появились управляемые формы. Разработка управляемых форм отличается и на них нельзя «перетащить кнопку».

Как же тогда быть?

Команды 1С

Итак ранее кнопка представляла собой отдельный элемент формы.

Чтобы кнопка при нажатии что-то делала, нужно было для нее подключить функцию языка 1С. Такая функция называется — обработчик.

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

В новой версии 1С 8.2 появился новый объект 1С – команда. Он реализует как раз этот принцип.

Команда 1С – это набор действий, которые должна выполнить программа, сформулированных на языке 1С. Текст программы команды 1С хранится в собственном модуле команды 1С.

Для того, чтобы пользователь мог запустить их на выполнение – у этих действий есть визуальное представление на форме. Какое оно будет – зависит от того, в какую группу элементов формы Вы перетащите команду.

Например, если перетащить просто на форму – будет кнопка, если в группу командной панели – то кнопка командной панели (плоская), а можно перетащить в меню – тогда это будет пункт меню.

Команду возможно использовать как на обычной форме, так и в управляемом (командном) интерфейсе 1С.

Стандартные команды 1С

Расширяем сознание дальше. Итак, суть команды 1С – это действие. Оно может быть запрограммировано на языке 1С.

Но мы знаем также действия, которые не нужно программировать на языке 1С, так как они уже доступны в платформе 1С. Например, для справочников стандартные действия – это возможность создания элемента. Для формы справочника – возможность записать, а для документа – провести. Это тоже действия?

Да, и теперь они называются – стандартные команды 1С. Свои стандартные команды 1С есть у справочников, документов, форм и прочих объектов 1С.

Стандартные команды 1С можно отключить у конкретного объекта 1С с помощью галочки «Использовать стандартные команды 1С» в конструкторе объекта 1С на закладке «Команды 1С».

Владелец команды 1С

Команды 1С находятся во вложенной ветке своего владельца. Например, Справочники/Контрагенты/Команды 1С.

Также есть команды 1С, которые не имеют владельца, так как они являются общими. Такие команды 1С не привязаны к объектам и находятся в ветке Общие/Общие команды 1С.

В любой управляемой форме можно создать собственную произвольную команду, текст программы которой (функция) будет находится в модуле формы.

Параметры команды 1С

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

Например, для справочника Контрагенты, юридический и физический адрес хранятся в связанном регистре Контактные данные. Чтобы перейти в него, необходимо было выбрать меню в форме контрагента(ов) — Перейти/Контактные данные.

То есть для некоторых действий требуется не только факт запуска действия, но и параметр, который определяет, для какого объекта нужно эти действия выполнить – например, для какого контрагента отобразить контактные данные.

В свойствах команды 1С возможно указать:

  • Тип параметра команды 1С – тип объекта 1С, который будет использован в качестве параметра, например, справочник Контрагенты
  • Режим использования параметры – нужно одно значение или список (массив).

Чтобы разместить команду на форме, можно указать в свойствах команды 1С группу командного интерфейса, где она должна располагаться.

Или просто перетащить команду в список элементов формы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *