¨ присоединенную надпись, предварительно выделив ее, также можно перемещать по планшету отдельно от ЭУ;
¨ вместе с присоединенной надписью. Для этого нужно кнопкой (эта кнопка всегда включена) сгруппировать ЭУ и его присоединенную надпись и затем перемещать всю группу как один элемент. Аналогично можно сгруппировать несколько ЭУ. Для группирования нужно просто обвести указателем мыши элементы управления, которые должны войти в группу. При этом все элементы группы окажутся выделенными, как показано на рисунке 67. Разгруппирование ЭУ производится снятием выделения (1с в любом месте планшета за пределами группы выделенных элементов);
Рисунок 67 – Группирование ЭУ вместе с присоединенными надписями и перемещение группы по планшету формы
· изменять размер группы элементов. Если выделена группа ЭУ, то изменение размеров одного из них приводит к изменению размеров остальных элементов;
· автоматически выравнивать ЭУ. Для этого нужно на группе открыть к.з. меню и исполнить команду Þ Выровнять/Слева (Справа, Сверху, Снизу, по узлам сетки).
Например, при выборе слева левый край всех выделенных элементов выравнивается по левой границе крайнего левого элемента. Остальные - аналогично. По узлам сетки - левые верхние углы выделенных элементов выравниваются по ближайшему узлу сетки.
· автоматически управлять размерами ЭУ. Для этого из того же к.з. меню надо исполнить команду Þ Размер/по размеру данных (по узлам сетки, по самому высокому, по самому низкому, по самому широкому, по самому узкому);
· изменять порядок расположения элементов. При размещении элементов на планшете один элемент может быть наложен на другой. Для изменения порядка расположения элементов надо выделить элемент или группу элементов и из того же к.з. меню исполнить команду Þ Положение/На передний план (На задний план).
· изменять последовательность обхода курсором (получить фокус) по клавише TAB (в прямом направлении) или Shift+TAB (в обратном направлении) с помощью кнопки . Откроется окно, в котором нужно сделать соответствующие установки:
· кнопка Автопозволит автоматически устанавливается порядок обхода элементов, совпадающий с последовательностью создания ЭУ;
¨ принудительно (перемещая мышью в области маркировки) установить в списке элементов нужную последовательность обхода ЭУ;
· удалять элементы или группы (выделить и нажать клавишу DEL)
· изменять свойства ЭУ (в окне свойств).
Рассмотрим отдельные элементы и их часто используемые свойства
Элемент Надпись позволяет написать любой текст в нужном месте планшета формы. При вводе текста поле надписи автоматически расширяется. Надпись может быть многострочной. Нажатие клавиш Ctrl+Enter, зафиксирует ширину окна надписи и осуществится переход на новую строку. Далее вводимый текст будет ограничиваться зафиксированной шириной окна. После ввода текста надо нажать клавишу Enter или 1с за пределами окна надписи. Надпись можно отформатировать, используя окно свойств. Предварительно нужно выделить надпись.
Свойства макета:
Подпись (введенный текст)
Вывод на экран (да, нет)
Режим вывода (всегда, только при печати, только на экран)
Цвет, фон, оформление и пр.
Здесь и всюду ниже подчеркнуты значения свойств по умолчанию.
СвойстваДругие:
Имя. Каждому элементу дается имя в виде имя элемента, за которым стоит число - номер по порядку при создании элемента, например Надпись1. Можно элементу задать другое имя.
Всплывающая подсказка. Здесь можно написать текст всплывающей подсказки, а можно не указывать ничего.
Следует отметить, что некоторым свойствам нужно обязательно задавать значения, а некоторым - необязательно. Например, имя элементу должно быть задано обязательно, а свойствам, связанным с форматированием надписи, задавать значения необязательно.
Окно надписи можно выровнять по размеру данных. Для этого надо на выделенной надписи открыть к.з. меню и выполнить команду Þ Размер/По размеру данных
Надпись может быть свободной или связанной с каким-либо ЭУ (присоединенной к ЭУ). Например, при создании поля DIM для вывода имени детали можно случайно удалить присоединенную к нему надпись (см. рисунок 67). Чтобы воспроизвести надпись и связать ее с полем, надо:
· создать надпись, как это было описано выше;
· выделить надпись и вырезать ее в буфер обмена;
· выделить ЭУ, к которому надо присоединить надпись;
· на выделенном поле вставить надпись из буфера обмена.
Элемент Поле - элемент, служащий для вывода значения поля источника для просмотра и/или редактирования. Здесь рассмотрим создание так называемого вычисляемогополя, которое отсутствует в источнике и в котором выводится значение заданного выражения. Например, создадим вычисляемое поле в форме Det, в котором будет отображаться минимальная цена детали. Это можно сделать так:
· открыть форму Det в режиме конструктора;
· 1с на кнопке Поле на ПЭ;
· перенести указатель мыши в нужное место планшета формы, 1с и, не отпуская кнопки мыши, очертить границы поля. Появится свободный элемент Поле и присоединенная к нему надпись;
· исправить присоединенную надпись, написав текстмин.цена:
· выделить элемент Поле (1с на поле):
· открыть окно свойств поля;
· открыть вкладку Данныедля поля;
· на свойстве Данные открыть построитель выражения, с помощью которого написать выражение =Min([цена]);
· перейти в режим формы и проверить, что действительно в поле отображается минимальная цена
!!!! Значения вычисляемого поля можно только читать
Все свойства источника данных и его полей наследуются в форме, Однако при желании их можно изменить.
Свойства макета:
Формат поля задает формат вывода значений поля (как в таблице);
Вывод на экран (да, нет). Если – нет, то поле будет видно только в режиме конструктора, а в режимах формы и макета буде невидимым;
Полосы прокрутки (отсутствуют, по вертикали)
Расширение (нет, да). Если - да, то ширина поля изменяется под размер данных.
Оформление, фон, шрифт и пр.
Свойстваданных:
Данные определяет источник данных для поля;
Маска ввода задает маску для ввода данных в поле (как в таблице);
Значение по умолчанию (как в таблице);
Условие на значение(как в таблице);
Сообщение об ошибке (как в таблице);
Доступ (да, нет). Если – нет, то значения в поле становятся недоступными для редактирования, а также для других операций, например для копирования в буфер.
Блокировка (нет, да). Если - да, то поле становится недоступным для редактирования для других пользователей (при многопользовательском режиме работы с БД). Однако значения в поле могут быть скопированы в буфер.
Пример 4. Создадим на форме Det вычисляемое поле, в котором будем отображать слово Дорого, если цена детали превышает 90 рублей, иначе – слово Недорого. Для решения этой задачи используем стандартную встроенную функцию Iif, которую найдем через построитель выражений.
Для решения этой задачи нужно выполнить следующую последовательность действий:
· открыть форму Det в режиме конструктора;
· расширить область данных, если необходимо;
· нанести на форму ЭУ поле;
· удалить присоединенную надпись (выделить и DEL);
· открыть окно свойств поля;
· в окне свойств поля активизировать вкладку Данные;
· для свойства Данные открыть построитель выражений кнопкой с тремя точками;
· в левом окне (Элементы выражения) построителя кнопкой со знаком «плюс» открыть типы функций и выбрать встроенные функции;
· в среднем окне (Категории выражений) построителя выбрать функции Управления;
· в правом окне (Значения выражений) построителя 2с по функции IIf; эта функция в виде некоторой синтаксической конструкции появится в окне построения выражения, где вместо «expression» нужно написать условие (цена >90), вместо «truepart» - значение, соответствующее истине (дорого), а вместо «falsepart» - значение, соответствующее лжи (недорого). Как это сделать?
Ø Выделить первый аргумент функции IIf (1с по «expression»).
Ø Открыть поля формы Det (1c по Det в окне Элементы выражения построителя.
Ø 2с по полю CENA в окне Категории выражений построителя. Теперь первый аргумент функции IIfбудет записан в виде [CENA]«Выражение». Используя клавиатуру, замените слово «Выражение» на >90.
Ø Замените второй аргумент «truepart» на “Дорого” (не забудьте поставить кавычки, так как это строковый литерал).
Ø Замените третий аргумент «falsepart» на “Недорого”. В результате в построителе будет сформировано выражение, показанное на рисунке 68.
Рисунок 68 – Сформированное выражение в построителе
Ø Перенесите кнопкой ОК сформированное выражение в окно свойств.
Ø Перейдите в режим формы и, осуществляя навигацию по записям формы, убедитесь в том, что вычисляемое поле отображает верную информацию.
Ø
Элемент Группа переключателей
Этот ЭУ используется для создания группы элементов, которые работают совместно. Элемент управления удобно использовать для ввода и редактирования значений логического поля или числового поля, которое может принимать несколько фиксированных значений.
Пример 5. Пусть в таблице Post есть логическое поле PRED, в котором указано значение истина (да или -1) для поставщиков, которые предпочтительнее для потребителя их продукции, а для остальных поставщиков указано значение ложь (нет или 0). Создадим на форме Post группу из двух переключателей, один из которых будет отображать значение истина, а другой - ложь. Это можно сделать так:
· 1с по кн. Группа переключателей на ПЭ и очертить на планшете формы контур, достаточный для размещения в нем двух переключателей.
· Отредактировать присоединенную к группе надпись, заменив ее текстом, например Предпочтительность(можно по имени поля). Используя окно свойств для надписи, можно выбрать цвет символов и пр.).
· Выделить группу (1сна линии контура).
· Создать внутри контура группы два переключателя. Для этого 1с по кн. Переключатель на ПЭ, а затем 1с на месте первого переключателя внутри контура группы. Аналогично создать второй переключатель.
· Отредактировать присоединенную к первому переключателю надпись, набрав текст предпочтителен, а во второму – В крайнем случае.
· Связать группу переключателей с источником данных (полем PRED):
¨ выделить группу и открыть окно свойств для нее (2с по контуру группы);
¨ во вкладке Данные свойству Данные из списка выберем имя поля PRED, а свойству Значение по умолчанию зададим с помощью построителя выражений или , набрав на клавиатуре, значение ложь или0.
· Задать для первого переключателя значение истина, а для второго ложь:
¨ выделить первый переключатель в группе и во вкладке Данные окна его свойств свойству Значение параметра задать значение истина (или -1)
¨ выделить второй переключатель в группе и во вкладке Данные для него свойству Значение параметра задать значение ложь (или 0)
· Перейти в режим формы и убедиться в правильности сделанных установок.
· Закрыть форму Поставщики, сохранив сделанные в ней изменения.
Используя ЭУ Группа переключателей можно создавать группу флажков и выключателей.
Свойства группы переключателей очевидны.
Элемент Выключатель
Этот элемент часто используется для создания оформления. Использование его очевидно. Из свойств выключателя отметим
Тройное состояние (нет, да). Если - нет, то выключатель имеет два состояния (включен, выключен), а пустые(не введенные) значения (Null) рассматриваются как выключен. Если- да, то определяется способ отображения и третьего состояния для Null- значений.
Элемент Поле со списком
Это - удобный элемент управления, позволяющий вводить значения в поля записи, выбирая значения из раскрывающегося списка.
Создание:
· 1с по кн. Поле со списком на ПЭ.
· очертить контур поля на планшете формы;
· отредактировать присоединенную надпись;
· выделить созданное поле со списком и открыть для него окно свойств (2с по полю);
· указать, откуда будут взяты элементы в поле со списком. Это делается заданием соответствующего значения свойству Тип источника строк, для которого можно выбрать значения: Таблица/Запрос, Список значений или Список полей). Если выбрать значение Таблица/Запрос, то список будет сформирован на основе запроса или значений поля таблицы. Тогда в качестве значения свойства Источник строк надо выбрать из предлагаемого списка имя соответствующей таблицы или запроса или написать инструкцию SQL (можно воспользоваться кнопкой с тремя точками, которая дает возможность построить QBE-запрос, и соответствующий SQL-запрос автоматически будет перенесен в свойство Источник строк).
· указать источник данных для поля со списком. Для этого во вкладке Данные для свойства Данные выбрать из списка имя поля источника, с которым будет связан созданный ЭУ (т. е. поле, в которое будут вводиться данные из списка). Если данные вводиться не будут, то строку свойства Данные следует оставить пустой.
· Кроме того, в свойствах макета поля со списком свойству Число столбцов надо задать значение 1, 2, ... (количество столбцов, которое хотим видеть при открытии поля со списком).
· Задать значение свойству Ограничиться списком(нет, да). Да - если при вводе и редактировании данных разрешить использование только элементы списка, и нет - если разрешить еще и вводить данные с клавиатуры.
Если хотим сформировать список из отдельных значений, то надо:
· для свойства Тип источника строк выбрать значение Список значений;
· в строке свойства Источник строк перечислить через точку с запятой нужные значения. При этом символьные значения надо заключать в двойные кавычки, даты обрамлять символом #.
Из не указанных выше свойств поля со списком часто используются еще следующие свойства:
Присоединенный столбец (1,...) определяет, с каким столбцом связано поле таблицы или запроса, указанные в свойстве Данные. По умолчанию считается первый столбец.
Автоподстановка (да, нет). Если - да, то происходит автоматическое дополнение введенных символов до значения из списка.
Остальные свойства очевидны.
Пример 6. Создать форму без источника данных. Нанести на форму поле со списком, в котором отобразить все города без повторений из таблицы Post, в которых проживают поставщики.
Для решения этой задачи нужно выполнить последовательность действий:
· создадим форму без источника данных;
· откроем ее в режиме конструктора;
· нанесем на форму ЭУ поле со списком,которому автоматически будет дано имя, например, ПолеСоСписком0.Этоимя можно изменить на другое, что мы и сделаем позже;
· исправим текст присоединенной надписи для поля со списком на текст Города поставщиков;
· активизируем вкладку Макет в окне свойств поля со списком и отформатируем текст присоединенной надписи;
· активизируем вкладку Данные в окне свойств поля со списком и в строке Источник строк выберем кнопку, на которой отображены три точки. Откроется окно для создания QBE-запроса. Создадим запрос, показанный на рисунке 68.
Рисунок 68 – Запрос для выбора городов поставщиков
· откроем окно SQL-запроса и добавим предикат DISTINCT так, что SQL-запрос будет таким: