Надеюсь о необходимости сохранения базы данных (БД) нет смысла расказывать - сами должны понимать, что лучше потратить 5-10 минут чтобы сохранить данные чем потом 2-3 дня (в лучшем случае) заполнять пустую базу! Вопрос стоит в периодичности таких сохранений. Ну и, конечно, в забывчивости. Часто в повседневных заботах просто забываешь сохранить БД. А если используется многопользовательский доступ 1С - бывает тяжело разогнать всех. Можно конечно насильно их отключить - но это грозит физическим повреждением данных. Потому я рекомендую автоматически сохранять БД.
Специальные программы, такие как Acronis, я рассматривать не буду. Также, при помощи планировщика заданий, можно настроить сохранение БД в архив каким-нибудь архиватором, например WinRAR 3.90.
Рассмотрим работу 1С в пакетном режиме. Что же такое "пакетный режим"? - работа 1С в режиме конфигуратора для выполнения административных функция без участия пользователя. Пакетный режим предназначен для выполнения следующих действия:
Тестирование и исправление информационной базы;
выгрузка данных;
сохранение данных;
автообмен РИБ (доступен если установлена компонента УРБД).
Итак, для автосохранения БД необходимо создать два файла: запускной файл и файл пакетного режима.
Запускной файл.
Создадим обычный bat- (batch-) файл (например с именем Save.bat) следующей структуры:
где start /wait - запустить програму и дождаться ее завершения (не знаете что обозначает - лучше не трогайте) c:\program files\1cv77\bin\1cv7.exe - путь к файлу 1С (по умолчанию он ставится в эту папку, но если вы меняли место установки - измените на свое) config - тип запуска 1С в режиме конфигуратора (не меняем) /D"C:\work\Base" - путь к нашей БД. посмотреть его можно в окне выбора баз. Запускаем 1с, выбираем базу и нажимаем кнопку "Изменить" - открывается еще одно окно "Регистрация Информационной Базы" в поле "Путь" и есть путь к нашей БД. Выделяем его, копируем, нажимаем "Отмена" (вдруг вы что-то не то нажали чтоб не сохранять) и ставим наш файл в двойных кавычках после ключа /d /NAdmin - имя пользователя с правами администратора (запуск конфигуратора, сохранение/выгрузка данных). Имя пользователя указывать сразу после ключа /n без пробелов так, как он заполнен в конфигураторе. Регистр значения не имеет. /P111 - пароль пользователя admin указывается сразу после ключа /p. Регистр имеет значение! /@c:\work\backup путь к пакетному файлу и сам файл указывается сразу после ключа /@. Структура пакетного файла backup будет рассмотрена ниже.
В принцыпе этого будет достаточно для сохранения данных. Однако тогда у вас будет хранится только одна (последняя) архивная копия базы, потому допишем еще несколько строк, которые будут переименовывать полученный архив в формат ИмяФайла_Дата.zip
set name=base%date%.zip
Указываем какое имя будет иметь наш архив. После символа "=" вместо base можете указать название своей фирмы, лучше используя латинские символы, %date% - добавляет к имени текущую дату, .zip - тип (расширение) файла (не менять!).
ren base.zip %name%
переименовать полученный архив в сгенерированное выше имя, base.zip - файл архива, имя его указывается в пакетном файле backup, т.е. они должны совпадать!
Пакетный файл для DBF базы.
Файл пакетного режима является текстовым файлом и может создаваться и модифицироваться любым текстовым редактором. Структура файла включает секции и параметры, определенные для каждой секции. Секция задается отдельной строкой с именем секции в прямоугольных скобках. Параметры задаються отдельными строками после строки соответствующей секции с указанием имени параметра и значением, отделенным знаком "=". Основная секция GENERAL описывает общие параметры пакетного режима и необходимость выполнения отдельных функция пакетного режима. Остальные секции содерат параметры, описывающие особенности выполнения конкретных функций.
Для сохранения нам нужно создать файл, следующей структуры:
[General]
SaveData=1
Следующие строки реиндексируют нашу базу. Очень полезно использовать если структура информационной базы dbf и используется многопользовательский режим доступа к БД. Если локальный вариант 1С или реиндексация происходит не очень часто эти строки лучше не добавлять - пользы от них будет мало.
Секция сохранения файла, должна быть обязательно! Файл будет сохранен на диск c:\ в папку work с именем base.zip. Имя можете указать другое, только не забудьте в запускном файле Save.bat в строке переименования также указать это свое имя файла.
[Savedata]
SaveToFile=c:\work\base.zip
Пакетный файл для SQL базы.
Так как в SQL базе данные храняться не в dbf файлах, то и нужно делать не сохранение данных а выгрузку. Соответственно backup будет иметь такую структуру: