/1C-Extended-Arrays

Добавлено 16 новых функций для работы с массивами в 1С и OneScript. Например: удаление повторяющихся значений, поиск элемента с указанного индекса, перемешивание массива / shuffle и другие функции.

Primary Language1C EnterpriseApache License 2.0Apache-2.0

Краткое описание

Основная цель проекта - расширить функционал по работе с коллекцией Массив на языке 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):

Source Code Screen