|
Диаграмма в УФ | ☑ | ||
---|---|---|---|---|
0
Kurbash
29.01.14
✎
13:26
|
всем привет. на форме есть элемент с типом диаграмма. Есть запрос, который выводит данные для диаграммы. Как их увязать между собой или где почитатьь про это? гуглить пробовал
|
|||
1
patapum
29.01.14
✎
13:28
|
(0) СКД умеет сама в диаграмму выводить
|
|||
2
jsmith82
29.01.14
✎
13:28
|
плохо гуглил
|
|||
3
Kurbash
29.01.14
✎
13:29
|
(1)-мне надо на форму выводить, форма уже готова, из-за диаграммы неохота переделывать
(2)-вроде нормально, про УФ нет ничего |
|||
4
jsmith82
29.01.14
✎
13:31
|
так же как и в 8.1 по сути
не знаю, что конкретно ты имеешь в виду вот например Диаграмма = Продажи; // Продажи - реквизит формы Диаграмма.ТипДиаграммы = ТипДиаграммы.КруговаяОбъемная; Диаграмма.КоличествоТочек = 1; Диаграмма.КоличествоСерий = Таблица.Количество(); Диаграмма.ВидПодписей = ВидПодписейКДиаграмме.Значение; Диаграмма.Точки[0].Текст = ""; Для Итер = 0 По Таблица.Количество() - 1 Цикл Диаграмма.УстановитьЗначение(0, Итер, Таблица[Итер].Количество); Диаграмма.Серии[Итер].Текст = Таблица[Итер].НомГруппа.Наименование; КонецЕсли; |
|||
5
Kurbash
29.01.14
✎
13:44
|
делаю так:
&НаСервере Процедура СформироватьДиаграммуНаСервере() ЗапросПоТоварам=Новый запрос; ЗапросПоТоварам.Текст="ВЫБРАТЬ | ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток, | ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток, | ХозрасчетныйОстаткиИОбороты.СуммаОборотДт КАК СуммаОборотДт, | ХозрасчетныйОстаткиИОбороты.СуммаОборотКт КАК СуммаОборотКт, | ХозрасчетныйОстаткиИОбороты.Период |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачПер, &КонПер, Регистратор, , Счет = &СчетРасчетов, , Организация = &Организация) КАК ХозрасчетныйОстаткиИОбороты"; ЗапросПоТоварам.УстановитьПараметр("НачПер",Новый Граница(НачалоДня(ДатаС), ВидГраницы.Включая)); ЗапросПоТоварам.УстановитьПараметр("КонПер",Новый Граница(КонецДня(ДатаПо), ВидГраницы.Включая)); ЗапросПоТоварам.УстановитьПараметр("СчетРасчетов",ДСТовары); ЗапросПоТоварам.УстановитьПараметр("Организация",Организация); РезультатПоТоварам=запросПоТоварам.Выполнить().Выбрать(); ТАбСчетов=новый ТаблицаЗначений; ТабСчетов=запросПоТоварам.Выполнить().Выгрузить(); Диаграмма = Диаграмма; // Продажи - реквизит формы Диаграмма.ТипДиаграммы = ТипДиаграммы.КруговаяОбъемная; Диаграмма.КоличествоТочек = 1; Диаграмма.КоличествоСерий = ТАбСчетов.Количество(); Диаграмма.ВидПодписей = ВидПодписейКДиаграмме.Значение; Диаграмма.Точки[0].Текст = ""; Для Итер = 0 По ТАбСчетов.Количество() - 1 Цикл Диаграмма.УстановитьЗначение(0, Итер, ТАбСчетов[Итер].Количество); Диаграмма.Серии[Итер].Текст = ТАбСчетов[Итер].НомГруппа.Наименование; КонецЦИкла; КонецПроцедуры ругается на поле не найдено(ТАбСчетов[Итер].Количество) что не так сделал? |
|||
6
jsmith82
29.01.14
✎
13:47
|
ну дык ставь то, что есть
типа ТАбСчетов[Итер].СуммаНачальныйОстаток |
|||
7
jsmith82
29.01.14
✎
13:47
|
и вообще, что за диаграмму ты хочешь
график, круговая, гистограмма.. |
|||
8
jsmith82
29.01.14
✎
13:48
|
тебе, видимо, гистограмма нужна
|
|||
9
RomaH
naïve
29.01.14
✎
13:48
|
Функция ПолучитьАудиограммуПоТаблице(ТаблицаПроводимости,СреднееПоРечевымЧастотам = 0) Экспорт
Макет = Документы.ИсследованиеСурдолога.ПолучитьМакет("ШаблонАудиограммы"); Диаграмма = Макет.Рисунки.Аудиограмма1.Объект; //Диаграмма.УстановитьТочку(125); Диаграмма.УстановитьТочку(250); Диаграмма.УстановитьТочку(500); Диаграмма.УстановитьТочку(1000); Диаграмма.УстановитьТочку(2000); Диаграмма.УстановитьТочку(4000); Диаграмма.УстановитьТочку(8000); СуммаРечевых = 0; Делитель = 0; СерияЗаполнена = Ложь; Для Каждого ТочкаДиаграммы Из Диаграмма.Точки Цикл ЗначениеТочки = ТочкаДиаграммы.Значение; ПараметрыОтбора = Новый Структура("ТипУшнойПроводимости,Частота",Перечисления.ТипыУшнойПроводимости.ВоздушнаяПроводимость,ЗначениеТочки); СтрокиПроводимости = ТаблицаПроводимости.НайтиСтроки(ПараметрыОтбора); Если СтрокиПроводимости.Количество() > 0 Тогда Диаграмма.УстановитьЗначение(ТочкаДиаграммы,0,-СтрокиПроводимости[0].Децибел); Если СтрокиПроводимости[0].Децибел <> 0 Тогда СерияЗаполнена = Истина; КонецЕсли; Иначе Диаграмма.УстановитьЗначение(ТочкаДиаграммы,0,0); КонецЕсли; КонецЦикла; //Получили заполненную серию по воздушной проводимости СуммаРечевых = СуммаРечевых + Диаграмма.ПолучитьЗначение(1,0).Значение + Диаграмма.ПолучитьЗначение(2,0).Значение + Диаграмма.ПолучитьЗначение(3,0).Значение; Если Не СерияЗаполнена Тогда Диаграмма.Серии[0].Линия = Новый Линия(ТипЛинииДиаграммы.НетЛинии); Диаграмма.Серии[0].Маркер = ТипМаркераДиаграммы.Нет; Иначе Делитель = Делитель + 3; КонецЕсли; СерияЗаполнена = Ложь; Для Каждого ТочкаДиаграммы Из Диаграмма.Точки Цикл ЗначениеТочки = ТочкаДиаграммы.Значение; ПараметрыОтбора = Новый Структура("ТипУшнойПроводимости,Частота",Перечисления.ТипыУшнойПроводимости.КостнаяПроводимость,ЗначениеТочки); СтрокиПроводимости = ТаблицаПроводимости.НайтиСтроки(ПараметрыОтбора); Если СтрокиПроводимости.Количество() > 0 Тогда Диаграмма.УстановитьЗначение(ТочкаДиаграммы,1,-СтрокиПроводимости[0].Децибел); Если СтрокиПроводимости[0].Децибел <> 0 Тогда СерияЗаполнена = Истина; КонецЕсли; Иначе Диаграмма.УстановитьЗначение(ТочкаДиаграммы,1,0); КонецЕсли; КонецЦикла; //Получили заполненную серию по воздушной проводимости СуммаРечевых = СуммаРечевых + Диаграмма.ПолучитьЗначение(1,1).Значение + Диаграмма.ПолучитьЗначение(2,1).Значение + Диаграмма.ПолучитьЗначение(3,1).Значение; Если Не СерияЗаполнена Тогда Диаграмма.Серии[1].Линия = Новый Линия(ТипЛинииДиаграммы.НетЛинии); Диаграмма.Серии[1].Маркер = ТипМаркераДиаграммы.Нет; Иначе Делитель = Делитель + 3; КонецЕсли; СреднееПоРечевымЧастотам = -(СуммаРечевых / ?(Делитель = 0, 1, Делитель)); Возврат Диаграмма; КонецФункции |
|||
10
jsmith82
29.01.14
✎
13:49
|
хотя нет, круговая
|
|||
11
Kurbash
29.01.14
✎
13:57
|
ну все, респект и уважуха, домой вовремя сегодня пойду
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |