Стартиране на приложения от 1C Enterprise 8

Платформата 1C:Enterprise 8.x ви позволява да стартирате приложения на трети страни с помощта на вградени инструменти. Например, ако трябва да стартирате браузър, за да отворите връзка, просто напишете следния програмен код:

По същия начин можете да стартирате всяко друго приложение, като изрично посочите пътя до изпълнимия EXE файл.

След изпълнение на този ред код ще се стартира стандартното Windows приложение, Notepad.

По-разумно е да използвате този метод на глобален контекст от страна на клиента (тънък или дебел), тъй като в абсолютното мнозинство от случаите след стартиране на приложението не е възможно да работите с него от 1C:Enterprise. Тези. след отваряне на браузъра, платформата няма да може да обработва неговите събития или да получава данни от него.

Но все още можете да взаимодействате с приложение, стартирано по този начин! Например, след стартиране изчакваме работещото приложение да генерира файл с отговори и след това да го прочетем. Ако използваме метода "StartApplication()", тогава ще трябва да проверим наличието на файла с отговори в цикъла и, ако се появи достъп до този файл, да го обработим.

Би било по-рационално да стартирате приложението, да изчакате изпълнението му да завърши и след това да извършите всички необходими действия. И ако стартирането се извършва на клиентска машина, тогава може изобщо да не е необходимо да се показва прозорецът на приложението.

приложения

За тези цели можете да използвате COM обекта "WScript.Shell":

А) - системна команда (път до изпълнимия файл или всяка друга команда в DOS формат).

B) - опция за показване на прозореца на приложението. Не е задължително. Възможни стойности:

1 - Активира и показва прозореца. Ако прозорецът е минимизиран илимаксимизиран, системата го възстановява до първоначалния му размер и позиция. Използва се при отваряне на прозореца на програмата за първи път. 2 - Активира прозореца в минимизиран режим. 3 - Активира прозореца и го увеличава до цял екран. 4 - Показва прозореца в новия му размер и позиция. Текущият прозорец остава активен. 5 - Активира прозореца и го показва в текущия размер. 6 - Минимизира прозореца и активира следващия в лентата на задачите. 7 - Показва прозореца като минимизиран. Активният прозорец остава активен. 8 - Показва прозореца в текущото му състояние. Активният прозорец остава активен. 9 - Активира и показва прозореца. Ако прозорецът е минимизиран или максимизиран, системата го възстановява до първоначалния му размер и позиция. Използва се за възстановяване на минимизиран прозорец. 10 - показва прозореца в същото състояние като прозореца на извикващата програма.

B) - дали да изчакате изпълнението на командата: 0 - няма нужда да изчакате изпълнението на командата, 1 - да изчакате изпълнението на командата.

Ето как изглежда стартирането на приложението Notepad по следния начин:

Но отново няма да има чакане за завършване на приложението. За да направите това, третият параметър трябва да бъде зададен на 1.

Пример за използване на COM обекта "WScript.Shell" може да бъде намерен в обработката на "Yandex.Wordstat", където стартира помощната програма за изпращане на JSON заявка чрез Yandex.API.

Недостатъкът на втория метод е, че той не е универсален, тъй като работата на COM обект е възможна само в случаите, когато платформата (или 1C:Enterprise сървър) работи под операционна система Windows.