§ 6.3. Колонки таблицы: поля, которые показывают каждую строку

Выделите в таблице товаров колонку «Цена» и посмотрите на её путь к данным: «Объект.Товары.Цена». Три части — и каждая отвечает на свой вопрос: чья это запись, какая в ней табличная часть, какой реквизит строки показать. С этим адресом колонка работает во всех строках сразу: в первой показывает цену бумаги, во второй — цену ручки.

1. Путь колонки по частям

Путь таблицы мы уже видели — «Объект.Товары». Путь колонки продолжает его на одно звено.

часть путичто означает
Объектосновной реквизит — запись документа
Товарытабличная часть этой записи
Ценареквизит строки

Таблица говорит «вот строки», колонка — «вот что показать в каждой из них». Поэтому путь колонки начинается с пути своей таблицы: в таблице табличной части колонка показывает то, что есть в строке.

Путь колонки — это путь таблицы плюс имя реквизита строки. Один адрес на все строки: в каждой он указывает на своё значение.

2. Колонка — это поле

Колонка — не отдельный вид элемента, а поле, поставленное в таблицу: документация так её и описывает. Поэтому всё, что мы знаем о полях, у колонки есть: вид, видимость, доступность, «только просмотр», заголовок. Заголовок колонки — это надпись в шапке таблицы.

свойствоу колонки
видполе ввода, флажок, надпись, картинка и другие — как у поля
заголовокнадпись в шапке таблицы
видимостьпоказывать ли колонку
только просмотрвидно, но не правится ни в одной строке

Колонку-флажок вы видели не раз: булев реквизит строки в таблице показывают именно так — флажком в каждой строке.

3. Свойства, которые есть только у колонки

Часть свойств поля имеет смысл только тогда, когда поле стоит в таблице. Документация так и оговаривает у каждого из них.

свойствочто задаёт
«Отображать в шапке»есть ли у колонки заголовок в шапке
«Отображать в подвале»есть ли у колонки строка под таблицей
«Текст подвала», «Путь к данным подвала»что написать под колонкой
«Фиксация в таблице»прижать колонку к левому или правому краю, чтобы не уезжала при прокрутке

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

4. Что можно сделать с колонкой, не трогая данных

Колонка — способ показать, а не место, где лежит значение; поэтому почти всё, что с ней делают, данных не касается.

что сделаличто с данными
убрали колонкуреквизит строки на месте, хранится
поменяли порядок колонокничего
поменяли заголовокничего
закрепили у краяничего
сделали только для просмотразначения есть, править их в форме нельзя

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

Колонку можно убрать, переставить, переименовать — строки от этого не меняются. А вот запретить правку стоит, только если значение кто-то считает.

5. Группы колонок

Иногда в одной ячейке шапки стоят две колонки — одна над другой или рядом под общим заголовком. Это группа колонок: особый вид группы, который встречается только внутри таблицы.

Товары              ← таблица
├── Товар
├── КоличествоЦена  ← группа колонок
│   ├── Количество
│   └── Цена
└── Сумма

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

6. Колонка и реквизит строки — не одно и то же

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

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

В одной форме документа колонку цены показывают, в другой — нет, а реквизит «Цена» у строки один на все формы.

7. В Конфигураторе и в Предприятии

Поработаем с колонками таблицы товаров — ничего не меняя в данных.

  1. Откройте форму поступления, выделите в таблице колонку «Цена» и прочитайте её путь по частям.

  2. Переименуйте заголовок колонки «Количество» в «Кол-во» и поставьте колонку «Сумма» перед «Ценой».

Здесь будет снимок экранатаблица товаров на предпросмотре с изменённым заголовком и порядком колонок
  1. Снимите видимость у колонки «Цена». Обновите конфигурацию и откройте поступление № 12: колонки нет, а сумма документа прежняя — цены в строках никуда не делись, их просто не показывают.

  2. Верните видимость, заголовок и порядок колонок, как были.

  3. Скажите вслух, что случилось бы, если бы вы вместо видимости сняли у колонки «Сумма» возможность правки.

Главное в одном абзаце

Колонка — поле внутри таблицы, и путь у неё продолжает путь таблицы на одно звено: «Объект.Товары.Цена» — запись, табличная часть, реквизит строки; один адрес на все строки, в каждой он указывает на своё значение. У колонки есть всё, что есть у поля, — вид, видимость, доступность, «только просмотр», заголовок, который становится надписью в шапке, — и свойства, которые имеют смысл только в таблице: показ в шапке и в подвале, текст или путь подвала, фиксация у края. Почти всё, что делают с колонкой, данных не касается: убрали, переставили, переименовали — строки прежние; а запрещать правку стоит, только если значение кто-то считает. Колонки бывают собраны в группы колонок, и это, как любая группа, решение о показе. И колонка — не реквизит строки: реквизит один на табличную часть, колонки у каждой формы свои.


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

Контрольные вопросы

  1. Из каких частей состоит путь колонки и что означает каждая?
  2. Почему путь колонки всегда начинается с пути её таблицы?
  3. Какие свойства поля есть у колонки и чем становится её заголовок?
  4. Какие свойства имеют смысл только у колонки?
  5. Что происходит с данными, если убрать колонку или поменять порядок колонок?
  6. Когда колонку стоит делать «только для просмотра» и чем это опасно в наших формах?
  7. Чем колонка отличается от реквизита строки?

Упражнения

По образцу. Выпишите пути всех колонок таблицы товаров в форме реализации, если вы её собирали, или в форме поступления.

Своё: закрепите главное. В таблице двенадцать колонок, и при прокрутке вправо пропадает наименование товара. Какое свойство и у какой колонки вы поменяете?

Ловушка: «убрал колонку — пропали цены». Разработчик скрыл колонку «Цена», а бухгалтер уверен, что цены из документов удалены. Как проверить и что объяснить?

Обратный ход. Под таблицей в чужой форме стоит «Итого: 146 500». Где искать, откуда берётся это число?

На чтение. В чужой форме колонка «Сумма» только для просмотра, а в модуле формы есть обработчик изменения количества. Что, скорее всего, делает этот обработчик?

Ответы — в конце части.