Как при разработке нестандартных конфигураций, так и при создании внешних обработок к стандартным конфигурациям, довольно часто приходится сталкиваться с необходимостью запуска внешних приложений непосредственно из программного кода системы «1С:Предприятие». Чаще всего это конечно же бывает необходимо для открытия документов, формат которых не поддерживается системой, реже — для других целей.
Для запуска внешнего приложения из программного кода во встроенном языке системы «1С:Предприятие» предусмотрено две системных (встроенных) процедуры: ЗапуститьПриложение() и КомандаСистемы() .
Процедура КомандаСистемы() (англоязычный синоним — System() ) вызывает на исполнение команду, как если бы она была введена в командной строке. При выполнении команды загружается исполняемый файл как «верхняя», активная программа.
Примечание: Если процедурой запускается Windows-приложение, то после этого управление немедленно возвращается в систему «1С Предприятие» на следующий за оператором КомандаСистемы() оператор, и система продолжает выполняться как фоновая прикладная программа. Пользователь может возвратиться в запускающую программу, закончив выполнение запущенной или переключившись обратно посредством списка задач Windows.
КАК ЗАПУСТИТЬ ПРОГРАММУ «СКАНЫ В 1С ОДНИМ НАЖАТИЕМ»
КомандаСистемы(СтрокаКоманды>);
где < СтрокаКоманды >— строковое выражение, содержащее строку команды, как она записывается в командной строке. Если в параметре не содержится полный путь к загружаемой программе, то её поиск происходит в следующей последовательности:
- текущий системный каталог;
- каталог Windows;
- системные каталоги Windows;
- все каталоги, указанные в переменной Path.
Пример использования процедуры:
Если Форматировать = 1 Тогда // Если установлена опция «Форматировать диск перед выгрузкой файлов», // выполняем форматирование диска КомандаСистемы(«format A:»); КонецЕсли; . . .
Результат выполнения вышеприведённого кода показан на рисунке ниже.
Процедура ЗапуститьПриложение() (англоязычный синоним — RunApp() ) вызывает запуск внешнего приложения. В отличие от процедуры КомандаСистемы() запуск приложения выполняется непосредственно, минуя командный интерпретатор. Кроме того, процедура может открыть файл с помощью ассоциированного для данного вида файлов приложения (при условии, что таковое установлено на данном компьютере). При выполнении команды исполняемый файл загружается как «верхняя», активная программа.
Примечание: Если процедурой запускается Windows-приложение, то после этого управление немедленно возвращается в систему «1С Предприятие» на следующий за оператором ЗапуститьПриложение() оператор и система продолжает выполняться как фоновая прикладная программа. Пользователь может возвратиться в запускающую программу, закончив выполнение запущенной или переключившись обратно посредством списка задач Windows.
ЗапуститьПриложение(СтрокаКоманды>);
где < СтрокаКоманды >— строковое выражение, содержащее строку команды запуска внешнего приложения или имя файла, чтобы открыть его с помощью ассоциированного для данного вида файлов приложения. Если в параметре не содержится полный путь к загружаемой программе, то её поиск происходит в следующей последовательности:
Мобильный клиент 1С — развёртывание базы и запуск
- текущий системный каталог;
- каталог Windows;
- системные каталоги Windows;
- все каталоги, указанные в переменной Path.
Пример команды открытия документа с помощью ассоциированного для данного вида файлов приложения:
Процедура ОткрытьФайлДляПросмотра() ЗапуститьПриложение(КаталогПользователя() + «output.xml»); КонецПроцедуры
В вышеприведённом примере XML-файл будет открыт для просмотра в браузере Internet Explorer, который по умолчанию ассоциирован с данным видом файлов (если конечно не установлено какое-либо иное специальное приложение).
Пример команды для открытия текстового файла с помощью редактора Notepad:
КомандаСистемы(«notepad » + КаталогПользователя() + «output.txt»);
Другие статьи по схожей тематике
- Работа с файловой системой
- Объект «V7SysInfo»
- Работа с внешними отчётами и обработками
- Работа с текстовыми файлами
- Работа с картинками
- Внешняя компонента V7plus
Источник: webbrat.ru
Можно ли из 1с запустить программу
Идея сводится к тому, что часть решений пока невозможно перенести в среду 1С по тем или иным причинам. Классический пример системы клиент-банк. И тут пока два варианта. Если информация хранится в DBF, то мы можем напрямую ее прочитать. Если в другом формате, то мы можем создать модуль ActiveX.
Но создание данного модуля может потребовать некоторой компетенции. Есть и другой ход. Можно запустить какую-нибудь программу, которая переведет формат в DBF, а потом прочитать. Все это хорошо, но хочется чтобы это можно было сделать прямо не выходя из 1С. Бухгалтера часто такие бывают.
Ну, вы понимаете 🙂 Для запуска внешних приложений есть процедура.
ЗапуститьПриложение
Выполняет запуск внешнего приложения.
ЗапуститьПриложение()
RunApp
Параметры:
Строковое выражение, содержащее строку команды запуска внешнего приложения или имя файла, чтобы открыть его с помощью ассоциированного для данного вида файлов приложения.
- текущий системный каталог;
- каталог Windows;
- системный каталог Windows;
- все каталоги, указанные в переменной PATH;
Запуск обычного приложения в УТ 11
В прошлом посту писал об обычном и управляемом приложений, обычных и управляемых формах «1С:Предприятия», статья находится здесь 1С ИНТЕРФЕЙС .
За управляемым приложением будущее, уже сейчас многие типовые конфигураций построены на основе управляемого приложения, к ним относятся:
1. “1С:Управление торговлей 11”;
2. “1С:Управление небольшой фирмой 8”;
3. “1С:Документооборот 8”;
4. “1С:Бухгалтерия предприятия 3.0”;
5. “1С:Управление производственным предприятием 2.0” (выйдет в ближайшем будущем);
Узнать больше об управляемом приложении, почитайте 1C:Предприятие 8.2. Тестовая версия.
Данные приложения базируются на управляемых формах и автоматически открываются в “тонком” клиенте.
Многие внешние обработки и отчеты не имеют управляемых форм и при открытии в управляемом приложений они откроются, но будут пустыми, т.е. не рабочими они работают в обычном приложений.
Пример открытия обработки описан в посту: «Пустая форма при открытии обработки 1С»
Большинство универсальных и других обработок можно запускать только в обычном приложении.
Сейчас рассмотрим следующий вопрос: Как запустить обычное приложение, если по умолчанию приложение запускается в тонком клиенте?
Должен быть задан параметр конфигуратора Управляемое приложение и обычное приложение, а дальше согласно приоритету при выборе запуска приложения.
Приоритет при выборе запуска приложения следующий:
1. Первым анализируется свойство регистрации информационной базы.
2. Вторым анализируется, задана ли у пользователя принудительная настройка обычного или управляемого приложения. Если указано значение Авто, то осуществляется переход к следующему уровню.
3. И последнее анализируется основной режим запуска конфигурации.
Для того чтобы поймать момент запуска приложения и момент завершения работы служит Модуль приложения 1С.
Рассмотрим каждый из пунктов подробней
Создание обычных и управляемых форм становится доступным если в режиме конфигуратора задан параметр Сервис – Общие – Управляемое приложение и обычное приложение
Приоритет запуска приложения
Первым при выборе запускаемого клиента анализируется свойство регистрации информационной базы на данном компьютере. Для этого в окне регистрации информационных баз необходимо нажать кнопку Изменить, перейти на третью закладку формы редактирования информационной базы и в группе Основной режим запуска выбрать вид запускаемого клиента.
Вторым анализируется режим запуска приложения для конкретного пользователя. Он задается в списке пользователей. Администрирование – Пользователи выбрать пользователя и на закладке Прочие в поле выбора Режим запуска выбрать значение Управляемое приложение или Обычное приложение.
Для ролей, которые отмечены в списке Доступные роли, необходимо указать право на запуск толстого клиента.
В последнею очередь анализируется свойство корневого узла конфигурации Основной режим запуска. Основной режим запуска определяет, какое приложение будет использоваться при запуске системы пользователем – обычное или управляемое.
По данной теме все. Пожалуйста, оставляйте комментарий, мне важно Ваше мнение.
Интересная статья о 1С фрилансе.
P.S. Смешное видео Сюрприз в ШКАФУ
Источник: 1c-md.com