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

13 Comments

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

    Ай-да такие же перечисления, но не из текстового файла, а из xml выгрузки конфигурации

    Reply
  2. blackhole321

    (2)Не понял сути вопроса. Перечисления да, берутся из выгрузки конфигуратора. В onescript значение представлено строкой вида имяперечисления.значениеперечисления

    Reply
  3. baton_pk

    (3) Эти текстовые файлы «Перечисление1.txt» и «Перечисление2.txt» — это разве выгрузка из конфигуратора??

    Reply
  4. blackhole321

    (4)ну преобразованная из xml в тхт. Эт конечно не оригинальный формат 1с

    Reply
  5. baton_pk

    (5)

    Эт конечно не оригинальный формат 1с

    вот к этому я и клоню — к чему лишние преобразования?

    Reply
  6. blackhole321

    (6)там много лишней инфы. К тому же проще прочитать при выполнении в ванскрипте текстовый файл как массив строк, чем морочиться с xml 1с

    Reply
  7. baton_pk

    (7)

    там много лишней инфы

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

    (7)

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

    xml в текст каждый раз переводить, а читалку один раз поднатужиться и сделать — я могу даже вПёРнуть попробовать, если тебе лень.

    Reply
  8. blackhole321

    Да он переводится то при создании приложения конфой. В самом приложении на сайте это уже текстовый файл.

    Ну можно попробовать и читалку xml

    Reply
  9. blackhole321

    (9)только штатные средства c# как-то не очень дружелюбно отнеслись к xml 1с

    Reply
  10. ktb

    Как еще 1 вариант для onescript — модуль Перечисления.os вида:

    Перем ДаНет Экспорт;
    
    Процедура ДобавитьЗначениеПеречисления(Перечисление, Знач Имя, Знач Значение)
    
    Если НЕ ТипЗнч(Перечисление) = Тип(«Структура») Тогда
    Перечисление = Новый Структура();
    КонецЕсли;
    
    Перечисление.Вставить(Имя, Значение);
    
    КонецПроцедуры // ДобавитьЗначениеПеречисления()
    
    Процедура ЗаполнитьДаНет()
    
    ДобавитьЗначениеПеречисления(ДаНет, «Да» , «yes»);
    ДобавитьЗначениеПеречисления(ДаНет, «Нет» , «no»);
    
    КонецПроцедуры // ЗаполнитьДаНет()
    
    Процедура Инициализация()
    
    ЗаполнитьДаНет();
    
    КонецПроцедуры // Инициализация()
    
    Инициализация();
    

    Показать

    Далее вызываем как в 1С:

    Значение = Перечисления.ДаНет.Да;
    
    Reply
  11. blackhole321

    (11)Это да, только этот код не будет переносимым

    Reply
  12. ktb

    (12) Но если пофантазировать, то можно сделать обработку-генератор кода перечислений из 1С для oscript 🙂

    Reply
  13. blackhole321

    Ну в принципе — да, можно.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *