Скачать версию

OneScript-1.0.17-setup.exe Windows Installer (exe) 12.07.2017
OneScript-1.0.17.zip Zip-архив 12.07.2017
OneScript.1.0.17.nupkg Zip-архив 12.07.2017
OneScript.StandardLibrary.1.0.17.nupkg Zip-архив 12.07.2017
onescript-engine-1.0.17-1.fc25.noarch.rpm Fedora/CentOS (rpm) 12.07.2017
onescript-engine_1.0.17_all.deb Debian/Ubuntu (deb) 12.07.2017

Изменения в версии 1.0.17

Конструкторы

Добавлена возможность объявлять конструкторы для собственных классов.

При создании класса через оператор Новый 1Script выполнит поиск процедуры со специальным именем ПриСозданииОбъекта/OnObjectCreate.

Пример

// файл main.os
ПодключитьСценарий("C:\someclass.os", МойКласс);
МойОбъект = Новый МойКласс("Привет", ТекущаяДата());

// файл someclass.os
Процедура ПриСозданииОбъекта(Сообщение, Дата)
    Сообщить(Строка(Дата) + ":" + Сообщение);
КонецПроцедуры

Сообщить("Инициализация");

При запуске файла main.os на экран будет выведено следующее:

Инициализация
01.07.2017:Привет

То есть, сначала в любом случае будет выполнена секция инициализации (тело модуля), а затем конструктор.

Параметры процедуры-конструктора учитываются при вызове оператора Новый. Если передано большее или меньшее число параметров - диагностируется ошибка.

Прочие изменения

  • Добавлена возможность переопределения настроек в переменной окружения OSCRIPT_CONFIG
    • Значение переменной задается по правилам "Форматной строки 1С" из ф-ии Формат
    • Пары ключ/значение разделяются точкой с запятой. Значения ключей могут быть обернуты в кавычки.
  • В режиме CGI добавлен метод ОтправитьФайл. Позволяет отправить файл на клиент (скачивание файлов из веб-сервиса на oscript)
  • Расширены возможности объекта СистемнаяИнформация. Добавлены средства работы с логическими дисками, специальными папками, определения разрядности и др.
  • Добавлены глобальные методы работы с переменными окружения
    • ПолучитьПеременнуюСреды
    • УстановитьПеременныеСреды
    • ПеременныеСреды
    • Одноименные методы класса СистемнаяИнформация объявлены устаревшими. При их использовании в консоль выдается предупреждение об устаревшем коде.
  • Упразднен класс КоллекцияАргументовКоманднойСтроки. Вместо него, глобальное свойство АргументыКоманднойСтроки возвращает ФиксированныйМассив.
  • Добавлен метод ПолучитьCOMОбъект() аналогичный 1С
  • Добавлен метод Консоль.Сигнал
  • Для сборки под Linux используется msbuild вместо xbuild.
  • Существенно стабилизировано чтение потоков процессов.
  • Добавлена возможность таймаута на ожидании завершения процесса

Исправление ошибок

  • Ключи -check -compile выдают ошибку: Object reference not set to an instance of an object
  • Не обрабатывались значения типа decimal, получаемые из COM-объектов
  • ИмяВыходногоФайла в методах объекта HTTPСоединение может быть пустой строкой
  • Метод ПотокВыводаТекста.Прочитать() возвращает пустую строку, вместо Неопределено
  • Не отрабатывает ЗаписьZipФайла для файлов больше 4 Гб
  • Несовместимость с 1С при удалении файлов из несуществующего пути
  • Некорректный разбор строкового литерала в месте EOF
  • и др.