Navigation





Здесь представлены готовые скрипты, которые идут с установкой программы.
Скрипты написаны на языке Defy. В самой программе есть помощник по языку.
В программе можно настроить запуск скриптов с определенным интервалом.
Можно добавлять свои скрипты.
Для удобства в пакет установки можно добавить и ваши скрипты, пишите на почту.


Очистка временных директорий

// Удаляет временные файлы и папки с компьютера
Напомнить("Подождите...", Этот.Наименование);
Подождать(1);
Текст = "";
А     = Компьютеры.Директории("%TEMP%");
К     = Файлы.Очистить(А);
Текст.Добавить("Удалено "+К+" файлов и папок из "+А);
А = Компьютеры.Директории("%WINDIR%");
А = А + "\Temp";
К = Файлы.Очистить(А);
Текст.Добавить("Удалено "+К+" файлов и папок из "+А);
Сообщить(Текст);
Напомнить(Текст, Этот.Наименование, 15);


Автовыключение компьютера вечером

// Автоматическое выключение компьютера вечером
// Для выполнения скрипта установите интервал автовыполнения скрипта 5 минут и активируйте скрипт
Если (Моменты.Час(Моменты.Текущий)=23) Тогда
    Компьютеры.Выключить(0); // выключить компьютер
Конец;


Подмена заголовка 1С

// корректируем заголовок во всех запущенных 1С
// в начало заголовка добавляем имя базы данных
// если Компьютеры.Запрос возвращает ошибку, то вероятно на компьютере не запущена служба WMI
// данный скрипт лучше запускать в отдельном потоке, для этого добавьте код в скрипт'Старт'
// НС=Подмена заголовка 1С;
// Если(Окна.Есть(НС,TFormMainDefy)=0)Тогда Скрипты.Запустить(, НС, 5);Конец;

Окна1С = Окна.Определить(, "V8TopLevelFrame");
Для Окно1С Из Окна1С Цикл
    ЗаголовокБыл = Окно1С.'Заголовок окна';
    ПервыйСимвол = Строки.Подстрока(ЗаголовокБыл, 1, 1);
    Если (Строки.Есть(ПервыйСимвол, ".,:,·")) Тогда Продолжить; Конец;
    ИдОкна = Окно1С.'Идентификатор окна';
    Список = Компьютеры.Запрос("SELECT CommandLine FROM WIN32_Process WHERE ProcessId="+Окна.Процесс(ИдОкна));
    Если (Список<=0) Тогда
        Сообщить("Ошибка при вызове Компьютеры.Запрос", Ошибки.Строка(Список));
        Этот.Отмечен = 0; // отключаем автовыполнение скрипт
        Возврат;
    Конец;
    Для Объект Из Список Цикл
        Стр = Объект.Текст;
        Если (Строки.Подстрока(Стр, 1, 11)="CommandLine") Тогда
            // Сообщить(Стр);
            ИмяБД            = "";
            ПрефиксИмени     = "";
            ПараметрыКоманды = Строки.Разделить(Стр, " ", , """");
            Для Параметр Из ПараметрыКоманды Цикл
                Если (Строки.Подстрока(Параметр, 1, 2)="/F") Тогда // файловая база
                    ИмяБД = Параметр; ПрефиксИмени = ".";
                    Прервать;
                Конец;
                Если (Строки.Подстрока(Параметр, 1, 2)="/S") Тогда // серверная база
                    ИмяБД = Параметр; ПрефиксИмени = ":";
                    Прервать;
                Конец;
                Если (Строки.Подстрока(Параметр, 1, 7)="/IBName") Тогда // имя базы в списке баз стартера 1С
                    ИмяБД = Строки.Заменить(Параметр, "IBName", ""); ПрефиксИмени = "·";
                    Прервать;
                Конец;
            Конец;
            Если (ИмяБД<>"") Тогда
                Поз = Строки.Найти(ИмяБД, Символы.ОС, 1, 1);
                Если (Поз=0) Тогда Поз = Строки.Найти(ИмяБД, "/", 1, 1); Конец;
                ИмяБД          = Строки.Подстрока(ИмяБД, Поз+1, Строки.Длина(Параметр)-Поз);
                ИмяБД          = Строки.Заменить(ИмяБД,  """",  "");
                ЗаголовокНовый = ПрефиксИмени            +      ИмяБД + " - "+ ЗаголовокБыл;
                // Сообщить(ЗаголовокНовый);
                Окна.Заголовок(ИдОкна, ЗаголовокНовый);
            Иначе
                Сообщить("ИмяБД не определено", Стр);
            Конец;
        Конец;
    Конец;
Конец;