0
VladSt
28.12.15
✎
09:54
|
Добрый день
Задача такая: в процедуре ПриКомпоновкеРезультата вывожу свою шапку, результат СКД и свой подвал. Шапка и подвал - мой фиксированный макет. Когда вывожу шапку в ней есть две вертикальные области. В первой название организации, а во второй "Утверждаю". Вот эту вторую область хочу выводить с самого правого края отчета. В зависимости от количества выбранных колонок в СКД ширина всего отчета меняется и шапка "утверждаю" не всегда справа в отчете, иногда посередине получается.
Как узнать еще до вывода ширину макета, который получится в СКД после его вывода командой:
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
|
|
1
kittystark
28.12.15
✎
10:33
|
не благодарное это дело...
ШиринаТаблицы даст тебе только количество колонок, которое лучше определять все таки ПОСЛЕ а не до
тебе потом еще нужно будет взять ширину каждой колонки, засуммировать это все и попытаться в твоем макете повторить
сам еще такого не делал, но я бы пошел таким путем:
- вывести "родной СКД-шный" отчет без своих макетов
- скопировать область в одну-две строки заголовка таблицы, с первой колонки по ширинуТаблицы
- вставить скопированную область перед заголовком таблицы
- у вставленных ячеек убрать все границы, заливки тексты и т.п. (после этого должны быть "пустые" строки ячеек с шириной наследуемой из шапки таблицы)
- у самых правых ячеек задать нужный текст
|
|
2
VladSt
28.12.15
✎
11:23
|
(1) Пробую вставить область перед уже сформированным табличным документом, ничего не вставляет:
ДокументРезультат.ВставитьОбласть(ДокументРезультат.Область("R1C"+ДокументРезультат.ШиринаТаблицы), ДокументРезультат.Область("R7C"+ДокументРезультат.ШиринаТаблицы),
ТипСмещенияТабличногоДокумента.ПоВертикали);
а если вставляю вот так текст, то замещает заголовок СКД:
ДокументРезультат.Область("R2C1").Текст = "мой текст:";
ДокументРезультат.Область("R2C2").Текст = 1000;
|
|