Рубрика:
Базы данных /
Изучаем «1С»
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
Андрей Луконькин
Используем скрипты WSH в «1С:Предприятие»
Сервер сценариев Windows (WSH) позволяет без предварительной компиляции запускать программы, написанные на любых языках, поддерживающих технологию Component Object Model (COM).
Обращаться к методам COM-объектов возможно в том числе и на встроенном языке системы «1С:Предприятие». Создание СОМ-объекта в версии 7.7 происходит с помощью конструкции СоздатьОбъект, а в версии 8 – Новый СОМОбъект.
Для версии 7.7:
СОМ = СоздатьОбъект("InternetExplorer.Application");
Для версии 8.х:
СОМ = Новый СОМОбъект("InternetExplorer.Application");
С помощью WSH можно непосредственно из «1С:Предприятие» работать с файловой системой, дисками, файлами и папками, системным реестром Windows, сетевыми ресурсами.
Рассмотрим несколько примеров, демонстрирующих работу скриптов в «1С:Предприятие».
Пример 1. Имитация нажатия клавиш
В системе «1С:Предприятие» часто возникает ситуация, когда нужно закрыть окно сообщений, появляющееся при вызове метода Сообщить. Стандартно это окно закрывается при нажатии комбинации клавиш <Ctrl> + <Shift> + <Z>, но можно сделать это и программно:
//В ходе выполнения некоторого кода открывается окно сообщений
Сообщить("Сегодня: " +ТекущаяДата());
//Выполнение другой части кода
//Теперь нам необходимо закрыть окно сообщений
);
//Wsh – переменная. Можно было дать любое другое имя, например, Окно
Wsh.SendKeys("^+z"); //имитируем нажатие ++
Wsh.SendKeys("^+я"); //для случая, если текущей является русская раскладка клавиатуры
В результате выполнения данного кода окно сообщений будет закрыто.
Теперь поясню работу этого небольшого фрагмента программы.
SendKeys(String) – имитируется нажатие клавиши или последовательности клавиш, указанных в параметре String.
В качестве параметра можно указывать как алфавитно-цифровые символы, так и символы специальных клавиш, например <Enter>, <Tab>, <F1>, <Alt>, <Shift>, <Ctrl> и т. д.
Для указания клавиш <Alt>, <Shift>, <Ctrl> существуют специальные коды:
- <Shift> – +
- <Ctrl> – ^
- <Alt> – %
Если возникнет необходимость передать специальные символы именно как символы, а не команды, нужно заключать их в фигурные скобки, например {+}.
Пример 2. Подключение сетевого принтера
Для работы с сетевыми ресурсами в WSH предназначен объект WshNetwork. Из «1С:Предприятие» можно напрямую управлять сетевыми ресурсами, в том числе и принтерами:
//Создаём новый СОМ-объект
);
Попытка
//Устанавливаем принтер
Сеть.AddWindowsPrinterConnection("\\ИмяСервера\ИмяПринтера");
//Делаем этот принтер принтером по умолчанию
Сеть.SetDefaultPrinter("\\ИмяСервера\ИмяПринтера");
Исключение
//В случае неудачного подключения принтера
Сообщить("Невозможно произвести подключение");
КонецПопытки;
Объект WshNetwork позволяет определить список подключенных сетевых принтеров. Для этого используется метод EnumPrinterConnections, который возвращает коллекцию принтеров. Данную коллекцию в системе «1С:Предприятие» версии 8 можно перебрать с помощью конструкции:
Для каждого... из... Цикл... КонецЦикла
Таким образом, можно использовать систему «1С:Предприятие» не только как систему учета в организации, но и в целом для администрирования сетевых ресурсов.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|