Основная цель проекта - расширить функционал по работе с коллекцией Массив на языке 1С и OneScript.
Не секрет, что в платформе 1С количество встроенных методов у универсальной коллекции значений Массив "из коробки" сильно ограничено. Например, нет возможности поиска элемента, начиная с определённого индекса. Также нет банальной возможности создавать массивы на основе нескольких значений, как во многих других языках программирования, например:
$number_array = [1, 4, -10, 20, 100]; // Создание массива в языке PHP.
И если начать решать стандартные алгоритмические задачки, то весьма быстро окажется, что встроенных методов платформы 1C для работы с массивами очень сильно не хватает. В итоге, было принято решение самостоятельно написать часть недостающих функций для использования в дальнейших задачах и проектах (к слову, это оказалось не только полезной, но и довольно интересной задачей).
К сожалению, возможности наследовать встроенный класс и расширить его новыми самописными методами в платформе 1С не предусмотрено, поэтому вместо объектных методов будут использованы обычные функции, как например, используются во встроенном языке 1С для примитивного типа данных Строка.
Полный список новых функций можно посмотреть в отдельном readme-файле или прямо в исходном коде.
Сначала необходимо скачать архив или клонировать репозиторий с помощью системы Git.
Далее всё зависит от того, как вы собираетесь использовать эти функции. Есть четыре варианта:
-
В виде отдельных автономных OneScript-файлов (в каталоге oscript_functions).
-
Все функции в виде единого OneScript-файла с примерами использования (лежит в корне репозитория).
-
В виде подключения файла обработки к вашей конфигурации через Конфигуратор (файл обработки лежит в корне репозитория).
-
В виде файла шаблонов текста для платформы "1С:Предприятие 8.3" (в каталоге text_templates_1c).
OneScript-файлы запускаются командой (при условии, что у вас установлен интерпретатор):
oscript имя_скрипта.os
Официальный репозиторий скриптового языка OneScript: https://github.com/EvilBeaver/OneScript.
Для использования файла обработки, вам необходимо подключить этот файл в качестве обработки к вашей конфигурации. После чего создать объект для работы с этой обработкой:
РасширениеМассива = Обработки.РасширениеМассива.Создать();
После чего можно использовать любые функции данной обработки в программных модулях:
МассивК = РасширениеМассива.МассивСортировать(МассивК);
Сообщить("Массив К: " + РасширениеМассива.МассивСтрока(МассивК));
Разумеется, и объект, и сам файл обработки можно переименовать так, как вам это будет удобно.
Шаблоны текста можно добавить через Главное меню Конфигуратора - Сервис - Шаблоны текста. В открывшейся панели выбираем кнопку Действие - Настройка шаблонов... (самый нижний пункт меню). В открывшемся окошке "Настройка шаблонов" нажимаем на кнопку "Добавить" (зелёный кружок с белым плюсом внутри). Указываем путь до файла МассивФункции.st, и нажимаем Открыть. После чего нажимаем кнопку ОК в "Настройке шаблонов". Приятного использования!
Если у вас нет желания скачивать репозиторий и устанавливать OneScript, результат работы скрипта с примерами был для удобства представлен в виде текстового файла console_output.txt.
Пример исходного кода (редактор Visual Studio Code):