Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) ТабличноеПоле. ОформлениеЯчейки (число прочтений - 8199 )
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
ТабличноеПоле. ОформлениеЯчейки
03. Июля 2006 :: 15:26
Печать  
Не пойму, как применять ОформлениеЯчейки. Печаль Как достучаться до этого объекта?
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТабличноеПоле. ОформлениеЯчейки
Ответ #1 - 03. Июля 2006 :: 16:33
Печать  
Работает только в предопределенных процедурах...

Код
Выбрать все
Процедура ТабличноеПолеПриВыводеСтроки(ТабличноеПоле, ОформлениеСтроки, ДанныеСтроки)
	Готовность = ДанныеСтроки.Готовность;
	Дней_в_ремонте = ДанныеСтроки.Дней_в_ремонте;

    Если Готовность = Сост.В_ремонте Тогда
		Если Дней_в_ремонте > 5 Тогда
			ОформлениеСтроки.Ячейки.Дней.ЦветТекста = 200;
			Если Дней_в_ремонте < 30 Тогда
				ОформлениеСтроки.Ячейки.Дней.Шрифт = гШрифт1;
			Иначе
				ОформлениеСтроки.Ячейки.Дней.Шрифт = гШрифт2;
			КонецЕсли;
		КонецЕсли;
	ИначеЕсли Готовность = Сост.Осмотрен_гарантийный Тогда
		Если Дней_в_ремонте > 5 Тогда
			ОформлениеСтроки.Ячейки.Дней.ЦветТекста = 200;
			Если Дней_в_ремонте < 30 Тогда
				ОформлениеСтроки.Ячейки.Дней.Шрифт = гШрифт1;
			Иначе
				ОформлениеСтроки.Ячейки.Дней.Шрифт = гШрифт2;
			КонецЕсли;
		КонецЕсли;
	КонецЕсли;

	Цвет = ДанныеСтроки.Документ.Цвет;
	FONT = Сред(Цвет, 6, 8);
	BRUSH = Сред(Цвет, 22, 8);
	Если ПустаяСтрока(FONT + BRUSH) = 0 Тогда
		ОформлениеСтроки.Ячейки.Готовность.ЦветФона = Число(BRUSH);
		ОформлениеСтроки.Ячейки.Готовность.ЦветТекста = Число(FONT);
	КонецЕсли;

КонецПроцедуры
 

  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ТабличноеПоле. ОформлениеЯчейки
Ответ #2 - 03. Июля 2006 :: 17:04
Печать  
Что есть "Дней" в
Цитата:
ОформлениеСтроки.Ячейки.Дней.ЦветТекста = 200;

ИД колонки?

Если я пишу
Код
Выбрать все
ОформлениеСтроки.Ячейки.Сумма.ЦветТекста=255 

;
то ругается
"Поле агрегатного объекта не обнаружено (Сумма)"
но текст при этом красит.
Что не так делаю?
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТабличноеПоле. ОформлениеЯчейки
Ответ #3 - 03. Июля 2006 :: 17:36
Печать  
Да, ID колонки, у меня все работает  Улыбка
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ТабличноеПоле. ОформлениеЯчейки
Ответ #4 - 03. Июля 2006 :: 17:47
Печать  
А у меня нет Печаль
Главное, гавкает, что нет такой колонки, но цвет текста меняет.
Но чудес не бывает, причина, видимо, простая. Но пока не найду.
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТабличноеПоле. ОформлениеЯчейки
Ответ #5 - 03. Июля 2006 :: 21:16
Печать  
Ну где то косяк...

Зайди отладчиком, запусти обработку, щелкни на ТабПоле, Shift-F9, и изучай вволю Улыбка

Делов то на минуту...


Глянь, правильно ли добавляешь колонки,
Колонка = Колонки.Добавить("Номер"); // ID колонки
Колонка.Заголовок = "Номер"; // ее заголовок
Колонка.Данные = "Номер"; // поле источника данных (SQL, ТЗ...)

А то может с наименованиями намудрил...
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ТабличноеПоле. ОформлениеЯчейки
Ответ #6 - 04. Июля 2006 :: 07:41
Печать  
Цитата:
Если я пишу 
Код:
ОформлениеСтроки.Ячейки.Сумма.ЦветТекста=255

;
то ругается
"Поле агрегатного объекта не обнаружено (Сумма)"
но текст при этом красит.


Ругается при при первоначальном показе ТабличногоПоля (для строк, которые видны сразу после показа).
Если потом двигаться по ТабличномуПолю вниз, то ПриВыводеСтроки() для строк, которые ниже, отрабатывает нормально. без ругани.
Никак не пойму, в чем дело. Печаль
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТабличноеПоле. ОформлениеЯчейки
Ответ #7 - 04. Июля 2006 :: 07:53
Печать  
Так а в источнике данных у тебя поле Сумма есть?
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ТабличноеПоле. ОформлениеЯчейки
Ответ #8 - 04. Июля 2006 :: 08:04
Печать  
Цитата:
Так а в источнике данных у тебя поле Сумма есть?

Конечно есть.
Ругается только на ПЕРВЫЕ (которые влазят по высоте в ТабличноеПоле) строки. При листании и показе следующих строк все нормально.
Вот пример.
  

tp.zip ( 3 KB | Загрузки )
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ТабличноеПоле. ОформлениеЯчейки
Ответ #9 - 04. Июля 2006 :: 10:43
Печать  
Ну гляньте кто-нибудь аттач, плиз.
Что неправильно?
  
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ТабличноеПоле. ОформлениеЯчейки
Ответ #10 - 04. Июля 2006 :: 11:20
Печать  
Мучает вопрос, считать такое поведение багом или искать бага у себя в голове? Плачущий
  
Наверх
ICQ  
IP записан
 
Aurelius
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Местоположение: г. Долгопрудный, МО
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: ТабличноеПоле. ОформлениеЯчейки
Ответ #11 - 04. Июля 2006 :: 11:26
Печать  
В таком виде работает:
Код
Выбрать все
	ТабПоле.ПоставщикДанных = СоздатьОбъект("ПоставщикДанныхТЗ");

	Колонки=ТабПоле.Колонки;

	Колонка=Колонки.Добавить("Клиент");
	Колонка.Заголовок="КЛИЕНТ";
	Колонка.Данные="Клиент";

	Колонка=Колонки.Добавить("Сумма");
	Колонка.Заголовок="СУММА";
	Колонка.Данные="Сумма";  

	ТабПоле.ПоставщикДанных.УстТаблицуЗначений(ТЗ);
	ТабПоле.ОбновитьСтроки();
 


Метод УстТаблицуЗначений надо выполнять после создания колонок.
  
Наверх
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ТабличноеПоле. ОформлениеЯчейки
Ответ #12 - 04. Июля 2006 :: 11:30
Печать  
Цитата:
Метод УстТаблицуЗначений надо выполнять поосле создания колонок.

Спасибо, брат Очень довольный
Никогда бы сам не догадался.
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать