Почему в свойствах ячейки макета пропали значения Параметр, Шаблон и Текст?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При разработке печатных форм или отчетов в системе «1С:Предприятие» мы регулярно работаем с макетами табличных документов. Одной из базовых операций является настройка типа заполнения ячейки. Мы привыкли, что для любой ячейки можно выбрать один из трех режимов: Текст, Параметр или Шаблон.

Однако иногда возникает ситуация, способная поставить в тупик даже опытного разработчика: мы открываем палитру свойств, выделяем нужную ячейку, но привычного поля для выбора типа заполнения просто нет. Свойство словно исчезло из конфигуратора. Давайте разберем эту ситуацию, выясним причины такого поведения интерфейса и найдем способы решения проблемы.

Анализ проблемы: куда исчезают свойства?

Когда мы работаем в конфигураторе, палитра свойств (Properties Palette) является нашим основным инструментом. В версиях платформы 8.2 и 8.3 интерфейс был модернизирован для удобства, однако некоторые функции оптимизации могут сыграть с нами злую шутку.

Ситуация выглядит так: вы создаете макет, выделяете ячейку, нажимаете Alt + Enter (или открываете окно свойств через меню), но в списке свойств видите лишь сокращенный набор. Свойство, которое обычно называется Заполнение (или FillType в англоязычной терминологии), отсутствует. Следовательно, мы не можем указать системе, что в этой ячейке будет выводиться переменная (Параметр) или комбинированный текст (Шаблон).

Давайте рассмотрим причины этого явления. В 99% случаев это не системный сбой, а результат настроек отображения самого окна свойств.

Решение 1: Отключение фильтрации важных свойств

Самая распространенная причина «пропажи» свойств — случайно нажатая кнопка фильтрации в заголовке окна свойств. Платформа 1С пытается помочь разработчику, скрывая редко используемые (по мнению разработчиков платформы) настройки, чтобы не загромождать интерфейс.

Давайте выполним следующие действия для восстановления полного списка:

  1. Откроем макет и выделим любую ячейку.
  2. Обратим внимание на окно Свойства. Обычно оно находится справа или внизу экрана.
  3. Внимательно посмотрим на командную панель в верхней части этого окна (там, где заголовок «Свойства»).
  4. Найдем пиктограмму, изображающую воронку. При наведении на неё обычно всплывает подсказка «Показывать только важные» (Show important properties only).
  5. Если эта кнопка «утоплена» (нажата), значит, включен режим фильтрации. Именно в этом режиме свойство Заполнение часто скрывается системой как «второстепенное» для текущего контекста.
  6. Нажмем на кнопку-воронку, чтобы «отжать» её.

Сразу после отключения фильтра список свойств в окне обновится, станет значительно длиннее, и мы увидим искомое свойство Заполнение, где сможем выбрать привычные варианты: Текст, Параметр или Шаблон.

Решение 2: Проверка режима сортировки

Если манипуляции с «воронкой» не помогли, или она уже была отключена, давайте проверим второй вариант — режим сортировки свойств.

В той же командной панели окна свойств есть две кнопки, отвечающие за группировку:

  1. Сортировка по категориям (обычно иконка с папками или списками). В этом режиме свойства разбиты на группы: «Оформление», «Макет», «Данные» и т.д.
  2. Сортировка по алфавиту (иконка «А-Я» или «A-Z»). В этом режиме все свойства идут сплошным списком.

Часто бывает так, что мы привыкли видеть свойство Заполнение в конкретном месте экрана (например, в верхней части). Если случайно переключить сортировку на алфавитную, свойство переместится на букву «З» (Заполнение) и окажется в середине или конце длинного списка. Визуально нам кажется, что оно пропало, хотя оно просто сменило позицию.

Давайте переключим режим сортировки обратно на «По категориям». В этом случае свойство Заполнение обычно находится в группе, связанной с данными или макетом, и его легче обнаружить.

Теоретический минимум: режимы заполнения ячеек

Раз уж мы восстановили доступ к настройке, давайте освежим в памяти, как именно работают эти режимы и чем они отличаются с точки зрения платформы. Это поможет избежать ошибок при формировании печатных форм.

Свойство Заполнение (FillType) определяет, как платформа будет интерпретировать содержимое ячейки при выводе макета в табличный документ.

1. Текст (Text)

Это значение по умолчанию. Всё, что мы напишем в ячейке, будет выведено на печать «как есть». Этот режим используется для заголовков колонок, статических надписей (например, «Итого:», «Руководитель:») и фиксированного текста.

2. Параметр (Parameter)

В этом режиме содержимое ячейки воспринимается системой как имя переменной. В макете такой текст отображается в угловых скобках, например <Контрагент>.

При программном заполнении макета мы обязаны передать значение в этот параметр. Рассмотрим пример кода, который заполняет такую ячейку:


// Получаем область макета
ОбластьМакета = Макет.ПолучитьОбласть("Строка");

// Заполняем параметр. Обратите внимание: имя свойства Параметры
// совпадает с именем, которое мы указали в ячейке макета (без скобок)
ОбластьМакета.Параметры.Контрагент = Выборка.КонтрагентНаименование;

// Выводим область в итоговый документ
ТабДок.Вывести(ОбластьМакета);

3. Шаблон (Template)

Это наиболее гибкий режим. Он позволяет комбинировать произвольный статический текст и параметры. Параметры в шаблоне выделяются квадратными скобками [...].

Пример использования в ячейке: Счет № [НомерДокумента] от [ДатаДокумента].

Платформа автоматически найдет подстроки в квадратных скобках и попытается заменить их на значения параметров с соответствующими именами.


ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");

// Заполняем параметры шаблона
ОбластьМакета.Параметры.НомерДокумента = СсылкаНаДок.Номер;
ОбластьМакета.Параметры.ДатаДокумента = Формат(СсылкаНаДок.Дата, "ДЛФ=Д");

ТабДок.Вывести(ОбластьМакета);

Важно: Если вы используете режим «Шаблон», но забудете поставить квадратные скобки, текст не заменится. Если вы выберете режим «Текст», но напишете квадратные скобки, замена также не произойдет — скобки будут выведены как часть текста.

Программное управление свойством Заполнение

Бывают ситуации, когда нам нужно изменить тип заполнения ячейки не в конфигураторе, а динамически, прямо во время выполнения кода. Например, в зависимости от условия одна и та же ячейка должна быть то статическим текстом, то параметром.

Для этого мы можем обратиться к свойству ТипЗаполнения объекта ОбластьЯчеекТабличногоДокумента. Значение этого свойства задается через системное перечисление ТипЗаполненияОбластиТабличногоДокумента.

Рассмотрим пример, где мы программно меняем тип ячейки:


// Получаем область ячейки R1C1 (первая строка, первая колонка)
Область = ТабДок.Область("R1C1");

Если НуженПараметр Тогда
    // Устанавливаем режим "Параметр"
    Область.ТипЗаполнения = ТипЗаполненияОбластиТабличногоДокумента.Параметр;
    // Задаем имя параметра (содержимое ячейки)
    Область.Текст = "СуммаДокумента";
    // Устанавливаем значение
    Область.Параметры.СуммаДокумента = 1000;
Иначе
    // Устанавливаем режим "Текст"
    Область.ТипЗаполнения = ТипЗаполненияОбластиТабличногоДокумента.Текст;
    Область.Текст = "Данные отсутствуют";
КонецЕсли;

Подводим итоги

Если вы не можете найти привычные настройки ячейки макета (Параметр, Шаблон), не стоит паниковать или переустанавливать платформу. Давайте действовать последовательно:

  1. Посмотрим на панель инструментов окна свойств.
  2. Найдем кнопку с изображением воронки («Показывать только важные»).
  3. Если она нажата — отожмем её. Это вернет полный список свойств.
  4. Если это не помогло — проверим режим сортировки (А-Я или по категориям).

Этот простой нюанс интерфейса конфигуратора часто забывается, но, зная о нем, вы сэкономите время при разработке отчетов и печатных форм. Для практической реализации печатных механизмов можно использовать пример построения внешней печатной формы на БСП.

← На главную