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

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Работа с интерфейсом Анализ учета Мониторинг 1С:Предприятие 8 1С 8.3 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)

Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью расширения Infostart Dashboard. Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране. Узнайте возможность внедрения подсистемы у себя в конфигурации с помощью бесплатной обработки "Анализ внедрения подсистемы 1С Infostart Dashboard"!

31720 руб.

27.03.2025    84747    60    42    

71

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

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

17568 руб.

20.12.2024    6397    28    4    

30

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

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

42700 руб.

03.08.2020    24421    37    26    

28

WEB-интеграция Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Расширение для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

24000 руб.

02.02.2021    23151    69    52    

43

WEB-интеграция Загрузка и выгрузка в Excel Программист Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Розница 3.0 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Расширение освободит вас от необходимости вручную обновлять информацию о товарах в группах ВКонтакте. Достаточно задать правила один раз, и система автоматически формирует файлы yml для дальнейшей загрузки в группы в ВК. Вы сможете легко выбирать, какие товары публиковать, создавая гибкие критерии отбора. Например, можно добавить важные для покупателей параметры: цвет, размер или другие характеристики.

12200 руб.

29.08.2025    2873    7    8    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. aleksey2 96 21.12.23 11:15 Сейчас в теме
биржевой график есть ?
2. bayselonarrend 3168 21.12.23 11:21 Сейчас в теме
(1) Со свечами? Нет, нету. Есть только те, которые перечислены
9. John_d 6106 22.12.23 10:53 Сейчас в теме
3. Diversus 2339 21.12.23 11:33 Сейчас в теме
Красиво. Проверяли работу на Linux?
4. bayselonarrend 3168 21.12.23 11:48 Сейчас в теме
(3) Спасибо. Нет, не проверял, но на Linux WebKit в формах HTML уже давно, думаю проблем никаких быть не должно
5. Diversus 2339 21.12.23 12:45 Сейчас в теме
(4) Это не верно. Сейчас в Linux WebKit "ниже" чем в Windows и из-за этого могут быть проблемы.
Мы сталкивались с этим, когда на Windows HTML отображается нормально, а в Linux нет.
bayselonarrend; +1 Ответить
6. bayselonarrend 3168 21.12.23 12:53 Сейчас в теме
(5)Ну, в любом случае, я не пробовал - нет машины под рукой. Диаграммы рисуются через canvas
25. Трактор 1281 09.05.24 23:10 Сейчас в теме
(3) Проверил под Убунту 23.10. Не работает в тонком и толстом клиентах. 1С 8.3.24.1342
26. Трактор 1281 11.05.24 11:31 Сейчас в теме
(25) Вру! Я не смог проверить под линуксом. Оказывается веб сервис отъедает лицензию, а у меня под линуксом однопользовательская лицензия.
27. Трактор 1281 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 6106 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 3168 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 3168 22.12.23 16:15 Сейчас в теме
17. Slypower 3 26.12.23 09:18 Сейчас в теме
(14) пример такой диаграммы
Прикрепленные файлы:
18. bayselonarrend 3168 26.12.23 10:06 Сейчас в теме
(17)Столбчато-линейная это не оно?
19. Slypower 3 26.12.23 10:14 Сейчас в теме
(18) Здесь 2 диаграммы, 2 разных показателя, шкалы слева Реализация и справа Объем
20. starik-2005 3272 26.12.23 13:38 Сейчас в теме
22. Slypower 3 26.12.23 13:58 Сейчас в теме
21. bayselonarrend 3168 26.12.23 13:45 Сейчас в теме
(19)Вообще toast ui вроде позволяет выводить вторую шкалу, но здесь я это не реализовывал
15. s_vidyakin 68 22.12.23 16:53 Сейчас в теме
ностальгия прям. Делал то же самое лет 10 назад на highcharts.js
23. Трактор 1281 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 3168 22.02.24 17:03 Сейчас в теме
(23)Спасибо, исправил
Для отправки сообщения требуется регистрация/авторизация