Курилка Альтернативный исполнитель кода 1С

Тема в разделе "Курилка", создана пользователем Bobre, 6 мар 2013.

  1. TopicStarter Overlay
    Bobre
    Offline

    Bobre Опытный в 1С

    Регистрация:
    15 апр 2011
    Сообщения:
    144
    Симпатии:
    0
    Баллы:
    26
    Очень необычная, наверно, для этого форму вещь.
    Давно я уже предпринимал попытки разобрать код 1С и выполнить его на других платформах. Получалось разбирать и выводить формы из конфигурации в java, выполнять какие-то действия на других языках, но тут я решил разобраться в новом скриптовом языке Ruby. Язык действительно космический по сравнению с 1С, с кажущимися неограниченными возможностями. Вот я и начал переписывать интерпретатор кода на Ruby, тем самым узнавая и его и все тонкости 1С.
    За одну неделю развлечения после работы я узнал очень много нового, например почему в некоторых нативных методах объектов данные хранятся в массивах, а в некоторых в своих типах объектов, какой код будет выполняться быстрее, какой код будет "жрать" больше оперативной памяти и т.д. благодаря тому, что попытался воссоздать нативные функции самому.

    Посмотреть вложение 14008

    Работа продолжается, так как такая я действительно увлекся этим.
    Конечно же, ищу единомышленников, если кто знает Ruby и Qt или просто хотят узнать больше о них либо о 1C пишите))

    Если кому интересно поделюсь исходниками, которые явно еще сыроватые.
    Код выполняется на любой ОС, но гарантированно работает под Win, Linux, MacOS. Под Android только с бубном)

    Вложения:

    • snapshot2.png
      snapshot2.png
      Размер файла:
      115,1 КБ
      Просмотров:
      145
  2. shurikvz
    Online

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Bobre вещь действительно необычная, первый вопрос, который у меня появился: для чего все это?
  3. TopicStarter Overlay
    Bobre
    Offline

    Bobre Опытный в 1С

    Регистрация:
    15 апр 2011
    Сообщения:
    144
    Симпатии:
    0
    Баллы:
    26
    Я сейчас работаю программистом 1С, поэтому с 1С приходится постоянно сталкиваться, но на досуге мои "развлечения" - Linux, сайты где хорошо вжился Ruby.
    Вот я начал читал книги по Ruby и тут понял что с его помощью можно переписать платформу 1С. А так это все just for fun. Побочный эффект изучения Ruby
  4. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Не вижу смысла в написании какой - то платформы, пока Вы чего - либо сможете отладить будет реализована абсолютно другая платформа. Я в свое время видел операционки написанные чисто на ассемблере и умершие сразу же в момент написания. Повторюсь - не вижу в этом смысла
  5. TopicStarter Overlay
    Bobre
    Offline

    Bobre Опытный в 1С

    Регистрация:
    15 апр 2011
    Сообщения:
    144
    Симпатии:
    0
    Баллы:
    26
    я не ставлю перед собой никаких планов, по большому смыслу. По крайней мере что можно получить из интересного - возможность исполнения кода 1С на телефоне или же прямо в браузере)
  6. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Решение, работающее на телефонах уже есть, в браузерах тоже есть
  7. TopicStarter Overlay
    Bobre
    Offline

    Bobre Опытный в 1С

    Регистрация:
    15 апр 2011
    Сообщения:
    144
    Симпатии:
    0
    Баллы:
    26
    Так работают они только в режиме предприятия
  8. Annie
    Offline

    Annie Опытный в 1С Команда форума

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    А, по-моему, хорошее увлечение в свободное время. Why not? :smile:
  9. TopicStarter Overlay
    Bobre
    Offline

    Bobre Опытный в 1С

    Регистрация:
    15 апр 2011
    Сообщения:
    144
    Симпатии:
    0
    Баллы:
    26
    Спасибо за поддержку) о вообще если подумать то можно в 1С добавить кучу всего нового, чего может кому-то и не хватало. Например "форма = Новая Форма;" а не хранить шаблон формы, который хочешь заполнять самостоятельно. Или же переопределить существующие функции, например задать чтобы функция ТекущаяДата() возвращала константу на время проведения каких-то работ или даже делать вставки на других языках программирования.
  10. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    У одинэсера нет свободного времени никогда :D
  11. TopicStarter Overlay
    Bobre
    Offline

    Bobre Опытный в 1С

    Регистрация:
    15 апр 2011
    Сообщения:
    144
    Симпатии:
    0
    Баллы:
    26
    По факту воспроизведение действий самой платформы 1С - это наилучший способ ее изучения досконально)
    например раньше я даже не задумывался, чем отличается массив.вставить(..,..) от массив.установить(..,..) и массив[..] = .., предполагал, но не проверял что будет с методами выгрузитьколонку и загрузитьколонку у ТЧ если если количество элементов у ТЧ и массива разные. Причем проверял я его во всех возможных исключениях, чтобы повторить в своем альтернативном исполнители кода 1С до мелочей.
  12. TopicStarter Overlay
    Bobre
    Offline

    Bobre Опытный в 1С

    Регистрация:
    15 апр 2011
    Сообщения:
    144
    Симпатии:
    0
    Баллы:
    26
    Разработку я, кстати, все продолжаю, начал прорисовываться конфигуратор. Появились функции Сохранить/Загрузить конфигурацию, Запуск.
    Добавлены некоторые свои объекты. На первых порах дизайнер формы будет сделать трудоемко, поэтому формы можно получать, автоматически разбирая из 1С-ки.

    Следующий шаг - создание новых объектов в конфигураторе, а не в коде, создание интерфейсов и сохранение данных в файловом режиме, прописание всех классов аналогичных элементам формы в 1С, привязка действий в элементам форм. Ну то есть на следующий месяц работа назначена =) жаль что диссертация, которая у меня на носу, может отодвинуть разработку еще на месяц дальше.

    Вложения:

    • konfigurator.png
      konfigurator.png
      Размер файла:
      45,6 КБ
      Просмотров:
      90
    • zapusk.png
      zapusk.png
      Размер файла:
      13,5 КБ
      Просмотров:
      84
  13. MixaBel
    Offline

    MixaBel

    Регистрация:
    24 янв 2014
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Жаль что погасла идея... или просто нет желания сообщать о результатах?
  14. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Не коммерческие решения долго не живут, мы живем во время финансов и все что не приносит денег, даже если это хорошая идея, обречено на провал. Вы когда - нибудь слышали про ОС на ассемблере? А она есть :)
  15. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    "Калибри")))))) Влазит на 3.5 дискету.
  16. Vladius
    Offline

    Vladius Опытный в 1С

    Регистрация:
    10 ноя 2010
    Сообщения:
    663
    Симпатии:
    3
    Баллы:
    29
    Автор, очень интересно как ты написал этот интерпретатор. Как можно реализовать исполнения 1с-ного кода в руби?)) Это же куча классов, методов и что все за неделю можно написать? Покажите что под капотом )

Поделиться этой страницей