/// Как запустить внешнюю программу и
/// дождаться окончания её выполнения из 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С Рекомендации по изучению программирования 1С с нуля Игра "Кто хочет стать миллионером?" с вопросами на определенную тематику (язык программирования JavaScript, английские, немецкие, французские, испанские, португальские, нидерландские, итальянские слова, электробезопасность, промышленная безопасность, бокс и т.п.), написанная на 1С Программирование в 1С 8.3 с нуля - краткий самоучитель Комплексная подготовка программистов 1С:Предприятие 8.2 Сайты с уроками программирования и со справочниками Youtube-каналы с уроками программирования Сайты для обучения программированию Лекции и уроки