Имя: Пароль:
1C
1С v8
СКД - ШиринаТаблицы
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;