Работа с операционной системой в языке 1С 8.3, 8.2 (в примерах)
Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.
2017-12-18T22:19:38+00:00Дата Если Массивы Математика Процедуры Строки Циклы
Диалоги ОписаниеТипов ОперационнаяСистема Приложение Соответствие
СписокЗначений Структура ТаблицаЗначений ФайловаяСистема Формат
ОбщиеОбъекты Запросы ПрикладныеОбъекты УниверсальныеФункции
Скачать эти примеры в виде тестовой базы (как загрузить, как исследовать)
/// Как запустить внешнюю программу и /// дождаться окончания её выполнения из 1с 8.3, 8.2 &НаКлиенте Процедура ЗапуститьКалькуляторСОжиданием(Команда) Перем КодВозврата; ОткрытьЗначение("Запускаем калькулятор."); ЗапуститьПриложение( "calc.exe", "", // текущий каталог для запускаемого приложения Истина, // дожидаться завершения работы запущенного приложения КодВозврата // сюда попадёт код, возвращаемый программой ); // сюда мы попадём только после того, // как пользователь закроет окно калькулятора ОткрытьЗначение("Вы закрыли калькулятор."); КонецПроцедуры /// Как запустить внешнюю программу без ожидания /// окончания её выполнения из 1с 8.3, 8.2 &НаКлиенте Процедура ЗапуститьКалькуляторБезОжидания(Команда) Перем КодВозврата; ЗапуститьПриложение( "calc.exe", "", // текущий каталог для запускаемого приложения Ложь, // дожидаться завершения работы запущенного приложения КодВозврата // сюда попадёт код, возвращаемый программой ); // сюда мы попадём сразу после запуска калькулятора // не дожидаясь его закрытия КонецПроцедуры /// Как открыть сайт в браузере по умолчанию /// в 1с 8.3, 8.2 &НаКлиенте Процедура КакОткрытьСайтВБраузереПоУмолчанию(Команда) ЗапуститьПриложение("http://helpme1s.ru"); КонецПроцедуры /// Как открыть сайт в Internet Explorer из 1с 8.3, 8.2 // вариант #1 &НаКлиенте Процедура КакОткрытьСайтВInternetExplorer(Команда) Shell = Новый COMОбъект("WScript.Shell"); ProgramFiles = Shell.ExpandEnvironmentStrings("%PROGRAMFILES%"); ЗапуститьПриложение(ProgramFiles + "\Internet Explorer\iexplore.exe http://helpme1s.ru"); // главный недостаток этого варианта запуска приложения // с параметрами - нужно указывать полный путь к программе КонецПроцедуры // вариант #2 (мелькает чёрное окно) &НаКлиенте Процедура КакОткрытьСайтВInternetExplorer_2(Команда) КомандаСистемы("start iexplore.exe http://helpme1s.ru"); // при запуске приложения с параметрами через команду системы // полный путь указывать не нужно, но будет мелькать // чёрное окно КонецПроцедуры /// Как открыть файл word или excel из 1с 8.3, 8.2 &НаКлиенте Процедура КакОткрытьФайлWordИлиExcel(Команда) ЗапуститьПриложение("c:\test.xlsx"); КонецПроцедуры /// Как открыть конкретную папку в проводнике из 1с 8.3, 8.2 &НаКлиенте Процедура КакОткрытьПапкуВПроводнике(Команда) Shell = Новый COMОбъект("WScript.Shell"); WindowsDir = Shell.ExpandEnvironmentStrings("%WINDIR%"); ЗапуститьПриложение(WindowsDir + "\explorer.exe ""C:\Program files"""); КонецПроцедуры /// Как выделить нужный файл в проводнике из 1с 8.3, 8.2 &НаКлиенте Процедура КакВыделитьФайлВПроводнике(Команда) Shell = Новый COMОбъект("WScript.Shell"); WindowsDir = Shell.ExpandEnvironmentStrings("%WINDIR%"); // откроем проводник с выделенным файлом notepad.exe ЗапуститьПриложение(WindowsDir + "\explorer.exe /select,""C:\Windows\notepad.exe"""); КонецПроцедуры /// Как запустить приложение с параметрами из 1с 8.3, 8.2 &НаКлиенте Процедура КакЗапуститьПриложениеСПараметрами(Команда) // Из примеров выше (запуска internet explorer и проводника) // видно, что для запуска программы с параметрами // нужно указывать полный путь к программе // например: ЗапуститьПриложение("C:\Windows\explorer.exe ""C:\Program files"""); // либо использовать командный интерпретатор Windows, // но в этом случае будет мелькать чёрное окно КомандаСистемы("start explorer.exe ""C:\Program files"""); КонецПроцедуры /// Как выполнить команду операционной системы из /// приложения в 1с 8 &НаКлиенте Процедура КакВыполнитьКомандуОперационнойСистемы(Команда) КомандаСистемы( "winver", // выполняется через командный интерпретатор windows "" // текущий каталог ); КонецПроцедуры /// Как получить имя компьютера в 1с 8.3, 8.2 &НаКлиенте Процедура КакПолучитьИмяКомпьютера(Команда) Сообщить(ИмяКомпьютера()); // например, VOLK КонецПроцедуры /// Как получить каталог исполняемых файлов из 1с 8.3, 8.2 &НаКлиенте Процедура КакПолучитьКаталогИсполняемыхФайлов1С(Команда) // выведет полный путь к папке bin // из которой запущена 1с Сообщить(КаталогПрограммы()); // например: // C:\Program Files (x86)\1cv8t\8.3.4.482\bin\ КонецПроцедуры /// Как получить каталог для временных файлов из 1с 8.3, 8.2 &НаКлиенте Процедура КакПолучитьКаталогДляВременныхФайлов(Команда) // получим каталог временных файлов для пользователя, // от имени которого запущено приложение Сообщить(КаталогВременныхФайлов()); // например, c:\temp\ КонецПроцедуры /// Как получить стандартный каталог документов из 1с 8.3, 8.2 &НаКлиенте Процедура КакПолучитьКаталогДокументов(Команда) Сообщить(КаталогДокументов()); // например // C:\Users\Пользователь\Documents\ КонецПроцедуры /// Как получить информацию об экранах (dpi, разрешение) /// клиента из 1с 8.3, 8.2 &НаКлиенте Процедура КакПолучитьИнформациюОбЭкранах(Команда) Для Каждого Экран Из ПолучитьИнформациюЭкрановКлиента() Цикл Сообщить("DPI " + Строка(Экран.DPI) + " Высота: " + Строка(Экран.Высота) + " Ширина: " + Строка(Экран.Ширина)); КонецЦикла; // например // DPI 96 Высота: 1 024 Ширина: 1 280 КонецПроцедуры /// Как получить рабочий каталог данных пользователя /// из 1с 8.3, 8.2 &НаКлиенте Процедура КакПолучитьРабочийКаталогДанныхПользователя(Команда) Сообщить(РабочийКаталогДанныхПользователя()); // например // C:\Users\Пользователь\AppData\Roaming\1C\1cv8t\.. // ..01c02859-1a28-4514-b595-2abdc95ebb97\071523a4-5.. // ..16f-4fce-ba4b-0d11ab7a1893\App\ КонецПроцедуры /// Как узнать текущий язык, используемый в приложении /// в 1с 8.3, 8.2 &НаКлиенте Процедура КакУзнатьТекущийЯзыкСистемы(Команда) Сообщить(ТекущийЯзыкСистемы()); // ru КонецПроцедуры /// Как получить список пользователей операционной системы /// в 1с 8.3, 8.2 &НаКлиенте Процедура КакПолучитьСписокПользователейОперационнойСистемы(Команда) ОткрытьЗначение("Внимание, если у вас учебная версия платформы," + " то код ниже сработает с ошибкой."); Для Каждого Пользователь Из ПользователиОС() Цикл Сообщить(Пользователь.ИмяДомена + ": " + Пользователь.ИмяСервера +" локальный (" + Пользователь.Локальный + ")" ); Для Каждого Имя Из Пользователь.Пользователи Цикл Сообщить(" " + Имя); КонецЦикла; КонецЦикла; КонецПроцедуры /// Скачать и выполнить эти примеры на компьютере |
Скачать эти примеры в виде тестовой базы (как загрузить, как исследовать)
Работа с операционной системой в языке 1С 8.3, 8.2 (в примерах)
Дата Если Массивы Математика Процедуры Строки Циклы
Диалоги ОписаниеТипов ОперационнаяСистема Приложение Соответствие
СписокЗначений Структура ТаблицаЗначений ФайловаяСистема Формат
ОбщиеОбъекты Запросы ПрикладныеОбъекты УниверсальныеФункции