gifts2017

Обработки на 1С к докладу "Создание виджетов(widgets) в 1С" на Event 2015

Опубликовал Сергей Кудашкин (sikuda) в раздел Программирование - Практика программирования

Выкладываю обработки к докладу на конференции.

Доброго времени суток!

Идея виджетов, добавления своих маленьких элементов отображения в интерфейс популярна в информационных системах как никогда. Всегда хочется дополнить интерфейс системы небольшими добавлениями, которые наиболее выразительно покажут информацию, покажут, занимая немного места, но именно так, как хочется. Можно для этого использовать <поле картинки> или графическую схему. Но сейчас я опишу наиболее универсальный и богатый способ создания.

1-. Самое интересное поле, которое можно вставлять в интерфейс 1С, – это поле HTML документа.

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

2-. Поле это работает пока в старом режиме совместимости. А любой web-дизайнер Вам расскажет кучу страшных историй о совместимости верстки под ie7, ie8 и стандарты современных браузеров. Но проблема не только в показе контекста, большая проблема в том, что старый режим совместимости не может отработать новые функции и свойства современных технологий. И самое плохое, что могут выскакивать ошибки. А для пользователя это совсем неприемлемо.

  • CSS 3 да и CSS 2 отобразится не так, как хотелось бы.
  • <canvas> или ускоритель двухмерной графики – забудьте (http://www.w3schools.com/canvas/default.asp)
  • <svg> не работает
  • остальные примочки HTML5 за бортом

Многие могут возразить, что мы можем добавить чудо-строку в HTML для изменения уровня совместимости  <meta http-equiv=”X-UA-Compatible” content=”IE=Edge” />. Но и здесь все не радостно. Стилевое оформление начинает работать, но основной контекст все равно будет при старом режиме.

И продолжая негатив Ж:)

3-.  В 1С в управляемых формах остался один интерактивный метод взаимодействия с полем <ПриНажатии>. <ПриИзменении> и <ДокументСформирован> реагируют уже на изменение контекта, а при событии ПриНажатии, если его не прерывать, доходит до владельца в 1С.

В общем, все плохо и руки опускаются, что-либо делать. И теперь будем подниматься вверх, используя опыт и различные наработки.

1+. Поле НТМL работает во всех клиентах  и версиях 1С.

2+. Конечно, приходится использовать библиотеки, совместимые с ie7 или позволяющие подправить код для режима совместимости.

В частности, используем Raphaeljs (http://raphaeljs.com/), которая позволяет рисовать как старыми методами ie, так и и для вэб-клиетов средствами svg

3+. Любые события в HTML можно эмулировать событием ПриНажатии. Конечно, это не волшебная палочка, и проблему быстродействия взаимодействия это не решит, но нормальную работу это обеспечит. И один из интересных методов, заключается в обработке событий ПриНажатии для невидимых элементов. В отличие от 1С невидимые элементы присутствуют в интерфейсе и могут использоваться для взаимодействия с пользователем.

Ну, я надеюсь, у Вас появилась надежда.

Р.S. привожу текст, как он был создан до конференции, и обработки к нему. Новые идеи после конференции требуют дополнительного осмысления

И интернет версии demo Event 2015 - http://jsfiddle.net/sikuda/L846tz78/

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Презентация в 1С
.epf 2,23Mb
01.11.16
10
.epf 2,23Mb 10 Скачать
Выполнение длительного процесса
.epf 47,72Kb
01.11.16
16
.epf 47,72Kb 16 Скачать
Event 2015
.epf 47,75Kb
01.11.16
10
.epf 47,75Kb 10 Скачать
Моделирование сетки
.epf 10,83Kb
01.11.16
14
.epf 10,83Kb 14 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Dpotapov (Danil.Potapov) 29.10.15 20:19
2. Сергей Кудашкин (sikuda) 29.10.15 22:26
(1) Dpotapov, Это тоже что <meta http-equiv="X-UA-Compatible" content="IE=edge" />(IE=8,9,10,11). Но строку совместимости гораздо легче указать, чем лазить в каждый клиенский компьютер.
Но проблема если компьютер старый XP(IE 8), а Вы надеетесь на IE 9. Облом.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа