Многим администраторам рано или поздно приходится сталкиваться с тем, что пользователи не закрывают базу 1С и в результате невозможно сделать резервную копию базы. В файловом использовании 1С принудительное «вышибание» пользователей может привести к потере не сохраненных данных и к разрушению самой базы.
Предлагаю вам программу (консольное приложение), которая создает файл 1Cv8.cdn в каталоге базы данных 1С.
Созданный файл служит для блокировки пользователей.
В файле указывается время начала и окончания блокировки, в это время будет совершаться выгрузка базы.
Время начала блокировки соответствует текущему времени + 15 минут.
Время окончания блокировки: + 3 часа.
Итак:
1. Создаем в планировщике заданий (назначение заданий) задание, в котором указываем исполнение данной программы. В задачу необходимо передать параметры: путь к каталогу базы данных 1С и ключ блокировки/разблокировки, то есть пароль, который потом передается в исполняемый файл выгрузки базы 1С (*.bat).
Версия 1.1: В программу добавлен третий параметр — количество минут блокировки.
2. Создаем в планировщике заданий (назначение заданий) второе задание, в котором указываем исполнение bat-файла. Это файл выгрузки базы данных из Конфигуратора.
Пример файла выгрузки:
«C:Program Files (x86)1cv828.2.19.90in1cv8.exe» CONFIG /f «e:1CУТ» /DisableStartupMessages /DumpIB «e:1CУТ_%date%.dt» /NUser /PPassword /OUT «e:1Cackup1C.log» /UC XXX -NoTruncate
где /UC XXX — в параметре /UC передается пароль (в данном случае XXX), который был передан в первом задании для создания файла блокировки.
Всё очень просто! Главное условие — чтобы был закрыт конфигуратор, так как конфигуратор не блокируется, планировщик заданий (задание №2) попытается запустить второй экземпляр конфигуратора, что не возможно.
P.S. Приложение написано на Visual Studio C#, поэтому для его работы требуется установленный Net Framework 2.0 или выше. В принципе — это уже не проблема, потому что все современные системы уже имеют установленные Net Framework и даже выше версии 2.0.
А есть возможность указывать время начала блокировки и её окончание?
(1) dj_serega, нет. Задумка была в том, чтобы назначить задание за 15 минут до нужного времени блокировки. А вот непосредственно время блокировки (3 часа) стоит по умолчанию, но пожалуй да, надо добавить третий параметр — количество минут блокировки. Спасибо, сделаю.
Добавлена версия 1.1. В данной версии необходимо передавать три параметра:
— путь к каталогу базы данных 1С;
— ключ блокировки/разблокировки, то есть пароль, который потом передается в исполняемый файл выгрузки базы 1С (*.bat);
— количество минут блокировки.
А не проще скрипт с параметрами?
(4) Жолтокнижниг, я с радостью приму пример, если вас не затруднит ))) Ну а пока у меня и так всё отлично работает! Чего и всем желаю!
Здравствуйте! Пример bat по пункту 1 можно? Не совсем понятно, как параметры передавать в Create_1Cv8_cdn.exe
Пробовал так:
Create_1Cv8_cdn.exe D:Projects1Cv82Stomatolog 111 20
где:
«D:Projects1Cv82Stomatolog» -путь
«111» -пароль
«20» — минуты блокировки
Не создается
(7) Попробуйте так:
Create_1Cv8_cdn.exe D:Projects1Cv82Stomatolog 111 20
если не получится, то перепроверьте правильность пути
Спасибо! Так получилось. Просто не совсем понятно по описанию, как указывать параметры. Однозначно, пример не помешал бы.