Имя: Пароль:
1C
 
Диаграмма в 1С
0 dainastar
 
12.10.10
10:45
Есть диаграмма:
СекцияДиаграмма  = ПолучитьМакет("Макет").ПолучитьОбласть("Диаграмма");
Диаграмма1 = СекцияДиаграмма.Рисунки.Диаграмма2.Объект;
Диаграмма1.Очистить();
Диаграмма1.ТипДиаграммы = ТипДиаграммы.График;
Диаграмма1.Обновление = Ложь;
Диаграмма1.КоличествоСерий = 1;
Диаграмма1.Серии[0].Текст = "Остаток";
Для Каждого СтрокаТЗ Из ТабЗнач Цикл
Диаграмма1.КоличествоТочек = Диаграмма1.КоличествоТочек + 1;
Диаграмма1.Точки[Диаграмма1.КоличествоТочек - 1].Текст = Формат(СтрокаТЗ.Дата,"ДЛФ=Д");
Диаграмма1.УстановитьЗначение(Диаграмма1.КоличествоТочек - 1,0,СтрокаТЗ.Остаток,);
КонецЦикла;
Диаграмма1.Обновление = Истина;
ТабДок.Вывести(СекцияДиаграмма);

Нужно добавить в эту диаграмму еще одну серию: значение точки заказа. Подскажите как это сделать?
1 Невский Александр
 
12.10.10
10:49
(0)
СерииДиаграммы (ChartSeriesCollection)
Добавить (Add)
Синтаксис:
Добавить(<Текст>)
Параметры:
<Текст> (необязательный)
Тип: Строка. Название серии.
Возвращаемое значение:
Тип: СерияДиаграммы.
Описание:
Добавляет новую серию в конец коллекции серий диаграммы.
Пример:
Диаграмма.Очистить();
Для Серия = 1 По 4 Цикл
   НоваяСерия = Диаграмма.Серии.Добавить("Серия №" + Серия);
КонецЦикла;

А так что не катит?
2 dainastar
 
12.10.10
10:53
Так я добавлю серии, а как потом мне вывести ее? установить соответствие между точками и этой серии
3 dainastar
 
12.10.10
11:10
Пожалуйста, если кто-то знает ПОМОГИТ!!! Я в отчаянии :((((
4 Невский Александр
 
12.10.10
11:18
Откуда будут браться значения для серий и точек диаграммы?
5 Невский Александр
 
12.10.10
11:21
Можно перебрать точки с сериями в цикле

Примерно вот так:
 Для Каждого ТекТочка ИЗ Точки Цикл
    Для Каждого ТекСерия ИЗ Серии Цикл
        Значение = [<находим значение>];
        УстановитьЗначение(ТекТочка,ТекСерия,Значение);  
    КонецЦикла;
 КонецЦикла;

так тоже не пойдет?
6 dainastar
 
12.10.10
11:22
Из таблицы значений:
Период   Остаток   Значение точки заказа
01.10      100           150
02.10      200           200
....
серии - остаток, значения точки заказа
точки - значения периода (01.10, 02.10 и т.д.)
7 Невский Александр
 
12.10.10
11:41
Диаграмма1.Серии.Добавить("Остаток");
Диаграмма1.Серии.Добавить("ЗначениеТочкиЗаказа");

Для Каждого Строка ИЗ ТабЗн Цикл
   Диаграмма1.Точки.Добавить(Формат(Строка.ТабЗн,"ДФ='dd.MM.yyyy'"));
КонецЦикла;

Для Каждого ТекТочка ИЗ Точки Цикл
    Для Каждого ТекСерия ИЗ Серии Цикл
        ТекСтроки = ТабЗн.НайтиСтроки(Новый Структура("Период",
        Новый Дата(Прав(ТекТочка.Значение,4), СРЕД(ТекТочка.Значение,3,2),ЛЕВ (ТекТочка.Значение,2),0,0,0)));
       
        Если ТекСтроки.Количество()>0 Тогда
             Если ТекСерия.Значение = "Остаток" Тогда
                  УстановитьЗначение(ТекТочка,ТекСерия,ТекСтроки.Получить(0).Остаток);
ИначеЕсли ТекСерия.Значение = "ЗначениеТочкиЗаказа" Тогда
      УстановитьЗначение(ТекТочка,ТекСерия,ТекСтроки.Получить(0).ЗначениеТочкиЗаказа);
     КонецЕсли;
    КонецЦикла;
 КонецЦикла;
8 Невский Александр
 
12.10.10
11:41
(7) ну или что-то в таком духе не подойдет?
9 dainastar
 
12.10.10
11:51
А что делает строка:
ТекСтроки = ТабЗн.НайтиСтроки(Новый Структура("Период",
        Новый Дата(Прав(ТекТочка.Значение,4), СРЕД(ТекТочка.Значение,3,2),ЛЕВ (ТекТочка.Значение,2),0,0,0)));
10 dainastar
 
12.10.10
11:54
На этой строчке выдает ошибку:
Преобразование значения к типу Число не может быть выполнено
11 Невский Александр
 
12.10.10
11:59
(9) немного неправильно я написал
Новый Дата(ЧИСЛО(Прав(ТекТочка.Значение,4)), ЧИСЛО(СРЕД(ТекТочка.Значение,3,2)),ЧИСЛО(ЛЕВ (ТекТочка.Значение,2),0,0,0)))

В точке хранится значение текстового типа - нужно обратно преобразовать, чтобы найти значение в твоей таблице

Для Каждого Строка ИЗ ТабЗн Цикл
   Диаграмма1.Точки.Добавить(Формат(Строка.ТабЗн,"ДФ='dd.MM.yyyy'"));
КонецЦикла;
- и здесь тоже неправильно, нужно конечно Строка.Период

Но текст я написал примерный, для образца - чтобы узнать, в таком виде подойдет или нет
12 dainastar
 
12.10.10
13:50
Все равно выдает ту же ошибку:(
13 dainastar
 
12.10.10
13:59
Так тоже не получается:(
он серию остаток выводит как точку
14 dainastar
 
12.10.10
14:05
вообще не добавляет вторую серию :(
15 dainastar
 
13.10.10
08:32
Поступила другим образом:
1) создала таблицу значений с колонками "Дата,Остаток,ЗначениеТочкиЗаказа"
2) заполнила таблицу значений
3) вывожу диаграмму:
Диаграмма1.Очистить();
Диаграмма1.ТипДиаграммы = ТипДиаграммы.График;
Диаграмма1.СерииВСтроках = Ложь;
Диаграмма1.Обновление = Ложь;
Диаграмма1.ИсточникДанных = ТабЗнач;
Диаграмма1.Обновление = Истина;

В таком случае выводит вообще что-то непонятное. Т.Е. те данные,что записаны в строках он как-будто вообще не воспринимает. Проверила, в таблице хранятся правильные данные.
В чем проблема?