Имя: Пароль:
1C
1С v8
СКД Базовое значение диаграммы
0 Любопытная
 
11.07.12
09:53
Бодрое утро, товарищи.
Вопрос такой: есть ли штатные методы для изменения базового значения диаграммы в зависимости от выводимых данных?
Ну, т. е., есть у меня график, который очень красиво строится штатными методами СКД. Все чудесно кроме того, что ось ординат всегда начинается с 0, а данные, выводимые в график могут кружиться где-нить в районе 1206 пунктов, к примеру, и изменяться на десятые доли. Соответственно, график весьма неинформативный в таком случае получается. Хочется чтобы СКД сама анализировала данные и задавала базовое значение так, чтобы график был красив и понятен.
Если чего непонятно, я могу картинки приложить)
1 Любопытная
 
11.07.12
10:19
И? Вопрос слишком сложный или наоборот? :)
2 Любопытная
 
11.07.12
11:13
Ну давайте я пример покажу)
Я хочу, чтобы было вот так:
http://img-fotki.yandex.ru/get/6314/30915148.a/0_9268c_95d5f292_XL

А выводится вот так:
http://img-fotki.yandex.ru/get/6314/30915148.a/0_9268b_7aa8e0dc_XL
3 Любопытная
 
11.07.12
11:25
Я кого-то обидела что ли?
4 Любопытная
 
11.07.12
11:43
^
5 Любопытная
 
11.07.12
12:11
Я пока вижу только один вариант решения этой проблемы - программно находить и устанавливать базовое значение. Но это значит, что мне придется переделывать отчет полностью, а мне этого делать совсем не хочется.
Ну давайте, знатоки СКД, ткните носом в волшебную галочку, которую нужно поставить)
6 Любопытная
 
11.07.12
12:20
Ну вы хоть скажите - это меня игнорируют, или просто никто не знает, что ответить???
7 ironkrab
 
11.07.12
12:23
Вместо апа, тема интересная.
Программно думаю можно, но как - не знаю.
8 Любопытная
 
11.07.12
12:29
Программно-то я знаю как - писать запрос, получать ТЗ, делать схему для СКД, у которой источник данных - объект... в общем, формировать вообще все программно. Я хочу точно знать - есть ли возможность настроить эту фигню интерактивно.
У меня сейчас работает по упрощенной схеме - я программно получаю первое значение, от него ближайшую сотню, и ставлю базовым значением эту сотню. Но иногда возникает ситуация, когда график как бы "уходит в минус" - опускается ниже оси асцисс. Клиенту не нравится, клиент хочет чтобы все красиво было и оси по краям.
А значит надо находить минимальное значение из выводимых и плясать от него
9 Любопытная
 
11.07.12
12:46
Интересно, если я начну тут скабрезные анекдоты травить, ветку закроют или  никто так и не заметит?
10 fisher
 
11.07.12
12:55
Ну, вычисляй в запросе минимальное значение и вычитай его из реального. А в выражение представления пихай реальное значение.
11 Любопытная
 
11.07.12
13:03
(10) Т.е. интерактивно такую настройку не сделаешь?
12 fisher
 
11.07.12
13:06
(11) Не знаю. Я в диаграммах СКД не настоящий сварщик. Но навскидку не вижу, как.
Сказал первое, что в голову пришло :)
13 Любопытная
 
11.07.12
13:07
(12) Ну, минимум это тоже выход, хотя все равно получается, что два раза отрабатывается фактически один и тот же запрос - первый раз при нахождении минимального значения, второй - в СКД.
14 fisher
 
11.07.12
13:08
Можно программно вычислять минимальное значение и программно задавать его настройках СКД. Но это гемор, т.к. нужно же отработать настройки пользователя (фильтры и т.п.)
15 fisher
 
11.07.12
13:10
(13) Не-не-не. Можно в самом базовом запросе СКД рассчитывать одновременно с реальным значением приведенное с учетом минимального. Ессно запрос будет сложнее, но все будет решаться настройками СКД.
16 Любопытная
 
11.07.12
13:11
(15) Как? :)
Настройки отчета в любом случае считываются и устанавливаются программно.
17 fisher
 
11.07.12
13:12
(16) Перечитай (10). Я предлагаю не использовать настройки отчета, а "обмануть" отчет. Не уверен на 100% что сработает (насчет корректного представления значения ресурса), но я бы попробовал.
18 Любопытная
 
11.07.12
13:20
(17) Вроде поняла) Но это не поможет в изначальной ситуации. Ось У всегда начинается с 0, если не задано другое базовое значение. В (2) одни и те же данные, но графики выглядят совсем по-разному.
Или я что-то не так понимаю?
19 fisher
 
11.07.12
13:41
(18) Попробовал - не получилось. Нормализовать график получилось (как и ожидалось), но значения для отражения по оси берет не из выражения представления для вычисляемого поля (как я надеялся). Т.е. не получилось подменить нормализованные значения по оси на правильные.
20 Любопытная
 
11.07.12
13:45
(19) Ну в общем, я так понимаю - вариантов нет, кроме как полностью прописывать код для создания отчета.
Спасибо
21 fisher
 
11.07.12
13:54
(20) В смысле "полностью прописывать код для создания отчета"?
Просто в ПриКомпоновкеРезультата() выполнить упрощенный базовый запрос для получения базового значения и программно его установить.
22 Любопытная
 
11.07.12
14:22
(21) Оно и сейчас так. Мне просто не очень нравится это решение. Но, видимо, другого варианта нет
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший