Описание компоненты V7Backup (версия 3.0.5 от 18/10/2004)

Содержание

V7Backup - Automation server для резервного копирования информационных баз системы 1С:Предприятие 7.7

  • Главное о V7Backup
  • Установка и удаление
  • Новое в текущей версии. Обновление с предыдущих версий
  • Запуск архивации с использованием компоненты
  • Класс V7Backup.InfBase
  • Класс V7Backup.Mail
  • Часто задаваемые вопросы
  • Прочее
  • Благодарности

© 2002-2004 Кочуров А.Л.


Главное о V7Backup
На главную | Далее >

V7Backup предназначен для автоматизации резервного копирования информационных баз системы 1С:Предприятие 7.7.

V7Backup - это, по меткому выражению Никиты Зайцева (WildHare), "архиватор с программным управлением". Он выполнен в виде так называемого OLE Automation сервера, предоставляющего пользователю набор свойств и методов для обеспечения резервного копирования. Программа (скрипт) для резервного копирования пишется на языке Visual Basic Script (можно и на других языках, понимающих OLE Automation), и запуск ее вставляется в стандартный планировщик заданий (scheduler) Windows. Для упрощения написания скриптов в состав V7Backup включен Помощник (мастер).

V7Backup устанавливается на сервере, на котором находятся информационные базы 1С:Предприятия, как DBF, так и SQL.

V7Backup формирует пакетный файл Конфигуратора и запускает Конфигуратор для выполнения этого файла. Имя файла выгрузки устанавливается на основании текущей даты в виде "ГГГГММДД.zip". Если файл с таким именем уже существует, к имени добавляется текущее время.

Для того, чтобы пакетный запуск Конфигуратора осуществился успешно, V7Backup способен отключать подключенных к базе данных пользователей, закрывая как их сетевые сеансы, так и подключения к SQL-серверу. Также могут быть закрыты локальные процессы 1С:Предприятия. Возможно также условное резервирование, когда при наличии подключений к базе резервное копирование на запускается.

V7Backup может запустить 1С:Предприятие в качестве OLE Automation сервера и передать ему команды на встроенном языке 1С:Предприятия, например, для перепроведения документов в ночное время, формирования отчетов или удаления помеченных объектов.

По окончании работы V7Backup может по электронной почте отправить администратору сообщение о результатах работы.

Компонента написана, основываясь на следующих предположениях:

  • скрипт, запускающий резервное копирование выполняется на сервере от имени пользователя с привилегиями администратора;

  • там же находится база данных;

  • там же работает MS SQL Server (если используется);

  • там же установлено 1С:Предприятие 7.7;

  • на сервере доступен Windows Script Host версии 5.6 или выше;

  • на сервере установлена ОС Windows 2000 Server;

  • на сервере установлена СУБД MS SQL Server 2000.

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


Установка и удаление
< Назад | На главную | Далее >

Установка:

  1. Войти на сервер локально с правами администратора, от имени которого в дальнейшем будет запускаться процесс резервного копирования;
  2. Скопировать на сервер файл V7Backup.chm (тот самый файл, который вы сейчас читаете) в любую папку (можно создать, например C:\V7Backup );
  3. Открыть файл V7Backup.chm и нажать кнопку регистрации:

Диагностика:

Для проверки правильности установки запустите диагностику:

Если V7Backup установлен нормально, то диагностика не должна содержать упоминаний об отсутствии зарегистрированных классов V7backup.InfBase и V7Backup.Mail. Также будет показан список зарегистрированных баз 1С:Предприятия. Если версия Сервера Сценариев Windows (WSH) установленного на компьютере, меньше 5.6, следует обновить WSH. Где можно скачать WSH 5.6, смотрите здесь.

Удаление:

  1. Нажмите на кнопку удаления:
  2. Удалите вручную все ненужные файлы и папки.


Новое в текущей версии. Обновление с предыдущих версий
< Назад | На главную | Далее >

Что нового в версии 3.0.5 от 18/10/2004 и как произвести обновление?

Версия 3.0.5 - финальная. Проект V7Backup закрыт.

Изменения в версии 3.0.5 от 18/10/2004:

  1. Исправлена ошибка, когда в лог не выводились сообщения о успешно резервированных базах, когда свойство AddBackupDir было пустым.

Для обновления сначала следует удалить предыдущую версию (из панели "Установка и удаление программ", либо вручную, если установка производилась вручную), а затем перейти на страницу установки и выполнить установку оттуда. При возникновении проблем воспользуйтесь файлом ManInst.hta из дистрибутива.

Изменения в версии 3.0.4 от 01/09/2004:

  1. Метод CloseLocalProcesses сделан нечувствительным к регистру свойства V7Path.

Для обновления сначала следует удалить предыдущую версию (из панели "Установка и удаление программ", либо вручную, если установка производилась вручную), а затем перейти на страницу установки и выполнить установку оттуда. При возникновении проблем воспользуйтесь файлом ManInst.hta из дистрибутива.

Изменения в версии 3.0.3 от 11/07/2004:

  1. Исправлено присвоение значений по умолчанию свойствам UserName и Password.

Для обновления сначала следует удалить предыдущую версию (из панели "Установка и удаление программ", либо вручную, если установка производилась вручную), а затем перейти на страницу установки и выполнить установку оттуда. При возникновении проблем воспользуйтесь файлом ManInst.hta из дистрибутива.

Изменения в версии 3.0.2 от 08/07/2004:

  1. Исправлена ошибка, возникающая при запуске Конфигуратора от имени пользователя с пустым паролем;
  2. В состав дистрибутива добавлен файл для ручной установки/удаления ManInst.hta вместо setup.vbs и uninst.vbs.

Для обновления сначала следует удалить предыдущую версию (из панели "Установка и удаление программ", либо вручную, если установка производилась вручную), а затем перейти на страницу установки и выполнить установку оттуда. При возникновении проблем воспользуйтесь файлом ManInst.hta из дистрибутива.

Изменения в версии 3.0.1 от 16/05/2004:

  1. При установке в меню Пуск\Программы\V7Backup теперь добавляются ярлыки Помощника, диагностики и удаления. Это сделано для пользователей, которым настройки безопасности не позволяют запускать НТА-приложения из файла справки;
  2. По этой же причине в дистрибутив добавлены файлы setup.vbs и uninst.vbs, позволяющие выполнить установку и деинсталляцию компоненты;
  3. В компоненту и приложение диагностики внесены косметические изменения, касающиеся вывода дополнительной информации в файл протокола.

Для обновления сначала следует удалить предыдущую версию (из панели "Установка и удаление программ", либо вручную, если установка производилась вручную), а затем перейти на страницу установки и выполнить установку оттуда. При возникновении проблем воспользуйтесь файлами setup.vbs и uninst.vbs из дистрибутива.

Изменения в версии 3.0.0 от 04/04/2004:

  1. Версия 3.0.0 реализована по принципиально новой технологии - вместо DLL, используется Windows Script Component. Компонента и вспомогательные приложения находятся внутри файла справки V7Backup;
  2. Добавлена обработка дополнительных параметров (свойство Params), связанных с УРБД;
  3. Исправлена функция создания отсутствующих каталогов,
  4. Исправлена ошибка, препятствовавшая запуску нескольких скриптов с использованием компоненты одновременно;
    Исправлена ошибка, связанная с чувствительностью к регистру свойства SQLDBName;
  5. Процедуры DoBackupIfNoConnections и DoBackupIfOK преобразованы в функции, возвращающие True в случае отсутствия препятствий для запуска резервного копирования;
  6. В состав дистрибутива добавлено приложение - диагностика V7Backup;
  7. Помощник создания скриптов полностью переписан.

Для обновления сначала следует удалить предыдущую версию (из панели "Установка и удаление программ", либо вручную, если установка производилась вручную), а затем перейти на страницу установки и выполнить установку оттуда.

Изменения в версии 2.1.1 14/11/2003:

  1. Исправлена ошибка, когда при резервировании DBF-базы отключались пользователи SQL - сервера;
  2. Вместо отказа от резервирования базы, в том случае, когда информация о базе не найдена в реестре, выводится предупреждение. Это сделано из-за проблем с поиском базы в реестре в Windows 98;
  3. Проведена подготовка к портированию исходного кода в формат WSC (для выпуска версии 3);
  4. В "Помощнике создания скриптов V7Backup" исправлено несколько ошибок.

Изменения в версии 2.1.0 от 29/10/2003:

  1. Добавлена процедура CloseLocalProcesses для закрытия локальных процессов 1С:Предприятия (полезно для тех, у кого 1С:Предприятие запускается на терминальном сервере);
  2. Добавлена процедура DoBackupIfNoConnections для выполнения резервирования при условии отсутствия открытых сетевых и SQL-подключений к базе;
  3. Добавлена процедура DoBackupIfOK для выполнения резервирования при условии отсутствия открытых сетевых и SQL-подключений к базе, а также при отсутствии локально запущенных процессов 1С:Предприятия;
  4. Добавлено свойство TestMode для запуска скриптов в тестовом режиме;
  5. Инсталлятор заменен на более простой и компактный;
  6. Внесены изменения в структуру описания компоненты;
  7. Для облегчения задачи написания скриптов в дистрибутив включен "Помощник создания скриптов V7Backup", разработанный Михаилом Немчиновым.

Изменения в версии 2.0.2 от 26/06/2003:

  1. Исправлены ошибки, возникавшие когда пути к БД и архиву содержали пробелы;
  2. Исправлена ошибка, возникавшая при запуске несуществующего исполняемого файла 1С:Предприятия;
  3. Исправлена ошибка, возникающая при архивировании нескольких SQL-баз подряд, когда не были заданы параметры SQL;
  4. Добавлена возможность изменять поле Subject у объекта ReportMail;
  5. Исправлена ошибка, вызывавшая дублирование событий в системном журнале;
  6. Добавлен вывод в отладочный лог информации об операционной системе и Сервере Сценариев (WSH).

Изменения в версии 2.0.1 от 10/05/2003:

  1. Методы CloseNetSessions и CloseSQLSessions возвращены в разряд документируемых;
  2. Добавлен класс V7Backup.Mail для отправки сообщений V7Backup по электронной почте;
  3. Добавлены свойства ReportMail и AlertMail типа V7Backup.Mail для отправки по электронной почте всех сообщений (ReportMail) и сообщений об ошибках в случае их возникновения (AlertMail);
  4. Добавлен метод CheckConnections для записи протокол сведений о сетевых и SQL подключениях к базе без их закрытия;
  5. Добавлена проверка существования файла архива и добавление в имя файла текущего времени в случае автоматического формирования имени архива;
  6. Добавлено свойство SQLDBName – имя базы на SQL-сервере. При закрытии SQL – сессий, закрываются только те, которые открыты в базе SQLDBName;
  7. При архивации компонента определяет тип базы данных и в случае SQL по умолчанию выполняется выгрузка базы, а в случае DBF – сохранение;
  8. Если у SQL-базы не установлены свойства SQLDBName, SQLServerName, SQLUserName, компонента определяет их значение;
  9. Добавлена запись результатов выполнения в Event Log Windows;
  10. Добавлено свойство Params для передачи дополнительных параметров в создаваемый компонентой пакетный файл Конфигуратора;
  11. Добавлено свойство BatchText и метод Run1Cbatch для запуска 1С:Предприятия в режиме Automation сервера и выполнения команд на встроенном языке 1С:Предприятия из BatchText.

Изменения в версии 1.0.2 от 12/12/2002:

  1. Появился инсталлятор. Процедура установки производится теперь автоматически. Тестировался инсталлятор в Windows 2000 и Windows XP. В более ранних может не работать.
  2. Добавлено свойство DebugLogPath
  3. Удалено свойство LogPath.

Изменения в версии 1.0.1 от 03/12/2002:

  1. При резервном копировании от файлового сервера отключаются только те пользователи, которые имеют открытые файлы в каталоге информационной базы.
  2. Нет необходимости вызывать процедуры CloseNetSessions и CloseSQLSessions - закрытие пользовательских сессий выполняется теперь автоматически.
  3. Значение LastModPeriod по умолчанию установлено 23 часа.
  4. В DoBackup добавлен безусловный запуск резервного копирования при LastModPeriod = 0
  5. Исключена процедура безусловного копирования ForceBackup.
  6. Каталоги BackupDir и AddBackupDir создаются в случае их отсутствия автоматически.

Версия 1.0.0 вышла 03/10/2002


Запуск архивации с использованием компоненты
< Назад | На главную | Далее >

Подготовка к запуску и создание скриптов V7Backup:

  1. Войти на сервер локально с правами администратора, от имени которого в дальнейшем будет запускаться процесс резервного копирования;
  2. Запустить 1С:Предприятие и в окне «Запуск 1С:Предприятия» прописать все базы, которые будут копироваться.
  3. Войти во все базы в режиме пользователя и в режиме конфигурирования, убедиться, что они нормально открываются, отключить все открывающиеся в начале работы окна («Совет дня» и подобные);
  4. Запустить программу диагностики и убедиться, что все нормально:
  5. Запустить Помощник создания скриптов и сгенерировать скрипт. Полученный скрипт сохранить в файле с расширением vbs. Необходимо заметить, что Помощник реализует не все возможности компоненты:
  6. Отключить всех пользователей от копируемой базы. Для тестирования лучше использовать учебную базу, с которой никто не работает.
  7. Запустить из командной строки написанный скрипт командой cscript имяскрипта.vbs. Скрипт будет выполнен в тестовом режиме. Для отключения тестового режима закомментируйте или удалите в скрипте строку с присвоением значения свойству TestMode. После этого можно запускать скрипт в рабочем режиме.
  8. Если произойдет запуск 1С:Предприятия в пакетном режиме, выполнится выгрузка базы, и сформированный архив попадет в каталог архива с именем вида ГГГГММДД.zip, где ГГГГММДД – сегодняшняя дата, то архивирование прошло успешно.
  9. Создать задание в Планировщике Windows (Scheduler). Установка заданий делается стандартным образом, следует заметить лишь, что запуск задания осуществляется командной строкой вида cscript имяфайла.vbs, в качестве рабочей устанавливается папка, в которой расположен файл скрипта, и запуск задания должен осуществляться от имени пользователя, использовавшегося при проверке скрипта.


Класс V7Backup.InfBase
< Назад | На главную | Далее >

Краткое описание и создание экземпляра класса

Класс V7Backup.InfBase является основным классом компоненты V7Backup, содержащим свойства и методы реализующие резервное копирование информационных баз 1С:Предприятия. Экземпляр класса создается следующим образом (пример на VBScript):

set b = CreateObject("V7Backup.InfBase")

Пользователю доступны следующие свойства и методы класса InfBase:

  • Свойства класса V7Backup.InfBase
    • DBDir
    • UserName
    • Password
    • SQLUserName
    • SQLServerName
    • SQLDBName
    • ZIPPassword
    • BackupDir
    • AddBackupDir
    • ArcNamePrefix
    • ArcNamePostfix
    • ArcName
    • V7Path
    • LastModPeriod
    • DebugLogPath
    • BatchText
    • Params
    • ReportMail
    • AlertMail
    • TestMode
  • Методы класса V7Backup.InfBase
    • DoBackup
    • CheckConnections
    • CloseNetSessions
    • CloseSQLSessions
    • Run1CBatch
    • CloseLocalProcesses
    • DoBackupIfNoConnections
    • DoBackupIfOK


Свойства класса V7Backup.InfBase
На главную | Наверх | Далее >

Класс V7Backup.InfBase имеет следующие свойства:

  • DBDir
  • UserName
  • Password
  • SQLUserName
  • SQLServerName
  • SQLDBName
  • ZIPPassword
  • BackupDir
  • AddBackupDir
  • ArcNamePrefix
  • ArcNamePostfix
  • ArcName
  • V7Path
  • LastModPeriod
  • DebugLogPath
  • BatchText
  • Params
  • ReportMail
  • AlertMail
  • TestMode


DBDir
На главную | Наверх | Далее >

Свойство DBDir

Каталог, в котором расположена информационная база 1С:Предприятия.

Пример:

b.DBDir = "c:\1cbase\1sbdb"

Примечание:

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


UserName
< Назад | На главную | Наверх | Далее >

Свойство UserName

Имя пользователя 1С для запуска Конфигуратора и 1С:Предприятия в режиме Automation-сервера.

Пример

b.UserName = "Пупкин"

Примечание:

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


Password

Свойство Password

Пароль пользователя для запуска Конфигуратора.

Пример:

b.Password = "gfhjkm"

Примечание:

Пользователь должен быть зарегистрирован в 1С:Предприятии.


SQLUserName

Свойство SQLUserName

Имя пользователя SQL сервера. Пользователь, от имени которого 1С обращается к SQL - серверу.

Пример:

b.SQLUserName = "Work1CUser"

Примечание:

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

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


SQLServerName

Свойство SQLServerName

Имя SQL - сервера.

Пример:

b.SQLServerName = "SQLSERVER"

Примечание:

Название SQL-сервера указывается в свойствах подключения к SQL-базе в Конфигураторе.

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


SQLDBName

Свойство SQLDBName

Имя базы на SQL - сервере.

Пример:

b.SQLDBName = "BUHBase01"

Примечание:

Название базы указывается в свойствах подключения к SQL-базе в Конфигураторе.

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


ZIPPassword

Свойство ZIPPassword

Пароль для создаваемого Конфигуратором архива.

Пример:

b.ZIPPassword = "gfhjkm"

Примечание:

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


BackupDir

Свойство BackupDir

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

Пример:

b.BackupDir = "c:\V7Backup\Archive"

Примечание:

Рекомендуется держать каталог архива на том же компьютере, на котором запускается V7Backup.


AddBackupDir

Свойство AddBackupDir

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

Пример:

b.AddBackupDir = "c:\V7Backup\AddArchive"

Примечание:

Рекомендуется такой каталог разместить на другом сервере. UNC - пути допускаются.


ArcNamePrefix

Свойство ArcNamePrefix

Префикс имени файла архива (приставка).

Пример:

b.ArcNamePrefix = "tk"

Примечание:

Используется для автоматического формирования имени файла в том случае если значение свойства ArcName не задано. В противном случае значение игнорируется.


ArcNamePostfix

Свойство ArcNamePostfix

Постфикс имени файла архива (окончание).

Пример:

b.ArcNamePostfix = ""

Примечание:

Используется для автоматического формирования имени файла в том случае если значение свойства ArcName не задано. В противном случае значение игнорируется.


ArcName

Свойство ArcName

Имя файла архива. По умолчанию строка формата ГГГГММДД сформированная из цифр текущей даты.

Пример:

b.ArcName = "buharc.zip"

Примечание:

Если свойству присвоено значение, то автоформирование имени файла отключается и значения свойств ArcNamePrefix и ArcNamePostfix игнорируются.


V7Path

Свойство V7Path

Путь к ехе-файлу системы 1С:Предприятие. По умолчанию - "C:\Program Files\1Cv77\BIN\1cv7s.exe"

Пример:

b.V7Path = "C:\Program Files\1Cv77\BIN\1cv7s.exe"

Примечание:

Если значение указано неправильно, не удастся запустить ни Конфигуратор, ни Automation сервер.

Также значение свойства используется для закрытия локальных процессов 1C:Предприятия методом CloseLocalProcessess.


LastModPeriod

Свойство LastModPeriod

Если за последние LastModPeriod часов было обращение к базе 1С:Предприятия то при вызове методов DoBackup* будет произведено резервное копирование. Значение по умолчанию - 23 часа.
Если значение свойства будет установлено равным нулю, то DoBackup* произведет безусловное резервное копирование.

Пример:

b.LastModPeriod = 0

Примечание:

Процедура резервного копирования также считается обращением к базе. Поэтому при запуске резервного копирования раз в сутки не имеет смысла устанавливать значение свойства равным 24. Время последнего обращения к базе определяется по времени модификации файла SYSLOG\1cv7.mlg.


DebugLogPath

Свойство DebugLogPath

Путь к файлу протокола отладки. Каталог, в котором создается протокол, должен существовать, сам файл протокола - не обязательно. Записи добавляются к существующему файлу протокола. Если значение свойства не установлено, протокол не ведется.

Пример:

b.DebugLogPath = "c:\V7Backup\log.log"

Примечание:

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


BatchText

Свойство BatchText

Текст программы на встроенном языке 1С:Предприятия для выполнения методом Run1CBatch.

Пример:

b.BatchText = "ОткрытьФорму(""Отчет"",,""C:\V7Backup\DelMkd.ert"");"

Примечание:

Для выполнения команд 1С:Предприятия используется запуск в режиме OLE Automation сервера. Подробности о работе в этом режиме содержатся документации 1С:Предприятия.

Использованную в примере обработку "Удаление помеченных" можно взять здесь.


Params

Свойство Params

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

Пример:

b.Params = 	"[General]" & vbCrLf & _
        "CheckAndRepair = 1" & vbCrLf & _
        "[CheckAndRepair]" & vbCrLf & _
        "Repair=N" & vbCrLf & _
        "PhysicalIntegrity=N" & vbCrLf & _
        "Reindex=Y" & vbCrLf & _
        "LogicalIntegrity=N" & vbCrLf & _
        "RecalcSecondaries=N" & vbCrLf & _
        "RecalcTotals=N" & vbCrLf & _
        "Pack=N" & vbCrLf & _
        "SkipUnresolved=Y" & vbCrLf & _
        "CreateForUnresolved=Y" & vbCrLf & _
        "Reconstruct=Y"

Примечание:

Если на на компьютере установлена версия Сервера Сценариев (WSH) ниже 5.5, то значение свойства в файл параметров добавлено не будет.


ReportMail

Свойство ReportMail

Свойство типа V7Backup.Mail. Служит для автоматической отправки протокола работы по электронной почте. Перечень свойств смотри в описании класса V7Backup.Mail.

Пример:

b.ReportMail.From = "v7backup@coolcompany.ru"
b.ReportMail.Address = "admin1c@coolcompany.ru"
b.ReportMail.SMTPServer = "coolcompany.ru"

Примечание:

Свойства Subject и Body заполняются при отправке сообщения автоматически, однако, если свойство Subject заполнено, то его значение будет сохранено. Отправка почты происходит автоматически в момент уничтожения экземпляра объекта V7Backup.InfBase.

Доменные имена, использованные в примере - вымышленные, все совпадения с реальными - случайны.


AlertMail

Свойство AlertMail

Свойство типа V7Backup.Mail. Служит для автоматической отправки сообщений об ошибках по электронной почте. Перечень свойств смотри в описании класса V7Backup.Mail.

Пример:

b.AlertMail.From = "v7backup@coolcompany.ru" ' в случае ошибок будет отправлен SMS через шлюз
b.AlertMail.Address = "sms@coolopsos.ru"
b.AlertMail.Subject = "+79011234567"
b.AlertMail.SMTPServer = "coolcompany.ru"

Примечание:

Свойство Body заполняется при отправке сообщения автоматически. Свойство Subject автоматически заполняется только если оно не было заполнено вызывающим скриптом. Если свойство SMTPServer не заполнено, то оно и свойства SMTPUserName, SMTPPassword, From, SMTPPort заполняются значениями свойств объекта ReportMail.

Отправка почты происходит автоматически в момент уничтожения экземпляра объекта V7Backup.InfBase.

Доменные имена, использованные в примере - вымышленные, все совпадения с реальными - случайны.


TestMode
< Назад | На главную | Наверх

Свойство TestMode

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

Пример:

b.TestMode = True

Примечание:

Значение по умолчанию - False. После завершения методов DoBackup* в каталоге BackupDir остается сформированный этими методами пакетный файл Конфигуратора batch.1c, который можно проанализировать в случае возникновения проблем.


Методы класса V7Backup.InfBase
< Назад | На главную | Наверх

Класс V7Backup.InfBase имеет следующие методы:

  • DoBackup
  • CheckConnections
  • CloseNetSessions
  • CloseSQLSessions
  • Run1CBatch
  • CloseLocalProcesses
  • DoBackupIfNoConnections
  • DoBackupIfOK


DoBackup
На главную | Наверх | Далее >

Метод DoBackup

Выполняет резервное копирование, в том случае, если со времени последнего обращения пользователей к информационной базе (определяется по дате последнего обращения к файлу 1Cv7.mlg) прошло не более часов, чем указано в свойстве LastModPeriod. Обычно это удобно, при копировании раз в сутки, при этом если более установленного времени с базой никто не работал, то резервирование производиться не будет. Это позволяет не создавать лишних копий например, в выходные, однако если в выходные с базами работали, то архивирование произойдет.
ЗАМЕЧАНИЕ: Процедура резервного копирования тоже считается обращением к базе.
Если значение свойства LastModPeriod будет установлено равным нулю, то DoBackup произведет безусловное резервное копирование.
DoBackup выполняет закрытие пользовательских сессий на SQL сервере (открытых пользователем SQLUserName в базе SQLDBName) и пользовательских сессий на файловом сервере, для пользователей, имеющих открытые файлы в каталоге DBDir. Если пользователь имеет открытые файлы в других каталогах, он все равно будет отключен от сервера.

Пример:

b.DoBackup

Примечание:

При запуске метода определяется тип базы и для SQL-базы производится выгрузка, а для DBF - сохранение, если иное не указано в свойстве Params. Если у SQL-базы не установлены свойства SQLDBName, SQLServerName, SQLUserName то производится попытка их автоопределения.
Перед вызовом метода должны быть установлены описанные выше свойства.


CheckConnections

Метод CheckConnections

Выводит в протокол (записываемый в Event Log и рассылаемый по электронной почте) сведения о пользователях, имеющих сетевые подключения к каталогу DBDir, базе данных SQLDBName на сервере SQLServerName.

Пример:

b.CheckConnections

Примечание:

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


CloseNetSessions

Метод CloseNetSessions

Закрывает сетевые сессии пользователей, имеющих открытые файлы в каталоге DBDir.

Пример:

b.CloseNetSessions

Примечание:

Отдельно вызывать не требуется, метод вызывается автоматически из DoBackup.


CloseSQLSessions

Метод CloseSQLSessions

Закрывает сессии пользователей (SQLUserName) SQL-сервера (SQLServerName), подключенных к базе SQLDBName. Если SQLDBName не указано, то сессии закрываются во всех базах.

Пример:

b.CloseSQLSessions

Примечание:

Отдельно вызывать не требуется, метод вызывается автоматически из DoBackup.


Run1CBatch

Метод Run1CBatch(Mono)

Метод запускает 1С:Предприятие в режиме Automation сервера для выполнения команд на встроенном языке 1С:Предприятия из свойства BatchText. Если значение параметра Mono = True, то 1С:Предприятие запускается в монопольном режиме.

Пример:

b.Run1CBatch True ' запустим в монопольном режиме

Примечание:

У пользователя информационной базы 1С:Предприятия, от имени которого выполняется метод, должны быть права на запуск OLE-сервера.


CloseLocalProcesses

Метод CloseLocalProcesses

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

Пример:

b.CloseLocalProcesses

Примечание:

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

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


DoBackupIfNoConnections

Метод DoBackupIfNoConnections

Выполняет резервное копирование, если к базе нет сетевых и SQL - подключений. В случае, если резервное копирование удалось запустить, возвращает True, иначе - False.

Пример:

result = b.DoBackupIfNoConnections

Примечание:

Смотри описание метода DoBackup. Отличие метода заключается в том, принудительное закрытие сессий не производится, но проверяется их наличие, и в том случае, если с базой никто не работает, производится резервирование.


DoBackupIfOK
< Назад | На главную | Наверх

Метод DoBackupIfOK

Выполняет резервное копирование, если к базе нет сетевых и SQL - подключений, а также нет запущенных процессов 1С:Предприятия.В случае, если резервное копирование удалось запустить, возвращает True, иначе - False.

Пример:

result = b.DoBackupIfOK

Примечание:

Смотри описание метода DoBackup. Отличие метода заключается в том, принудительное закрытие сессий не производится, но проверяется их наличие, и в том случае, если с базой никто не работает, производится резервирование.


Класс V7Backup.Mail
< Назад | На главную | Далее >

Краткое описание и создание экземпляра класса

Класс V7Backup.Mail является вспомогательным по отношению к классу V7Backup.InfBase, содержащему 2 свойства этого типа, но может также использоваться для отправки почты отдельно от этого объекта. Для этого необходимо создать экземпляр объекта (пример на VBScript):

set m = CreateObject("V7Backup.Mail")

Свойства и методы класса V7Backup.Mail:

  • Свойства класса V7Backup.Mail
    • Address
    • Body
    • CanWork
    • From
    • SMTPPassword
    • SMTPPort
    • SMTPServer
    • SMTPUserName
    • Subject
  • Методы класса V7Backup.Mail
    • AddAttachment
    • Reset
    • Send

Примечание:

Обычно не требуется создавать объекты этого типа - они уже созданы при инициализации свойств ReportMail и AlertMail класса InfBase.

Доменные имена, использованные в примерах - вымышленные, все совпадения с реальными - случайны.


Свойства класса V7Backup.Mail
На главную | Наверх | Далее >

Класса V7Backup.Mail имеет следующие свойства:

  • Address
  • Body
  • CanWork
  • From
  • SMTPPassword
  • SMTPPort
  • SMTPServer
  • SMTPUserName
  • Subject


Address
На главную | Наверх | Далее >

Свойство Address

Поле "Кому" письма.

Пример:

m.Address = """Александр Кочуров"" <kochurov@narod.ru>"


Body

Свойство Body

Текст (тело) письма.

Пример:

m.Body = "Это письмо отправлено роботом" + vbCrLf + _
     "не отвечайте на него"


CanWork

Свойство CanWork

Истина, если объект нормально функционирует и почта может быть отправлена.

Пример:

If m.CanWork = True Then m.Subject = "Ежедневный отчет"


From

Свойство From

Поле "От" письма.

Пример:

m.From = """V7Backup"" <v7backup@coolcompany.ru>"


SMTPPassword

Свойство SMTPPassword

Пароль пользователя SMTP-сервера.

Пример:

m.SMTPPassword = "gfhjkm"

Примечание:

Для внутреннего SMTP-сервера пароль, как правило, не нужен. Проконсультируйтесь с системным администратором.


SMTPPort

Свойство SMTPPort

Порт SMTP (по умолчанию 25).

Пример:

m.SMTPPort = 25

Примечание:

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


SMTPServer

Свойство SMTPServer

SMTP-сервер для отправки почты.

Пример:

m.SMTPServer = "smtp.coolcompany.ru"

Примечание:

Должен быть обязательно указан.


SMTPUserName

Свойство SMTPUserName

Имя пользователя SMTP-сервера.

Пример:

m.SMTPUserName = "v7backup"

Примечание:

Для внутреннего SMTP-сервера указывать пользователя, как правило, не нужно. Проконсультируйтесь с системным администратором.


Subject
< Назад | На главную | Наверх

Свойство Subject

Тема письма.

Пример:

m.Subject = "Отчет за неделю"


Методы класса V7Backup.Mail
< Назад | На главную | Наверх

Класс V7Backup.Mail имеет следующие методы:

  • AddAttachment
  • Reset
  • Send


AddAttachment
На главную | Наверх | Далее >

Метод AddAttachment(FilePath)

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

Пример:

m.AddAttachment "c:\v7backup\file.dat"


Reset

Метод Reset

Очистка тела письма и удаление вложений.

Пример:

m.Reset


Send
< Назад | На главную | Наверх

Метод Send

Отправка письма.

Пример:

m.Send


Часто задаваемые вопросы
< Назад | На главную | Далее >

Может ли V7Backup выполняться не на той машине, на которой расположена база?

V7Backup должен выполняться на той машине, где установлен SQL- сервер и находится MD-файл. Об этом написано в документации.

Можно ли запустить V7Backup под Windows 98/Me/NT4?

Можно, но гарантию, что заработает, я дать не могу. На вопросы о том, что нужно сделать, чтобы заработало, отвечать также не буду - никаких работ для реализации совместимости компоненты с этими ОС не планируется.

Можно ли запускать V7Backup если на сервере локально или в терминале запущено 1С:Предприятие?

V7Backup начиная с версии 2.1 позволяет закрывать локальные процессы 1С:Предприятия (метод CloseLocalProcesses). Поскольку закрываются все процессы, независимо от открытых информационных баз, пользоваться такой возможностью следует осмотрительно.

Почему свойство SQLUserName используется без пароля?

V7Backup должен работать на сервере под учетной записью администратора. По умолчанию администраторы Windows имеют права администраторов и на SQL-сервере. Именно за счет этого V7Backup и получает доступ к SQL-серверу. А SQLUserName нужен для того, чтобы можно было отключать от базы пользователей, от имени которых 1С открывает базу на сервере.

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

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

[General]
UnloadData = 1

или в скрипте:

b.Params = "[General]" & vbCrLf & _
       "UnloadData=1"

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

Что делать, если свойство Params не работает?

Версия WSH слишком старая, нужна версия не ниже 5.5. Имеет смысл обновить WSH.

Где взять обновление WSH?

Загрузить WSH можно отсюда (для русских Windows 2000/XP) - http://download.microsoft.com/download/a/3/6/a36fd52f-ad38-4fd2-bd2c-5b6c2dc94654/scriptru.exe.

Для английских Windows 2000/XP - http://download.microsoft.com/download/2/8/a/28a5a346-1be1-4049-b554-3bc5f3174353/scripten.exe.

Что-то работает не так, но непонятно что. Что делать?

Читать внимательно руководство. Смотреть примеры. Если это совсем не помогло, написать мне письмо с кратким описанием ситуации и двумя прикрепленными файлами - файлом скрипта и файлом протокола (логом). Постараюсь помочь.


Прочее
< Назад | На главную | Далее >

Лицензия на использование и распространение V7Backup

  1. Все авторские права V7Backup принадлежат автору - Кочурову Александру Леонидовичу.

  2. Вы можете свободно (бесплатно) использовать V7Backup на любом количестве компьютеров для целей резервного копирования информационных баз 1С:Предприятия 7.7.

  3. Автор оставляет за собой право отменить действие данной лицензии для любой из следующих версий V7Backup.

  4. V7Backup распространяется свободно, при условии того, что настоящий дистрибутив не изменен. Ни одно частное лицо или организация не может брать плату за распространение V7Backup без письменного разрешения автора.

  5. V7BACKUP ПОСТАВЛЯЕТСЯ ПО ПРИНЦИПУ "AS IS". НИКАКИХ ГАРАНТИЙ НЕ ПРИЛАГАЕТСЯ И НЕ ПРЕДУСМАТРИВАЕТСЯ. ВЫ ИСПОЛЬЗУЕТЕ ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ НА СВОЙ РИСК. АВТОР НЕ БУДЕТ ОТВЕЧАТЬ НИ ЗА КАКИЕ ПОТЕРИ ИЛИ ИСКАЖЕНИЯ ДАННЫХ, ЛЮБУЮ УПУЩЕННУЮ ВЫГОДУ В ПРОЦЕССЕ ИСПОЛЬЗОВАНИЯ ИЛИ НЕПРАВИЛЬНОГО ИСПОЛЬЗОВАНИЯ ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.

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

  7. Установка и использование V7Backup означает, что вы понимаете положения настоящего лицензионного соглашения и согласны с ними.

  8. Если вы не согласны с этим лицензионным соглашением, вам необходимо удалить файлы дистрибутива V7Backup с ваших устройств хранения информации и прекратить использование V7Backup.

Контакты

Автор компоненты - Кочуров Александр Леонидович:

e-mail: kochurov@narod.ru

http://www.kochurov.narod.ru

Сайт V7Backup расположен по адресу: http://v7backup.narod.ru


Благодарности
< Назад | На главную

Благодарю за помощь, оказанную мне разными способами в разработке компоненты V7Backup, следующих людей:

  • Михаила Немчинова

  • Георгия Буравлева

  • Алексея Подвинцева

  • Никиту Зайцева

  • Боба Уэллса (Bob Wells)

  • Алексея Бажитова

  • Олега Пендурова

  • Артура Аюханова

  • Андрея Кривошеина

  • Алексея Пашкова

  • Сергея Каверзина

  • Елену Смирнягину

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