Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) Трабл с Сервис.ПрятатьТаблицу() (число прочтений - 5232 )
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: Трабл с Сервис.ПрятатьТаблицу()
Ответ #15 - 20. Апреля 2011 :: 06:24
Печать  
Eprst писал(а) 20. Апреля 2011 :: 06:16:
В смысле ?
Если вычисляшеь высоту выводимой Таблицы, то нафига её показывать при этом ?
Шо за бред ?
Улыбка))



Код
Выбрать все
	Строк	= _Т.ВысотаТаблицы();
	Высота	= 0;
	Для н = 1 По Строк Цикл
		Высота = Высота + оСервис.ВысотаСтрокиТаблицы(_Т, н, 1);
	КонецЦикла;
 



Честно говоря, метода идет из глубины веков и я ее сам не проверял - но уверен, что это делалось не просто так (а является единственно-нормальным способом посчитать высоту выводимой таблицы в мм)
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Трабл с Сервис.ПрятатьТаблицу()
Ответ #16 - 20. Апреля 2011 :: 06:25
Печать  
Один хрен не понял, нафига ты таблицу показываешь..
На вот, думаю, это то, что тебе реально нужно:

Код
Выбрать все
Функция ВысотаСекции(Секция) Экспорт
    Перем Строк, Высота, н;

    ВремТаб.Очистить();
    ВремТаб.ИсходнаяТаблица(ИмяФормы);
    ВремТаб.ВывестиСекцию(Секция);

    Строк = ВремТаб.ВысотаТаблицы();
    Высота = 0;
    Для н = 1 По Строк Цикл
	  Высота = Высота + оСервис.ВысотаСтрокиТаблицы(ВремТаб, н, 1);
    КонецЦикла;

    Возврат Высота * 1.03;
КонецФункции
©Sadovnikov 

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


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: Трабл с Сервис.ПрятатьТаблицу()
Ответ #17 - 20. Апреля 2011 :: 06:27
Печать  
Ты не поверишь, но использованная мною метода идет корнями оттуда же - Садовников/Диркс. Улыбка
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Трабл с Сервис.ПрятатьТаблицу()
Ответ #18 - 20. Апреля 2011 :: 06:29
Печать  
Ну вот скажи мне тогда, зачем показывать таблицу ?
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: Трабл с Сервис.ПрятатьТаблицу()
Ответ #19 - 20. Апреля 2011 :: 06:40
Печать  
Кстати, ВремТаблица определяется не в этой функции.
Посмотри, как она создается и что с ней делается.


Eprst писал(а) 20. Апреля 2011 :: 06:29:
Ну вот скажи мне тогда, зачем показывать таблицу ?

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



Ну, вот - попробовал:
Код
Выбрать все
	Таб = СоздатьОбъект("Таблица");
	Таб.ИсходнаяТаблица("Таблица");
	Таб.ВывестиСекцию("База");
	//Таб.Показать();

	Строк	= Таб.ВысотаТаблицы();
	Высота	= 0;
	Для н = 1 По Строк Цикл
		Высота = Высота + оСервис.ВысотаСтрокиТаблицы(Таб, н, 1);
	КонецЦикла;

	Сообщить(Высота);
 



Сообщает "0".
Если расскомментировать Таб.Показать() - сообщает ненулевую высоту.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Трабл с Сервис.ПрятатьТаблицу()
Ответ #20 - 20. Апреля 2011 :: 06:45
Печать  
Ты так и не ответил, зачем показывать таблицу.
Всё работает и без её показа на экран.


А всё не надо, вспомнил сам:
Цитата:
ВысотаСтрокиТаблицы(<Таблица>,<НомерСтроки>,
ЗАМЕЧАНИЕ:
Метод работает только для таблиц, которые уже выведены на экран методом Показать().

Просто давно ужо в 7-ке не кодил, снеговик разрушает мой мозг.

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