Giter Club home page Giter Club logo

sudomango / 1c-extended-arrays Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 189 KB

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

License: Apache License 2.0

1C Enterprise 71.31% Smalltalk 28.69%
1c 1c-enterprise array-reverse array-search array-shuffle array-sort arrays delete-duplicates onescript sudomango

1c-extended-arrays's Introduction

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

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

1c-extended-arrays's People

Contributors

sudomango avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.