Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) ТП и расскраска отдельных строк, не изменяя Поставщика? (число прочтений - 4326 )
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
ТП и расскраска отдельных строк, не изменяя Поставщика?
11. Сентября 2008 :: 06:08
Печать  
Народ подскажите плизз.

Есть ТП хотелось бы следующее, при пробегании по поставщику, в случае если условие сработало, эту строку в ТП выделить цветом.
делаю так, но не работает Печаль
Код
Выбрать все
для к=1 по тз.количествострок() цикл
    тз.ПолучитьСтрокуПоНомеру(к);
    Если тз.сумма<>тз.док.сумма Тогда
        тп.ТекущиеДанные.ЦветФона=глПолучитьЦвет(244,185,185);
    КонецЕсли;
конеццикла;
 

  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: ТП и расскраска отдельных строк, не изменяя Поставщика?
Ответ #1 - 11. Сентября 2008 :: 06:11
Печать  
Раскраску нужно делать в событиии ПриВыводеСтроки

Код
Выбрать все
Процедура тпНаборСводно_ПриВыводеСтроки(оОформлениеСтроки, оДанныеСтроки) Экспорт
	Если Число(оДанныеСтроки.ДанныеСтроки.Процент) < 100 Тогда
		оДанныеСтроки.ЦветФона = чЦветКрасный;
	//Иначе
	//	оДанныеСтроки.ЦветФона = чЦветБелый;
	КонецЕсли;
КонецПроцедуры	// тпНом_ПриВыводеСтроки(ОформлениеСтроки, ДанныеСтроки)
 

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



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: ТП и расскраска отдельных строк, не изменяя Поставщика?
Ответ #2 - 11. Сентября 2008 :: 07:13
Печать  
и больше никак?
если да, то облом жуткий Печаль
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: ТП и расскраска отдельных строк, не изменяя Поставщика?
Ответ #3 - 11. Сентября 2008 :: 07:17
Печать  
pavlo писал(а) 11. Сентября 2008 :: 07:13:
и больше никак?
если да, то облом жуткий Печаль


Почему? По моему вполне нормальный вариант.
  
Наверх
ICQ  
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: ТП и расскраска отдельных строк, не изменяя Поставщика?
Ответ #4 - 11. Сентября 2008 :: 07:24
Печать  
неее, вариант не нормальный в поставщика добавлять то, чего там не нужно вообще Улыбка
а можно скажем добавить колонку с видимостью 0 в ТП только и при обработке как то туда значение ставить, а потом уже приВыводеСтроки() делать цвет?
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: ТП и расскраска отдельных строк, не изменяя Поставщика?
Ответ #5 - 11. Сентября 2008 :: 07:34
Печать  
pavlo писал(а) 11. Сентября 2008 :: 07:24:
неее, вариант не нормальный в поставщика добавлять то, чего там не нужно вообще Улыбка
а можно скажем добавить колонку с видимостью 0 в ТП только и при обработке как то туда значение ставить, а потом уже приВыводеСтроки() делать цвет?


Чего ты там добавлять собрался? Ничего добавлять не надо просто проверяй своё условие в при выводе строки и раскрашивай
  
Наверх
ICQ  
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: ТП и расскраска отдельных строк, не изменяя Поставщика?
Ответ #6 - 11. Сентября 2008 :: 08:04
Печать  
там много кода, который должен выполняться в ПослеОткрытия() и не получится в при выводе запихнуть Печаль
вот и подумал если только можно добавить колонку исключительно в ТП и записываться туда данные Печаль
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТП и расскраска отдельных строк, не изменяя Поставщика?
Ответ #7 - 11. Сентября 2008 :: 08:16
Печать  
pavlo писал(а) 11. Сентября 2008 :: 08:04:
там много кода, который должен выполняться в ПослеОткрытия() и не получится в при выводе запихнуть Печаль
вот и подумал если только можно добавить колонку исключительно в ТП и записываться туда данные Печаль


ПослеОткрытия - события формы. ПриВыводеСтроки - событие ТП.
Надо отделять мух от котлет.
  
Наверх
 
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: ТП и расскраска отдельных строк, не изменяя Поставщика?
Ответ #8 - 11. Сентября 2008 :: 08:22
Печать  
Arta писал(а) 11. Сентября 2008 :: 08:16:
pavlo писал(а) 11. Сентября 2008 :: 08:04:
там много кода, который должен выполняться в ПослеОткрытия() и не получится в при выводе запихнуть Печаль
вот и подумал если только можно добавить колонку исключительно в ТП и записываться туда данные Печаль


ПослеОткрытия - события формы. ПриВыводеСтроки - событие ТП.
Надо отделять мух от котлет.


Причем здесь мухи и котлеты?
Я говорю о том, что могу знать красить строку или нет только из поставщика (проверка поставщика идет в ПослеОткрытия())
Впихивать цикл в ПриВыводеСтроки() не правильно по 2 причинам:
1. тормоза так как цикл на каждый вывод строки.
2. еще раз тормоза, так как она срабатывает всегда, при первом заполнении и при просто движении курсором по ТП, если количество строк более, чем умещается на экран.

или я не понимаю кто и о чем мне пытается рассказать Печаль
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: ТП и расскраска отдельных строк, не изменяя Поставщика?
Ответ #9 - 11. Сентября 2008 :: 08:23
Печать  
pavlo писал(а) 11. Сентября 2008 :: 06:08:
Народ подскажите плизз.

Есть ТП хотелось бы следующее, при пробегании по поставщику, в случае если условие сработало, эту строку в ТП выделить цветом.
делаю так, но не работает Печаль
Код
Выбрать все
для к=1 по тз.количествострок() цикл
    тз.ПолучитьСтрокуПоНомеру(к);
    Если тз.сумма<>тз.док.сумма Тогда
        тп.ТекущиеДанные.ЦветФона=глПолучитьЦвет(244,185,185);
    КонецЕсли;
конеццикла;
 


Код
Выбрать все
Процедура тпНомСводно_ПриВыводеСтроки(оОформлениеСтроки, оДанныеСтроки) Экспорт
	Если оДанныеСтроки.Сумма<>оДанныеСтроки.док.сумма Тогда
		оОформлениеСтроки.ЦветФона=глПолучитьЦвет(244,185,185);
	КонецЕсли;
КонецПроцедуры	// тпНом_ПриВыводеСтроки(оОформлениеСтроки, оДанныеСтроки)
 

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



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: ТП и расскраска отдельных строк, не изменяя Поставщика?
Ответ #10 - 11. Сентября 2008 :: 08:24
Печать  
всмысле? в привыводестроки() текущая строка ТП равна текущей строке поставщика?
тоесть постоянно получать нужно еще строку сначало поставщика ПолучитьСТрокуПоНомеру() ?
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: ТП и расскраска отдельных строк, не изменяя Поставщика?
Ответ #11 - 11. Сентября 2008 :: 08:29
Печать  
pavlo писал(а) 11. Сентября 2008 :: 08:24:
всмысле? в привыводестроки() текущая строка ТП равна текущей строке поставщика?


Так, идём учить букварь.
  
Наверх
ICQ  
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: ТП и расскраска отдельных строк, не изменяя Поставщика?
Ответ #12 - 11. Сентября 2008 :: 08:29
Печать  
Как видно из кода, я к поставщику не обращаюсь. Я обращаюсь к реквизиту "ДанныеСтроки"
  
Наверх
ICQ  
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ТП и расскраска отдельных строк, не изменяя Поставщика?
Ответ #13 - 11. Сентября 2008 :: 08:32
Печать  
pavlo писал(а) 11. Сентября 2008 :: 08:24:
всмысле? в привыводестроки() текущая строка ТП равна текущей строке поставщика?

Да, вот пример:
Код
Выбрать все
Процедура ТП_ЖурнДокПриВыводеСтроки(_ТП,ОС,ДС,ТипРегиона)
	Если ТипРегиона = 3 Тогда
		Пометка = ДС.СтатусДок;
		//К = ТПЖурн.Колонки.Количество();
		Для Нк = 0 По _ТП.Колонки.Количество()-1 Цикл
			ИндКол = _ТП.Колонки.Получить(Нк).Имя;
			ОформлениеЯчейки = ОС.Ячейки.Получить(ИндКол);
			Если Пометка = 3 Тогда
				//ОформлениеЯчейки.ЦветТекста = глПолучитьЦвет(189,35,255);
				ОформлениеЯчейки.ЦветТекста = глПолучитьЦвет(93,0,255);
				ОформлениеЯчейки.ЦветФона = глПолучитьЦвет(167,240,240);
				ОС.Шрифт = глФабрика.Шрифт("MSSansSerif", 8, 0, 0,0,1);
			Иначе
				ОформлениеЯчейки.ЦветФона = -1;
			КонецЕсли;
			Если ИндКол = "Сумма" Тогда
				ностьЧисла+".,")));
			КонецЕсли;
		КонецЦикла;

	КонецЕсли;

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

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



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: ТП и расскраска отдельных строк, не изменяя Поставщика?
Ответ #14 - 11. Сентября 2008 :: 08:34
Печать  
Salimbek писал(а) 11. Сентября 2008 :: 08:29:
Как видно из кода, я к поставщику не обращаюсь. Я обращаюсь к реквизиту "ДанныеСтроки"


а ПолучитьСтрокуПоНомеру() не нужно?
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать