Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
24 Июл 2017, 11:50
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Построение диаграмм  (Прочитано 1357 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Онлайн Golickoff

  • ****
  • Сообщений: 252
  • РЕПУТАЦИЯ: 15
  • КПД: 6%
  • Регистрация: 2015-02-05
  • Сайт: 
  • Профессия: Ученик 1С
Всем привет.
Решил изучить механизм построения диаграмм, но к своему удивлению обнаружил что найти в сети материалы по данной теме довольно проблематично. Набросал для самообразования простенький отчёт, в который вставил диаграмму, но вместо вменяемого результата вижу непонятный рисунок. Ниже приведён код и рисунок. Буду признателен за тыкание носом в ошибки, но ещё больше буду благодарен за ссылку на подробное описание процесса построения диаграмм в 8.3.
Диаграмма                        = Макет.Рисунки.D1.Объект;
Диаграмма.ИсточникДанных         = Неопределено;
Диаграмма.Обновление             = Ложь;
Диаграмма.КоличествоСерий        = 0;
Диаграмма.КоличествоТочек        = 0;
Диаграмма.МаксимумСерий          = МаксимумСерий.НеЗадано;
Диаграмма.ВидПодписей            = ВидПодписейКДиаграмме.Значение;
Диаграмма.ОбластьЗаголовка.Текст = "Диаграмма расходов";
Запрос.Текст = "ВЫБРАТЬ
      | ДенежныеОборотыОстаткиИОбороты.ВидыРасходов КАК ВидРасхода,
      | ДенежныеОборотыОстаткиИОбороты.СуммаРасход КАК Расход
      |ИЗ
      | РегистрНакопления.ДенежныеОбороты.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Период, ДвиженияИГраницыПериода, ) КАК ДенежныеОборотыОстаткиИОбороты
      |ГДЕ
      | ДенежныеОборотыОстаткиИОбороты.ЧленСемьи = &ЧленСемьи
      |
      |УПОРЯДОЧИТЬ ПО
      | ВидРасхода";
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Сумма = 0;
Для Каждого Строка Из РезультатЗапроса Цикл
КоличествоСерий = Диаграмма.Серии.Количество();
КоличествоТочек = Диаграмма.Точки.Количество();
Диаграмма.КоличествоСерий = КоличествоСерий + 1;
Диаграмма.КоличествоТочек = КоличествоТочек + 1;
Диаграмма.Серии[КоличествоСерий].Текст = Строка["ВидРасхода"].Наименование;
Диаграмма.Серии[КоличествоСерий].Расшифровка = Строка["ВидРасхода"].Наименование;
Диаграмма.Серии[КоличествоСерий].Значение = Строка["ВидРасхода"].Наименование;
Диаграмма.Точки[КоличествоТочек].Текст = Строка["Расход"];
Диаграмма.Точки[КоличествоТочек].Расшифровка = Строка["Расход"];
Диаграмма.Точки[КоличествоТочек].Значение = Строка["Расход"];
КонецЦикла;

Диаграмма.Обновление = Истина;
Табдок.Вывести(ОбластьДиаграммы);
В итоге получаю следующую картину:

Печально, что посмотреть на график в процессе отладки нельзя и до того как он будет выведен, он представляет из себя ящик Пандоры.
Чтобы было понятнее с чем мы имеем дело, ниже представлен результат запроса:

Пожалуй, стоит добавить что при каждом нажатии на кнопку "Сформировать отчёт" столбцы диаграммы хаотично прыгают как эквалайзер, т.е. каждый раз принимают новое значение.
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.


Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 41
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
Мне кажется, что ничего сложного нет. Лучше конечно сперва попробовать разместить диаграмму на форме и посмотреть как это всё работает.
Для примера мучился недавно с диаграммой Ганта.
http://forum-1c.ru/index.php?topic=46323.msg131999#msg131999
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс

Онлайн Golickoff

  • ****
  • Сообщений: 252
  • РЕПУТАЦИЯ: 15
  • КПД: 6%
  • Регистрация: 2015-02-05
  • Сайт: 
  • Профессия: Ученик 1С
Да, вытащив диаграмму на форму всё сразу стало яснее. Спасибо.
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.


Теги: Диаграмма 
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

alex0402
93 Сообщений
oleg-x
93 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
64 Сообщений
Golickoff Golickoff
51 Сообщений
ilyay ilyay
45 Сообщений
AIFrame
41 Сообщений
wise wise
31 Сообщений
Амал
30 Сообщений
ab30ru
24 Сообщений
lansy
22 Сообщений

* Кто онлайн

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal