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

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

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

Оффлайн Golickoff

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

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

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

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


Оффлайн Luzer1C

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

Оффлайн Golickoff

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


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


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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
206 Сообщений
alex0402
73 Сообщений
AIFrame AIFrame
69 Сообщений
oleg-x
50 Сообщений
alexandr_ll
40 Сообщений
BuhRust
23 Сообщений
pavl_vs
22 Сообщений
KOI8-R
20 Сообщений
wise wise
15 Сообщений
Sheriff
13 Сообщений

* Кто онлайн

  • Точка Гостей: 300
  • Точка Скрытых: 0
  • Точка Пользователей: 6
  • Точка Сейчас на форуме:

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal