Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как закрепить область в макете?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
DrLivsi
В макет выводится большая таблица, больше 10 колонок и просматривать ее не совсем удобно. Вопрос:
Можно ли в макете закрепить конкретную область? Точнее первые 3 колонки. Что-бы при прокрутке вправо, эта область была всегда видна.
Batchir
ТабличныйДокумент (SpreadsheetDocument)
ФиксацияСлева (FixedLeft)

Использование:
Чтение и запись.

Описание:
Тип: Число.
Содержит количество зафиксированных слева колонок. Зафиксированные колонки не исчезают из поля таблицы при горизонтальной прокрутке.

Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
DrLivsi
Для ТабличногоДокумента этот метод работает, но я вывожу его в макет,

Макет = ПолучитьМакет("Макет");
Шапка = Макет.ПолучитьОбласть("Шапка");
.......
ТабличныйДокумент.Присоединить(Шапка);
ЭлементыФормы.ПолеМакета.Вывести(ТабличныйДокумент);


а в макете фиксации не происходит. Как быть в этом случае?
Irina_
Цитата(DrLivsi @ 22.02.12, 12:37) необходимо зарегистрироваться для просмотра ссылки
Для ТабличногоДокумента этот метод работает, но я вывожу его в макет,

Макет = ПолучитьМакет("Макет");
Шапка = Макет.ПолучитьОбласть("Шапка");
.......
ТабличныйДокумент.Присоединить(Шапка);
ЭлементыФормы.ПолеМакета.Вывести(ТабличныйДокумент);


а в макете фиксации не происходит. Как быть в этом случае?


А Чем у Вас тогда является ТабличныйДокумент?
DrLivsi
Цитата(Irina_ @ 22.02.12, 14:03) необходимо зарегистрироваться для просмотра ссылки
А Чем у Вас тогда является ТабличныйДокумент?


ТабличныйДокумент = Новый ТабличныйДокумент;
alex040269
Цитата(DrLivsi @ 22.02.12, 12:37) необходимо зарегистрироваться для просмотра ссылки
Для ТабличногоДокумента этот метод работает, но я вывожу его в макет,

Макет = ПолучитьМакет("Макет");
Шапка = Макет.ПолучитьОбласть("Шапка");
.......
ТабличныйДокумент.Присоединить(Шапка);
ЭлементыФормы.ПолеМакета.Вывести(ТабличныйДокумент);


а в макете фиксации не происходит. Как быть в этом случае?


Может фиксация в коде до вывода в документ?
Irina_
В конце процедуры вывода

    ТабличныйДокумент .ФиксацияСверху = [Нужное количество Строк];
    ТабличныйДокумент .ФиксацияСлева = [Нужное количество колонок];
    ТабличныйДокумент .ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; // или Портрет
    ТабличныйДокумент .Показать();
DrLivsi
Цитата(alex040269 @ 22.02.12, 14:23) необходимо зарегистрироваться для просмотра ссылки
Может фиксация в коде до вывода в документ?


Уже делал и до и после вывода. Если вывести просто Табличный документ - то все ок, а если макет - фиксации нет...
DrLivsi
Вопрос еще актуален, может кто подскажет?
alex040269
Фрагмент кода в студию
DrLivsi
ТабличныйДокумент = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет");
Шапка = Макет.ПолучитьОбласть("Шапка"); // получаем область макета
// вычисляем и выводим параметры области
Шапка.Параметры.Контрагент = Контрагент;

ТабличныйДокумент.Присоединить(Шапка);
ТабличныйДокумент .ФиксацияСверху = 1;
ТабличныйДокумент .ФиксацияСлева = 3;

  ЭлементыФормы.ПолеМакета.Очистить();
  ЭлементыФормы.ПолеМакета.Вывести(ТабличныйДокумент);


ПолеМакета = Поле табличного документа, находится на форме отчета.
Batchir
ТабличныйДокумент = ЭлементыФормы.ПолеМакета;
ТабличныйДокумент.Очистить();
Макет = ПолучитьМакет("Макет");
Шапка = Макет.ПолучитьОбласть("Шапка"); // получаем область макета
// вычисляем и выводим параметры области
Шапка.Параметры.Контрагент = Контрагент;

ТабличныйДокумент.Присоединить(Шапка);
ТабличныйДокумент .ФиксацияСверху = 1;
ТабличныйДокумент .ФиксацияСлева = 3;
DrLivsi
Все, сделал) Че-то я сразу не допер, надо было фиксировать колонки не в Табличном документе, а в
ЭлементыФормы.ПолеМакета.ФиксацияСлева = 3;


Большое спасибо всем за помощь!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.