Имя: Пароль:
1C
1C 7.7
v7: Таб.ПрисоединитьСекцию - узнать координаты вставки
0 dk
 
19.03.12
09:35
исходные:
Есть таблица с выведенной шапкой (ширина таблиц например 20 колонок)
Рисую заголовок таблицы для вывода, мне нужно узнать, что я нахожусь, например в 7 колонке до или после вызова ПрисоединитьСекцию
проблема:
если бы мне это нужно было узнать для самой верхней секции - нет проблем Таб.ШиринаТаблицы, но мне надо узнать это уже после вывода шапки. Т.е. возвращает ширину таблица по максимальному значению, а мне бы ширину таблицы для текущей строки узнать
---
Это надо для объединения ячеек в заголовке таблицы. Теоретически я могу что нить хитрое в расшифровку закинуть и потом по расшифовкам проверить и объединить, но может есть попроще метод?
1 Ёпрст
 
гуру
19.03.12
09:39
(0)
Таб.ВывестиСекцию("Вася|Федя");
Начало = Таб.ШиринаТаблицы();
Таб.ПрисоединитьСекцию("Маша|Федя");
Конец = Таб.ШиринаТаблицы();

Таб.Область(Таб.ВысотаТаблицы(),Начало,Таб.ВысотаТаблицы(),Конец).Объединитьт();
2 dk
 
19.03.12
09:41
(1) это сработает для первой "строки/секции"
а если надо

Таб.вывестиСекцию("Шапка");
Таб.ВывестиСекцию("Вася|Федя");
Начало = Таб.ШиринаТаблицы();
Таб.ПрисоединитьСекцию("Маша|Федя");
Конец = Таб.ШиринаТаблицы();

Таб.Область(Таб.ВысотаТаблицы(),Начало,Таб.ВысотаТаблицы(),Конец).Объединить();

то тут косяк, т.к. Таб.ШиринаТаблицы() будет возвращать по Шапке
3 Андрей_Андреич
 
naïve
19.03.12
09:44
ПолучитьСекцию() + ШиринаСекции()
4 dk
 
19.03.12
09:45
(3) тоже мимо
т.к. структура колонок динамичная и узнать сколько и каких секций было выведено довольно проблематично
5 Андрей_Андреич
 
naïve
19.03.12
09:47
(4) так суммируй при выводе и запоминай
6 dk
 
19.03.12
09:49
(5) говорю же там не все так просто, выводятся разные секции в разных процедурах, придется кучу мест найти чтобы просуммировать
7 Ёпрст
 
гуру
19.03.12
09:50
(2) Ёпта, ну получи секцию да псчитай в ней ширину, делов то
8 dk
 
19.03.12
09:50
(7) см (6)
9 Ёпрст
 
гуру
19.03.12
09:51
+7 ШиринаСекции, если что
10 Irbis
 
19.03.12
09:52
Придется тебе тащить за собой координаты левого нижнего угла текущей строки.
11 Ёпрст
 
гуру
19.03.12
09:58
Тогда бери Адрес текущей ячейки
12 dk
 
19.03.12
10:02
(11) вооот, уже интереснее. Как?
13 Ёпрст
 
гуру
19.03.12
10:08
(12) через ЗначениеТекущейЯчейки

хотя в разы проще запоминать всё в " разных процедурах"
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс