Перечисления в http-сервисах OneScript

Обмен - Интеграция с WEB

В статье описывается библиотека, реализующая механизм перечислений в http-сервиах OneScript, аналогичный механизму платформы 1С:Предприятие

Введение

Тип данных Перечисление активно используется как программировании на платформе 1С:Предприятие, так и в OneScript. Однако,  реализация данного типа несовместима, поэтому была создана библиотека, реализующая тип Перечисление в http-сервисах OneScript, аналогично платформе 1С:Предприятие.

Описание

Библиотека входит в состав набора библиотек, расширяющих возможности http-сервисов OneScript.  Перечисления организованы в виде набора текстовых файлов, находящихся в определенной папке на диске и имеющих следующую схему именования:

ИмяПеречисления.txt

Где ИмяПеречисления – это имя перечисления, которое используется для доступа из внутреннего языка.

Содержимое файлов представляет собой набор текстовых строк, каждая из которых представляет собой значение перечисления. Содержимое файла перечисления выглядит примерно следующим образом:

 
ЗначениеПеречисления1

ЗначениеПеречисления2

ЗначениеПеречисления3

Установка

Установка осуществляется копированием файлов dll в папку Bin веб-приложения. Затем, необходимо внести нижеследующие изменения в секцию <appSettings>, файла web.config:

 
<!-- Определяем каталог, где расположены файлы перечислений -->

<add key="enumsPath" value="~/Перечисления/" />

<!-- Необходимо для построения коллекции Перечисления -->

<add key="propertiesInjector;Enums;OneScript.HTTPService.Enums" value="" />

<!-- Подключаем сборку -->

<add key="Enums" value="attachAssembly" />

Использование

Пример использования перечислений в OneScript представлен ниже:

Перечисление1.txt

 
Значение1

Значение2

Значение3

Перечисление2.txt

 
Значение1

Значение2

Пример кода:

 
Результат = Перечисления.Перечисление1.Значение1 = Перечисления.Перечисление1.Значение1;

// Результат = Истина

Результат = Перечисления.Перечисление1.Значение1 = Перечисления.Перечисление2.Значение1;

// Результат = Ложь

Как можно увидеть, код является переносимым, между OneScript и 1С:Предприятие.

Заключение

Надеюсь, что настоящая библиотека позволит вам использовать наработки из 1С:Предприятие в ваших приложениях OneScript с минимальными переделками.

См. также

Комментарии
2. Сергѣй Батанов (baton_pk) 345 05.06.18 23:24 Сейчас в теме
Как можно увидеть, код является переносимым, между OneScript и 1С:Предприятие.

Ай-да такие же перечисления, но не из текстового файла, а из xml выгрузки конфигурации
3. Юрий Дешин (blackhole321) 590 05.06.18 23:47 Сейчас в теме
(2)Не понял сути вопроса. Перечисления да, берутся из выгрузки конфигуратора. В onescript значение представлено строкой вида имяперечисления.значениеперечисления
4. Сергѣй Батанов (baton_pk) 345 06.06.18 07:50 Сейчас в теме
(3) Эти текстовые файлы "Перечисление1.txt" и "Перечисление2.txt" - это разве выгрузка из конфигуратора??
5. Юрий Дешин (blackhole321) 590 06.06.18 08:38 Сейчас в теме
(4)ну преобразованная из xml в тхт. Эт конечно не оригинальный формат 1с
6. Сергѣй Батанов (baton_pk) 345 06.06.18 08:55 Сейчас в теме
(5)
Эт конечно не оригинальный формат 1с

вот к этому я и клоню - к чему лишние преобразования?
7. Юрий Дешин (blackhole321) 590 06.06.18 09:06 Сейчас в теме
(6)там много лишней инфы. К тому же проще прочитать при выполнении в ванскрипте текстовый файл как массив строк, чем морочиться с xml 1с
8. Сергѣй Батанов (baton_pk) 345 06.06.18 09:12 Сейчас в теме
(7)
там много лишней инфы

зато минимум лишних промежуточных операций.


(7)
К тому же проще прочитать

xml в текст каждый раз переводить, а читалку один раз поднатужиться и сделать - я могу даже вПёРнуть попробовать, если тебе лень.
9. Юрий Дешин (blackhole321) 590 06.06.18 09:18 Сейчас в теме
Да он переводится то при создании приложения конфой. В самом приложении на сайте это уже текстовый файл.

Ну можно попробовать и читалку xml
10. Юрий Дешин (blackhole321) 590 06.06.18 09:19 Сейчас в теме
(9)только штатные средства c# как-то не очень дружелюбно отнеслись к xml 1с
Оставьте свое сообщение