Модераторы: stron
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выделение фоном нужной строки, Отчетная таблица 
:(
    Опции темы
Fyrklod
Дата 22.11.2008, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 17.10.2006

Репутация: нет
Всего: 1



Доброе время суток!  Хотелось бы узнать как программно в отчетных таблицах строки выделять другими цветом ?

Точнее как выделять знаю :
Код

Таб = СоздатьОбъект("Таблица");
ВыбОбласть = Таб.Область("R8C4");
ВыбОбласть.ЦветФона(34, 126, 211);


Но что если я не знаю Адрес необходимой области????


--------------------
Зачем компьютеры пищат, когда нажимаешь сразу много клавиш? Чтобы будить уснувших на клавиатуре программистов!
PM MAIL   Вверх
AkelaSQL
Дата 22.11.2008, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 392
Регистрация: 14.9.2007
Где: Москва

Репутация: 6
Всего: 7



Присвой ей ИМЯ


--------------------
user posted image
PM MAIL ICQ   Вверх
Fyrklod
Дата 22.11.2008, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 17.10.2006

Репутация: нет
Всего: 1



Гм! Прошу прощения, но имя , я так понимаю - Индетефикатор...
что-то я не вижу в таблице не для ячейки, не для группы ячеек (как мне надо), не для строки ничего эдакого

мож я не правильно сделал, что написал пример для одной ячейки ... пример приводился для того чтобы мне не кидали метод ЦветФона()

В общем мне нужно выделение в отчете для визуальной демонстрации каких-то условий,
т.е есть значения -1 5 6 2 4  0 1 я хочу выделить те строки в которых выведутся значения больше 1... в зависимости от того как буду выводиться значения, по-разному порядок выделения будет.... вот и хочу знать как в этом случае выделять строки цветом
--------------------
Зачем компьютеры пищат, когда нажимаешь сразу много клавиш? Чтобы будить уснувших на клавиатуре программистов!
PM MAIL   Вверх
AkelaSQL
Дата 22.11.2008, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 392
Регистрация: 14.9.2007
Где: Москва

Репутация: 6
Всего: 7



Код

    Запрос.Текст = ТекстЗапроса;
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.СледующийПоЗначениюПоля("Сотрудник") Цикл
        Область                            = Макет.ПолучитьОбласть("Строка|Основной");
        Область.Параметры.Сотрудник     = ФамилияИИнициалы(Выборка.Сотрудник.Наименование);
        ТабДокумент.Вывести(Область);
        Минус = 0;
        Плюс = 0;
        Итоговый = 0;
        ТаблицаИтогов.Очистить();
        ТаблицаИтоговФакт.Очистить();
        Пока Выборка.СледующийПоЗначениюПоля("Период") Цикл
            Если ТолькоИтоги = Ложь Тогда
                Если Выборка.Состояние.ПризнакОплаты = Ложь Тогда
                    Утро = 0;
                    Вечер = 0;
                Иначе
                    Утро = Выборка.Утро;
                    Вечер = Выборка.Вечер;
                КонецЕсли;
                Ячейка = Макет.Область("Отклонение");
                Если Выборка.Направление = 0 Тогда
                    Ячейка.ЦветФона = WebЦвета.Белый;
                    Ячейка.ЦветТекста = WebЦвета.Черный;
                ИначеЕсли Выборка.Направление = 3 Тогда
                    Ячейка.ЦветФона = WebЦвета.СветлоЗолотистый;
                    Если Выборка.Отклонение >= 0 Тогда
                        Ячейка.ЦветТекста = WebЦвета.Черный;
                    Иначе
                        Ячейка.ЦветТекста = WebЦвета.Красный;
                    КонецЕсли; 
                Иначе
                    Если Выборка.Отклонение > ДопустимоеОпоздание Тогда
                        Ячейка.ЦветФона = WebЦвета.Циан;
                        Ячейка.ЦветТекста = WebЦвета.Черный;
                    ИначеЕсли Выборка.Отклонение < -ДопустимоеОпоздание Тогда
                        Ячейка.ЦветФона = WebЦвета.СветлоРозовый;
                        Ячейка.ЦветТекста = WebЦвета.Черный;
                    Иначе
                        Ячейка.ЦветФона = WebЦвета.СветлоЗеленый;
                        Если Выборка.Отклонение >= 0 Тогда
                            Ячейка.ЦветТекста = WebЦвета.Черный;
                        Иначе
                            Ячейка.ЦветТекста = WebЦвета.Красный;
                        КонецЕсли; 
                    КонецЕсли; 
                КонецЕсли; 
                Ячейка = Макет.Область("Утро");
                Если Утро > ДопустимоеОпоздание/2 Тогда
                    Ячейка.ЦветФона = WebЦвета.Циан;
                    Ячейка.ЦветТекста = WebЦвета.Черный;
                ИначеЕсли Утро < -ДопустимоеОпоздание/2 Тогда
                    Ячейка.ЦветФона = WebЦвета.СветлоРозовый;
                    Ячейка.ЦветТекста = WebЦвета.Черный;
                Иначе
                    Ячейка.ЦветФона = WebЦвета.СветлоЗеленый;
                    Если Утро >= 0 Тогда
                        Ячейка.ЦветТекста = WebЦвета.Черный;
                    Иначе
                        Ячейка.ЦветТекста = WebЦвета.Красный;
                    КонецЕсли; 
                КонецЕсли; 
                Ячейка = Макет.Область("Вечер");
                Если Вечер > ДопустимоеОпоздание/2 Тогда
                    Ячейка.ЦветФона = WebЦвета.Циан;
                    Ячейка.ЦветТекста = WebЦвета.Черный;
                ИначеЕсли Вечер < -ДопустимоеОпоздание/2 Тогда
                    Ячейка.ЦветФона = WebЦвета.СветлоРозовый;
                    Ячейка.ЦветТекста = WebЦвета.Черный;
                Иначе
                    Ячейка.ЦветФона = WebЦвета.СветлоЗеленый;
                    Если Вечер >= 0 Тогда
                        Ячейка.ЦветТекста = WebЦвета.Черный;
                    Иначе
                        Ячейка.ЦветТекста = WebЦвета.Красный;
                    КонецЕсли; 
                КонецЕсли; 
                Область = Макет.ПолучитьОбласть("Строка|Период");
                Область.Параметры.Состояние = Выборка.СостояниеФакт;
                Область.Параметры.Отклонение = ?(Выборка.Отклонение>0,ПустаяДата+Выборка.Отклонение,ПустаяДата-Выборка.Отклонение);
                Область.Параметры.Утро = ?(Утро>0,ПустаяДата+Утро,ПустаяДата-Утро);
                Область.Параметры.Вечер = ?(Вечер>0,ПустаяДата+Вечер,ПустаяДата-Вечер);
                ТабДокумент.Присоединить(Область);
            КонецЕсли;
        
            Если Выборка.Отклонение > 0 Тогда
                Плюс = Плюс + Выборка.Отклонение;
            Иначе
                Минус = Минус + Выборка.Отклонение;
            КонецЕсли;
            ТекСостояние = СписокСостояний.НайтиПоЗначению(Выборка.Состояние);
            ТекСостояниеФакт = СписокСостоянийФакт.НайтиПоЗначению(Выборка.СостояниеФакт);
            Если ТекСостояние = Неопределено Тогда
                Сообщить("Запись от " + Строка(Выборка.Период) + " по сотруднику: " + СокрЛП(Выборка.Сотрудник.Наименование) + " ошибочна!");
            Иначе
                НоваяСтрока = ТаблицаИтогов.Добавить();
                НоваяСтрока.Состояние = Выборка.Состояние;
                НоваяСтрока.Порядок = ТекСостояние.Представление;
                НоваяСтрока.Дней = 1;
                НоваяСтрока.Часов = Выборка.Запланировано;
                
                НоваяСтрокаФ = ТаблицаИтоговФакт.Добавить();
                НоваяСтрокаФ.Состояние = Выборка.СостояниеФакт;
                НоваяСтрокаФ.Порядок = ТекСостояниеФакт.Представление;
                НоваяСтрокаФ.Дней = 1;
                НоваяСтрокаФ.Часов = Выборка.Отработано;
                
            КонецЕсли;
        КонецЦикла; 
        Итоговый = Плюс + Минус;
        Ячейка = Макет.Область("Минус");
        Ячейка.ЦветФона = WebЦвета.СветлоРозовый;
        Ячейка.ЦветТекста = WebЦвета.Черный;
        Ячейка = Макет.Область("Плюс");
        Ячейка.ЦветФона = WebЦвета.Циан;
        Ячейка.ЦветТекста = WebЦвета.Черный;
        Ячейка = Макет.Область("Итоговый");




--------------------
user posted image
PM MAIL ICQ   Вверх
Fyrklod
Дата 23.11.2008, 01:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 17.10.2006

Репутация: нет
Всего: 1



Гм! Надеюсь я правильно прочел твой код smile !
"Люблю" читать коды когда они чистые (без коментов и т.д и т.п) .. ну вроде понял.... спасибо
--------------------
Зачем компьютеры пищат, когда нажимаешь сразу много клавиш? Чтобы будить уснувших на клавиатуре программистов!
PM MAIL   Вверх
Zero
Дата 23.11.2008, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 15
Всего: 24



Цитата(Fyrklod @  23.11.2008,  01:38 Найти цитируемый пост)
"Люблю" читать коды когда они чистые (без коментов и т.д и т.п)

Это специальный стиль программирования, под названием "чтоб никто не подсидел" smile 
PM MAIL ICQ   Вверх
AkelaSQL
Дата 24.11.2008, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 392
Регистрация: 14.9.2007
Где: Москва

Репутация: 6
Всего: 7



Ну это, если я единственный программер в конторе и пишу тока для себе, нах мне каменты писать?
Я понимаю, это конечно плохо, что их нет, да вот только ситуация такова. что я код писать не успеваю, а тут ещё и каменты... А потом хелпы, а потом объяснить и научить.... по три раза блин...

Вот, что я хотел до тебя донести:

 Ячейка = Макет.Область("Утро");
                Если Утро > ДопустимоеОпоздание/2 Тогда
                    Ячейка.ЦветФона = WebЦвета.Циан;


--------------------
user posted image
PM MAIL ICQ   Вверх
Fyrklod
Дата 24.11.2008, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 17.10.2006

Репутация: нет
Всего: 1



Да ничего страшного, я понял.... хотя тебе сочувствую... одному быть тяжко
Но про коменты я говорил из-за того, что в начале не уверен был в названии некоторых компонентов.. ты же не оставил стандартные имена (Таблица - это у тебя Макет, ну и т.д. )

--------------------
Зачем компьютеры пищат, когда нажимаешь сразу много клавиш? Чтобы будить уснувших на клавиатуре программистов!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "1C: Предприятие, SAP, ERP и учётные системы"
stron

Запрещается!

1. Обсуждение крэков, кейгенов и других подобных программ

Пробуйте искать сами или обращайтесь в приват к участникам форума.

Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения.

Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...)

2. Давать ссылки на взломанные продукты

  • Пожалуйста, пользуйтесь поиском перед тем, как задать вопрос - возможно ответ уже есть на форуме.
  • Название темы должно отражать её суть
  • Действия модераторов можно обсудить здесь

С уважением, stron, Pegas.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | 1C: Предприятие, SAP, ERP и учётные системы | Следующая тема »


 




[ Время генерации скрипта: 0.0457 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.