|
График | ☑ | ||
---|---|---|---|---|
0
Учусь еще
14.04.12
✎
16:06
|
а скажите-ка мне умные программиста
возможно ли построить график не с помощью отчетов короче есть ТП в котором контрагенты и значения нарастающего итога, мне нужно при нажатии кнопки создать график по оси х - контрагенты, по у- значения |
|||
1
pumbaEO
14.04.12
✎
16:10
|
Да, создаешь ТЧ, на 1000 колонок, размер ставишь в 1, для построения храфика заполняешь необходимые ячейки значениями 1, 0, 2 и т.д и при оформлении строки разукрашиваешь.
|
|||
2
Учусь еще
14.04.12
✎
16:15
|
начнем с первого
как создать ТП на 1000 колонок??? не писать Добавить()1000 раз |
|||
3
pumbaEO
14.04.12
✎
16:18
|
Ну раз фото есть: (1) это шутка.
Что мешает использовать ТЧ для построения диаграммы? |
|||
4
Учусь еще
14.04.12
✎
16:21
|
в ТП поле хранится вспомогательная информация, для получения значения нарастающего итога проводилось много действий и для проверки себя в я все считала в ТП, конечную информацию как раз нужно использовать для построения графика,
|
|||
5
pumbaEO
14.04.12
✎
16:23
|
Диаграмма = ЭлементыФормы.ДиаграммаПродаж;
Диаграмма.КоличествоТочек = 0; Для Каждого мСтрока Из ПериодыПродаж Цикл Точка = Диаграмма.Точки.Добавить(); Точка.Значение = мСтрока.Дата; Точка.Текст = мСтрока.Период; Диаграмма.УстановитьЗначение(Точка, Диаграмма.Серии[0], мСтрока.Остатки); Диаграмма.УстановитьЗначение(Точка, Диаграмма.Серии[1], мСтрока.Расход); КонецЦикла; |
|||
6
Учусь еще
14.04.12
✎
16:25
|
а диаграмма продаж это специальный компонент?
|
|||
7
Учусь еще
14.04.12
✎
16:29
|
сделала так Диаграмма = ЭлементыФормы.АВСКлассификация;
Диаграмма.КоличествоТочек = 0; Для Каждого мСтрока Из ТабличноеПоле1 Цикл Точка = Диаграмма.Точки.Добавить(); Точка.Значение = мСтрока.Контрагент; Точка.Текст = мСтрока.НарасИтог; Диаграмма.УстановитьЗначение(Точка, Диаграмма.Серии[0], мСтрока.Контрагент); Диаграмма.УстановитьЗначение(Точка, Диаграмма.Серии[1], мСтрока.НарасИтог); КонецЦикла; пишет Индекс находится за границами массива |
|||
8
Учусь еще
14.04.12
✎
16:41
|
подскажите почему ошибка
|
|||
9
m-serg74
14.04.12
✎
16:45
|
что есть ТабличноеПоле1
|
|||
10
m-serg74
14.04.12
✎
16:48
|
и ошибку лучше полностью копи-пастить, там точно будет указано в какой именно строке ошибка происходит
|
|||
11
Учусь еще
14.04.12
✎
16:52
|
Диаграмма = ЭлементыФормы.АВСКлассификация;
Диаграмма.КоличествоТочек = 0; Для Каждого мСтрока Из ТабличноеПоле1 Цикл Точка = Диаграмма.Точки.Добавить(); Точка.Значение = мСтрока.НарасИтог; Точка.Текст = мСтрока.Контрагент; Диаграмма.УстановитьЗначение(Точка, Диаграмма.Серии[0], мСтрока.Контрагент); табличное поле откуда берутся Контрагент и НарасИтог Диаграмма.УстановитьЗначение(Точка, Диаграмма.Серии[1], мСтрока.НарасИтог); КонецЦикла; |
|||
12
Учусь еще
14.04.12
✎
16:52
|
или я че то не правильно поняла
|
|||
13
pumbaEO
14.04.12
✎
16:52
|
v8: Заполнение колонки пост 66 = ТабличноеПоле1
|
|||
14
Учусь еще
14.04.12
✎
16:53
|
(13) и?
|
|||
15
m-serg74
14.04.12
✎
16:54
|
эт он мне объяснил)
|
|||
16
Учусь еще
14.04.12
✎
16:55
|
{Документ.АВСКлассификацияКлиентов.Форма.ФормаДокумента.Форма(140)}: Индекс находится за границами массива
Диаграмма.УстановитьЗначение(Точка, Диаграмма.Серии[0], мСтрока.Контрагент); |
|||
17
m-serg74
14.04.12
✎
16:58
|
значит в свойствах диаграммы смотри сколь у тебя серий, скорее всего 0 (по умолчанию)
|
|||
18
Учусь еще
14.04.12
✎
17:03
|
а можно его как то динамически сделать, потому что количество серий может быть больше чем задано
|
|||
19
m-serg74
14.04.12
✎
17:04
|
ну да например сколь контрагентов столько и
Диаграмма.Серии.Добавить(); |
|||
20
Учусь еще
14.04.12
✎
17:06
|
а как контрагентов посчитать??? воще уже голова не соображает..(((
|
|||
21
Учусь еще
14.04.12
✎
17:08
|
наверное так ВсегоСтрок = ТабличноеПоле1.Количество(); )))))
|
|||
22
m-serg74
14.04.12
✎
17:08
|
а тут голова не особо нужна, нужно знать русский язык и уметь открыть СП... ну наверное
|
|||
23
m-serg74
14.04.12
✎
17:09
|
примерно так как ты написала
|
|||
24
Учусь еще
14.04.12
✎
17:12
|
это было только начало терь необходимо соединить прямой крайние точки кривой и найти точку
касания параллельной полученной прямой линии и сообщить эту точку... |
|||
25
Учусь еще
14.04.12
✎
17:13
|
а далее нужнно повторить процедуру, соединив прямой начальную и конечную точки оставшейся части кривой, и зафиксировать границы следующей группы, проведя прямую, параллельную получившейся прямой в точке касания с кривой.
|
|||
26
m-serg74
14.04.12
✎
17:14
|
везет же тебе а я вот не знаю чем заняться)))
|
|||
27
Учусь еще
14.04.12
✎
17:16
|
завидую тебе...)))
может поможешь мне тогда))) |
|||
28
pumbaEO
14.04.12
✎
17:18
|
За тебя справку почитать?
Посмотреть как в типовых графики строятся? |
|||
29
m-serg74
14.04.12
✎
17:23
|
(28) ))) ну да потом в кассу прийти, тож за нее)))
|
|||
30
Учусь еще
14.04.12
✎
17:28
|
вы думаете я буду сидеть в СУББОТУ до 8 часов вечера на работе, да если бы мне потом нужно было идти в кассу,я бы сама уже давно все написала, а за не имением навыков, мне только по окончанию написания этой проги максимум нужно будет идти к преподу)))
|
|||
31
m-serg74
14.04.12
✎
17:33
|
я просто смотрю в будущее)))
|
|||
32
Учусь еще
14.04.12
✎
17:37
|
))))
|
|||
33
Учусь еще
14.04.12
✎
17:39
|
нужно чтобы построить кривую скорее всего взять максимальное и минимальное значение НарасИтог и соединить их прямой
|
|||
34
m-serg74
14.04.12
✎
17:40
|
скорее 1е и последнее
|
|||
35
m-serg74
14.04.12
✎
17:41
|
извиняюсь чтоб построить кривую нужно взять все
|
|||
36
m-serg74
14.04.12
✎
17:42
|
а вот чтоб построить прямую (34)
|
|||
37
Учусь еще
14.04.12
✎
17:45
|
(34) а ну точно
|
|||
38
m-serg74
14.04.12
✎
17:48
|
ну так вперед и удачи)))
|
|||
39
Учусь еще
14.04.12
✎
18:01
|
первые последние точки нашла, терь график строить аналогично первому графику?
|
|||
40
Учусь еще
14.04.12
✎
18:06
|
объединила все в кучу
СтаршийИндекс = ТабличноеПоле1.Количество()-1; Для Сч =1 По СтаршийИндекс Цикл ПерТочка=ТабличноеПоле1[0].НарасИтог; ВтрТочка=ТабличноеПоле1[СтаршийИндекс].НарасИтог; КонецЦикла; Диаграмма = ЭлементыФормы.АВСКлассификация; Диаграмма.КоличествоТочек = 0; ВсегоСтрок = ТабличноеПоле1.Количество(); сер = ВсегоСтрок; сер= Диаграмма.Серии.Добавить(); Для Каждого мСтрока Из ТабличноеПоле1 Цикл Точка = Диаграмма.Точки.Добавить(); Точка.Значение = мСтрока.НарасИтог; Точка.Значение =ПерТочка; Точка.Значение =ВтрТочка; Точка.Текст = мСтрока.Контрагент; Диаграмма.УстановитьЗначение(Точка, сер, мСтрока.Контрагент); Диаграмма.УстановитьЗначение(Точка, сер, мСтрока.НарасИтог); Диаграмма.УстановитьЗначение(Точка, сер, ПерТочка); Диаграмма.УстановитьЗначение(Точка, сер, ВтрТочка); КонецЦикла; терь рисует одну паралельную прямую(((( |
|||
41
Учусь еще
14.04.12
✎
18:15
|
каким методом можно соединить две точки??? ни как не найду с правке
|
|||
42
m-serg74
14.04.12
✎
22:05
|
для образца вот посмотри http://files.mail.ru/690036
|
|||
43
m-serg74
14.04.12
✎
22:48
|
не та ссылка((( вот http://files.mail.ru/H7OQAV
|
|||
44
Учусь еще
15.04.12
✎
10:55
|
можно еще раз ссылку сделать, а то там ничего нет
|
|||
45
m-serg74
15.04.12
✎
11:13
|
||||
46
Учусь еще
15.04.12
✎
11:17
|
спасибо, буду разбираться
|
|||
47
m-serg74
15.04.12
✎
11:25
|
там тока 3 задания нет ибо если честно то со слов даже не понял что нуно))) нарисуешь можно будет подумать))) кстати Христос Воскрес!
|
|||
48
Учусь еще
15.04.12
✎
11:28
|
почему вот так нельзя сделать
СтаршийИндекс = ТабличноеПоле1.Количество()-1; Для Сч =1 По СтаршийИндекс Цикл ПерТочка=ТабличноеПоле1[0].НарасИтог; ВтрТочка=ТабличноеПоле1[СтаршийИндекс].НарасИтог; КонецЦикла; Серия = Диаграмма.Серии.Добавить(); Серия.Текст = "Прямая 1"; Диаграмма.УстановитьЗначение(Точка, Серия, ПерТочка); Диаграмма.УстановитьЗначение(Точка, Серия, ВтрТочка); в данном случае он рисует но не правильно((( |
|||
49
Учусь еще
15.04.12
✎
11:29
|
тебя тоже с праздником!!!
|
|||
50
m-serg74
15.04.12
✎
11:35
|
цикл то зачем? и 2-е ты в одну точку два значения пхаешь)))
|
|||
51
m-serg74
15.04.12
✎
11:36
|
а так в принципе сделать то можно но результат г...но
|
|||
52
Учусь еще
15.04.12
✎
11:38
|
как вы думаете лучше первое и споследнее значение тоже в ТП хранить??
|
|||
53
m-serg74
15.04.12
✎
11:41
|
зачем? оно уже там есть 1-е и Последнее)))) не надо на "Вы", а то обижусь)))
|
|||
54
m-serg74
15.04.12
✎
11:42
|
и вообще две колонки добавил для наглядности...
|
|||
55
Учусь еще
15.04.12
✎
11:45
|
хорошо!!!) как тогда использовать первое и последнее значение если нельзя 2-е точки в одну точку??
|
|||
56
m-serg74
15.04.12
✎
12:00
|
ты смотрела вообще что скачала?
|
|||
57
Учусь еще
15.04.12
✎
12:01
|
да смотрела
|
|||
58
m-serg74
15.04.12
✎
12:04
|
а зачем пытаешся переделать лучше спрашивай что не понятно...
|
|||
59
m-serg74
15.04.12
✎
12:04
|
а когда поймешь будешь переделывать
|
|||
60
Учусь еще
15.04.12
✎
12:07
|
ну вот это думаю оставить тут как раз берется первое и последнее значение
Серия = Диаграмма.Серии.Добавить(); Серия.Текст = "Прямая"; Минимум = Неопределено; Максимум = Неопределено; Для Каждого мСтрока Из ТабличноеПоле1 Цикл //мСтрока.Контрагент = мСтрока.Контрагент + СокрЛП(ТабличноеПоле1.Индекс(мСтрока)); Минимум = ?(Минимум = Неопределено, мСтрока.НарасИтог, Мин(Минимум, мСтрока.НарасИтог)); Максимум = ?(Максимум = Неопределено, мСтрока.НарасИтог, Макс(Максимум, мСтрока.НарасИтог)); Точка = Диаграмма.Точки.Добавить(); //Точка.Текст = мСтрока.Контрагент; Точка.Значение = мСтрока.НарасИтог; Диаграмма.УстановитьЗначение(Точка, Серия, мСтрока.НарасИтог); КонецЦикла; |
|||
61
m-serg74
15.04.12
✎
12:09
|
да эт я мутил заполнение ТП
а Точка.Текст = мСтрока.Контрагент; не надо убирать |
|||
62
Учусь еще
15.04.12
✎
12:13
|
Тангенс для чего?
|
|||
63
Учусь еще
15.04.12
✎
12:18
|
о сделала что ль....))
|
|||
64
Учусь еще
15.04.12
✎
12:38
|
а как построить касательные к этой кривой????
геометрия полная.... |
|||
65
Учусь еще
15.04.12
✎
12:46
|
я так думаю для начала нужно сделать направляющий вектор касательной??
|
|||
66
Учусь еще
15.04.12
✎
12:54
|
или в моем случае сразу строить касательную..
|
|||
67
Учусь еще
15.04.12
✎
12:58
|
(61)а в вашем случае прямая два может служить касательной??
|
|||
68
m-serg74
15.04.12
✎
13:08
|
так так оно и есть))) ты не внимательна "Учусь еще"
|
|||
69
Учусь еще
15.04.12
✎
13:12
|
какая тут внимательность может быть я уже которые сутки на пролет окалачиваюсь возле пк
то есть прямая 2 это есть касательная к кривой? |
|||
70
Учусь еще
15.04.12
✎
13:17
|
а что писать за место мСтрока.Прямая2???
в мСтрока.Прямая1 я писала мСтрока.НарасИтог |
|||
71
Учусь еще
15.04.12
✎
13:41
|
(68)все равно не получается эту касательную построить
|
|||
72
Учусь еще
15.04.12
✎
13:43
|
(68)у вас она изначально задана...
|
|||
73
m-serg74
15.04.12
✎
13:47
|
ты почитай что написано в коде а потом вопросы (хоть ты и красивая девушка но это важно)
|
|||
74
Учусь еще
15.04.12
✎
13:52
|
ну вот у меня и вопрос где взять мСтрока.Прямая2
|
|||
75
Учусь еще
15.04.12
✎
13:53
|
и с чего ты взял, что я красивая девушка?)))
|
|||
76
Учусь еще
15.04.12
✎
14:05
|
ну подскажи, я уже столько вариантов испробывала если сделать мСтрока.Прямая1=мСтрока.Прямая2=мСтрока.НарасИтог
это будет не верно |
|||
77
Учусь еще
15.04.12
✎
14:31
|
(73)а у кривой может быть несколько кривых, а в моем твоем случае она одна
|
|||
78
Учусь еще
15.04.12
✎
14:36
|
(73) по сути мСтрока.Прямая2 это будет точка качания прямой и кривой??
|
|||
79
Учусь еще
15.04.12
✎
14:39
|
хотя нет
|
|||
80
Учусь еще
15.04.12
✎
14:42
|
так что ж будет тогда точкой касания??
|
|||
81
Учусь еще
15.04.12
✎
14:48
|
вернее ее значение
|
|||
82
Учусь еще
15.04.12
✎
14:58
|
я так понимаю надо в цикле пройтись по значения кривой и прямой та точка совпадет и будет точкой касания, верно же
|
|||
83
m-serg74
15.04.12
✎
15:10
|
тим вьюнр поможет
|
|||
84
Учусь еще
15.04.12
✎
15:13
|
я уже сделала терь передо мной другие задачи стоят, работы то нынче много (25)
|
|||
85
Учусь еще
15.04.12
✎
15:22
|
как соединить прямой начальную и конечную точки оставшейся части кривой???
понимаю тоже нужно цикл |
|||
86
Учусь еще
15.04.12
✎
15:25
|
или он сам будет чертить эти касательные столько сколько нужно???? уже совсем запуталась(((
|
|||
87
Учусь еще
15.04.12
✎
16:08
|
скажите делаю так
Смещение = Неопределено; Для Каждого мСтрока Из ТабличноеПоле1 Цикл Смещение = ?(Смещение = Неопределено, мСтрока.НарасИтог - мСтрока.Прямая1, Макс(Смещение, мСтрока.НарасИтог - мСтрока.Прямая1)); Серия = Диаграмма.Серии.Добавить(); Серия.Текст = "Касательная"; Для Каждого мСтрока Из ТабличноеПоле1 Цикл мСтрока.Прямая2 = мСтрока.Прямая1 + Смещение; Индекс = ТабличноеПоле1.Индекс(мСтрока); Точка = Диаграмма.Точки[Индекс]; Диаграмма.УстановитьЗначение(Точка, Серия, мСтрока.Прямая2); КонецЦикла; // переносим полученую точку касания в таблицу Для Каждого мСтрока Из ТабличноеПоле1 Цикл Если мСтрока.НарасИтог= мСтрока.Прямая2 Тогда ст=ИнтервалГрупп.Добавить(); ст.Границы = мСтрока.НарасИтог*100; Иначе КонецЕсли; КонецЦикла; КонецЦикла; почему он не правильно рисует касательные, по сути то он должен был соединив прямой начальную и конечную точки оставшейся части кривой, |
|||
88
Учусь еще
15.04.12
✎
16:19
|
(83)все согласна на тим вьюнр... сил моих и мозгов уже нет(((
|
|||
89
m-serg74
16.04.12
✎
01:08
|
я п..н
|
|||
90
m-serg74
16.04.12
✎
01:15
|
(75) по фотке судя в профиле...
|
|||
91
Torquader
16.04.12
✎
01:20
|
А зачем нужен цикл для соединения точек - он что линии рисовать не обучен ?
|
|||
92
Учусь еще
16.04.12
✎
07:52
|
ну вот прошла целая ночь а вопрос до сих актуален...
|
|||
93
m-serg74
16.04.12
✎
08:38
|
какой именно?
|
|||
94
m-serg74
16.04.12
✎
08:38
|
(91) покажи как?
|
|||
95
Учусь еще
16.04.12
✎
08:51
|
(93)кривую я построила, соединила крайние точки прямой, построила параллельную это прямой линию, нашла точку касания, терь нужно соединить прямой точку касания с правой крайней точкой построить паралельную этой прямой найти точку касания и так далее...
|
|||
96
m-serg74
16.04.12
✎
08:52
|
(92) спать что ли легла? а я специально на работу не пошел))) думаю надо ж помочь...
|
|||
97
Учусь еще
16.04.12
✎
08:53
|
(96)какой там спать я уже забыла что это такое
|
|||
98
m-serg74
16.04.12
✎
08:54
|
в MS PAINT Prt Sc и на ICQ 567092745
|
|||
99
m-serg74
16.04.12
✎
08:55
|
ну и зря спать дело нужное)))
|
|||
100
Учусь еще
16.04.12
✎
09:02
|
когда передо мной стоят не решенные задачи я не могу спокойно спать..
|
|||
101
m-serg74
16.04.12
✎
10:25
|
ты где?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |