05.03.2013, 22:54
общий
это ответ
Здравствуйте, Пресняков Владимир Иванович!
Пример высылаю.
Логика вывода в печатную форму следующая.
1. В печатный макет вставляем Диаграмму (меню Таблица - Вставить рисунок - Диаграмма).
2. Правой кнопкой щелкаем по Диаграмме, открываем Свойства (не путать с "Объект 1С.V7.Диаграмма")
3. На закладке Тест пишем вызов процедуры, которой будем заполнять свойства диаграммы. В моем примере это ВывестиДиаграмму(Т.ТекущийОбъект, ТЗ), где первый параметр - ссылка на объект Диаграмма, а второй - таблица значений с данными.
4. Создаем процедуру заполнения диаграммы (в моем примере ВывестиДиаграмму).
5. В основной процедуре (в моем примере Сформировать) просто выводим секцию с Диаграммой в печатную форму и показываем ее. Здесь уже с самой диаграммой делать не надо, только убедиться что в переменной ТЗ (в моем примере) содержится таблица с данными.
Листинг смотрите в Приложении или в файле График77_Тест.zip
Приложение:
//--------------------------------------------------------
Функция СоздатьТЗ()
ТЗ = СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("Дат", "Число", 2, 0);
ТЗ.НоваяКолонка("Врем", "Число", 2, 0);
ТЗ.НоваяКолонка("Град1", "Число", 2, 0);
ТЗ.НоваяКолонка("Град2", "Число", 2, 0);
ТЗ.НоваяКолонка("Град3", "Число", 2, 0);
// Тестовое заполнение
Для Ном=1 По 5 Цикл
ТЗ.НоваяСтрока();
ТЗ.Дат = Ном;
ТЗ.Врем = 0;
ТЗ.Град1 = Ном * 5;
ТЗ.Град2 = Ном * 10;
ТЗ.Град3 = Ном * 20;
КонецЦикла;
Возврат ТЗ;
КонецФункции
//--------------------------------------------------------
Процедура ВывестиДиаграмму(Диаграмма, ТЗ)
Диаграмма.Обновление(0);
Для Серия = 1 По 3 Цикл
ЗначСерии = "Град " + Серия;
Состояние("Построение графика: "+ЗначСерии);
Диаграмма.УстановитьИмяСерии(Серия, ЗначСерии);
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку()=1 Цикл
Точка = ТЗ.НомерСтроки;
ЗначТочки = "День " + Формат(ТЗ.Дат, "Ч(0)2") + " Ч " + Формат(ТЗ.Врем, "Ч(0)2");
Значение = Число(Шаблон("[ТЗ.Град" + Серия + "]"));
Состояние("Построение графика: "+ЗначСерии+" "+ЗначТочки);
Если Серия = 1 Тогда
Диаграмма.УстановитьИмяТочки(Точка, ""+ЗначТочки);
КонецЕсли;
Диаграмма.УстановитьЗначение(Точка, Серия, Значение, ""+ЗначСерии+" "+ЗначТочки+": "+Значение);
КонецЦикла;
КонецЦикла;
Диаграмма.Обновление(1);
КонецПроцедуры
//*******************************************
Процедура Сформировать()
ТЗ = СоздатьТЗ();
Т = СоздатьОбъект("Таблица");
Т.ИсходнаяТаблица("График");
Т.ВывестиСекцию("График");
Т.ТолькоПросмотр(1);
Т.Показать("График", "");
КонецПроцедуры