Приветы посоны.
Чот ваще труба с этими диаграммами, мб подскажите где я не прав. Решил реализовать через флаг выбора на форме формирование диаграммы, после чего сформировал процедуру построения самой диаграммы, и при условии фл =1 скармливать процедуре ТЗ. вроде все складно, но чего то материЦо.... а именно: ПострДиаг_Диаграмма<<?>>(Диаграмма,ТЗ)
{Отчет.КД.Форма.Модуль(64)}: Процедура не обнаружена (ПострДиаг_Диаграмма)
При проверке модуля обнаружены синтаксические ошибки!
а в чем ошибка никак не пойму, все перепроверял .... подскажите плз если не леностно.
//*******************************************
// Процедура генерации запроса Сформировать.
//
Перем КолДок, Интервал,ТЗ;
Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|Обрабатывать НеПомеченныеНаУдаление;
|Докум = Документ.ПриходДен.ТекущийДокумент, Документ.ЗанесЗАрп.ТекущийДокумент, Документ.Новый1.ТекущийДокумент;
|фирма = Документ.ПриходДен.Фирма, Документ.ЗанесЗАрп.Фирма;
|Группировка Неделя;
|Группировка Докум упорядочить по Докум.ДатаДок, Докум.НомерДок без групп все;
|Условие(Фирма = ВыбФирма);
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
// Подготовка к заполнению выходных форм данными запроса
ТЗ = СоздатьОбъект("ТаблицаЗначений");
ТЗ.ВставитьКолонку(Интервал,1,,,,,,,1);
ТЗ.ВставитьКолонку(КолДок,2,,,,,,,2);
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
// Заполнение полей "Заголовок"
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Стр=0;
Пока Запрос.Группировка(1) = 1 Цикл
Стр=Стр+1;
Интервал=Запрос.Неделя;
КолДок=0;
// Заполнение полей Неделя
Таб.ВывестиСекцию("Неделя");
Пока Запрос.Группировка(2) = 1 Цикл
КолДок=КолДок+1;
// Заполнение полей Докум
Таб.ВывестиСекцию("Докум");
КонецЦикла;
Сообщить(""+Стр+","+Интервал+","+КолДок);
//Сообщить(Интервал);
КолСтр=ТЗ.КоличествоСтрок();
Сообщить(КолСтр);
ТЗ.НоваяСтрока(Стр);
КолСтр1=ТЗ.КоличествоСтрок();
Сообщить(КолСтр1);
ТЗ.УстановитьЗначение(Стр,1,Интервал);
ТЗ.УстановитьЗначение(Стр,2,КолДок);
КонецЦикла;
Если ФлДиаг = 1 Тогда
Сообщить("Построить Диаграмму");
ПострДиаг_Диаграмма(Диаграмма,ТЗ)
Таб.ВывестиСекцию("Диаграмма");
КонецЕсли;
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", "");
КонецПроцедуры
//Конструкции <<...>> необходимо заменить на реальные логические условия и значения переменных
Процедура ПострДиаг_Диаграмма(Диаграмма,ТЗ)
Диаграмма.Обновление(0);
Серия = 1;
Точка = 1;
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПлучитьСтроку()=1 Цикл
Диаграмма.УстановитьИмяСерии(Серия,КолДок);
Точка = 1;
Пока ТЗ.ПолучитьСтроку()=1 Цикл
Диаграмма.УстановитьЗначение(Точка,Серия,КолДок);
Если Серия = 1 Тогда
Диаграмма.УстановитьИмяТочки(Точка,Интервал);
КонецЕсли;
Точка = Точка + 1;
КонецЦикла;
Серия = Серия + 1;
КонецЦикла;
Диаграмма.Обновление(1);
КонецПроцедуры
Процедура ПострДиаг()
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("ПострДиаг");
Таб.ВывестиСекцию("Заголовок");
Таб.ВывестиСекцию("Диаграмма");
Таб.Опции(0,0,0,0);
Таб.ТолькоПросмотр(1);
Таб.Показать("ПострДиаг","");
КонецПроцедуры
Добавлено через 4 минуты и 36 секунд:В ТЗ заношу просто имя недели и кол-во доков за эту неделю.
31.01.11 1
30.05.11 2
27.06.11 2
примерно такого вида