Розміщення діаграми на керованої формі

Розміщення діаграми на керованої формі

Розміщення діаграми на керованої формі потрібно не часто, але все ж трапляється необхідність додати діаграму на керовану форму. Самий тривіальний випадок потреби додати діаграму на керовану форму це обробка Монітор керівника в конфігурації 1С: Бухгалтерія підприємства 2.0. Також можуть виникнути й інші завдання, які зажадають розміщення діаграми на керованої формі. Приклад вирішення такого завдання наводиться в цій статті.
Отже, як додати діаграму на керовану форму? Завдання можна вирішити через додавання реквізиту обробки типу Діаграма. Або додати такий реквізит на форму обробки. У першому випадку простіше отримати дані для заповнення діаграми, оскільки процес збору даних і приміщення в реквізит діаграми відбувається на стороні сервера. Але в цьому випадку налаштування відображення діаграми доведеться виконувати програмно, у другому ж варіанті більше візуальних засобів для настройки діаграми. Тут буде приведено рішення обома варіантами.
Насамперед відкриваємо конфигуратор і створюємо нову зовнішню обробку.
Назвемо її ДіаграммаНаУправляемойФорме. Додамо реквізит ДіаграммаПрімер, тип виберемо Діаграма. Для ілюстрації прикладу створимо табличну частину ТЗДляПрімера, в ній буде три реквізиту - ДатаДанних (Дата), РасчетнийСчет (Число 15,2), Каса (Число 15,2). Цю табличну частину будемо заповнювати даними для прикладу в процедурі ПріСозданііНаСервере. У підсумку виходить наступне:

Розміщення діаграми на керованої формі

Додамо форму. На ній розмістимо елекменти форми ТЗДляПрімера (таблиця значень) і ДіаграммаПрімерНаСервере (Поле). Шлях до даних цих еелементов форми вкажемо до відповідних реквізитів об'єкта. Діаграма ДіаграммаПрімерНаСервере дані буде отримувати з реквізиту об'єкта, а для прикладу діаграми на формі додамо на цю саму форму реквізит ДіаграммаПрімерНаФорме (Тип Діаграма). У цей момент можна відкрити властивості діаграми і зробити якісь настройки за допомогою візуальних засобів - вказати тип діаграми, прив'язати значення до підписів і т.д. Вид форми в режимі Конфігуратора такий:
Розміщення діаграми на керованої формі

Якщо натиснути в палітрі властивостей Налаштування - Відкрити, то можна відкрити властивості діаграми і встановити якісь настройки.

Розміщення діаграми на керованої формі

Також розмістимо кнопку Оновити і команду для неї. Детально на цьому зупинятися не будемо.
Тепер переходимо в модуль форми і починаємо ліпити код.
Для початку заповнимо таблицю значень даними для прикладу:

Потім створимо дві процедури - для заповнення діаграм і одну функцію для отримання даних. Потім виклик двох процедур заповнення діаграм помістимо в обробник команди кнопки Оновити, яку ми розмістили раніше.

У підсумку виходить наступний код. Спочатку функція отримання даних. Ця функція потрібна для того, щоб на сервері зібрати дані і повернути - як варіант - у вигляді структури на клієнт. Буде використана для заповнення даних діаграми на формі.

Зберігаємо нашу обробку. Запускаємо її в клієнті і формуємо. Приклад виконання обробки з розміщенням діаграми на керованої формі на зображенні.

Обробку для прикладу можна скачати тут