СКД Базовое значение диаграммы #619633


#0 by Любопытная
Бодрое утро, товарищи. Вопрос такой: есть ли штатные методы для изменения базового значения диаграммы в зависимости от выводимых данных? Ну, т. е., есть у меня график, который очень красиво строится штатными методами СКД. Все чудесно кроме того, что ось ординат всегда начинается с 0, а данные, выводимые в график могут кружиться где-нить в районе 1206 пунктов, к примеру, и изменяться на десятые доли. Соответственно, график весьма неинформативный в таком случае получается. Хочется чтобы СКД сама анализировала данные и задавала базовое значение так, чтобы график был красив и понятен. Если чего непонятно, я могу картинки приложить)
#1 by Любопытная
И? Вопрос слишком сложный или наоборот? :)
#2 by Любопытная
Ну давайте я пример покажу) Я хочу, чтобы было вот так: А выводится вот так:
#3 by Любопытная
Я кого-то обидела что ли?
#4 by Любопытная
^
#5 by Любопытная
Я пока вижу только один вариант решения этой проблемы - программно находить и устанавливать базовое значение. Но это значит, что мне придется переделывать отчет полностью, а мне этого делать совсем не хочется. Ну давайте, знатоки СКД, ткните носом в волшебную галочку, которую нужно поставить)
#6 by Любопытная
Ну вы хоть скажите - это меня игнорируют, или просто никто не знает, что ответить???
#7 by ironkrab
Вместо апа, тема интересная. Программно думаю можно, но как - не знаю.
#8 by Любопытная
Программно-то я знаю как - писать запрос, получать ТЗ, делать схему для СКД, у которой источник данных - объект... в общем, формировать вообще все программно. Я хочу точно знать - есть ли возможность настроить эту фигню интерактивно. У меня сейчас работает по упрощенной схеме - я программно получаю первое значение, от него ближайшую сотню, и ставлю базовым значением эту сотню. Но иногда возникает ситуация, когда график как бы "уходит в минус" - опускается ниже оси асцисс. Клиенту не нравится, клиент хочет чтобы все красиво было и оси по краям. А значит надо находить минимальное значение из выводимых и плясать от него
#9 by Любопытная
Интересно, если я начну тут скабрезные анекдоты травить, ветку закроют или  никто так и не заметит?
#10 by fisher
Ну, вычисляй в запросе минимальное значение и вычитай его из реального. А в выражение представления пихай реальное значение.
#11 by Любопытная
Т.е. интерактивно такую настройку не сделаешь?
#12 by fisher
Не знаю. Я в диаграммах СКД не настоящий сварщик. Но навскидку не вижу, как. Сказал первое, что в голову пришло :)
#13 by Любопытная
Ну, минимум это тоже выход, хотя все равно получается, что два раза отрабатывается фактически один и тот же запрос - первый раз при нахождении минимального значения, второй - в СКД.
#14 by fisher
Можно программно вычислять минимальное значение и программно задавать его настройках СКД. Но это гемор, т.к. нужно же отработать настройки пользователя (фильтры и т.п.)
#15 by fisher
Не-не-не. Можно в самом базовом запросе СКД рассчитывать одновременно с реальным значением приведенное с учетом минимального. Ессно запрос будет сложнее, но все будет решаться настройками СКД.
#16 by Любопытная
Как? :) Настройки отчета в любом случае считываются и устанавливаются программно.
#17 by fisher
Перечитай . Я предлагаю не использовать настройки отчета, а "обмануть" отчет. Не уверен на 100% что сработает (насчет корректного представления значения ресурса), но я бы попробовал.
#18 by Любопытная
Вроде поняла) Но это не поможет в изначальной ситуации. Ось У всегда начинается с 0, если не задано другое базовое значение. В одни и те же данные, но графики выглядят совсем по-разному. Или я что-то не так понимаю?
#19 by fisher
Попробовал - не получилось. Нормализовать график получилось (как и ожидалось), но значения для отражения по оси берет не из выражения представления для вычисляемого поля (как я надеялся). Т.е. не получилось подменить нормализованные значения по оси на правильные.
#20 by Любопытная
Ну в общем, я так понимаю - вариантов нет, кроме как полностью прописывать код для создания отчета. Спасибо
#21 by fisher
В смысле "полностью прописывать код для создания отчета"? Просто в ПриКомпоновкеРезультата выполнить упрощенный базовый запрос для получения базового значения и программно его установить.
#22 by Любопытная
Оно и сейчас так. Мне просто не очень нравится это решение. Но, видимо, другого варианта нет
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С