В форме учебного дня мало информации:
Добавим номер кабинета, в котором проходит урок, и учителя, который этот урок ведёт. Для этого вернемся в конфигуратор и добавим форму документа для документа УчебныйДень. В дереве конфигурации у вас появится ещё одна форма:
А в рабочей области откроется конструктор этой формы:
Платформа создала такую же автоматически генерируемую форму, которую будем изменять.
Ранее уже для одного из элементов изменяли свойство Формат, а сейчас понадобятся реквизиты формы. Реквизитов у формы может быть много. Среди них всегда есть один самый важный, называемый основной реквизит. Он определяет, какие действия умеет выполнять форма и как она выглядит. Если основной реквизит — это список, то форма будет уметь создавать новые элементы в списке, находить имеющиеся элементы и так далее.
Если основной реквизит — это объект, то форма будет уметь записывать данные, если это документ — то ещё и проводить их (т.е.изменять содержание регистров).
Если основной реквизит является определяющей характеристикой всей формы, то, что форма показывает с помощью своих элементов данные, содержащиеся в основном реквизите. Основной реквизит всегда выделяется жирным шрифтом. Чтобы его можно было отличить от других реквизитов. Конструктор формы, когда создаёт новую форму, называет стандартный реквизит одним и тем же образом: Список, если форма показывает несколько объектов данных, или Объект, если форма показывает данные одного объекта.
Сейчас есть единственный основной реквизит, называющийся Объект, раскройте его содержимое, нажав мышью на крестик
В этом реквизите те же самые стандартные реквизиты, что в объекте конфигурации УчебныйДень: Ссылка, Дата, Проведен и т. д. Они не видны в дереве объектов конфигурации. Далее идёт табличная часть Уроки, которую Вы добавляли, раскройте её
Все реквизиты табличной части уже показаны в форме. Вспоминаем: где записывали, какой учитель какой предмет преподаёт? В справочнике Предметы. В табличной части есть реквизит, который ссылается на элемент этого справочника. Если раскрыть реквизит Предмет, то в содержимом есть и кабинет, и учитель. То есть ровно то, что содержится в справочнике Предметы.
В этом реквизите хранится ссылка на некоторый элемент справочника Предметы. Значит, в том месте, где есть эта ссылка, можно узнать не только наименование этого элемента (название предмета), но и все остальные его данные. Например, учителя, который преподаёт, и кабинет, в котором проходят занятия. Таким образом нашли то, что нужно показать.
Теперь вопрос: как это показать? Как сделать, чтобы эти данные появились в форме? Достаточно только потянуть реквизит мышью и перетащить его в то место дерева элементов, где он должен находиться. Всё остальное платформа сделает за вас сама.
Перетащите мышью реквизит Кабинет из правой верхней части формы и поместите его после элемента УрокиПредмет в левой верхней части формы документа.
Когда отпустите мышь, в дереве элементов появится новый элемент. Он автоматически уже будет связан с реквизитом, который перетаскивали.
Если теперь посмотреть на форму, то увидим, что в таблице после колонки Предмет появилась ещё одна колонка:
Точно таким же образом перетащите в дерево реквизит Учитель. Поместите его после элемента УрокиПредметКабинет. Если вы случайно промахнулись, можете использовать голубые стрелки вверх и вниз, чтобы перемещать элементы в дереве.
Запустите конфигурацию в режиме отладки и посмотрите, что получилось:
Отлично, рядом с каждым предметом есть кабинет и есть учитель. Но теперь таблица получилась очень широкой, и ей, может быть, неудобно пользоваться. Эти данные можно расположить более компактным образом.
Закройте 1С:Предприятие и вернитесь в конфигуратор.
В форме есть специальный элемент — группа, который позволяет группировать вместе другие элементы формы. Этот элемент можно использовать и внутри таблицы.
Вызываем контекстное меню у элемента Уроки (это таблица), и выполняем команду Добавить
В открывшемся окне выбираем элемент Группа — Группа колонок и нажимаем ОК.
В дереве элементов появится группа:
В палитре свойств назовем её ГруппаКабинетУчитель. А затем с помощью стрелок вверх или вниз поставим её после реквизита Предмет:
Обратим внимание, что внутри этой группы элементы будут располагаться вертикально. Это указано в её свойстве Группировка палитры свойств.
Если тяжело искать среди большого количества свойств, которые есть в палитре, воспользуйтесь поиском. В поле, расположенном вверху палитры, начните вводить имя свойства. Например «гру». Платформа сразу же покажет вам подходящие свойства:
После того, когда нашли и посмотрели интересующее свойство, очистите поиск, нажав на крестик. Иначе он продолжит действовать. И когда перейдёте к другому элементу формы, то можете вообще ничего не увидеть в палитре свойств. Например, потому что у другого элемента нет свойств, начинающихся на «гру».
Итак, в добавленной группе элементы расположены вертикально. Перенесем в неё несколько элементов. Выделяем в дереве (удерживая клавишу Ctrl) элементы УрокиПредметКабинет и УрокиПредметУчитель:
После выделения элементов перетаскиваем их в группу ГруппаКабинетУчитель:
В одной ячейке таблицы будут находиться сразу и предмет, и кабинет, и учитель. Чтобы стало совсем понятно, запустите конфигурацию в режиме отладки:
Теперь строки таблицы стали очень высокими. А названия предметов теряются среди прочей информации, которая есть в этой колонке. Продолжим работать над формой и исправим эти недостатки. Закройте 1С:Предприятие и вернитесь в конфигуратор.
Чтобы сделать строки уже, расположите кабинет и учителя не вертикально, а друг рядом с другом. И не просто в соседних колонках, а в одной колонке. Потому что и фамилия учителя, и номер кабинета — это справочная информация. Не предполагается, что пользователь будет её редактировать. Выделяем элемент УрокиПредметУчитель и ставим его перед элементом УрокиПредметКабинет
Открываем свойства группы ГруппаКабинетУчитель и задаем для нее группировку — В ячейке:
В нижней части формы это будет выглядеть следующим образом:
Теперь, чтобы учитель и кабинет не мешали вам видеть названия предметов, изменим их цвет. Выделяем оба этих элемента и находим в палитре свойство ЦветТекста:
Изменяем цвет текста, например, выбрав квадратик соответствующий желанию, и запускаем конфигурацию в режиме отладки и смотрим, что получилось:
Сделаем ещё одно изменение. Чтобы понять, зачем оно нужно, попробуем в ячейку Домашнее задание ввести какой-нибудь длинный текст.
Обратим внимание, что весь текст вводится в одну строку. И если захотим изменить что-то в начале строки, то приходится перемещать туда курсор стрелкой влево. Кроме того, если где-то в середине этой фразы вы захотите перенести её продолжение на другую строку, то этого не получится. Нажатие клавиши Enter просто приведёт к тому, что редактирование будет закончено:
В результате введённый текст будет расположен в одну строку. Если ширина колонки не позволяет увидеть его полностью, то можно подвести к нему мышь и подождать немного. Появится всплывающая подсказка, в которой он будет показан полностью:
Закройте 1С:Предприятие, не сохраняйте этот документ. Вернитесь в конфигуратор. Будем обращаться не к форме, а к дереву объектов конфигурации: Документы - документ УчебныйДень - табличная часть "Уроки" - реквизит ДомашнееЗадание. Там можно будет задать свойства отображения данных, которые будут реализовываться в любой форме, где появится реквизит "ДомашнееЗадание".
Итак, выделяем в дереве конфигурации реквизит ДомашнееЗадание и находим в палитре два свойства: Многострочный режим и Расширенное редактирование. Они расположены рядом, и поиском можно не пользоваться. Устанавливаем оба этих флажка:
Галка Многострочный режим позволяет редактировать текст не в одной строке, а в нескольких.
Галка Расширенное редактирование позволяет переносить текст на новую строку, начинать новые строки, использовать символы табуляции и так далее.
Запускаем конфигурацию в режиме отладки и снова пробуем ввести длинный текст домашнего задания.
В процессе ввода, чтобы перейти на новую строку, нажимаем сочетание клавиш Shift+Enter:
Введите длинное домашнее задание, которое показывается не в две строки, в три:
А если вы решите его отредактировать, то оно будет показано не в одну строку, как раньше, а в несколько:
После того, как реквизит ДомашнееЗадание стал многострочным, автоматически раздвинулись все строки в табличной части документа (и те, где написан текст, и пустые строки тоже):
Сделаем, чтобы раздвигалась только та строка, в которой что-то написано. А пустые строки пусть будут тонкими. Чтобы это поправить, возвращаемся в конфигуратор, открываем свойства элемента формы УрокиДомашнееЗадание. С помощью строки поиска находим свойство АвтоВысотаЯчейки и устанавливаем галку:
Запускаем "1С:Предприятие в режиме отладки" и откройте документ:
Подробнее про сочетания клавиш для работы с полем ввода вы можете прочитать во встроенной справке: Главное меню — Справка — Содержание справки — Сочетания клавиш (Конфигуратор) — Поле ввода: