|
v7: Построение графика в 7.7. | ☑ | ||
---|---|---|---|---|
0
baribars
18.01.22
✎
11:34
|
Есть два показателя - Сумма и количество. Хочу вывести их в график.
Диаграмма.Обновление(0); Диаграмма.Заголовок = "Продажи ("+ПериодСтр(ВыбНачПериода,ВыбКонПериода)+")"; Диаграмма.УстановитьИмяСерии(1,"Сумма"); Диаграмма.УстановитьИмяСерии(2,"Количество"); Диаграмма.АвтоУстановкаИменТочек(0); А = 1; ТЗ.ВыбратьСтроки(); Пока ТЗ.ПолучитьСтроку() = 1 Цикл Диаграмма.УстановитьИмяТочки(А,ТЗ.ВремяЧека); Диаграмма.УстановитьЗначение(А, 1, ТЗ.Сумма); Диаграмма.УстановитьЗначение(А, 2,ТЗ.Количество); А = А+1; КонецЦикла; Диаграмма.Обновление(1); Но почему-то выводит только один показатель, второй - количество всегда одинаков. Если убрать сумму, то количество показывает на графике нормально. Два нельзя сделать? |
|||
1
Volodja
18.01.22
✎
16:45
|
(0) Можно и больше.
Вот например графики курсов валют Тип диаграммы - График Процедура График_Диаграмма(Диаграмма) сзСерии=СоздатьОбъект("СписокЗначений"); спрВалюты=СоздатьОбъект("Справочник.Валюты"); спрВалюты.ВыбратьЭлементы(); Пока спрВалюты.ПолучитьЭлемент() = 1 Цикл текВалюта=спрВалюты.ТекущийЭлемент(); Если текВалюта.ПометкаУдаления()=1 Тогда Продолжить; КонецЕсли; Если (ПустаяСтрока(текВалюта.БуквенныйКод)=1) или (текВалюта.БуквенныйКод="KZT") Тогда Продолжить; КонецЕсли; _НаименованиеВалюты=текВалюта.Наименование; сзСерии.ДобавитьЗначение(текВалюта,_НаименованиеВалюты); Диаграмма.УстановитьИмяСерии(сзСерии.РазмерСписка(), _НаименованиеВалюты); КонецЦикла; Диаграмма.Заголовок="Динамика курсов валют за "+ПериодСтр(Дата1,Дата2); Диаграмма.Обновление(0); //Диаграмма.АвтоУстановкаИменТочек(0); //Диаграмма.АвтоУстановкаИменСерий(0); //Диаграмма.КоличествоСерий(сзСерии.РазмерСписка()); Для _ИндексСерии=1 по сзСерии.РазмерСписка() Цикл _Валюта=сзСерии.ПолучитьЗначение(_ИндексСерии); _ИндексТочки=0; Пока Дата1+_ИндексТочки <= Дата2 Цикл _Дата=Дата1+_ИндексТочки; _Курс=_Валюта.Курс.Получить(_Дата); _ИндексТочки=_ИндексТочки+1; Диаграмма.УстановитьИмяТочки(_ИндексТочки, _Дата); Диаграмма.УстановитьЗначение(_ИндексТочки,_ИндексСерии,_Курс , СокрЛП(_Курс)); КонецЦикла; КонецЦикла; Диаграмма.Обновление(1); КонецПроцедуры |
|||
2
baribars
18.01.22
✎
16:53
|
(1) так почему тогда у меня не выводит? код идентичный вашему
|
|||
3
Volodja
18.01.22
✎
16:56
|
(2) А количество, случаем, в ТЗ не одинаково ?
|
|||
4
Volodja
18.01.22
✎
17:00
|
И еще, если у вас если суммы большие (200000), а количество малое (1 или 2), то график с нулем видимо сливается
|
|||
5
Volodja
18.01.22
✎
17:01
|
(4) Точно. проверил. Он у меня с 0 слился
|
|||
6
baribars
18.01.22
✎
17:04
|
(4) да, так и выходит, суммы большие, а количество меньше и линия количества идет всегда по нулю
|
|||
7
Volodja
18.01.22
✎
17:08
|
(6) Тоже помнится наступал на эти грабли. 1С по другому ,видимо, не может. Автомасштабирование нужно тогда. Умножай количество на некий коэффициент тогда. А в наименовании выводи оригинал. Костыли, конечно.
|
|||
8
baribars
18.01.22
✎
17:23
|
(7) да, так и вышел из ситуации - количество умножаю на большое число и тогда наглядно выходит. Спасибо за наводку, голову сломал, почему всегда ноль)))
|
|||
9
Volodja
18.01.22
✎
17:30
|
(8) Еще можно две диаграммы рядом расположить. Так шкала будет в порядке.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |