Графики и диаграммы на управляемой форме
Для создания диаграмм на управляемых формах существует специальный тип данных «Диаграмма». С помощью данного типа можно отображать на формах различные графики и диаграммы. Перечень типов диаграмм можно увидеть в свойстве диаграммы «ТипДиаграммы».
При работе с диаграммами в 1С существуют специальные понятия: «Серия», «Точка», «Значение». Если провести аналогию с математическими понятиями, то Серия это график функции, Точка это координата X, Значение это координата Y.
Типы диаграмм
График
График по шагам
График с накоплением
График с областями
График с областями и накоплением
График с областями нормированный
Гистограмма
Гистограмма с накоплением
Гистограмма нормированная
Гистограмма объемная
Гистограмма с накоплением объемная
Гистограмма нормированная объемная
Гистограмма горизонтальная
Гистограмма с накоплением горизонтальная
Гистограмма нормированная горизонтальная
Гистограмма горизонтальная объемная
Гистограмма с накоплением горизонтальная объемная
Гистограмма нормированная горизонтальная объемная
Круговая
Круговая объемная
Биржевая
Биржевая «свеча»
Изометрическая обычная
Изометрическая непрерывная
Изометрическая лента
Изометрическая пирамида
Водопад
Каркасная поверхность
Поверхность
Выпуклая поверхность
Вогнутая поверхность
Затененная поверхность
Сотовая
Радарный график
Радарный график с областями
Радарный график с накоплением
Радарный график с областями и накоплением
Радарный график с областями нормированный
Измерительная
Воронка
Воронка объемная
Воронка нормированная
Воронка нормированная объемная
Пример программного построения графика
В данном примере функция заполняет диаграмму с типом «График».
Результат построения функции
Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться
Программное создание диаграммы в 1С 8 (обычные формы)
Не так давно мне потребовалось сделать отчет и показать график по этому отчету, проблема была в том, что количество графиков не было известно заранее и, следовательно, создавать их нужно было программно, об этом и пойдет речь ниже.
Весь код выглядит приблизительно так:
Теперь разберем код подробнее.
В строке 2 и 3 создается сама диаграмма, в четвертом параметре с чудесным названием — «ПоместитьНа», я указываю поле табличного документа, на которое и выводится весь отчет.
Закомментированные строки 5-13 позволяют задать заголовок для диаграммы, а также определить его положение, как и положение области построения.
В строках 15-22, задаются размеры и положение диаграммы, а также отключаются некоторые, пока ненужные, параметры.
В строках 24 и 25, я создаю серии диаграммы (серия это набор значений, в данном случае серии хранят значения по оси y, а значения по оси x будут обозначены точками).
В строках 27-34 идет создание точек диаграммы и установка значений точки для созданных ранее серий (в этом мне помогает генератор случайных чисел).
В конце, строки 36-38, включаем обратно, отключенные ранее параметры и показываем нашу диаграмму.
В итоге получается нечто подобное:
На этом все, спасибо за внимание, надеюсь данная статья кому-то помогла.
Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Заметки из Зазеркалья
Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.
Реализовано в версии 8.3.15.1489.
Мы реализовали в платформе новые типы диаграмм: кольцевая и объемная кольцевая. При выборе типа диаграммы в палитре свойств вы можете увидеть теперь два этих новых типа.
Кольцевая диаграмма по своей сути похожа на круговую диаграмму. Все значения точки отображаются в виде кольца таким образом, чтобы в сумме составлять 100%. Только, если круговая диаграмма способна показать лишь одну точку, то кольцевая диаграмма может показывать несколько точек – для каждой точки свое кольцо.
Вы можете самостоятельно установить внутренний радиус диаграммы. Для этого предназначено свойство диаграммы ВнутреннийРадиусКольцевойДиаграммы. Он задается в процентах от размера внешнего радиуса. Таким образом, одна и та же диаграмма может выглядеть «более плотной» или «менее плотной».
Существует несколько способов, с помощью которых вы можете раздвинуть серии диаграммы. Во-первых, у диаграммы есть свойство АвтоРаздвижениеСерий. С его помощью, например, вы можете выдвинуть серию с максимальным значением (Максимум) или раздвинуть сразу все серии (Все).
Кроме этого вы можете выдвигать отдельные серии, исходя из каких-то более сложных представлений и алгоритмов. Для этого у каждой серии диаграммы есть свойство Раздвигать. Оно позволяет выдвинуть сектор, относящийся только к этой серии.
Кольцевая объемная диаграмма обладает теми же возможностями, что и «обычная» кольцевая, но отображает результат в трехмерном виде.
Такая диаграмма, возможно, менее удобна для анализа, но более привлекательна и лучше подходит для презентации.
В том случае, когда у вас есть единственная точка, у вас теперь появляется выбор между круговой и кольцевой диаграммой. И та, и другая диаграмма способны хорошо показать значения, вопрос только в том, какой акцент вы хотите сделать.
Круговая диаграмма акцентирует внимание на относительных размерах частей по отношению друг к другу (сопоставление пропорций), в то время как кольцевая диаграмма привлекает внимание к изменению значений (длина дуг), а не к тому, как они соотносятся друг с другом.
Мы надеемся, что, используя кольцевые диаграммы, вы сможете предложить пользователям более удобные и понятные рабочие инструменты.
Построение графиков с несколькими показателями на форме
Коллеги, доброго времени суток.
На днях поступила задача отображения данных на диаграмме в форме обработки, а точнее создание онлайн-табло с графиками. При построении диаграммы с помощью СКД проблем не возникло. Поиски в Google и на форумах не увенчались успехом. Для того чтобы данную задачу решить на форме обработки было сделано следующее
На форме обработки создано поле диаграммы
В модуле формы написан следующий код
В параметрах была передана таблица значений. В итоге был получен желаемый результат.
Эта публикация является примером ее можно перестроить под свои задачи.
В связи с тем что сам давно искал решение данной задачи. Нашел и решил написать публикацию.
Буду рад услышать отзывы так и критику в свой адрес. Прошу сильно не бить, если что-то не так написал.
Спасибо за внимание.
Специальные предложения
Обновление 22.08.19 17:00
См. также
Аналог PIVOT в запросе 1С (как выполнить транспонирование таблицы в запросе 1С) Промо
В статье показывается простой метод реализации аналога оператора PIVOT в запросе 1С без использования соединений.
12.12.2020 4315 Eugen-S 23
Обзор полезных методов БСП 3.1.4. Часть 2
27.04.2021 15574 rayastar 7
Обзор полезных методов БСП 3.1.4
25.03.2021 39411 rayastar 51
Звуковое управление в 1С 8.3
В данной статье описано создание библиотеки для звукового управления (выполнение команд голосом) для платформы 1С 8.3. Задача была поставлена так, чтобы модуль функционировал непосредственно на клиенте 1С, осуществляя управление формами, и взаимодействовал с интерфейсом.
16.03.2021 7084 velemir 33
Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)
27.01.2016 85513 Serginio 115
Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions
28.12.2020 8786 comol 31
Полезные функции БСП (Часть 2)
Список полезных функций из состава Библиотеки стандартных подсистем 3.1.
10.03.2020 20579 user5300 20
Программная работа с настройками СКД
Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.
27.01.2020 64718 ids79 26
Использование программных перечислений, ч.1: строковые константы Промо
Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?
10.12.2016 41046 unichkin 74
[СКД] Программное создание схемы компоновки данных
Сделаем отчет на СКД полностью программно, без использования макета «схема компоновки данных».
15.01.2020 43200 John_d 22
Последовательности событий при проведении документа 1С. Шпаргалка + про формы + про расширения
Собрал информацию о событиях/подписках/расширениях в одном месте.
30.12.2019 34883 kuzyara 38
Шпаргалка (БСП). Добавление в новый документ механизма печати дополнительных печатных форм
Постоянно приходится вспоминать, как добавить механизм печати (БСП) в новый документ. Поэтому решил написать шпаргалку.
10.10.2019 29783 John_d 20
Вспомогательные инструкции в коде 1С Промо
Помогаем редактору кода 1С помогать нам писать и анализировать код.
15.10.2018 36033 tormozit 106
Полезные процедуры и функции для программиста
Все мы пишем программный код и часто используем процедуры, облегчающие его написание. Ниже приведена выборка таких полезных процедур и функций.
07.10.2019 39479 HostHost 41
Таблица значений. Нюансы
Обзор некоторых аспектов использования общеизвестного инструмента 1С.
01.10.2019 52574 Yashazz 56
[Шпаргалка] Программное создание элементов формы
Программное создание практически всех популярных элементов формы.
06.09.2019 100797 rpgshnik 75
Оформление и рефакторинг сложных логических выражений Промо
В сложных логических выражениях нередко самому автору спустя какое-то время тяжело разобраться, не говоря уже о других программистах. Предлагаемая методика позволяет повысить наглядность таких выражений путем оформления в виде И-ИЛИ дерева и одновременно выполнять их рефакторинг.
20.09.2012 82767 tormozit 131
Агрегатные функции СКД, о которых мало кто знает
Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.
05.09.2019 76947 ids79 56
Отслеживание выполнения фонового задания
Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.
17.08.2019 44940 ids79 22
Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив
Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.
08.08.2019 150263 ids79 75
Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо
Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.
11.07.2007 54287 tormozit 51
Как легко запускать выполнение в фоне, не прибегая к долгому описанию фоновых процедур.
02.08.2019 60118 avalakh 26
Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.
26.07.2019 104504 ids79 17
Обработчики событий при записи объектов. Зачем и что за чем?
Программисту, имеющему немного опыта на платформе 1С 8.3, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта. Эта шпаргалка была создана в процессе обучения и реального опыта с целью разложить всё по полочкам, чтобы было четкое понимание в каком случае какой обработчик нужно использовать и в какой последовательности они запускаются при записи и проведении документов. Данная статья будет полезна в большей степени начинающим разработчикам. Но и опытным позволит освежить информацию, упорядочить её.
25.07.2019 110393 AlbinaAAA 48
Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо
Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки
10.09.2017 51073 tormozit 74
Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «<…>», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.
17.07.2019 48133 ids79 27
«Меньше копипаста!», или как Вася универсальную процедуру писал
Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.
04.07.2019 22495 SeiOkami 53
Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.
25.06.2019 75633 ids79 28
Как сделать запрос на изменение данных Промо
В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.
01.06.2018 36808 m-rv 23
Подсистема «Варианты отчетов». Используете ли Вы ее правильно?
Небольшая история про использование подсистемы «Варианты отчетов» из БСП. Используете ли Вы ее правильно?
04.06.2019 55874 YPermitin 55
Регистры накопления. Структура хранения в базе данных
Структура хранения регистров накопления в базе данных для платформы 1С:Предприятие 8.x. Первая часть в серии публикаций.
16.05.2019 63295 YPermitin 31
Выгрузка документа по условию
Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий. А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.
25.04.2019 17982 m-rv 3
Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо
05.12.2017 30740 itriot11 34
Как прикрутить ГУИД к регистру сведений
. и немного теории обмена данными. В частности, разберем боль всех, кто пишет небанальные обмены данными: как набору записей регистра сведений назначить гуид и далее использовать его в обмене для идентификации этого набора.
16.04.2019 23285 m-rv 18
О расширениях замолвите слово.
О чём стоит задуматься при принятии решения о создании расширения конфигурации…
07.04.2019 42497 ellavs 131
Git-репозитории для 1С-кода (опыт использования при небольших проектах)
Инструкции по взаимодействию с Git-репозиторием, которые писались для тех наших программистов, которые вообще никогда не работали с Git (руководства в духе «Как получить код из git-репозитория?», «Как отправить код в git-репозиторий»).
28.03.2019 31931 ellavs 90
Трюки с внешними источниками данных
Некоторые трюки для преодоления ограничений внешних источников данных.
14.03.2019 41046 YPermitin 53
Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)
Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный
03.02.2019 64908 ids79 11
Разработка и сценарное тестирование с Vanessa-ADD. Концепция, теория и сквозной пример создания сценария
Первая часть цикла публикаций, посвященных Vanessa-ADD
09.01.2019 70793 Vladimir Litvinenko 84
Новый подход к обмену данными EnterpriseData
Хочу предложить Вашему вниманию цикл статей, посвященных обмену данными через универсальный формат (EnterpriseData или ED).
14.12.2018 52386 ids79 82
Универсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке
В статье размещен список стандартных процедур и функций с примерами, которые могут помочь при разработке (доработке) конфигураций Зарплата и управление персоналом ред. 3.1 и Зарплата и кадры государственного учреждения 3.1. Иногда бывает довольно сложно правильно получить данные или долго, поэтому лучшим вариантом будет использование стандартных процедур. Буду очень признателен, если Вы поделитесь своим опытом и предложите свои варианты стандартных процедур которые помогают в работе. Или предложите, как дополнить имеющиеся процедуры.
14.11.2018 145039 GeterX 135
Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С
Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП
10.11.2018 44647 ids79 45
Git + 1С. Часть 1. Как подключиться к команде разработки и начать использовать Git
Первая статья из цикла инструкций по работе с Git в 1С-разработке. Рассмотрим, как настроить рабочее место, как получить свою «копию» проекта для разработки и приступить к полезным действиям. Все примеры будут изложены в рамках трёх практических кейсов: 1. Моя команда дорабатывает типовую конфигурацию, использует приватный репозиторий на BitBucket, в котором версионируются внешние отчеты/обработки, расширения конфигураций и правила обмена; 2. Я участвую в стартап-команде, которая разрабатывает свою конфигурацию с использованием Git и GitLab; 3. Я принимаю участие в развитии OpenSource-продукта на GitHub как заинтересованный разработчик (контрибьютор).
18.10.2018 92563 stas_ganiev 86
Основные понятия и механизмы оптимизации клиент-серверного взаимодействия в 1C
У многих начинающих 1С программистов часто возникают вопросы про клиент-серверное взаимодействие в 1С и чтобы разобраться в непростых механизмах платформы, необходимо понять, что же такое контекст, для чего предназначены директивы компиляции, что представляют собой контекстные/внеконтекстные вызовы и как наиболее оптимально описывать прикладные задачи в модулях управляемых форм.
Диаграмма
Диаграмма — это объект встроенного языка, позволяющий отображать данные в графическом виде, удобном для анализа.
Платформа позволяет создавать диаграммы разных типов. Каждый из них удобен для представления тех или иных данных:
В отчётах, использующих систему компоновки данных, диаграмма описывается визуальными средствами как один из элементов структуры отчёта:
Линии тренда
В диаграммах поддерживаются линии тренда. У одной серии их может быть несколько. Вместе с линией тренда можно отображать её уравнение и коэффициент детерминации.
Анимация
Реализована автоматическая анимация при выводе диаграмм. При первоначальном отображении для каждого типа диаграммы платформа выбирает случайный вариант анимации из нескольких возможных. При необходимости анимация может быть отключена.
Всплывающие подсказки
Всплывающие подсказки отображаются почти мгновенно, а их внешний вид немного меняется в зависимости от типа диаграммы.
В подсказку можно установить форматированную строку и с её помощью вывести текст и добавить картинки.
Подсказка может отображать одно значение точки или все значения точки во всех сериях.
Существуют два режима отображения подсказок:
Палитры цветов
Поддерживается использование большого количества предопределенных палитр для оформления диаграмм: Яркая, Мягкая, Пастельная, Теплая и Холодная и другие. Также поддерживается набор градиентных палитр и существует возможность автоматического создания собственной градиентной палитры на основе начального и конечного цветов.
Информационные интервалы и информационные линии
Поддерживаются информационные интервалы и информационные линии. Например, с помощью информационных интервалов, выводимых по значениям, можно выделить в диаграмме область с низкими продажами, область со средними продажами и область с высокими продажами. А с помощью информационной линии, выводимой по точкам, можно обозначить дату начала рекламной компании. Можно задавать подписи информационных линий и информационных интервалов, настраивать их цвет, цвет фона, шрифт и так далее. Информационные интервалы можно выводить не на всю область построения диаграммы, а только на её часть. Это позволяет создавать «вложенные» интервалы, уточняющие более крупные.
Подсветка серий
Серии подсвечиваются, когда курсор мыши проходит над ними в легенде. Эта возможность упрощает анализ больших диаграмм.