Процедуры и функции взаимодействия с системой

Глобальный контекст. Представляет глобально доступные свойства и методы.

Свойства

ФайловыеПотоки / FileStreams

Доступ: Чтение

Менеджер файловых потоков.

АргументыКоманднойСтроки / CommandLineArguments

Доступ: Чтение

Доступ к аргументам командной строки. Объект АргументыКоманднойСтроки представляет собой массив в режиме "только чтение".

Методы

Сообщить / Message()

Выдает сообщение в консоль.

Параметры

  • message: Выдаваемое сообщение.

  • status: Статус сообщения.

ПодключитьСценарий / AttachScript()

Подключает сторонний файл сценария к текущей системе типов. Подключенный сценарий выступает, как самостоятельный класс, создаваемый оператором Новый

Пример:

ПодключитьСценарий("C:\file.os", "МойОбъект");
А = Новый МойОбъект();

Параметры

  • path: Путь к подключаемому сценарию

  • typeName: Имя типа, которое будет иметь новый класс. Экземпляры класса создаются оператором Новый.

ЗагрузитьСценарий / LoadScript()

Создает экземпляр объекта на основании стороннего файла сценария. Загруженный сценарий возвращается, как самостоятельный объект. Экспортные свойства и методы скрипта доступны для вызова.

Пример:

Контекст = Новый Структура("ЧислоПи", 3.1415); // 4 знака хватит
// В коде скрипта somescript.os будет доступна глобальная переменная "ЧислоПи"
Объект = ЗагрузитьСценарий("somescript.os", Контекст);

Параметры

  • path: Путь к подключаемому сценарию

  • externalContext: Структура. Глобальные свойства, которые будут инжектированы в область видимости загружаемого скрипта. (Необязательный)

ПодключитьВнешнююКомпоненту / AttachAddIn()

Пример:

ПодключитьВнешнююКомпоненту("C:\MyAssembly.dll");
КлассИзКомпоненты = Новый КлассИзКомпоненты(); // тип объявлен внутри компоненты

ПодключитьВнешнююКомпоненту("C:\MyAssembly.dll"); КлассИзКомпоненты = Новый КлассИзКомпоненты(); // тип объявлен внутри компоненты

Подключает внешнюю сборку среды .NET (*.dll) и регистрирует классы 1Script, объявленные в этой сборке. Публичные классы, отмеченные в dll атрибутом ContextClass, будут импортированы аналогично встроенным классам 1Script. Загружаемая сборка должна ссылаться на сборку ScriptEngine.dll

Параметры

  • dllPath: Путь к внешней компоненте

СтартовыйСценарий / EntryScript()

Возвращает информацию о сценарии, который был точкой входа в программу. Можно выделить два вида сценариев: те, которые были подключены, как классы и те, которые запущены непосредственно. Метод СтартовыйСценарий возвращает информацию о сценарии, запущенном непосредственно. Для получения информации о текущем выполняемом сценарии см. метод ТекущийСценарий()

Возвращаемое значение

Объект ИнформацияОСценарии

Приостановить / Sleep()

Приостанавливает выполнение скрипта.

Параметры

  • delay: Время приостановки в миллисекундах

ЗавершитьРаботу / Exit()

Прерывает выполнение текущего скрипта.

Параметры

  • exitCode: Код возврата (ошибки), возвращаемый операционной системе.

ВвестиСтроку / InputString()

Ввод строки пользователем. Позволяет запросить у пользователя информацию.

Параметры

  • resut: Выходной параметр. Введенные данные в виде строки.

  • len: Максимальная длина вводимой строки. Возможно указание неограниченной длины (длина=ноль), но данное поведение может не поддерживаться хост-приложением.

Возвращаемое значение

Булево. Истина, если пользователь ввел данные, Ложь, если отказался.

ОсвободитьОбъект / FreeObject()

Явное освобождение ресурса через интерфейс IDisposable среды CLR.

OneScript не выполняет подсчет ссылок на объекты, а полагается на сборщик мусора CLR. Это значит, что объекты автоматически не освобождаются при выходе из области видимости.

Метод ОсвободитьОбъект можно использовать для детерминированного освобождения ресурсов. Если объект поддерживает интерфейс IDisposable, то данный метод вызовет Dispose у данного объекта.

Как правило, интерфейс IDisposable реализуется различными ресурсами (файлами, соединениями с ИБ и т.п.)

Параметры

  • obj: Объект, ресурсы которого требуется освободить.

ВыполнитьСборкуМусора / RunGarbageCollection()

OneScript не выполняет подсчет ссылок на объекты, а полагается на сборщик мусора CLR. Это значит, что объекты автоматически не освобождаются при выходе из области видимости.

С помощью данного метода можно запустить принудительную сборку мусора среды CLR. Данные метод следует использовать обдуманно, поскольку вызов данного метода не гарантирует освобождение всех объектов. Локальные переменные, например, до завершения текущего метода очищены не будут, поскольку до завершения текущего метода CLR будет видеть, что они используются движком 1Script.

ЗапуститьПриложение / RunApp()

Запуск приложения в операционной системе

Параметры

  • cmdLine: Командная строка запуска

  • currentDir: Текущая директория запускаемого процесса (необязательно)

  • wait: Ожидать завершения (необязательно) по умолчанию Ложь

  • retCode: Выходной параметр. Код возврата процесса. Имеет смысл только если указан параметр wait=true

СоздатьПроцесс / CreateProcess()

Создает процесс, которым можно манипулировать из скрипта

Параметры

  • cmdLine: Командная строка запуска

  • currentDir: Текущая директория запускаемого процесса (необязательно)

  • redirectOutput: Перехватывать стандартные потоки stdout и stderr

  • redirectInput: Перехватывать стандартный поток stdin

  • encoding: Кодировка стандартных потоков вывода и ошибок

НайтиПроцессПоИдентификатору / FindProcessById()

Выполняет поиск процесса по PID среди запущенных в операционной системе

Параметры

  • PID: Идентификатор процесса

Возвращаемое значение

Процесс. Если не найден - Неопределено

НайтиПроцессыПоИмени / FindProcessesByName()

Выполняет поиск процессов с определенным именем

Параметры

  • name: Имя процесса

Возвращаемое значение

Массив объектов Процесс.

КаталогПрограммы / ProgramDirectory()

Каталог исполняемых файлов OneScript

Возвращаемое значение

КраткоеПредставлениеОшибки / BriefErrorDescription()

ПодробноеПредставлениеОшибки / DetailErrorDescription()

ТекущаяДата / CurrentDate()

Текущая дата машины

Возвращаемое значение

Дата

ТекущаяУниверсальнаяДатаВМиллисекундах / CurrentUniversalDateInMilliseconds()

ЗначениеЗаполнено / IsValueFilled()

Проверяет заполненность значения по принципу, заложенному в 1С:Предприятии

Параметры

  • value:

Возвращаемое значение

ЗаполнитьЗначенияСвойств / FillPropertyValues()

Заполняет одноименные значения свойств одного объекта из другого

Параметры

  • acceptor: Объект-приемник

  • source: Объект-источник

  • filledProperties: Заполняемые свойства (строка, через запятую)

  • ignoredProperties: Игнорируемые свойства (строка, через запятую)