ТабличноеПоле.Подвал

Свойства · Footer

Тип: Булево. Определяет наличие подвала у табличного поля. Истина - подвал есть.

Полное описание, параметры и ограничения

ТабличноеПоле.Подвал (TableBox.Footer)

ТабличноеПоле (TableBox)

Подвал (Footer)

Доступен, начиная с версии 8.0.

Использование:
Чтение и запись.
Описание:
Тип: Булево.
Определяет наличие подвала у табличного поля.
Истина - подвал есть.
Доступность:

Толстый клиент.

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Использовать собственную PNG-картинку в колонке

Небольшая учебная картинка включена прямо в код в Base64. Ею оформляем шапку и подвал; коллекция картинок строк задаётся отдельно.

Где и как запускать

Модуль новой обычной формы внешней обработки. Только толстый клиент, обычные формы; не серверный модуль и не управляемая форма.

Подготовка

  1. Это обычная форма, не управляемая: используйте толстый клиент с обычными формами в отдельной учебной базе. Создайте новую внешнюю обработку, обычную форму и её реквизит Товары типа ТаблицаЗначений. Рабочие документы и справочники не нужны.

  2. В редакторе формы добавьте табличное поле ТаблицаТоваров, свойство Данные свяжите с реквизитом Товары. Добавьте обычную кнопку УчебнаяКоманда, её действие свяжите с процедурой УчебнаяКоманда. ПриОткрытии свяжите с одноимённым событием формы.

  3. Каждый урок — отдельный полный модуль этой учебной формы. Он заново создаёт в памяти Книгу (3) и Ручку (1), а СоздатьКолонки удаляет прежние колонки только своего табличного поля. Не вставляйте код в рабочую форму с настроенными колонками.

  4. Откройте форму, затем нажмите учебную кнопку. Изменения данных и оформления относятся только к реквизиту внешней обработки в памяти. Здесь нет Записать, обращения к рабочим данным или проверки интерфейса реальной УТ 10.3.

Процедура ПриОткрытии()
    Товары = Новый ТаблицаЗначений;
    Товары.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка"));
    Товары.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
    Товары.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
    Товары.Колонки.Добавить("Выбран", Новый ОписаниеТипов("Булево"));
    Книга = Товары.Добавить();
    Книга.Код = "A-01";
    Книга.Наименование = "Книга";
    Книга.Количество = 3;
    Книга.Выбран = Ложь;
    Ручка = Товары.Добавить();
    Ручка.Код = "B-02";
    Ручка.Наименование = "Ручка";
    Ручка.Количество = 1;
    Ручка.Выбран = Ложь;
    Таблица = ЭтаФорма.ЭлементыФормы.ТаблицаТоваров;
    Таблица.СоздатьКолонки();
    Таблица.АвтоВводНовойСтроки = Ложь;
    Если Товары.Количество() <> 2 Тогда
        ВызватьИсключение "Ожидались два собственных учебных товара";
    КонецЕсли;
    Таблица.ТекущаяСтрока = Товары[0];
    Колонка = Таблица.Колонки.Найти("Количество");
    Если Колонка = Неопределено Тогда
        ВызватьИсключение "В своей таблице не найдена колонка количества";
    КонецЕсли;
    БайтыКартинки = Base64Значение("iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAArklEQVR4nO3VOxKAIAxF0SzEtbgk99/FRhuE8F4+0lCkc3LPCDOIqsrKWRrfADfguE7tTSlgFI1iSuIMoiyOIkrjD8BE/BE3/0R5/AWMEFXn/om7Ae0SbxwGWOcYiY8QMGCGIL7jAMhyNO4GTC4We0w+QC/GxsOANsrGIQCLiMTDACaeDmDjFCDrPZjFTUAmwmqYgKSHSUKACALZDQE8CHQvDEAwnl0uQOZsgKwG3AxgSxA9ZssYAAAAAElFTkSuQmCC");
    КартинкаУчебная = Новый Картинка(БайтыКартинки);
    Колонка.КартинкаШапки = КартинкаУчебная;
    Колонка.ДополнительнаяКартинкаШапки = КартинкаУчебная;
    Колонка.КартинкаПодвала = КартинкаУчебная;
    Колонка.КартинкиСтрок = КартинкаУчебная;
    Таблица.Шапка = Истина;
    Таблица.Подвал = Истина;
    Колонка.ОтображатьВПодвале = Истина;
    Колонка.ТекстПодвала = "Всего: " + Строка(Товары.Итог("Количество"));
КонецПроцедуры

Процедура УчебнаяКоманда(Кнопка)
    Таблица = ЭтаФорма.ЭлементыФормы.ТаблицаТоваров;
    Колонка = Таблица.Колонки.Найти("Количество");
    Если Колонка = Неопределено Тогда
        ВызватьИсключение "В своей таблице не найдена колонка количества";
    КонецЕсли;
    Сообщить(Колонка.КартинкаШапки.Ширина() = 32 И Колонка.КартинкаШапки.Высота() = 32);
    Сообщить(Колонка.ДополнительнаяКартинкаШапки.Ширина() = 32);
    Сообщить(Колонка.КартинкаПодвала.Высота() = 32);
    Сообщить(Колонка.КартинкиСтрок.Ширина() = 32);
    Сообщить(Товары.Итог("Количество") = 4);
КонецПроцедуры

Разбор по шагам

  1. Base64 содержит только собственную PNG-картинку 32×32 с учебной отметкой, без путей, скачивания и внешних ресурсов.

  2. Base64Значение возвращает двоичные данные. Конструктор Картинка читает эти данные.

  3. КартинкаШапки и ДополнительнаяКартинкаШапки — разные позиции: дополнительная пиктограмма справа от шапки.

  4. КартинкаПодвала используется при включённых подвале таблицы и отображении подвала колонки.

  5. КартинкиСтрок задаёт картинку для данных колонки, но числовые значения 3/1 не считаем индексами 0/1. Этот урок не обещает значки в строках: он проверяет присвоенный ресурс и реальные картинки шапки/подвала.

Как проверить результат

  1. Пять сравнений Истина.

  2. Картинка включена в текст примера, отдельный PNG-файл не нужен; количества 3/1 остаются прежними.

Ожидаемый результат

Показаны три позиции картинки и отдельный ресурс строк с честной границей проверки.

На что обратить внимание

  1. Из картинки нельзя выводить деловой статус товара: здесь это только учебный ресурс.

  2. КартинкиСтрок не гарантирует отображение значка при произвольном типе данных колонки.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Настроить оформление только колонки количества

Цвета и шрифты одной колонки не равны оформлению всей таблицы. Подвал этой колонки отдельно показывает 4.

Где и как запускать

Модуль новой обычной формы внешней обработки. Только толстый клиент, обычные формы; не серверный модуль и не управляемая форма.

Подготовка

  1. Это обычная форма, не управляемая: используйте толстый клиент с обычными формами в отдельной учебной базе. Создайте новую внешнюю обработку, обычную форму и её реквизит Товары типа ТаблицаЗначений. Рабочие документы и справочники не нужны.

  2. В редакторе формы добавьте табличное поле ТаблицаТоваров, свойство Данные свяжите с реквизитом Товары. Добавьте обычную кнопку УчебнаяКоманда, её действие свяжите с процедурой УчебнаяКоманда. ПриОткрытии свяжите с одноимённым событием формы.

  3. Каждый урок — отдельный полный модуль этой учебной формы. Он заново создаёт в памяти Книгу (3) и Ручку (1), а СоздатьКолонки удаляет прежние колонки только своего табличного поля. Не вставляйте код в рабочую форму с настроенными колонками.

  4. Откройте форму, затем нажмите учебную кнопку. Изменения данных и оформления относятся только к реквизиту внешней обработки в памяти. Здесь нет Записать, обращения к рабочим данным или проверки интерфейса реальной УТ 10.3.

Процедура ПриОткрытии()
    Товары = Новый ТаблицаЗначений;
    Товары.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка"));
    Товары.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
    Товары.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
    Товары.Колонки.Добавить("Выбран", Новый ОписаниеТипов("Булево"));
    Книга = Товары.Добавить();
    Книга.Код = "A-01";
    Книга.Наименование = "Книга";
    Книга.Количество = 3;
    Книга.Выбран = Ложь;
    Ручка = Товары.Добавить();
    Ручка.Код = "B-02";
    Ручка.Наименование = "Ручка";
    Ручка.Количество = 1;
    Ручка.Выбран = Ложь;
    Таблица = ЭтаФорма.ЭлементыФормы.ТаблицаТоваров;
    Таблица.СоздатьКолонки();
    Таблица.АвтоВводНовойСтроки = Ложь;
    Если Товары.Количество() <> 2 Тогда
        ВызватьИсключение "Ожидались два собственных учебных товара";
    КонецЕсли;
    Таблица.ТекущаяСтрока = Товары[0];
    Колонка = Таблица.Колонки.Найти("Количество");
    Если Колонка = Неопределено Тогда
        ВызватьИсключение "В своей таблице не найдена колонка количества";
    КонецЕсли;
    Таблица.Шапка = Истина;
    Таблица.Подвал = Истина;
    Колонка.ЦветФонаШапки = Новый Цвет(225, 238, 255);
    Колонка.ЦветТекстаШапки = Новый Цвет(20, 50, 90);
    Колонка.ЦветФонаПоля = Новый Цвет(250, 252, 255);
    Колонка.ЦветТекстаПоля = Новый Цвет(20, 35, 55);
    Колонка.ЦветФонаПодвала = Новый Цвет(235, 244, 255);
    Колонка.ЦветТекстаПодвала = Новый Цвет(20, 50, 90);
    Колонка.ШрифтШапки = Новый Шрифт(Колонка.ШрифтШапки, , 12, Истина);
    Колонка.ШрифтТекста = Новый Шрифт(Колонка.ШрифтТекста, , 12, Ложь);
    Колонка.ШрифтПодвала = Новый Шрифт(Колонка.ШрифтПодвала, , 12, Истина);
    Колонка.ОтображатьВПодвале = Истина;
    Колонка.ТекстПодвала = "Всего: " + Строка(Товары.Итог("Количество"));
КонецПроцедуры

Процедура УчебнаяКоманда(Кнопка)
    Таблица = ЭтаФорма.ЭлементыФормы.ТаблицаТоваров;
    Колонка = Таблица.Колонки.Найти("Количество");
    Если Колонка = Неопределено Тогда
        ВызватьИсключение "В своей таблице не найдена колонка количества";
    КонецЕсли;
    Сообщить(Колонка.ШрифтШапки.Полужирный И Колонка.ШрифтПодвала.Полужирный);
    Сообщить(Колонка.ТекстПодвала = "Всего: 4");
    Сообщить(Товары[0].Количество = 3 И Товары[1].Количество = 1);
КонецПроцедуры

Разбор по шагам

  1. Находим Количество и проверяем отсутствие, чтобы не оформлять случайную колонку.

  2. Шапка, поле и подвал получают независимые цвета текста и фона.

  3. Каждый шрифт создаётся на основании соответствующего прежнего шрифта. Текст обычный, шапка и подвал полужирные.

  4. Текст подвала считается по данным в памяти, а не получен из регистра.

  5. Три сообщения проверяют начертание, текст итога и сохранность исходных количеств.

Как проверить результат

  1. Три сообщения Истина.

  2. Ручная проверка: оформлена только колонка Количество; остальные колонки не получили эти настройки.

Ожидаемый результат

Показан уровень оформления отдельной колонки.

На что обратить внимание

  1. Оформление текущего выделения может перекрывать фон ячейки: проверяйте также невыделенную строку.

  2. Изменение текста подвала не изменяет числа в таблице значений.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.