7.7 Построить по данным диаграмму

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Log1c, 11 июн 2007.

  1. TopicStarter Overlay
    Log1c
    Offline

    Log1c Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    Никак не могу получить доступ к диаграмме как к объекту.

    В документации в качестве примера дано:
    Код:
    ПостроитьДиаграмму(Таб.ТекущийОбъект);
    
    в той же документации не нашёл функции ПостроитьДиаграмму. :unsure:

    p.s. надо построить диаграмму по значениям, значения даны в таблице:
    222 05.06.06
    221 07.06.06
    211 08.06.06
  2. Snake-84
    Offline

    Snake-84 Опытный в 1С

    Регистрация:
    28 янв 2007
    Сообщения:
    110
    Симпатии:
    0
    Баллы:
    26
    А это процедура, которую ты сам в модуле пишешь :)
  3. TopicStarter Overlay
    Log1c
    Offline

    Log1c Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    Ничего не понял...

    Тогда вопрос другой как построить диаграмму по значениям, кот. даны в таблице, напишите хоть чуть программного кода, хотябы чтобы диаграмма появлялась.
  4. Steel Rain
    Offline

    Steel Rain Опытный в 1С

    Регистрация:
    29 сен 2006
    Сообщения:
    408
    Симпатии:
    2
    Баллы:
    29
    Это пишется во вкладке Текст в свойствах объекта Диаграмма, в итоговой таблице. А собственно процедура ПостроитьДиаграмму пишется собственноручно в модуле отчета. Ну как пример:

    Код:
    Процедура Сформировать_Диаграмма(Диаграмма)   
    Диаграмма.Обновление(0);
    Серия = 1;
    Точка = 1;
    длядиаг.выбратьстроки();
    Для й=1 по считог Цикл
    длядиаг.Получитьстроку();
    Диаграмма.установитьимясерии(й, длядиаг.куда); 
    Диаграмма.установитьимяточки(й, длядиаг.время/60); 
    Диаграмма.установитьЗначение(точка,серия,Окр((длядиаг.время/60),2));
    Серия = Серия + 1;
    КонецЦикла;
    Диаграмма.Обновление(1);
    КонецПроцедуры
    
    Соответственно в этом случае в свойствах диаграммы прописываем Сформировать_Диаграмма(Таб.ТекущийОбъект)
  5. TopicStarter Overlay
    Log1c
    Offline

    Log1c Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    Всёравно диаграмма не отображается...

    Модуль формы:

    Код:
    Процедура ПриОткрытии() 
    Форма.Закрыть();
    Тбл = СоздатьОбъект("Таблица");
    Тбл.ИсходнаяТаблица("Таблица");
    Тбл.Показать("Планирование цен на сырьё");
    КонецПроцедуры//это писал т.к. диаграмму можно помещать только на таблицу
    
    Процедура Сформировать_Диаграмма(Диаграмма)   
    Диаграмма.Обновление(0);
    Серия = 1;
    Точка = 1;
    
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса=
    ...//всё что сдесь - работает
    ;
    
    Пока Запрос.Группировка(1) = 1 Цикл    
    Диаграмма.УстановитьИмяСерии(Серия, Запрос.Цена); 
    Диаграмма.УстановитьИмяТочки(Точка, Запрос.Дата); 
    Диаграмма.УстановитьЗначение(Точка, Серия, Запрос.Цена);
    Точка = Точка + 1;
    Серия = Серия + 1;
    КонецЦикла;
    Диаграмма.Обновление(1);  
    
    КонецПроцедуры
    
    В Таблицу добавил диаграмму в свойстве текст кот прописал
    Код:
    Сформировать_Диаграмма(Таб.ТекущийОбъект)
    
  6. Steel Rain
    Offline

    Steel Rain Опытный в 1С

    Регистрация:
    29 сен 2006
    Сообщения:
    408
    Симпатии:
    2
    Баллы:
    29
    Естественно ничего не отображается в таблице. Потому как ты сначала её выводишь, а потом только начинаешь что то считать. ПриОткрытии не надо формировать таблицу. Сначала должен выполниться Запрос и только после этого выводиться таблица.
    Ладно, долго это все объяснять. Вот тут все подробно описано: http://www.mista.ru/tutor_1c/diagram.htm

Поделиться этой страницей