IE 2016

Формирование красивых интерактивных графиков и диаграмм Highcharts в 1С (универсальная процедура)

Опубликовал FIConsult в раздел Программирование - Работа с интерфейсом

Готовая процедура для встраивания в отчеты для формирования на форме отчета красивых интерактивных графиков и диаграмм  Highcharts. Отличная альтернатива типовым графикам 1С. Надеюсь, будет полезной

На форме отчета должен быть элемент Поле HTML документа.

Параметры процедуры:

ТЗ - таблица значений содержащая колонки с данными для оси X и оси Y

ТипГрафика="График" или "Диаграмма"

СписокПолей - список значений (Значение элемента списка д.б. равно названию колонки в ТЗ с данными, также Пометка элемента списка  д.б. равна истина)

ЭлементФормы - элемент формы  Поле HTML документа.

ПеременнаяТекстаСтраницы = строковая переменная из контектса формы, куда записывается рез. код страницы ХТМЛ.

НазваниеОтчета - строка назавния отчета (выводится сверху)

ПодписьХ - подпись оси X

ПодписьУ - подпись оси Y

ПолеX - имя колонки из ТЗ с данными, откуда берутся данные для оси X

Разрядов = число знаков после запятой

суффикс - что дописывать в метках точек (например " $")

ФорматнаяСтрокаХ = "ДФ='MMММ yy'"  - если полеX - имеет тип дата или число, то указывается форматная строка, иначе ""

Сама процедура во вложении

Примечание:

для работы требуется интернет (тянутся скрипты JS).

Можно запустить оффлайн.

Для этого нужно скачать js файлы тут

http://code.highcharts.com/modules/exporting.js

http://code.highcharts.com/highcharts.js

http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js

и использовать локальный путь к этим файлам при формировании текста HTML документа в процедуре (как вариант, можно их подключить как макеты с двоичными данными в отчете)

 

 

Файлы

Наименование Файл Версия Размер Кол. Скачив.
процедура
.txt 8,25Kb
10.10.13
44
.txt 1 8,25Kb 44 Скачать

См. также

Лучшие комментарии

1. sikuda (файл скачал) 11.10.2013 09:52
(0) Highcharts действительно самые интересные графики в Интернете. Но есть два но
1. В 1С Тонком клиенте Windows они бывают подглюкивают(IE7)


2. Я забочусь о чистоте лицензии, такой я странный. А здесь Free - Non-commercial.
http://shop.highsoft.com/highcharts.html
+ 1 [ kirillkr; ]
# Ответить

Комментарии

1. sikuda (файл скачал) 11.10.2013 09:52
(0) Highcharts действительно самые интересные графики в Интернете. Но есть два но
1. В 1С Тонком клиенте Windows они бывают подглюкивают(IE7)


2. Я забочусь о чистоте лицензии, такой я странный. А здесь Free - Non-commercial.
http://shop.highsoft.com/highcharts.html
+ 1 [ kirillkr; ]
# Ответить
3. Dimasik2007 13.10.2013 14:18
Еще, кстати, заметил, что если выводится много серий, трудно мышкой навести на нужную, чтобы показалась pop-up подсказка, причем это только в ie6-7.
# Ответить
4. UJF 22.07.2015 14:12
Добрый день! в отчете встречается фрагмент кода при выводе :

файл = новый ТекстовыйДокумент;
файл.УстановитьТекст(текст); имяФайлаОтчета = ПолучитьИмяВременногоФайла("html");
файл.Записать(имяФайлаОтчета);
ЭлементыФормы.ХТМЛ.УстановитьТекст("");
ЭлементыФормы.ХТМЛ.Перейти(имяФайлаОтчета);

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

те при множественном запуске этого отчета мы рискуем иметь много временных файлов.
моя цель - интерактивный график (чтото вроде графика загрузки процессора в диспетчере задач виндовс )
есть ли возможность использовать highcharts интерактивно : у мненя в базе постоянно меняются данные и я интерактивно наблюдаю кривую без записи на диск файла? . например поток поступающих данных пишу в регистр сведений и по нему за последние 5 минут делаю выборку и по этой выборке формирую график на форме.
# Ответить
5. UJF 22.07.2015 15:20
Простите , не туда написал ))), хотя Ваши комментарии по поводу методов и возможностей получения в 1с интерактивных графиков аля "загрузка процессора " в диспетчере задач винды будут приняты !
# Ответить
6. dave2000 08.12.2015 21:31
А как построить графики кривых, у которых разный набор точек по горизонтальной оси? Например, для первой кривой есть все точки, а для другой есть только три точки: Jan, Apr и Aug. Как тогда?
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл






IE 2016