powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Цветовыделение строк элемента ТабличноеПоле
30 сообщений из 30, показаны все 2 страниц
Цветовыделение строк элемента ТабличноеПоле
    #36635537
Gennadiy83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем, здравствуйте!!! Стоит задача заполнения табличного поля с проверкой некоторых данных. Возникло желание выполнять цветовое выделение строк с правильными данными. Подскажите возможно это сделать и как?
Спасибо за помощь.
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36635538
Gennadiy83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Платформа 8.1
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36635546
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотри привыводестроки - там назначай цвет.
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36635576
Gennadiy83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При анализе данных строк делаю так:

ЦветСтр = Новый Цвет(255, 0, 0); // красный
Для Каждого СтрТаб Из ППВТаблПоле Цикл
Если ...блабла... Тогда
СтрТаб.ЦветФонаПоля = ЦветСтр; //!!! ОШИБКА, ЦветФонаПоля - свойство отсутствует
КонецЕсли;
КонецЦикла;

Вопрос: какое свойство нужно использовать?
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36635586
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Процедура хПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
		
	Если ДанныеСтроки.ТипСтроки 		=  1  Тогда
		ОформлениеСтроки.ЦветФона 		= WebЦвета.ШелковыйОттенок;
	ИначеЕсли ДанныеСтроки.ТипСтроки 	=  2  Тогда
		ОформлениеСтроки.ЦветФона 		= WebЦвета.Хаки;
	ИначеЕсли ДанныеСтроки.ТипСтроки 	=  3  Тогда
		ОформлениеСтроки.ЦветФона 		= WebЦвета.СлоноваяКость;
	ИначеЕсли ДанныеСтроки.ТипСтроки 	=  4  Тогда
		ОформлениеСтроки.ЦветФона 		= WebЦвета.Роса;
	ИначеЕсли ДанныеСтроки.ТипСтроки 	=  5  Тогда
		ОформлениеСтроки.ЦветФона 		= WebЦвета.Белый;		
	КонецЕсли;
		
КонецПроцедуры
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36635589
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сказали же при выводе строки ...
нет готовое просят ...
1с расслабляет
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36635590
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
ЦветСтр = Новый Цвет( 255 ,  0 ,  0 );

это кстати при определенных условиях вообще жесть ...
ну да ладно
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36635597
Gennadiy83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо, все получилось
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36635641
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy83Всем спасибо, все получилось

По хорошему надо бы не ПриВыводеСтроки, а при ПолученииДанных
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36635669
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть сомнения? )
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36635686
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотя если найдете событие приПолученииДанных ... можете дерзать ...
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36635723
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а знаете почему так можно?
потому что в оконной процедуре
сообщение на перекраску окно получает при каждой развертке экрана если я не ошибаюсь
ну да ладно ))) не важно )
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36635862
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leafа знаете почему так можно?
потому что в оконной процедуре
сообщение на перекраску окно получает при каждой развертке экрана если я не ошибаюсь
ну да ладно ))) не важно )

Событие ПриПолученииДанных предпочтительнее потому что ПриВыводеСтроки вызывается на каждую строку, а при ПриПолученииДанных один раз на массив строк. Проводил эксперименты, раскраска в ПриПолучении данных визуально отрабатывала существенно быстрее, чем при выводе строки.
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36636076
Gennadiy83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitriyZleafа знаете почему так можно?
потому что в оконной процедуре
сообщение на перекраску окно получает при каждой развертке экрана если я не ошибаюсь
ну да ладно ))) не важно )

Событие ПриПолученииДанных предпочтительнее потому что ПриВыводеСтроки вызывается на каждую строку, а при ПриПолученииДанных один раз на массив строк. Проводил эксперименты, раскраска в ПриПолучении данных визуально отрабатывала существенно быстрее, чем при выводе строки.

Окраска происходит, но при использовании события ПриВыводеСтроки происходит нечто вроде зацикливания и форма подвешивает приложение.
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36636088
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy83DmitriyZleafа знаете почему так можно?
потому что в оконной процедуре
сообщение на перекраску окно получает при каждой развертке экрана если я не ошибаюсь
ну да ладно ))) не важно )

Событие ПриПолученииДанных предпочтительнее потому что ПриВыводеСтроки вызывается на каждую строку, а при ПриПолученииДанных один раз на массив строк. Проводил эксперименты, раскраска в ПриПолучении данных визуально отрабатывала существенно быстрее, чем при выводе строки.

Окраска происходит, но при использовании события ПриВыводеСтроки происходит нечто вроде зацикливания и форма подвешивает приложение.Ни разу не подвешивал. Пример?

Привыводестроки автору будет проще использовать чем при получении данных
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36636106
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
приведенный код точно не подвесит ...
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36636150
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просто надо понимать , что на самом деле работаешь с сообщением onPaint или onDraw
и кистями виндоуз
тогда не повиснет
кстати надо попробывать как DmitriyZ говорит
что то в этом есть
осталось выяснить вопрос с перерисовкой картинки при свертки окна например и т.п.
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36636183
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
ПриПолученииДанных(<Оформления строк>) 

собственно в моем случае не подходит потому что :
на 2 параметра меньше и один из них я использую
то есть :
не вижу способа раскрасить строки в зависимости от значения в строчке таблицы

собственно поэтому и не используется наверное

p.s.
в букварь ->"простые примеры разработки"
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36636224
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leaf
Код: plaintext
ПриПолученииДанных(<Оформления строк>) 

собственно в моем случае не подходит потому что :
на 2 параметра меньше и один из них я использую
то есть :
не вижу способа раскрасить строки в зависимости от значения в строчке таблицы

собственно поэтому и не используется наверное

p.s.
в букварь ->"простые примеры разработки"

Я всю жизнь ошибался?
Для Каждого Строка Из ОформленияСтрок Цикл

Если Строка.ДанныеСтроки.Количество < 0 Тогда
Строка.ЦветФона = WEBЦвета.Красный;
КонецЕсли;

КонецЦикла
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36636271
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все верю вопрос снят ...
мои извинения ...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Как изменить цвет фона ячейки табличного поля в зависимости от значения, выводимого в нее? 
Процедура ТоварыПриПолученииДанных(Элемент, ОформленияСтрок) 

	Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл 
		ЗначениеЯчейкиОстаток = ОформлениеСтроки.Ячейки.Остаток.Значение; 
	
		Если ЗначениеЯчейкиОстаток <> Неопределено Тогда 

			Если ЗначениеЯчейкиОстаток <  10  Тогда 
				ОформлениеСтроки.Ячейки.Остаток.ЦветФона = WebЦвета.Красный; 

			ИначеЕсли ЗначениеЯчейкиОстаток >  100  Тогда 
				ОформлениеСтроки.Ячейки.Остаток.ЦветФона = WebЦвета.Желтый; 
			КонецЕсли; 
		КонецЕсли; 
	КонецЦикла; 

КонецПроцедуры 
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36636681
Gennadiy83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И всё же почему-то постоянно генерируется событие ПриПолученииДанных, что приводит к зацикливанию.
Ставил точку останова в месте заполнения табличного поля, отрабатывает верно и только 1 раз:

Запрос.Текст = блабла;
Запрос.УстановитьПараметр("НачПериода", НачалоДня(НачПериода));
Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода));
РезультатЗапроса = Запрос.Выполнить();

...заполняю и модифицирую ТаблицуЗначений - ППВТаблЗнач

ППВТаблПоле = ППВТаблЗнач;
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36636721
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СоздатьКолонки() что ли?
не понятно как то
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36636740
Gennadiy83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понял вопроса. Табличное поле заполняется корректно
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36637017
DmitriyZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy83И всё же почему-то постоянно генерируется событие ПриПолученииДанных, что приводит к зацикливанию.
Ставил точку останова в месте заполнения табличного поля, отрабатывает верно и только 1 раз:

Запрос.Текст = блабла;
Запрос.УстановитьПараметр("НачПериода", НачалоДня(НачПериода));
Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода));
РезультатЗапроса = Запрос.Выполнить();

...заполняю и модифицирую ТаблицуЗначений - ППВТаблЗнач

ППВТаблПоле = ППВТаблЗнач;

А что значит зацикливание? ТП раскрашивается / не раскрашивается? Система уходит в даун, или как. Событие ПриПолученииДанных вызывается при перерисовке формы.
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36638166
supervk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gennadiy83И всё же почему-то постоянно генерируется событие ПриПолученииДанных, что приводит к зацикливанию.Ты это зацикливание случайно не в режиме отладки наблюдаешь? Ну в смысле, установив точку останова в событии ПриПолученииДанных.
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36638243
Gennadiy83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
supervkGennadiy83И всё же почему-то постоянно генерируется событие ПриПолученииДанных, что приводит к зацикливанию.Ты это зацикливание случайно не в режиме отладки наблюдаешь? Ну в смысле, установив точку останова в событии ПриПолученииДанных.

Если бы только в режиме отладки... Во время работы обработки с трудом получается пошевелить линейкой прокрутки табличного поля.
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36638256
Gennadiy83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitriyZ
А что значит зацикливание? ТП раскрашивается / не раскрашивается? Система уходит в даун, или как. Событие ПриПолученииДанных вызывается при перерисовке формы.

Зацикливание - постоянно генерится событие ПриПолученииДанных
ТП - раскрашивается
Система остается в рабочем состоянии, но линейка ТП двигается с задержкой, закрытие формы с задержкой.
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36638349
Gennadiy83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, я понял почему зацикливание!!!

При генерации события ПриПолученииДанных, для проверки данных строки у меня происходило соединение с БД внешнего приложения, выполнялся запрос, обрабатывались результаты и т.п. Все это занимает процессорное время и т.д.

Я переделал так, что обращение к БД внешнего приложения выполнялось 1 раз, теперь не происходит зацикливания, но возникла другая проблемка: при перемещении линейкой прокрутки не выполняется окраска нижних строк.
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36638364
Gennadiy83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy83
но возникла другая проблемка: при перемещении линейкой прокрутки не выполняется окраска нижних строк.

Я решил эту проблему: заменил на событие ПриВыводеСтроки

Всем огромное спасибо за участие и столь подробное объяснение
...
Рейтинг: 0 / 0
Цветовыделение строк элемента ТабличноеПоле
    #36638452
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Я решил эту проблему: заменил на событие ПриВыводеСтроки
...
Рейтинг: 0 / 0
30 сообщений из 30, показаны все 2 страниц
Форумы / [игнор отключен] [закрыт для гостей] / Цветовыделение строк элемента ТабличноеПоле
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]