Модули для задач\БД 1С 8\Выгрузить базу данных
Функция ПередОткрытием()
Задача = Этот.Владелец.Параметр;
Если (Задача=0) Тогда Возврат 0; Конец;
Параметры = Задача.Определить(0, Объекты.Список, Свойства.Наименование, "Параметры");
Параметры.Колонки.Определить(Свойства.Наименование, 0, 150, 1, 0);
Параметры.Колонки.Определить(Свойства.Значение, 0, 200, 1, 1);
Параметры.Колонки.Определить(Свойства.Описание, 0, 450, 1, 0);
Параметры.'Отключить канву объекта' = 1;
П = Параметры.Определить(0, Объекты.Объект, Свойства.Наименование, "Путь к файлу с архивом");
Если (П.Новый()) Тогда
П.Отмечен = 1;
П.Значение = "D:\1CBases\Dts\Base-1C8-[Дата].dt";
П.Описание = "если в имени файла указана [Дата], то подставляется текущая дата в виде 2011-05-31";
Конец;
П = Параметры.Определить(0, Объекты.Объект, Свойства.Наименование, "Запустить конфигуратор");
Если (П.Новый()) Тогда
П.Отмечен = 0;
П.Описание = "если отмечено, то после выгрузки запускаем конфигуратор, логин и пароль берется из задачи 'Запустить 1С:Конфигуратор'";
Конец;
Задача.Выбранный(Параметры);
Конец
Функция Выполнить()
Задача = Этот.Владелец.Параметр;
Если (Задача=0) Тогда Возврат 0; Конец;
Параметры = Задача.Определить(0, Объекты.Список, Свойства.Наименование, "Параметры");
П = Параметры.Определить(0, Объекты.Объект, Свойства.Наименование, "Путь к файлу с архивом");
ПутьКФайлу = Строки.Заменить(П.Значение,"[Дата]",Моменты.Строка(Моменты.Текущий,"гггг-ММ-дд"));
Сообщить(ПутьКФайлу);
Результаты = Задача.Определить(0, Объекты.Список, Свойства.Наименование, "Результат");
Результаты.Колонки.Определить(Свойства.'Момент начала выполнения задачи', 0, 128, 1, 0);
Результаты.Колонки.Определить(Свойства.'Момент окончания выполнения задачи', 0, 128, 1, 0);
Результаты.Колонки.Определить(Свойства.Интервал, 0, 120, 1, 0);
Результаты.Колонки.Определить(Свойства.Состояние, 0, 135, 1, 0);
Результаты.Колонки.Определить(Свойства.'Путь к файлу', 0, 300, 1, 0);
Результаты.'Отключить канву объекта' = 1;
Результаты.'Отключить отметку' = 1;
Результат = Результаты.Определить(0, Объекты.Объект, Свойства.'Момент начала выполнения задачи', Моменты.Текущий);
Результат.'Путь к файлу' = ПутьКФайлу;
Результат.Состояние = "Идет выгрузка";
Задача.Выбранный(Результаты);
СтрокаЗапуска = Задача.Владелец.'Строка запуска конфигуратора';
СтрокаЗапуска = СтрокаЗапуска + " /DumpIB" + ПутьКФайлу;
Запустить(СтрокаЗапуска);
// запускаем задачу в активные
Задача.Интервал = 10;
Задача.Отмечен = 1;
Конец
Функция Таймер()
Задача = Этот.Владелец.Параметр;
Если (Задача=0) Тогда Возврат 0; Конец;
Результаты = Задача.Определить(0, Объекты.Список, Свойства.Наименование, "Результат");
Результат = Результаты.Определить(0, Объекты.Объект, Свойства.Интервал, 0);
ПутьКФайлу = Результат.'Путь к файлу';
Состояние = "";
Если (Файлы.Существует(ПутьКФайлу)=0) Тогда // нет файла, ошибка выгрузки
Состояние = "Файл не создан";
Иначе
Если (Файлы.Занят(ПутьКФайлу)=0) Тогда // идет выгрузка
Состояние = "База выгружена";
Конец;
Конец;
Если (Состояние<>"") Тогда
Результат.'Момент окончания выполнения задачи' = Моменты.Текущий;
Т1 = Результат.'Момент окончания выполнения задачи';
Т2 = Результат.'Момент начала выполнения задачи';
Результат.Интервал = Т1 - Т2;
Результат.Состояние = Состояние;
Задача.Интервал = 0;
Задача.Отмечен = 0;
Результаты.Обновить();
Конец;
Конец