1Chart - мощь HTML5 диаграмм библиотеки ToastUI в 1С

21.12.23

Разработка - Работа с интерфейсом

Красивые диаграммы и графики средствами javascript библиотеки ToastUI для формы HTML и выгрузки на сайт.

 

1Charts

Библиотека использования диаграмм ToastUI для 1С:Предприятие

ToastUI Chartshttps://github.com/nhn/tui.chart

Репозиторий 1Charts: https://github.com/Bayselonarrend/1Charts

 

Приемущества использования диаграмм ToastUI из 1С:

  • Широкие возможности по настройке
  • Универсальность формата HTML
  • Разнообразие видов диаграмм
  • Интерактивность

 

При помощи данной библиотеки вы можете создавать HTML5 диаграммы на основе ToastUI в 1С. Для этого достаточно вызывать экспортные методы модуля и передавать туда необходимые данные. Чаще всего это Категории и Серии. Для начала использования достаточно забрать общий модуль ToastUI.bsl из корня репозитория себе в конфигурацию. Больше никаких дополнительных действий не требуется, однако есть несколько важных моментов:

 

  1. Данные диаграммы скорее всего не будут отображаться в полях HTML на старых версиях 1С, где используется IE

  2. В методе HTMLМакетСтраницы(), который отвечает за формирование оснастки HTML документа, источником скрипта ToastUI прописан CDN (сторонний сервер в интернете). Если вам важно сохранять работоспособность скрипта при отсутствии доступа к Интернет, данный скрипт необходимо скачать, а в качестве источника прописать локальный путь

  3. Для отображения диаграмм в поле HTML, как результат функции по умолчанию возвращается объект типа ТекстовыйДокумент, который на стороне клиента необходимо записать на диск. Необходимость записи связана с тем, что при прямом вводе HTML как строки, WebKit блокирует выполнение js ToastUI. Если вы не собираетесь использовать диаграммы для вывода в поля HTML 1С, то в параметр ПолныйHTML (есть у любого метода диаграммы) нужно передавать Ложь. При этом, вместо текстового документа будет возвращаться строка, причем она будет содержать только скрипт формирования и контейнер - структуры документа с тегами HTML, Body, Head там не будет и готовую диаграмму можно передать, например, на сайт по Ajax.

При использовании стандартного варианта, возвращаемый текстовый документ будет содержать все атрибуты полного HTML документа. После его записи на диск, в реквизит поля HTML помещается путь к файлу

//Вызов с клиента для вывода на форму

  &НаКлиенте
  Процедура ВывестиДиаграммуОбластей(Команда)
  	
  	ТекстДок = ToastUI.ДиаграммаОбластей(ВводныеКатегории, ВводныеСерии);
  	ИВФ      = ПолучитьИмяВременногоФайла("html");
  	
  	Оповещение = Новый ОписаниеОповещения("ПослеЗаписиHTML", ЭтотОбъект, ИВФ);
  	ТекстДок.НачатьЗапись(Оповещение, ИВФ);
  	
  КонецПроцедуры

  &НаКлиенте
  Процедура ПослеЗаписиHTML(Результат, ДополнительныеПараметры) Экспорт
  	РеквизитПоляHTML = ДополнительныеПараметры;
  КонецПроцедуры

 

Кастомизация диаграмм

 

Диаграммы ToastUI имеют широкие возможности кастомизации. Для простоты и наглядности в библиотеке присутствует определение стандартных настроек внешнего вида, которые можно изменить

 

Если вы хотите определить настройки один раз и потом не возвращаться к ним, то можно изменять значения в методах ОпределитьСтандартныеНастройки() и ОпределитьСтандартнуюТему(). При необходимости в отдельных случаях использовать другой набор настроек, их можно переопределить, передав в необязательный параметр Параметры, который есть у всех методов диаграмм. После определения стандартных настроек, они будут перезаписаны по ключам переданными в качестве параметра

 

Доступные диаграммы:

 

 
 Диаграмма областей
 
Гистограмма
 
"Ящик с усами" (диаграмма размаха)
 
Пузырьковая диаграмма
 
Столбчатая диаграмма
 
Столбчато-линейная диаграмма
 
Спидометр
 
Линейная диаграмма
 
Круговая диаграмма
 
Вложенная круговая диаграмма
 
Радар
 
Радиальная диаграмма
 
Диаграмма разброса

Репозиторий: 

https://github.com/Bayselonarrend/1Charts

Не забудьте поставить + ;)  Спасибо за внимание!

 

Основано на библиотеке ToastUI Charts
MIT License
https://github.com/nhn/tui.chart?tab=MIT-1-ov-file#readme
Copyright (c) 2020 NHN Cloud Corp.

 

 

 Мой GitHub:     https://gitub.com/Bayselonarrend 
 Лицензия MIT:   https://mit-license.org

web js диаграммы графики визуализация html

См. также

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL(ИТИЛ), 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    2905    3    0    

11

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    34976    69    45    

27

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

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

57600 руб.

26.11.2024    2651    2    3    

5

WEB-интеграция Программист Бизнес-аналитик Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

14400 руб.

20.12.2024    1006    6    2    

8

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 1C:Бухгалтерия 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    4524    4    2    

5

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    19230    23    22    

20

WEB-интеграция Программист Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    18996    54    50    

31

Обмен с ГосИС WEB-интеграция Бухгалтер Пользователь Платформа 1С v8.3 Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

2400 руб.

28.04.2016    93376    194    217    

344
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. aleksey2 89 21.12.23 11:15 Сейчас в теме
биржевой график есть ?
2. bayselonarrend 2554 21.12.23 11:21 Сейчас в теме
(1) Со свечами? Нет, нету. Есть только те, которые перечислены
9. John_d 5987 22.12.23 10:53 Сейчас в теме
3. Diversus 2334 21.12.23 11:33 Сейчас в теме
Красиво. Проверяли работу на Linux?
4. bayselonarrend 2554 21.12.23 11:48 Сейчас в теме
(3) Спасибо. Нет, не проверял, но на Linux WebKit в формах HTML уже давно, думаю проблем никаких быть не должно
5. Diversus 2334 21.12.23 12:45 Сейчас в теме
(4) Это не верно. Сейчас в Linux WebKit "ниже" чем в Windows и из-за этого могут быть проблемы.
Мы сталкивались с этим, когда на Windows HTML отображается нормально, а в Linux нет.
bayselonarrend; +1 Ответить
6. bayselonarrend 2554 21.12.23 12:53 Сейчас в теме
(5)Ну, в любом случае, я не пробовал - нет машины под рукой. Диаграммы рисуются через canvas
25. Трактор 1266 09.05.24 23:10 Сейчас в теме
(3) Проверил под Убунту 23.10. Не работает в тонком и толстом клиентах. 1С 8.3.24.1342
26. Трактор 1266 11.05.24 11:31 Сейчас в теме
(25) Вру! Я не смог проверить под линуксом. Оказывается веб сервис отъедает лицензию, а у меня под линуксом однопользовательская лицензия.
27. Трактор 1266 13.05.24 10:17 Сейчас в теме
(26) проверил 1С 8.3.24.1342 не отображает эти графики ни в толстом, ни в тонком клиенте. ОС Ubuntu 23.10.
28. пользователь 05.06.24 13:57
Сообщение было скрыто модератором.
...
7. kumga99 26 22.12.23 08:39 Сейчас в теме
8. BackinSoda 22.12.23 09:38 Сейчас в теме
Сделано красиво. Интересно, в чём преимущество использования html5-диаграмм от типовых ?
10. John_d 5987 22.12.23 11:05 Сейчас в теме
(8) все диаграммы в 1с разработаны на заре появления 8.0 (20 лет назад) и с тех пор почти не менялись.
В типовых конфигурациях диаграммы не используются.
Средствами 1с можно сделать и нормально пользоваться только самые простые диаграммы (типа круговой и столбиков).
В комментарии выше я скинул ссылку на диаграммы amCharts (5 версия которой вышла 2 года назад)
cleaner_it; +1 Ответить
16. BackinSoda 24.12.23 01:24 Сейчас в теме
(10) Под типовыми я имел в виду обычные диаграммы в 1с, например как в демо диаграммах
11. Slypower 3 22.12.23 14:27 Сейчас в теме
Знать бы. какая платформа нужна и зависит ли от режима совместимости
12. bayselonarrend 2554 22.12.23 14:56 Сейчас в теме
(11)Я писал на режиме совместимости 8.3.6, но не факт, что заработает на настоящей 8.3.6 - я просто не помню, когда IE заменили на WebKit
13. Slypower 3 22.12.23 15:20 Сейчас в теме
Не нашел в примерах. Есть возможность на одной диаграмме вывести 2 разных показателя?
14. bayselonarrend 2554 22.12.23 16:15 Сейчас в теме
17. Slypower 3 26.12.23 09:18 Сейчас в теме
(14) пример такой диаграммы
Прикрепленные файлы:
18. bayselonarrend 2554 26.12.23 10:06 Сейчас в теме
(17)Столбчато-линейная это не оно?
19. Slypower 3 26.12.23 10:14 Сейчас в теме
(18) Здесь 2 диаграммы, 2 разных показателя, шкалы слева Реализация и справа Объем
20. starik-2005 3168 26.12.23 13:38 Сейчас в теме
22. Slypower 3 26.12.23 13:58 Сейчас в теме
21. bayselonarrend 2554 26.12.23 13:45 Сейчас в теме
(19)Вообще toast ui вроде позволяет выводить вторую шкалу, но здесь я это не реализовывал
15. s_vidyakin 68 22.12.23 16:53 Сейчас в теме
ностальгия прям. Делал то же самое лет 10 назад на highcharts.js
23. Трактор 1266 16.02.24 23:51 Сейчас в теме
В макете диаграмм ошибка.

В файле https://github.com/Bayselonarrend/1Charts/blob/main/ToastUI.bsl в строке 180

Сказано: | const options = '%2';
Правильно так: | const options = %2;

Из-за этой ошибки не работают настройки.
bayselonarrend; +1 Ответить
24. bayselonarrend 2554 22.02.24 17:03 Сейчас в теме
Оставьте свое сообщение