Коллеги, добрый день.

Вводная:
конфигурация - самописная
платформа - 8.3.13.1513

Есть АРМ (обработка) с формой, на ней размещен элемент управления ДиаграммаГанта. На данный элемент выводится большое количество информации, много точек и интервалов.

Использую простую конструкцию заполнения:

Значение = ДиаграммаГанта.ПолучитьЗначение(Точка, Серия);
Интервал = Значение.Добавить();
Интервал.Начало = ДатаНачала;
Интервал.Конец = ДатаОкончания;

Когда информации много, то это очень долго происходит.

См. скрин.

Может у кого есть практика решения. сделать красиво Ганта и быстро работало.
---
Есть предложение сделать заполнение диаграммы Ганта (с большим количеством элементов) следующим образом:

1. Фоновым задание (например, раз в полчаса) создаем объект ДиаграммаГанта и заполняем его всей возможной информацией.
2. Сериализуем диаграмму в xml (штатным сериализатором БСП)
3. Сохраняем строку в хранилище значений (реквизит регистра или константы)
4. При открытии/обновлении формы пользователем где есть наша целевая диаграмма десериализуем нашу ранее сохраненную диаграмму и выводим на форму.
В этом случаем заполнять её с нуля не потребуется.
в 13(или 14)ом релизе платформы появились методы, которые позволяют не перезаполнять диаграммы каждый раз при изменении точек/серий, а изменять-дополнять их. Соответственно можно обновить нашу сериализованную диаграмму изменениями, которые случились за время с сериализации диаграммы. Всё быстрее будет.

В качестве опыта сериализации/десериализации диаграмм делал так, когда пользователям требовалось вернуться к предыдущему варианту. Например подвигали они интервалы (при каждом изменении интервала делал сериализацию) а потом хотят вернуться на два изменения назад, и мы может десериализовать диаграмму которая была два изменения назад. Работает довольно быстро.
---
а весь код? сколько точек, сколько серий? если слишком много данных, уменьшайте их, разбивайте на делимые части и добавляйте отборы по ним.
---
Уменьшить интервалы и количество данных невозможно, они должны быть отрисованы.
Дело даже не в количестве данных, строка Интервал = Значение.Добавить(); долго отрабатывает, когда количество
Может кто-то рисовал Ганта не штатными методами?
---
Есть предложение сделать заполнение диаграммы Ганта (с большим количеством элементов) следующим образом:

1. Фоновым задание (например, раз в полчаса) создаем объект ДиаграммаГанта и заполняем его всей возможной информацией.
2. Сериализуем диаграмму в xml (штатным сериализатором БСП)
3. Сохраняем строку в хранилище значений (реквизит регистра или константы)
4. При открытии/обновлении формы пользователем где есть наша целевая диаграмма десериализуем нашу ранее сохраненную диаграмму и выводим на форму.
В этом случаем заполнять её с нуля не потребуется.
в 13(или 14)ом релизе платформы появились методы, которые позволяют не перезаполнять диаграммы каждый раз при изменении точек/серий, а изменять-дополнять их. Соответственно можно обновить нашу сериализованную диаграмму изменениями, которые случились за время с сериализации диаграммы. Всё быстрее будет.

В качестве опыта сериализации/десериализации диаграмм делал так, когда пользователям требовалось вернуться к предыдущему варианту. Например подвигали они интервалы (при каждом изменении интервала делал сериализацию) а потом хотят вернуться на два изменения назад, и мы может десериализовать диаграмму которая была два изменения назад. Работает довольно быстро.
---
Спасибо. Это, пока, лучшая идея.