Готовые модули

Для всех
Модули для задач\Директория\Замена типов файлов
Модули для задач\Директория\Переименовать отмеченные
Модули для задач\Директория\Создать архив директории
Модули для задач\Директория\Заменить текст в файлах
Модули для задач\Диск\Заполнить диск пустыми файлами
Модули для действий\Текст\Итого по строкам
Модули для действий\Текст\Сортировать строки
Модули для действий\Текст\Свернуть строки
Модули для действий\Текст\Удалить пустые строки
Модули для действий\Текст\Перевести текст
Модули для действий\Список\Обработка списка
Модули для действий\Группа\Обработка группы
Defy
Модули для действий\Директория\Исправить имена файлов
Модули для действий\Задача\Создать скрипт для автовыполнения задачи
Автосохранение Yandex
AutoLoadTorrents
Анализ объявлений Авито
Faster
Модули для буфера\Разделить буфер обмена
Модули для буфера\Соединить буфер обмена
Настройка реестра Windows
DBI
Модули для задач\БД 1С 8\Выгрузить базу данных
Модули для задач\БД 1С 8\Загрузить базу данных
Модули для действий\Директория\Проверить все обработки
Модули для действий\Модуль 1С\Проверить модуль
Запуск RDP
Модули для 1С\Обновление конфигураций 1С
Модули для 1С\Выгрузка конфигураций 1С в файлы
Модули для 1С\Выгрузка информационных баз 1С


Модули для задач\Директория\Создать архив директории

Функция ПередОткрытием()
    
    Задача = Этот.Владелец.Параметр;
    Если (Задача=0) Тогда Возврат 0; Конец;
    Параметры                   = Задача.Определить(0, Объекты.Список, Свойства.Наименование, "Параметры");
    Параметры.Колонки.Определить(Свойства.Наименование, 0, 150, 1, 0);
    Параметры.Колонки.Определить(Свойства.Значение,     0, 200, 1, 1);
    Параметры.Колонки.Определить(Свойства.Описание,     0, 450, 1, 0);
    Параметры.'Отключить канву объекта' = 1;
	
	П = Параметры.Определить(0, Объекты.Объект, Свойства.Наименование, "Архиватор");
	Если (П.Новый()) Тогда
	    П.Отмечен  = 1;
	    П.Значение = "Resources\7za.exe";
		П.Описание = "путь к архиватору";
	Конец;	
	П = Параметры.Определить(0, Объекты.Объект, Свойства.Наименование, "Расширение");
	Если (П.Новый()) Тогда
	    П.Отмечен  = 1;
	    П.Значение = "zip";
		П.Описание = "расширение архива";
	Конец;	
	П = Параметры.Определить(0, Объекты.Объект, Свойства.Наименование, "Параметры");
	Если (П.Новый()) Тогда
	    П.Отмечен  = 1;
	    П.Значение = "a";
		П.Описание = "параметры для архиватора, остальные параметры можно посмотреть в файле 7-zip.chm";
	Конец;	
    П = Параметры.Определить(0, Объекты.Объект, Свойства.Наименование, "Версия");
	Если (П.Новый()) Тогда
	    П.Отмечен  = 1;
	    П.Значение = "-[Дата]";
		П.Описание = "версия архива, добавляется в конец файла";
	Конец;	
	П = Параметры.Определить(0, Объекты.Объект, Свойства.Наименование, "Архивы");
	Если (П.Новый()) Тогда
	    П.Значение = "D:\Archives";
		П.Описание = "путь к каталогу с архивами, если не задан, то архив кладется уровнем выше";
	Конец;
	
	Задача.Выбранный(Параметры);
	
Конец

Функция Выполнить()

    // Создание архива всей директории в заданную папку с архивами
	
    Задача = Этот.Владелец.Параметр;
    Если (Задача=0) Тогда Возврат 0; Конец;
	
    Параметры  = Задача.Определить(0, Объекты.Список, Свойства.Наименование, "Параметры");
	
    Результаты   = Задача.Определить(0, Объекты.Список, Свойства.Наименование, "Результат");
    Результаты.Колонки.Определить(Свойства.'Момент начала выполнения задачи',    0, 128, 1, 0);
    Результаты.Колонки.Определить(Свойства.'Момент начала выполнения задачи',    0, 128, 1, 0);
    Результаты.Колонки.Определить(Свойства.'Момент окончания выполнения задачи', 0, 128, 1, 0);
    Результаты.Колонки.Определить(Свойства.Интервал,                             0, 120, 1, 0);
    Результаты.Колонки.Определить(Свойства.Состояние,                            0, 135, 1, 0);
    Результаты.Колонки.Определить(Свойства.'Путь к архиву',                      0, 350, 1, 0);
    Результаты.'Отключить канву объекта' = 1;
	Результаты.'Отключить отметку'       = 1;
	
	КорневаяПапка = Задача.Владелец.Путь;
	
	// формируем и запускаем создание архива в отдельном процессе
	
	П = Параметры.Определить(0, Объекты.Объект, Свойства.Наименование, "Архиватор");
	ПутьКАрхиватору = П.Значение;
	
	П = Параметры.Определить(0, Объекты.Объект, Свойства.Наименование, "Расширение");
	РасширениеАрхива = П.Значение;
	
	П = Параметры.Определить(0, Объекты.Объект, Свойства.Наименование, "Параметры");
	ПараметрыАрхиватора = П.Значение;
	
	ПутьКАрхиву = Файлы.Имя(КорневаяПапка);
	
	П = Параметры.Определить(0, Объекты.Объект, Свойства.Наименование, "Архивы");
	Если (П.Отмечен=1) Тогда
	    ПутьКАрхиву = П.Значение + Символы.ОС + ПутьКАрхиву;
    Иначе
        ПутьКАрхиву = КорневаяПапка;	
	Конец;
	
	П = Параметры.Определить(0, Объекты.Объект, Свойства.Наименование, "Версия");
	Если (П.Отмечен=1) Тогда
	    ПутьКАрхиву = ПутьКАрхиву + Строки.Заменить(П.Значение,"[Дата]",Моменты.Строка(Моменты.Текущий,"гггг-ММ-дд"));
	Конец;	
	ПутьКАрхиву = ПутьКАрхиву + "." + РасширениеАрхива;
	
	Результат           = Результаты.Определить(0, Объекты.Объект, Свойства.'Момент начала выполнения задачи', Моменты.Текущий);
	Результат.Состояние = "Идет создание архива";
	Результат.'Путь к архиву' = ПутьКАрхиву;
	
	
	ПараметрыАрхиватора = ПараметрыАрхиватора + " """ + ПутьКАрхиву + """ """ + КорневаяПапка + """";
	//Сообщить(ПараметрыАрхиватора);
	Запустить(ПутьКАрхиватору,ПараметрыАрхиватора);
	
	Задача.Выбранный(Результаты);
		
	// запускаем задачу в активные
	Задача.Интервал = 3;
	Задача.Отмечен  = 1;
	Задача.'Текст ожидания' = "Задача выполняется";
	Возврат 1;

Конец

Функция Таймер()

    // проверяем что архив уже создан
    Задача = Этот.Владелец.Параметр;
    Если (Задача=0) Тогда Возврат 0; Конец;
	
    Результаты  = Задача.Определить(0, Объекты.Список, Свойства.Наименование, "Результат");
    Результат   = Результаты.Определить(0, Объекты.Объект, Свойства.Интервал, 0);
	ПутьКАрхиву = Результат.'Путь к архиву';
	Состояние   = "";
	Если (Файлы.Занят(ПутьКАрхиву)=0) Тогда
	    Состояние = "Выполнено";
    Конец;
	Если (Состояние<>"") Тогда
	    Результат.'Момент окончания выполнения задачи' = Моменты.Текущий;
		Т1 = Результат.'Момент окончания выполнения задачи';
		Т2 = Результат.'Момент начала выполнения задачи';
	    Результат.Интервал  = Т1 - Т2;
	    Результат.Состояние = Состояние;
	    Задача.Интервал = 0;
	    Задача.Отмечен  = 0;
		Задача.'Текст ожидания' = "";
		Результаты.Обновить();
	Конец;
	Возврат 1;
	
Конец
  

http://moolex.ru