Имя: Пароль:
1C
1С v8
Чередование цвета строк в отчете без СКД.
0 neriel
 
22.12.14
16:12
Доброго времени суток. Подскажите пожалуйста как настроить чередование цвета строк(белый\серый) в отчете, без использования СКД.
Тип макета - Табличный документ.
1С 8.1 учебная версия.
1 antoneus
 
22.12.14
16:16
Серый = Истина;

.....

Если Серый Тогда
    ТабДок.Вывести(ОбластьСеройСтроки);
    Серый = Ложь
Иначе
    ТабДок.Вывести(ОбластьБелойСтроки);
    Серый = Истина
КонецЕсли
2 antoneus
 
22.12.14
16:17
Даже не так

Серый = Истина;

.....


Если Серый Тогда
    ТабДок.Вывести(ОбластьСеройСтроки);
Иначе
    ТабДок.Вывести(ОбластьБелойСтроки);
КонецЕсли

Серый = не Серый
3 anatoly
 
22.12.14
16:21
(0) отчет как выводишь?
4 neriel
 
22.12.14
16:37
(3) По клику мыши открывается форма отчета. По клику мыши на кнопку Сформировать выводит список существующих документов Оказание.Услуги
Или я не так понял вопрос?
5 neriel
 
22.12.14
16:51
Вот так форма отчета выглядит.

Процедура ДействияФормыРеестрДокументовОказаниеУслугиСформировать(Кнопка)
    //{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА(РеестрДокументовОказаниеУслуги)
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
    РеестрДокументовОказаниеУслуги(ТабДок);
    
    //}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА
КонецПроцедуры

Процедура РеестрДокументовОказаниеУслуги(ТабДок) Экспорт
    //{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ(РеестрДокументовОказаниеУслуги)
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    Макет = ОтчетОбъект.ПолучитьМакет("РеестрДокументовОказаниеУслуги");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ОказаниеУслуги.Дата КАК Дата,
    |    ОказаниеУслуги.Номер КАК Номер,
    |    ОказаниеУслуги.Склад,
    |    ПРЕДСТАВЛЕНИЕ(ОказаниеУслуги.Склад),
    |    ОказаниеУслуги.Мастер,
    |    ПРЕДСТАВЛЕНИЕ(ОказаниеУслуги.Мастер),
    |    ОказаниеУслуги.Клиент,
    |    ПРЕДСТАВЛЕНИЕ(ОказаниеУслуги.Клиент)
    |ИЗ
    |    Документ.ОказаниеУслуги КАК ОказаниеУслуги
    |
    |УПОРЯДОЧИТЬ ПО
    |    Дата,
    |    ОказаниеУслуги.Ссылка";

    Результат = Запрос.Выполнить();

    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();

    ВыборкаДетали = Результат.Выбрать();

    Пока ВыборкаДетали.Следующий() Цикл
        ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
        ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
    КонецЦикла;

    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Вывести(ОбластьПодвалТаблицы);
    ТабДок.Вывести(ОбластьПодвал);

    //}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ
КонецПроцедуры

Пробовал сделать что-нибудь вроде этого, но не получилось.
Либо ставил не там...

ТабДок.ЦветФонаЧередованияСтрок = WEBЦвета.Серый;
ТабДок.ЧередованиеЦветовСтрок = Истина;

(2) Если честно, не понимаю куда именно это писать
6 anatoly
 
22.12.14
16:57
то что ты в конце Чередование написал - вообще не в тему...

вначале:
Чередование = Истина;

после:
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
вставь:
ОбластьДетальныхЗаписей.ЦветФона = ?(Чередование, Серый, Белый);
Чередование = НЕ Чередование;

цветы я думаю сам подберешь...
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn