Home » OneScript Готовые решения Кросс-платформенное программирование » Компонент по созданию форм для OneScript
google




Компонент по созданию форм для OneScript

OneScript скриптовый движок с 1С подобным синтаксисом. Язык постоянно дорабатывается, имеет активное и дружелюбное комньюнити. Одной из приятных особенностей языка является поддержка внешних компонент (плагинов). В последнее время скрипты по автоматизации тех или иных рутинных операций стараюсь делать используя OneScript. Для работы ряда скриптов мне не хватало GUI. Поэтому решил вспомнить C#, написать плагин для OneScript. В итоге появилась внешняя компонента о которой будет рассказано в этой статье.

Внешняя компонента позволяет создавать формы на языке OneScript. API работы с формами максимально приближен к синтаксису 1С.

Основная задача компоненты — простая работа с формами. Позволяет создать большое количество разных элементов форм. Поддерживается обработка событий элементов. Управление свойствами видимости, доступности и другими. Создан единый интерфейс для работы со значениями элементов (через свойство Значение).

Проект размещен на github: https://github.com/ret-Phoenix/oscript-simple-gui.

ВК позволяет создать большой набор компонентов, доступны основные элементы формы и события:

Виды полей:

  • ПолеВвода — Однострочное текстовое поле;
  • ПолеИндикатора — Прогрессбар.
  • ПолеКалендаря — Поле для ввода даты
  • ПолеНадписи — Надпись (декорация в терминалогии 1С)
  • ПолеФлажка — Флажок, имеет статусы: Включен/Выключен
  • ПолеТекстовогоДокумента — Многострочный текст
  • ПолеСоСписком — Поле со списком (ComboBox)
  • ПолеСписка — Поле списка (ListBox)
  • ОбычнаяГруппа — Контейнер для группы элементов
  • Страница — Страницы
  • Кнопка
  • ТаблицаФормы — Компонент для отображения объекта ТаблицаЗначений
  • ДеревоФормы — Компонент для отображения объекта ДеревоЗначений

Обрабатываемые события

  • Форма: ПриОткрытии, ПриЗакрытии
  • Кнопка: ПриНажатии
  • ПолеФормы: ПриИзменении, ПриВыборе (нажат Enter)
    • ПолеСписка: ПриДвойномКлике
    • Таблица формы:
      • ПриПотереФокусаЯчейки — Обработка события изменения значения
      • ПриВыборе — При нажатии Enter
      • ПриДвойномКлике — Обработка двойного клика
    • Дерево формы:
      • ПриВыбореСтроки — Обработка события изменения значения
      • ПриВыборе — При нажатии Enter
      • ПриДвойномКлике — Обработка двойного клика

Примеры

Создание формы и вывод надписи

Декорация

Создание формы с кнопкой и обработка события нажатия на кнопку

Кнопка + обработка события нажатия на кнопку

Пример работы с выпадающим списком

Поле со списком

ТаблицаФормы

ТаблицаФормы

 

ДеревоФормы

ДеревоФормы

 

Примеры использования


Posted on by Ушаков Сергей
Categories: OneScript,Готовые решения,Кросс-платформенное программирование Метки:



7 комментариев на «“Компонент по созданию форм для OneScript”»

  1. Привет! Для меня ваша разработка это просто откровение. Давно, много лет ждал подобного.
    Для меня теперь, ваша разработка позволит создавать:
    1. Браузерные игры с оконным интерфейсом, пиксельная графика.
    2. Возможность расширять движок с файлового до работы с SQL (OneScript, доп. плагины)

    Очень ратую за развитие вашего проекта!

    Скажите, чем могу помочь вам делом вашему проекту! К сожалению, в C# я не силен.

    Пожелания:
    Минимальный графический конфигуратор для создания окон.
    Мне кажется, логично сделать графическое API для редактирования создаваемых окон.

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

    Начну делать, вам отпишусь о результатах.

    Если заинтересует моя работа, прошу вас отписаться мне.

  3. У меня БОООЛЬШОЙ вопрос к вам:
    1. Виды полей — ТаблицаФормы, ДеревоФормы.
    Есть ли возможность выводить в ячейках таблицы — КАРТИНКИ?

    Это ОЧЕНЬ ВАЖНО для веб-интерфейсов магазинов, сайтов, которые можно организовать благодаря вашей разработке.

  4. Еще один вопрос к вам:
    1. Хочется больше обработчиков событий для ПолеФормы, как в конфигураторе 1с.
    2. По возможности больше обработчиков событий для остальных элементов формы.
    Хочется как минимум такое же количество обработчиков событий, как в аналогичных элементах формы в конфигураторе 1с.

    Если с этим возникают сложности, прошу сделать какой-нибудь программный интерфейс или конструктор для добавления обработчика события для элемента формы.

    Это архиважно при промышленном использовании вашего проекта!

  5. Нашел решение по разработке форм для вашего решения :
    1. Если у вас нет денег на покупку лицензии 1с, скачайте свободную версию 1с для обучения программирования. Вот ссылка — https://online.1c.ru/catalog/free/18610119/
    2. После скачивания, запускайте конфигуратор и создавайте управляемую форму нужного вида
    3. После создания управляемой формы нужного вида с нужным функционалом, переходим на шаг 4.
    4. Скачиваем БЕСПЛАТНО обработку ДЕКОМПИЛЯЦИИ управляемой формы в 1с код. Вот ссылка на описание и скачивание — https://infostart.ru/public/304736/
    5. ДЕКОМПИЛИРУЕМ созданную форму (режим 1с Предприятие в бесплатной версии для обучения) в код 1с.
    6. В OneScript в процедуре ПриОткрытииФормы переносим декомпилированный код.
    7. Код, описывающий функционал формы, так-же переносим в OneScript.

    Запускаем приложение, должно работать, как в 1с!

    Данный метод предоставляет необходимый для разработки форм Конфигуратор. Используем родной 1с Конфигуратор.
    Результат разработки перекидываем в OneScript .

    Надо попробовать данный метод!

    После опробования отпишусь о результатах!

Добавить комментарий

Войти с помощью: 

Google




Социальные сети


Я в Twitter
Яндекс.Поиск
Поиск обычный
Счетчики
Рейтинг@Mail.ru Яндекс.Метрика