Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Как разукрасить Дерево+ТЗ? (число прочтений - 5327 )
brian001
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 6
Зарегистрирован: 29. Октября 2008
Как разукрасить Дерево+ТЗ?
29. Октября 2008 :: 09:50
Печать  
Есть обработка с использованием Дерева + ТЗ. Хотел добавть раскраску строк в ТЗ. Для этого добавил новую колонку "Раскраска". Но, даже при насильной установке значения колонки ( ="BRUSH[52377]" ), раскраска все равно не происходит. В "Сервисе / параметры / FormEx ..." раскраска таблиц включена. Подскажите, пожалуйста, в чем ошибка.
Пример кода:

Код
Выбрать все
Процедура ПриОткрытии()

	иТЗ=СоздатьОбъект("ИндексированнаяТаблица");

	ТЗ.НоваяКолонка("Ветка");
	ТЗ.НоваяКолонка("Значек");
	ТЗ.НоваяКолонка("Имя",,75,,,75);
	ТЗ.НоваяКолонка("СтавокВсего");
	ТЗ.НоваяКолонка("ЗанятоСтавок");
	ТЗ.НоваяКолонка("Вакантно");

	//• Beginning add © 2008-10-29 10:33:19
	ТЗ.НоваяКолонка("Раскраска");
	ТЗ.ВидимостьКолонки("Раскраска",0);
	//• End © 2008-10-29 10:33:19

	Структура=ЗначениеВСтрокуВнутр(ТЗ);

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

Процедура ПослеОткрытия()
	АтрибутФормы_ТЗ=СоздатьОбъект("АтрибутФормы");
	АтрибутФормы_ТЗ.УстановитьАтрибут(Форма,"ТЗ");
	АтрибутФормы_ТЗ.ПерехватитьТаблицуЗначений();

	РасширениеФормы = СоздатьОбъект("РасширениеФормы");
	РасширениеФормы.УстановитьФорму(Форма);
	РасширениеФормы.РаскрашиватьТаблицу("тз");
КонецПроцедуры // Послеоткрытия


Процедура Сформировать()
	//• заполняем иТЗ
	иТЗ.Загрузить(ОтборSQL());
	иТЗ.Группировать("КФ_Смена:КФ_Смена","СтавокВсего,ЗанятоСтавок",1);

	иТЗ.ВыбратьСтроки();
	ТЗ.УдалитьСтроки();

	//• создаем первый уровень
	Наименование_ветки_1=выбВладелец;
	ТЗ.НоваяСтрока();
	ТЗ.Имя=Наименование_ветки_1;
	ТЗ.СтавокВсего =иТЗ.Итог("СтавокВсего");
	ТЗ.ЗанятоСтавок=иТЗ.Итог("ЗанятоСтавок");
	ТЗ.Вакантно    =иТЗ.Итог("СтавокВсего")-иТЗ.Итог("ЗанятоСтавок");
	ТЗ.Раскраска   ="BRUSH[52377]";
	ТЗ.Ветка=ЗначениеИзСтрокиВнутр(Структура);

	Пока ИТЗ.ПолучитьСтроку() = 1 Цикл
		.
		.
		.
		.
		.
	КонецЦикла;
	АтрибутФормы_ТЗ.ОбновитьДерево();
КонецПроцедуры
 

  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Как разукрасить Дерево+ТЗ?
Ответ #1 - 31. Октября 2008 :: 05:49
Печать  
И что по вашему эта колонка будет раскрашивать?
Если ты ставишь ее в конце таблиы то раскраска(по старому) будет работать на калонки которые следуют за ней.
По сему надо использовать в макросе еще и IDENT
но луче (по моему мнению) уже использовать новый план раскраски.
Тогда проблем не будет вообще.
ТЗ.НоваяКолонка("Раскраска","Строка",100,,"FormEx_ПланРаскраски");

а для раскрашивания делаеш так:
ТЗ.Раскраска   ="(BRUSH[52377])";
Ну если чето еще непонятно то смотри доку по новому плану раскаски.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как разукрасить Дерево+ТЗ?
Ответ #2 - 31. Октября 2008 :: 07:27
Печать  
varelchik писал(а) 31. Октября 2008 :: 05:49:
но лучше (по моему мнению) уже использовать новый план раскраски.
Тогда проблем не будет вообще.

+1
И реальное ускорение работы по сравнение со старой раскраской.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Как разукрасить Дерево+ТЗ?
Ответ #3 - 31. Октября 2008 :: 10:03
Печать  
artbear писал(а) 31. Октября 2008 :: 07:27:
varelchik писал(а) 31. Октября 2008 :: 05:49:
но лучше (по моему мнению) уже использовать новый план раскраски.
Тогда проблем не будет вообще.

+1
И реальное ускорение работы по сравнение со старой раскраской.


Артур хотел всегда спросить а насколько реально в дерево сделать метод "ПриВыводеСтроки" аналогичный ТП? Бред конечно, и может никому не надо, но все таки.  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Как разукрасить Дерево+ТЗ?
Ответ #4 - 31. Октября 2008 :: 10:34
Печать  
А зачем?
И причем здесь при выводе строки?
Есть же при разворачивании сворачивании Узла.
разве этого мало?
И вообще что в твоем понятии ПриВыводе строки, когда ТЗ уже сформирована и захвачена.
Это ж не поставщик.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Как разукрасить Дерево+ТЗ?
Ответ #5 - 31. Октября 2008 :: 18:22
Печать  
varelchik писал(а) 31. Октября 2008 :: 10:34:
А зачем?
И причем здесь при выводе строки?
Есть же при разворачивании сворачивании Узла.
разве этого мало?
И вообще что в твоем понятии ПриВыводе строки, когда ТЗ уже сформирована и захвачена.
Это ж не поставщик.


Да нееее..... Сворачивание/Разворачивание совсем не причем. Просто на мой взгляд раскраской намного удобнее управлять в ПриВыводеСтроки (хотя при первом знакомстве с ТП и 8-ой меня это совсем не впечатляло, а потом втянулся чтоли Улыбка). Хотя если по техническим (логическим или иным причинам) это сложно (читай долго и дорого) реализуемо тогда я как бы ничего не спрашивал и не просил  Очень довольный Круглые глаза
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Как разукрасить Дерево+ТЗ?
Ответ #6 - 31. Октября 2008 :: 18:32
Печать  
Ты непонял наверное.
ПЕще раз повторяю ПриВыводеСтроки
этож не поставщик
ТЗ уже захвачена.
А вообще ты луче с АЛьФом на эту нему общайся.
А что в 8.Х есть такое понятие у Дерева при выводе строки?
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Как разукрасить Дерево+ТЗ?
Ответ #7 - 31. Октября 2008 :: 19:34
Печать  
varelchik писал(а) 31. Октября 2008 :: 18:32:
Ты непонял наверное.
ПЕще раз повторяю ПриВыводеСтроки
этож не поставщик
ТЗ уже захвачена.
А вообще ты луче с АЛьФом на эту нему общайся.
А что в 8.Х есть такое понятие у Дерева при выводе строки?


У меня к Альфу счас столько просьб накопилось что не знаю с какой ему напоминать  Смех. И зная что скорее всего можно не ждать спрашиваю только то что надо и ему и мне. Да и то это касаемо КЗК. А FormEx вполне текущим функционалом устраивает.
А по 8.х.... я конечно с ней общаюсь настолько редко в связи с наличием большого объема на 7.7, что счас можешь меня поправить если я не прав, но события
ПриВыводеСтроки ровно как и остальные (ПриАктивизации..., Выбор...) - это события табличного поля. И не зависимо от того "что есть поставщик" оно существует и вызывается.
Впрочем пусть мне ответит Артур и окончательно скажет я бред несу (в который раз) или же есть такая возможность в принципе.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как разукрасить Дерево+ТЗ?
Ответ #8 - 01. Ноября 2008 :: 04:52
Печать  
Отвечаю по "ПриВыводеСтроки"
ИМХО В 1С оно настолько часто вызывается, что программная обработка не внутри ФормЕкс, а в 1С, будет только сильно тормозить систему.
Хотя, конечно, нужно протестить на самом деле Улыбка

Но я этим вопросом вплотную не занимался, тут полное авторство Алексея. ИМХО у него по этой теме знаний побольше, было бы интересно узнать его мнение.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Filin
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 4
Зарегистрирован: 29. Января 2008
Re: Как разукрасить Дерево+ТЗ?
Ответ #9 - 01. Ноября 2008 :: 09:26
Печать  
Почему то после перехвата ТЗ не работает план раскраски. Пытается раскрашивать по старому.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как разукрасить Дерево+ТЗ?
Ответ #10 - 01. Ноября 2008 :: 10:22
Печать  
Filin писал(а) 01. Ноября 2008 :: 09:26:
Почему то после перехвата ТЗ не работает план раскраски. Пытается раскрашивать по старому.

Новый план раскраски нужно включить программно. См. описание.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Filin
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 4
Зарегистрирован: 29. Января 2008
Re: Как разукрасить Дерево+ТЗ?
Ответ #11 - 01. Ноября 2008 :: 10:30
Печать  
Программно включил естественно. Если не перехватывать таблицу - все отлично. После перехвата - не работает.
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Как разукрасить Дерево+ТЗ?
Ответ #12 - 02. Ноября 2008 :: 19:39
Печать  
Баг подтверждаю.
при перехвате раскраска не работает.
смотрим пример.
если включить после открытия, то все каюк цвета нету.
А ведь со старым (использование INDENT[]) было нормально, в смысле что раскраска работала.
Мы ж еще давно с Алексеем это закрывали и касательно обновления раскарски при изменении значения цвета в ячейке с макросами.
Так вот по словал АЛьФа на дереве новая раскраска не работает.
Соответственно используем старый вариант с INDENT[] пока иначе никак.
И еще.
Тот баг что был недавно мною описан на раскарске списков как нестранно на дереве не реализуется.
Ссылку непомню, ищите тута.
  

_____001.ert ( 67 KB | Загрузки )
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать