Имя: Пароль:
1C
1С v8
Формат подписей данных в EXCEL
0 Ник080808
 
09.02.17
15:09
СОбственно нужно вывести отчет в виде точечной диаграммы. Добавил на форму диаграмму эксель. Все красиво. Только вместо значений нужно вывести подпись данных. Программно не могу понять как это сделать.
    НоваяСерия = ОбъектДиаграмма.ActiveChart.SeriesCollection().NewSeries();
        НоваяСерия.Name = Выборка.Объект.Наименование;
        НоваяСерия.HasDataLabels = Истина;
        Массив.SetValue(0,Выборка.Значение);    
        НоваяСерия.XValues = Массив;
        Массив.SetValue(0,Выборка.Цена);    
        НоваяСерия.Values = Массив;
вот где и как состав DataLabels указать?
1 Ник080808
 
09.02.17
15:26
хоть куда копать подскажите)
2 shamannk
 
09.02.17
15:27
Макрос запиши там может увидишь.
3 Ник080808
 
09.02.17
16:04
//получилось так
//убираем значения
НоваяСерия.Points(1).DataLabel.ShowValue = Ложь;
//устанавливаем имя серии
НоваяСерия.Points(1).DataLabel.ShowSeriesName = Истина;
4 Ник080808
 
09.02.17
16:09
вдруг кому придется извращаться
Макет табличный документ с областью, на которую добавлен рисунок Диаграмма эксель    
Макет = ПолучитьМакет("Макет");
    Область = Макет.ПолучитьОбласть("Диаграмма");
//Рисунок     ТочечнаяДиаграмма в которой вызываем Объект
ОбъектДиаграмма = Область.Рисунки.ТочечнаяДиаграмма.Объект;
//для передачи данных в массив нужно создать специальный тип массив COMSafeArray //в СП есть описание - первый параметр тип, второй размер массива
    Массив = Новый COMSafeArray("VT_I4",1);
    
    
//добавляем на диаграмму серию
        НоваяСерия = ОбъектДиаграмма.ActiveChart.SeriesCollection().NewSeries();
//задаем имя        
НоваяСерия.Name = Выборка.Объект.Наименование;
//указываем что нужно выводить подписис данных        
НоваяСерия.HasDataLabels = Истина;
//заполняем коммассив значением  
        Массив.SetValue(0,Выборка.Значение);    
//устанавливаем х значение точки         
НоваяСерия.XValues = Массив;
//для У тоже
        Массив.SetValue(0,Выборка.Цена);    
        НоваяСерия.Values = Массив;
        
//убираем вывод значения
        НоваяСерия.Points(1).DataLabel.ShowValue = Ложь;
    //устанавливаем вывод  имя серии    
НоваяСерия.Points(1).DataLabel.ShowSeriesName = Истина;
5 Ник080808
 
09.02.17
16:10
(2) спасибо!
(0)тему можно закрывать
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший