8.х Отчёт

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Ania_44, 17 ноя 2009.

  1. TopicStarter Overlay
    Ania_44
    Offline

    Ania_44

    Регистрация:
    11 ноя 2009
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте, у меня такая проблема. Есть отчёт:
    Код:
    Макет = ОтчетОбъект.ПолучитьМакет("ОтчётПоМашине");
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |	КилометражСостояние.Машина КАК Машина,
    |	ПРЕДСТАВЛЕНИЕ(КилометражСостояние.Машина),
    |	КилометражСостояние.СостояниеЗаказа,
    |	КилометражСостояние.Километраж КАК Километраж,
    |	КилометражСостояние.ПоказанияСпидометра КАК ПоказанияСпидометра,
    |	КилометражСостояние.Регистратор.Покупатель КАК РегистраторПокупатель,
    |	ПРЕДСТАВЛЕНИЕ(КилометражСостояние.Регистратор.Покупатель),
    |	КилометражСостояние.Период
    |ИЗ
    |	РегистрНакопления.КилометражСостояние КАК КилометражСостояние
    |ГДЕ
    |	КилометражСостояние.Период МЕЖДУ &НачПериода И &КонПериода
    |	И КилометражСостояние.Машина = &Машина
    |ИТОГИ
    |	МАКСИМУМ(Километраж),
    |	МАКСИМУМ(ПоказанияСпидометра)
    |ПО
    |	Машина,
    |	РегистраторПокупатель";
    
    Запрос.УстановитьПараметр("КонПериода", КонПериода);
    Запрос.УстановитьПараметр("Машина", Машина);
    Запрос.УстановитьПараметр("НачПериода", НачПериода);
    
    Результат = Запрос.Выполнить();
    
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьМашина = Макет.ПолучитьОбласть("Машина");
    ОбластьРегистраторПокупатель = Макет.ПолучитьОбласть("РегистраторПокупатель");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
    Область2=Макет.ПолучитьОбласть("ПоказаниеСпидометраНаНачалоЗаказа");
    
    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();
    
    ВыборкаМашина = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    
    Пока ВыборкаМашина.Следующий() Цикл
    ОбластьМашина.Параметры.Заполнить(ВыборкаМашина);
    ТабДок.Вывести(ОбластьМашина, ВыборкаМашина.Уровень());
    
    ВыборкаРегистраторПокупатель = ВыборкаМашина.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    
    Пока ВыборкаРегистраторПокупатель.Следующий() Цикл
    ОбластьРегистраторПокупатель.Параметры.Заполнить(ВыборкаРегистраторПокупатель);
    ТабДок.Вывести(ОбластьРегистраторПокупатель, ВыборкаРегистраторПокупатель.Уровень());
    
    ВыборкаДетали = ВыборкаРегистраторПокупатель.Выбрать();
    
    Пока ВыборкаДетали.Следующий() Цикл
    ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
    ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
    КонецЦикла;
    КонецЦикла;
    КонецЦикла;
    
    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Вывести(ОбластьПодвалТаблицы);
    ТабДок.Вывести(ОбластьПодвал);
    
    //}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ
    
    
    Необходимо выделить другим цветом, допустим, красным, минимальные значания километража для каждой выбранной машины в отчёте. Это возможно? Я пыталась использовать построитель отчёта, там есть возможность сделать что то типа
    Код:
    НовыйОтбор=НоваяНастройкаОформления.Отбор.Добавить("Километраж");
    НовыйОтбор.ВидСравнения=ВидСравнения.Меньше;
    НовыйОтбор.Значение=15;
    НовыйОтбор.Использование=истина;
    
    НоваяНастройкаОформления.Оформление.цветтекста.значение=WebЦвета.Кирпичный;
    НоваяНастройкаОформления.Оформление.цветтекста.использование=истина;
    
    
    Но тут только выделяет значение допустим меньше 15, а мне надо выбрать минимальное. Как это сделать?
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.638
    Симпатии:
    948
    Баллы:
    204
    Люди, пишите уже отчеты на СКД(система компановки данных). там по поводу оформления можно что угодно. Предлагаю взять отсюда запрос, вставить его в СКД. а там уже оформление полей дело техники. Так более универсально получится. тем более смотрю отчет простой. если не умеете на СКД то на таких и надо учится.
    + в том что со временем у пользователя меняются вкусы к цветам и отчеты в таком случае приходся переписывать а в СКД это просто настройка
  3. TopicStarter Overlay
    Ania_44
    Offline

    Ania_44

    Регистрация:
    11 ноя 2009
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Я перенесла всё в СКД, я знаю, что это такое. Но при нажатии на сформировать ничего не выводиться. Я хочу без СКД. Можно не другим цветом, а внизу под таблицей пусть пишеться максимальное и минимальное значение, неужели так это сложно
  4. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.638
    Симпатии:
    948
    Баллы:
    204
    Вы в СКД всем параметрам проставили значения, которые в запросе указали? (кнопку настройка в пользовательском режиме нажмите и на первой вкладке гляньте). Если там параметров нет то в конфигураторе вы на вкладке ПАраметры не сняли галки. Не может быть так что бы все было правильно и отчет не формировался. а настроек по оформлению у СКД гораздо больше чем у конфигуратора.

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