d9e5a92d

Глава 4. Интерфейс пользователя

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

• панели интерфейса (главное меню и панели инструментов конфигурации);

• экранные формы, в которых размещаются различные элементы управления (кнопки, поля ввода, списки, флажки и т.д.);

• диалоговые окна, предупреждения и вопросы, служебные сообщения, календарь, калькулятор и т.д.;

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

Любая конфигурация на платформе 1С:Предприятие 8.0 имеет интерфейс, частично состоящий из интерфейса самой платформы и собственного интерфейса конфигурации.

К интерфейсу платформы относятся внешний вид главного окна программы, системные пункты меню, стандартные панели инструментов, встроенные экранные формы и элементы управления. Встроенный интерфейс платформы присутствует во всех конфигурациях, что является одним из преимуществ системы программ 1С:Предприятие 8.0, позволяющим ускорить обучение пользователей при работе с различными конфигурациями, независимо от их назначения.




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

Разработка в системе 1 ^Предприятие 8.0

Интерфейсы

В данном разделе под термином «интерфейс» понимается объект конфигурации, который находится в ветви «Общие» дерева конфигурации. Этот объект предназначен для реализации командного интерфейса конфигурации (главное меню и панели инструментов).

В простой конфигурации можно создать один интерфейс, но чаще создается несколько интерфейсов для каждого типа пользователей. Рекомендуется один из интерфейсов назначить основным, а также разработать специальный интерфейс для администратора системы, в котором будут присутствовать все основные объекты конфигурации. Имена интерфейсам лучше присваивать исходя из названия должности пользователей или по названиям подсистем.

Интерфейс как объект конфигурации состоит из панелей интерфейса. Причем главное меню также является одной из таких панелей , как показано ниже:

оаеть панель І^дают? пене/* ісок панелей интерфейса

штттят
Чаил Справочной Документы Розное (Новая) Стене Окна гTfiBM Ндг^нк тагчрл Ввести номенклатура г j Контрагентъ!

| Склады ; Типы ион бати

&? Валеты

•! Едтшы измерения

I <Н(»*я>

Логически связанные пункты рекомендуется объединять в подменю и группировать с помощью линий-разделителей.

Для задания действия и определения внешнего вида элемента панели (пункта меню или кнопки панели инструментов) воспользуйтесь палитрой свойств. Обязательно укажите подсказку и пояснение, а для ключевых пунктов меню можно указать еще и картинку, поясняющую смысл действия.

Чтобы ускорить доступ к часто выполняемым командам, предусмотрите кнопку на панели инструментов конфигурации или даже сочетание клавиш (акселератор, горячая клавиша).

Ниже на рисунке видно, что для пункта «Валюты» назначено сочетание клавиш Alt-V для быстрого открытия справочника валют:



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

Разработка в системе 1C Предприятие 8 О

Экранные формы

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

Многие объекты в 1C Предприятии 80 могут иметь одну или несколько форм Кроме того, в конфигурации могут быть так называемые общие формы, которые не принадлежат конкретному объекту, а относятся к конфигурации в целом Обычно одна из общих форм служит в качестве формы констант, обеспечивая удобный доступ к ним

Ниже приведен пример типичной экранной формы документа

В верхней части формы располагается вспомогательная командная панель Чуть ниже идут идентификационные реквизиты номер, дата и время документа, там же можно поместить название документа жирным шрифтом Затем идут реквизиты шапки документа в одну или две колонки, далее табличная часть, еще ниже
итоговая информационная строка и, наконец, в самом низу — кнопки управления формой Такой стандарт представления экранных форм традиционно применяется для экономических документов, и рекомендуется его придерживаться

Редактор форм

Для разработки форм в 1C Предприятии 80 существует мощный редактор форм, имеющий богатый набор элементов управления и сервисных функций, включая выравнивание, задание привязок границ и др

Ниже показана форма документа ВыплатаСотрудникам в режиме Конфигуратора

Отметим следующие моменты
Разработка в системе 1 ^Предприятие 8.0

Редактор форм позволяет изменять внешний вид экранной формы

с помощью следующих инструментов:

• Панель «Элементы управления» позволяет разместить в форме различные элементы управления, к которым относятся: кнопка, надпись, поле ввода, табличное поле, флажок, переключатели и т.д. Панель «Элементы управления» выглядит следующим образом:

SL и ~j ~ «L • "1 —г '_, г [1 т> A A J •«

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

• Панель «Форматирование» позволяет редактировать внешний вид элементов управления. Это значительный прогресс по сравнению с версией 7.7, где все свойства настраивались в специальном окне с несколькими закладками. Те же самые свойства можно редактировать напрямую через палитру свойств. Панель «Форматирование» выглядит следующим образом:

Ж/СЧ --Д-Л,К»Я 4 ”""ь Шрифт-текста И

• Панель «Редактор форм» позволяет установить порядок обхода элементов управления (по клавише TAB), запустить форму для проверки (Ctrl-R), вызвать конструктор для вставки элемента управления или разместить в форме элементы управления, связанные с реквизитами объекта конфигурации. Ручная настройка порядка обхода доступна, если отключен автоматический порядок обхода. Рекомендуется задавать естественный порядок обхода элементов управления: слева направо сверху вниз. Кнопки панели редактора форм показаны ниже:

В» t N „

• Панель «Выравнивание» становится доступна, когда в форме выделено несколько элементов управления. С помощью дан-

ных кнопок можно оперировать группой элементов, выравнивать их по краю или по центру, задавать одну ширину или высоту и даже выравнивать автоматически. Команды панели выравнивания приведены на следующем рисунке:

в в апо ш по »< MI '«ч i в о „

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

Контекстное меню в редакторе форм позволяет выполнить некоторые действия над текущим элементом управления, например, добавить страницу на панель.

Наконец, с помощью мыши можно размещать элементы управления в форме, передвигать их и изменять их размер.

Элементы управления

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

Ниже перечислены все элементы управления, существующие в ^Предприятии 8.0.

Поле ввода

Поле ввода применяется для ввода значений различных типов, например, чисел, строк, дат. Оно также применяется для выбора элементов справочников, документов, значений перечислений и др. Поле ввода может содержать дополнительные кнопки для выбора значения, очистки поля, просмотра значения, выбора из

списка и кнопки регулирования. Наличие этих кнопок определяется в свойствах поля ввода установкой соответствующих флажков.

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

В свойствах поля ввода можно также настроить его внешний вид: цвет фона, стиль и цвет рамки, картинку. Не рекомендуется кардинально изменять внешний вид элементов управления. Только минимальная и правильная настройка облагородит конфигурацию, придаст ей стильный и профессиональный вид.

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

Чтобы ускорить освоение конфигурации начинающими пользователями, для всех полей ввода указывайте свойство Подсказка. Это также относится и к другим элементам управления. В 1 ^Предприятии 8.0 можно даже создать раздел справочной системы по данной форме, куда следует включить подробное описание всех элементов управления для ввода данных и кнопок.

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

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

РСХЛ&ІЧф флрмлтной строки rPlfCCKJA}) X
Я «ь*. (Страна) iu_flU -
Число Дата Логическое значение
? Дл*а 1? * ? Реэделите^ дробной части Т X
? Точность С. ‘ Раэделите/ы групо - X
Сдвиг 0 * Групп цювка
? Пред ставленые нуля Т Я
Представлены* отрицательных чисел
Выводить лионруошие нули

Пример
437 К4 Э2І В ф
n=tj_RU ЧЦ*15 ЧДЦ-2 ЧРД* ЧН*
ОК і Отмена 1
Чтобы уменьшить количество ошибок из-за неправильно введенных пользователем данных, используйте свойства «Мин. значение» и «Макс, значение», а там где это необходимо, ставьте флажок «Неотрицательный». Обратите внимание, что если поле ввода связано с реквизитом объекта типа «число», то флажок «Неотрицательный» устанавливается в свойствах реквизита объекта, а не в свойствах поля ввода. Если отрицательные числа все-таки допускаются, то их лучше все равно автоматически выделять с помощью стиля «Отрицательное число» (обычно красным цветом). Для этого достаточно в свойствах поля ввода установить флажок «Выделять отрицательные».

Необходимо понимать разницу между полем ввода и реквизитом объекта. Поле ввода является элементом управления, видимым пользователю и предназначенным для редактирования реквизита объекта. Чтобы реквизит объекта был доступен пользователю для просмотра и редактирования, между элементом управления (например, полем ввода или колонкой табличного поля) и реквизитом объекта устанавливается связь. Это делается путем указания свойства Данные для элемента управления.

Разработка в системе 1 ^Предприятие 8.0

Заметьте, что имя поле ввода может не совпадать с именем реквизита документа. Например, поле ввода с именем ПолеОклад может быть связано с реквизитом Оклад.

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

ПолеОклад = ЭлементыФормы.ПолеОклад;

ПолеОклад.Видимость = Истина;

ПолеОклад.МаксимальноеЗначение = 10000;

ПолеОклад.МинимальноеЗначение = 500;

ПолеОклад.ОтметкаНезаполненного = Истина;

ПолеОклад.КнопкаОчистки = Истина;

У поля ввода существует несколько событий, которые разработчик может перехватывать для выполнения каких-либо действий. Некоторые из этих событий приведены ниже'

ПриИзменении

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

НачалоВыбора

Событие возникает при нажатии на кнопку выбора у поля ввода или нажатии клавиши F4.

НачалоВыбораИзСписка

Событие возникает при нажатии на кнопку выбора из списка.

Очистка

Это событие возникает при нажатии кнопки очистки или по комбинации клавиш Shift+F4

Регулирование

Данное событие возникает при нажатии на одну из кнопок регулирования (увеличения или уменьшения значения).

Открытие

Событие возникает при нажатии на кнопку открытия объекта или комбинации клавиш Ctrl-Shift-F4.

ОбработкаВыбора

Это событие возникает после осуществления выбора, но до помещения выбранного значения в элемент управления.

ОкончаниеВводаТекста

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

Например, в расходной накладной при изменении контрагента нужно пересчитать цены в соответствии с типом цен для текущего контрагента:

Процедура КонтрагентПриИзменении(Элемент)

Если Не Контрагент.Пустая() Тогда

Если ТипЦен о Контрагент.ТипЦен тогда ТипЦен = Контрагент.ТипЦен;

ПересчетЦен();

КонецЕсли;

КонецЕсли;

КонецПроцедуры

Надпись



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

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

ЭлементыФормы. НадписьТипЦен. Заголовок = "Тип розничной цены”;

ЭлементыФормы.НадписьТипЦен.ЦветТекста = Новый Цвет(200/0/0);

ЭлементыФормы.НадписьТипЦен.ПрозрачныйФон = Истина;

ЭлементыФормы.НадписьТипЦен.Видимость = Истина;

В 1 С:Предприятии 8.0 существует еще одно интересное нововведение: текст надписи может выводиться в виде бегущей строки, скорость которой настраивается в свойствах. Это позволяет выводить длинную строку в достаточно короткую надпись. Но не стоит злоупотреблять этой возможностью, так как это сильно отвлекает внимание. Пользователь должен иметь возможность отключить

Разработка в системе 1С:Предприятие 8.0

бегущую строку и просмотреть данную информацию целиком другим способом, например, в виде текстового документа в отдельном окне.

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

Кнопка

'А Печать Выгоолеттъ -1 і Ичг.і?и?*.1

Кнопка позволяет выполнить какое-либо стандартное действие или вызвать процедуру (обработчик события Нажатие).

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

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



Для каждого пункта подменю можно указать одно из стандартных действий или назначить процедуру модуля. Например, пункт «Печать» вызывает процедуру ПечатьСПросмотром:

Процедура ПечатьСПросмотром(Кнопка) ТабДок = Новый ТабличныйДокумент; ДокументОбъект.Печать(ТабДок); ТабДок.Показать О ;

КонецПроцедуры

Командная панель

Операция" Ценыи валюта *•* ШГ Г. » ГЦ л Переети" ii у

Командная панель представляет собой набор кнопок, обычно с пиктограммами, для выполнения действий в текущей форме или с некоторым элементом управления, например, табличным полем.

Внимание! Следует различать «командную панель» и «панель интерфейса». Командная панель располагается в форме и содержит кнопки и подменю. Панель интерфейса представляет собой главное меню или панель инструментов конфигурации.

Командная панель может формироваться автоматически или настраивается разработчиком. Если в свойствах командной панели установлен флажок Автозаполнение, то затем обычно указывается свойство ИсточникДействий. При этом командная панель автоматически будет заполнена командами, характерными для данного источника. Например, если источником действий является табличное поле, то на командной панели появятся кнопки Добавить, Изменить, Удалить и т.д.

В командной панели, могут присутствовать кнопки с картинкой, с надписью и картинкой, или только с надписью.

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

Кнопки могут являться подменю, например, как кнопка «Действия» в стандартных командных панелях.

Если у командной панели установлено свойство «Вспомогательная», то это говорит о гом, что командная панель не участвует в обходе элементов формы (клавиши TAB и Shift-TAB).

Разработка в системе 1С:Предприятие 8.0

Программно можно изменять свойства командной панели, добавлять и удалять кнопки, менять их порядок и т.д. Ниже демонстрируются некоторые возможности 1 ^Предприятия 8.0 по работе с командными панелями средствами встроенного языка:

//обращение к командной панели в форме КомПанель = ЭлементыФормы.КоманднаяПанельТаблицы;

// добавим кнопку Открыть, вызывающую процедуру ОткрытьЭлемент КомПанель.Кнопки.Добавить("кнОткрыть",

ТипКнопкиКоманднойПанели.Действие,

"Открыть",

Новый Действие("ОткрытьЭлемент”));

//сделаем командную панель доступной КомПанель,Доступность = Истина;

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

Контекстное меню вызывается по нажатию правой кнопки мыши, Shift-FlO или специальной кнопки на Windows-клавиатуре. При открытии оно подстраивается под текущее положение курсора:

Добвеить Ins
Изменить п
]?иа<?т? Del
Скопировать FS
Перенести строку
Разработчик может доверить формирование контекстного меню системе (свойство АвтоКонтекстноеМеню) или использовать в качестве контекстного меню командную панель или ее кнопку-подменю.

Флажок

^ улнблвнчасм#

Нт. . Д tfjpn-алге^скмй

Не знаю

Флажок применяется для тех данных, которые характеризуются состояниями «включено» и «выключено». Флажок обычно имеет два состояния, хотя в 1С:Предприятии 8.0 можно создавать флажки и с тремя состояниями: «включено», «выключено» и «не опре-

определено» (затемненная галочка). Такие флажки должны иметь тип данных не «булево», как обычно, а «число».

При размещении в форме флажка автоматически создается реквизит типа «булево» или «число», через который можно программно считывать и устанавливать текущее значение флажка. Через коллекцию ЭлементыФормы можно управлять свойствами флажка, например:

Сообщить(флУправленческийУчет); флБухгалтерскийУчет = Ложь;

ЭлементыФормы.флУверенность.ТриСостояния = Истина; флУверенность = 2; //будет означать третье состояние ”Не знаю”

В свойствах флажка можно настроить его внешний вид, включая положение текста (слева или справа), цвет фона, шрифт и цвет текста, стиль и цвет рамки.

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

Переключатели

* Б Файл Непр»*ггер

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

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

Чтобы установить последовательный порядок обхода, нужно сначала в свойствах формы отключить флажок «Автопорядок обхода», затем нажать кнопку ft на панели инструментов или выбрать

Разработка в системе 1 (^Предприятие 8.0

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

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

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

датой и т.д._Л-;

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

//прочитать текущий выбор пользователя Сообщить(ПереключателъНаправлениеПечати);

//установить первый переключатель, (См^ свсОйст]воиВыби©аемоеЗначение) ПереключательНаправлениеПечати = "Файл";

//установить второй переключатель л

ПереключителъКаправлениеПечати = "Принтер ;

Табличное поле



Табличное поле позволяет вывести данные в виде таблицы или дерева. Это может быть список элементов справочника, список

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

Есть возможность выводить в табличное поле иерархические данные в виде вложенных папок или в виде дерева.

В Конфигураторе разработчик задает перечень колонок табличного поля, но пользователь при работе может самостоятельно настроить порядок и расположение колонок для себя.

Обратите внимание на режим изменения ширины колонок. Если вы просто меняете мышкой ширину колонки, то суммарная ширина всех колонок остается прежней, а если при этом удерживать клавишу Ctrl, то меняется.

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

ОТЙС? СорГИрОВі й
Дан№іе по кс* f oBHj х Л
код PeEHj -
Налчеюммие Рае но -
?' Зак^?:і#»ая цепа Б •! nut или раіие - 1 )]ии0 В
Qa-юенои noct У ЭРН т X
Отборы
Система ^Предприятие 8.0 имеет широкие возможности по оформлению табличного поля. Можно указывать цвет фона и текста шапки, колонок, ячеек и подвала, выводить картинки в ячейки, задавать чередование фона для строк, изменять стиль и цвет рамки Будьте внимательны, когда устанавливаете свойства колонки и ячейки, поскольку у табличного поля в целом, у колонки и каждой ячейки — у всех свой набор свойств

Разработка в системе 1С:Предприятие 8.0

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

Ф^Роле = ЭлементыФормы.тпНоменклатура; уЦЩЗоле. ЧередованиеЦветовСтрок = Истина;

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

Ниже приведены наиболее часто используемые события табличного поля:

Выбор

Возникает при двойном щелчке мыши или нажатии клавиши Enter на ячейке табличного поля.

( ВыборЗначения

Вызывается при выборе значения из списка в режиме выбора. Выбор значения также может быть инициирован кнопкой на панели инструментов или через контекстное меню.

ПрнАктивизацииСтроки

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

ПриВыводеСтроки

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

ПередУдалением

Возникает перед удалением строки или группы строк табличного поля. В процедуре-обработчике можно отказаться от удаления строки.

ПередНачаломИзменения

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

Обратите внимание на событие ПриВыводеСтроки, которое возникает при формировании каждой строки табличного поля.

В этом событии можно заполнить некоторые ячейки, а также изменить оформление отдельной ячейки и всей строки.

Например, требуется вывести список валют в табличное поле Список с указанием текущего курса, который хранится в регистре сведений КурсыВалют. Тогда это можно сделать следующим образом:

Процедура СписокПриВыводеСтроки(Элемент,

ОформлениеСтроки, ДанныеСтроки)

//берем текущую валюту из параметра ДанныеСтроки ТекВалюта = ДанныеСтроки.Ссылка;

//ссылка на регистр сведений

РегКурсы = РегистрыСведений.КурсыВалют;

//ссылка на оформление ячейки Курс ЯчейкаКурс = ОформлениеСтроки.Ячейки.Курс;

//считываем курс из регистра сведений и выводим в ячейку Отбор = Новый Структура(”Валюта”,ТекВалюта);

Курс = РегКурсы.ПолучитьПоследнее(,Отбор).Курс; ЯчейкаКурс.УстановитьТекст(Курс);

КонецПроцедуры

В 1C: Предприятии 8.0 нет текстовых колонок, в которых можно вызвать функцию, как это было в версии 7.7. Вместо них предлагается использовать событие ПриВыводеСтроки, в котором можно выводить информацию в ячейки и управлять их внешним видом, используя объекты ОформлениеСтроки и ДанныеСтроки. У объекта ОформлениеСтроки есть свойство Ячейки, которое содержит коллекцию объектов ОформлениеЯчейки.

Например, выведем справочник Номенклатура с указанием остатка товара на складе, а для тех товаров, у которых остаток меньше 10, установим предупреждающий цвет фона. Это позволит контролировать остатки товаров в реальном времени и вовремя заказывать дефицитные товары:

Процедура СписокПриВыводеСтроки(Элемент,

ОформлениеСтроки,

ДанныеСтроки)

СтруктураОтбора = Новый Структура(”Номенклатура”); СтруктураОтбора.Номенклатура = ДанныеСтроки.Ссылка;

РегОстатки = РегистрыНакопления.УчетНоменклатуры;

Разработка в системе 1 С: Предприятие 8.0

//считываем остаток из регистра

тзОстатки = РегОстатки.Остатки(,СтруктураОтбора,

"Номенклатура","Количество"),

Если тзОстатки.Количество() > 0 Тогда

ОстатокТовара = тзОстатки[0].Количество;

ЯчейкаОстаток = ОформлениеСтроки.Ячейки.Остаток; ЯчейкаОстаток.ОтображатъТекст = Истина; ЯчейкаОстаток.Текст = ОстатокТовара;

Если ОстатокТовара < 10 Тогда

ЯчейкаОстаток.ЦветФона = Новый Цвет(255,230,230); КонецЕсли;

КонецЕсли;

КонецПроцедуры

Результат работы этой процедуры показан ниже:



* _J ооооз

_ 00031

- 00030

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

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

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

Поле списка

Поле списка предназначено для вывода различного рода списков и тесно связано с объектом СписокЗначений. Фактически поле списка — это элемент управления для визуального представления списка значений.

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

Следующий пример добавляет в поле списка три значения и включает режим вывода пометок:

сзСотрудники.Добавить(’’Иванов’’) ; сзСотрудвики.Добавить("Петров"); сзСотрудники.Добавить("Сидоров",.Истина);

ЭлементыФормы.сзСотрудники.ОтображатьПометку = Истина;

Поле списка имеет события, которые можно перехватывать с помощью процедур-обработчиков и выполнять полезные действия:

Выбор

Возникает при выборе строки из поля списка.

ПриАктивизацииСтроки

Возникает при смене текущей строки поля списка.

ПриИзмененииФлажка

Возникает при изменении пометки строки поля списка.

Разработка в системе 1 С:Предприятие 8.0

Поле выбора

Слисок

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

Через свойство Значение можно считывать и устанавливать значение, выбранное в поле выбора. Конечно, у поля выбора существуют события, например, НачалоВыбора, ОбработкаВыбора, ПриИзменении, Очистка и др.

Панель

Документ Движения

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

В 1 ^Предприятии 8.0 панель может располагаться в любом месте формы, а на страницу одной панели можно поместить вложенную панель.

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

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

Внимание! Не путайте три разных термина: «панель формы», «командная панель» и «панель интерфейса». Панель формы обеспечивает доступ к страницам, действующим на всю форму. Командная панель располагается в форме и содержит кнопки и подменю. Панель интерфейса является составной частью интерфейса как объекта конфигурации и представляет главное меню и панели инструментов конфигурации.

Страницы панели могут существовать и без закладок, если в свойстве панели «Отображение закладок» выбрано значение «Не отображать». Тогда выбор текущей страницы должен осуществляться средствами встроенного языка, например:

Падаль.ТекущаяСтраница = Панель.Страницы[”СтрКартинка”];

Разберем еще одно важное свойство РаспределятьПоСтраницам. Это свойство типа «булево», которое определяет, изменяется ли состав отображаемых на панели элементов управления при переключении между страницами. Если установлено значение Ложь, то видимостью элементов управления должен управлять разработчик средствами встроенного языка, перехватывая событие ПриСменеСтраницы. Это событие может быть также использовано для реализации переключения отбора в виде закладок.

Внимание! При снятии флажка РаспределятьПоСтраницам все элементы формы, располагающиеся на других страницах, кроме текущей, будут удалены.

Разработка в системе 1 ^Предприятие 8 О

В 1 (лПредприятии 8.0 можно программно управлять страницами панели, добавляя или удаляя их, изменять порядок их следования и т.д. В следующем примере на панель формы добавляются страницы, а затем меняется их порядок.

Процедура ПриОткрытии()

//очищаются все страницы панели со всеми элементами управления,

//после выполнения этого метода

//панель имеет одну страницу и одну закладку

Панель.Страницы.Очистить();

//индекс первой страницы равен 0, изменим для нее имя и заголовок Панель.Страницы[0] Имя = "СтраницаОсновные"; Панель.Страницы[0].Заголовок = "Основные";

//добавим вторую страницу, ее индекс будет 1 Панель.Страницы Добавить("СтраницаКартинка","Картинка",,);

//добавим третью страницу, ее индекс будет 2 Панель.Страницы.Добавить("СтраницаПрочее","Прочее",,);

//сдвигаем третью страницу "Прочее" (с индексом 2)

//на 1 позицию к началу Панель.Страницы.Сдвинуть(2,-1);

//удалим страницу Прочее

// в метод Удалить может передаваться номер или сама страница Панель Страницы Удалить(Панель.Страницы["СтраницаПрочее"]);

//для страницы Картинка изменим текст заголовка //доступ к странице возможен по имени как к свойству коллекции Панель.Страницы.СтраницаКартинка.Заголовок = "Изображение"; КонецПроцедуры

Поле табличного документа



Остатки номенклатуры

а

ш

:іэ

іШ
Номенюптоэ биіоина e вфи Основном скл* Склад от де А* г Итог
Кмбиегдеы 300 65 00 тэоо 3? 00
Мониторы 9 00 500 1400
Монитора LO Smckoworks 57SN 4 00 4 00
Монитор 17 РГАрз Ю7$20 1 00 1 00
Монитор НіаеТ*СМ7і5ЕТ 4 00 4 00 ?оо
Монитор LCD 22 1 00 too
МЫви 2 00 60 00 27 00 09 00
Нй?тФуки t 00 4 00 500
Пюжтееы 2 00 6 00 700
Программное обеспечен 15 00 65 00 3 00 08 00
Системные блоки и комплегг?ктшуте 20 00 1 00 21 00
Смет блок Hewlett Peck»dBrioBA410 10 00 1000
Смет био* Hewlett Packard Vectra VL 420 200 1 00 3 00
Элемент управления ПолеТабличногоДокумента позволяет выводить отчеты и другие печатные формы прямо в экранную форму. При этом разработчик может использовать все возможности табличного документа, включая вывод областей, группировку строк и столбцов, расшифровку Подробнее про формирование печатных форм и работу с табличными документами написано в главе «Отчеты»

Следующие элементы управления используются не так часто и будут описаны очень кратко. Более подробные сведения о них приведены в документации.

Рамка



Периса--

С 01 01 20О^

По 31122Q0G

Рамка предназначена для визуальной группировки логически связанных элементов управления. Для рамки можно установить заголовок, цвет текста, тип и цвет рамки. Эти свойства можно также устанавливать программно. Рамка может также использоваться в качестве линии, что можно задать в ее свойстве «Рамка».

Картинка



Картинка позволяет вывести в форму графическое изображение или анимацию в формате GIF. Встроенный язык имеет средства для загрузки картинок из файлов. Кроме того, картинки могут храниться в базе данных в полях типа ХранилищеЗначений.

При расположении картинки в форме есть возможность задать поведение картинки при изменении размера (прокручивать, растягивать и т.д.). Дополнительно картинка может реагировать на

Разработка в системе 1С:Предприятие 8.0

щелчок мыши (событие Нажатие) и может служить гиперссылкой.

В конфигурации может существовать библиотека картинок, которая располагается в ветви «Общие картинки» в дереве конфигурации. Методику работы с общими картинками можно найти в документации. Здесь отметим, что можно выбирать картинку из файла (поддерживаются все основные графические форматы: Ьщр, jpg, gif, tif, wmf, ico). Картинки некоторых форматов можно редактировать в специальном Редакторе картинок.

Диаграмма



Элемент управления Диаграмма предназначен для показа стати -стических данных в наглядном графическом виде, что очень удобно для анализа. Диаграмма в 1 ^Предприятии 8.0 может располагаться прямо в экранной форме, а не только в печатной форме (табличном документе).

Существует возможность задать тип диаграммы: график, плоская и объемная гистограмма, круговая, изометрическая, биржевая и др. У диаграммы также может быть легенда, содержащая имена серий.

Кроме всего прочего, на диаграмме работают расшифровки. Если два раза щелкнуть мышью на точке графика (или столбике), то можно получить более детальную информацию, конечно, если это предусмотрено в конфигурации.

Индикатор



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

Но все-таки для того, чтобы пользователь мог прервать чрезмерно затянувшийся процесс (или «зависшую» программу), в теле цикла необходимо вызывать процедуру ОбработкаПрерыванияПользо-вателя, подробнее о которой написано в документации. '

Полоса регулирования



Полоса регулирования позволяет в наглядном виде устанавливать числовое значение из ограниченного диапазона. Она содержит линейку и ползунок, который можно перемещать мышью. В свойствах можно задать минимальное и максимальное значение, интервал делений, а также малый и большой шаг.

Поле календаря



Элемент управления ПолеКалендаря позволяет в наглядном режиме выбирать дату. Красным квадратом выделяется текущая дата. Если поле календаря расширить, то оно автоматически отразит большее количество месяцев.

Разработка в системе 1 ^Предприятие 8.0

Поле текстового документа

Поле табличного документ» по-збол яеь выводитъ отчеты пряко не фарна При алой

програккист мзжеп использовать все

вюзночгиоски паБличног

« >!

Поле текстового документа позволяет отобразить и редактировать в форме произвольный текст. Для этого элемента управления можно задать свойство «Расширение» из следующих возможных вариантов: HTML, встроенный язык и язык запросов. Тогда при отображении текста будут применены характерная цветовая палитра и другие встроенные возможности для данного содержимого. Например, для языка запросов будут выделяться ключевые слова ВЫБРАТЬ, ИЗ, ГДЕ и т.д., а из контекстного меню можно будет вызвать Конструктор запросов.

Поле HTML-документа



Данный элемент управления предназначен для отображения HTML-страниц. Это могут быть как локальные страницы, так и страницы в Интернете. У этого элемента управления есть метод Перейти, который позволяет указать адрес страницы (URL) или HTML-макет, хранящийся в конфигурации.

ЭаЛМентыФормы.ПолеНТМЬДокумента.Перейти("http://wwwЛc.ru");

После того, как HTML-документ будет полностью загружен и отображен, возникнет событие ДокументСформирован. Оно может быть обработано в программном модуле для выполнения каких-либо действий. Система 1С:Предприятие 8.0 предоставляет

доступ к HTML-документу как к С О М-объекту, для чего предназначено свойство Документ.

Разделитель



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

ActiveX

Кроме встроенных элементов управления, в 1С:Предприятии 8.0 есть возможность расположить в форме ActiveX-компоненты, написанные на других языках. Из таких компонентов можно назвать Windows Media Player, Microsoft Office Pivot Table и др.

Привязка границ

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

Для нормальной работы с формой при изменении размеров поведение различных элементов управления должно быть разным. Некоторые элементы управления должны оставаться на месте, другие должны перемещаться вместе с границами, а третьи должны изменить свой размер. Для реализации такого поведения в 1С:Предприятии 8.0 существует механизм привязок границ элементов управления.

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

Разработка в системе 1С:Предприятие 8.0

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

Если открыть экранную форму документа РасходнаяНакладная в режиме «Предприятие» и изменить ей размеры, то мы увидим, что при увеличении ширины формы размеры полей для ввода данных увеличиваются, некоторые надписи перемещаются, размер табличного поля увеличивается. Привязки границ элементов управления настраиваются в Конфигураторе в редакторе форм.

Для наглядного отображения текущих привязок выберите пункт меню «Форма -> Показать привязки», тогда в форме появятся красные и синие стрелки, некоторые из которых являются пунктирными:

Докцмечг Дьииенпя
Ндмер Дата D ? рег-зя
Па ln«h х ПспЧ1роеед-Н
К 0КТР-5Гі=Н * "¦ иП И^Н >
СкіаД >
ОргвіИ a х
N 4o-H=h* ПЗГЧР-Я \ п во Іі^иа 1 jMif^ Е г
П 1» BBtflci ,t П-п і ГЬ К: f Пг па ВВОДА 1
Итого
< * >
Эвг?сч?ть Провести Закрыть
Ниже поясняется назначение стрелок:

• Сплошная стрелка — это жесткая привязка к границе. При изменении размеров формы расстояние до границы всегда сохраняется.

• Пунктирная стрелка — это привязка к границе с сохранением пропорций. В этом случае граница элемента стремится к привязке пропорционально расстоянию до нее.

• Красные стрелки идут от границ панели или формы.

• Синие стрелки идут от элементов управления.

• Сама стрелка указывает направление влияние привязки, т.е. какую границу толкнет или потянет за собой данная привязка при изменении размеров формы.

Устанавливать привязки можно сразу для нескольких элементов управления, выделив их мышью. Редактирование привязок для конкретного элемента или группы элементов управления производится в специальном окне «Привязка границ...», запускаемого из палитры свойств по ссылке «Установить правила».

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

Существуют следующие способы привязки (на примере горизонтальных привязок):

• к левой границе — элемент целиком перемещается вместе с перемещением левой границы области;

• к правой границе — элемент целиком перемещается вместе с перемещением правой границы области;

• растягивать — при горизонтальном изменении размеров области ширина элемента изменяется так, что расстояние до границ области остается постоянным;

• пропорционально — при изменении размеров области размеры элемента изменяются так, что соотношение расстояний от правой границы элемента до левой и правой границы области остается постоянным;

• к центру — правая и левая границы элемента привязываются к центру формы или другого элемента управления;

Аналогично производится привязка при вертикальном изменении размеров.

Существуют более сложные способы привязки границ, в том числе с использованием разделителей. После настройки привязок рекомендуется проверить форму с помощью тестового окна, которое вызывается по нажатии клавиш Ctrl-R или кнопки на панели

Разработка в системе 1 С: Предприятие 8.0

редактора форм. За более подробной информацией по привязкам обращайтесь к документации.

Приемы программирования

В данном разделе будут рассмотрены свойства, методы и события объекта Форма, с помощью которого можно управлять внешним видом и поведением формы средствами встроенного языка.

Открытие и закрытие форм

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

Процедура ОткрытьФормуПодчиненногоСправочника()

СпрРасчСчета = Справочники.РасчетныеСчета;

//сначала получим основную форму списка справочника //текущая форма будет являться владельцем для нее ФормаРС = СпрРасчСчета.ПолучитьФормуСписка(,ЭтаФорма);

//если текущая форма будет закрыта,

//то и дочерние формы тоже закроются ФормаРС.ЗакрыватьПриЗакрытииВладелыда = Истина;

//открыть новую форму или активизировать уже открытую Если ФормаРС.Открыта() Тогда ФормаРС.Активизировать();

Иначе

ФормаРС.Открыть();

КонецЕсли;

КонецПроцедуры

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

параметр ТолькоПросмотр в значение Истина, и это приведет к тому, что пользователь не сможет изменить данные в форме.

Необходимо понимать разницу между событиями, возникающими при открытии формы:

ПередОткрытием

Событие возникает перед открытием формы, до показа ее на экране. В обработчике события можно отказаться как от открытия формы, так и от стандартной обработки при открытии объекта.

ПриОткрытии

Событие возникает при открытии формы, до показа окна пользователю. В обработчике этого события отказаться от открытия формы уже нельзя. Между событиями ПередОткрытием и ПриОткрытии выполняются различные стандартные системные действия, которые могут зависеть от основного реквизита формы. Наличие этих двух обработчиков позволяет выполнить какие-то действия до системных и после.

ПриПовторномОткрытии

Событие возникает при открытии уже открытой формы. При активизации открытой формы данное событие не воз' никает.

Форма может быть открыта в модальном режиме с использованием метода ОткрытьМодально. В этом случае пользователь должен сначала закрыть модальную форму, прежде чем продолжать работу с другими окнами. При этом работа программы будет приостановлена до закрытия модального окна, которое может быть закрыто интерактивно или автоматически по истечении установленного времени.

В модуле формы с помощью свойства МодальныйРежим можно определить, что форма открыта в модальном режиме. Ниже открывается в модальном режиме общая форма ВыборОснования. При ее закрытии она возвращает объект ДокументСсылка, содержащий выбор пользователя.

ВыбЯок = ПолучитьОбщуюФорму("ВыборОснования").ОткрытьМодально();

Разработка в системе 1 С: Предприятие 8.0

Чтобы закрыть форму, можно вызвать метод Закрыть с указанием параметра закрытия. При закрытии формы возникают события ПередЗакрытием и ПриЗакрытии. В обработчике события ПередЗакрытием можно отказаться как от закрытия формы, так и от стандартной обработки при закрытии. Для форм, связанных, например, с типами ДокументОбъект и СправочникОбъект, стандартной обработкой является проверка модифицированности и задание вопроса о сохранении объекта. В обработчике события ПриЗакрытии отказаться от закрытия формы уже нельзя.

В метод Закрыть можно передать параметр закрытия, который будет являться возвращаемым значением, если форма была открыта с помощью метода ОткрытьМодально.

Формы для выбора

При заполнении реквизитов часто требуется выбрать один элемент справочника или документ. Для этого применяются формы для выбора, которые обычно открываются системой автоматически, но могут быть также открыты программно с помощью конструкций типа «ПолучитьФормуВыбора().Открыть0>>.

Обычно формы для выбора содержат табличное поле со списком элементов справочника или документов. При двойном щелчке на строке (или нажатии клавиши Enter) выбранное пользователем значение передается в родительскую форму.

Рассмотрим свойства, методы и события, имеющие важное значение для форм выбора:

• Свойство РежимВыбора определяет поведение формы при выборе элемента из главного списка формы, т.е. списка, связанного с ее основным реквизитом. Если оно установлено в значение Истина, то форма работает в режиме выбора, иначе — в обычном режиме.

• Свойство МножественныйВыбор разрешает или запрещает выбор нескольких строк из табличного поля. Несколько строк можно выделить мышью, удерживая клавишу Ctrl.

• Свойство НачальноеЗначениеВыбора содержит текущее выбранное значение элемента формы, который инициировал от-

крытие формы для выбора. Если открытие формы выбора осуществляется из модуля, то начальное значение выбора необходимо устанавливать средствами языка до открытия формы выбора. При этом система производит попытку позиционирования списка, связанного с основным реквизитом формы (если он существует), на этом значении.

Свойство ЗакрыватьПриВыборе содержит признак того, что форму необходимо закрыть после осуществления выбора значения. Если это свойство установить в значение Ложь, то можно использовать форму для выбора нескольких значений. Метод ОповеститьОВыборе посылает оповещение владельцу формы о выполнении выбора и передает ему выбранное значение. Данное действие аналогично интерактивному выбору пользователя.

Событие ОбработкаВыбора у формы возникает при выборе объекта в одной из подчиненных форм или при вызове в одной из подчиненных форм метода ОповеститьОВыборе.

Внешний вид формы

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

Рассмотрим основные свойства формы, определяющие ее внешний вид:

Заголовок

Содержит текст заголовка формы. Обратите внимание, что это свойство, а не метод, как было в версии 7.7.

АвтоЗаголовок

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

Ширина, Высота

Эти свойства определяют ширину и высоту формы в пунктах (логических единицах).

Разраб откавсистел«_:ЦСЛреД!%1е 8.0

ИзменениеРшл**л3

Признак, л РьлРещлет или запрещает изменение размера ок йа'

ИмяСохранеи0Л"°ложе>„Д

Свойств*? °зволяе соралИТь параметры окна под определенным і*^61161^ 1,Т|)рые восстанавливаются при следующем полсЗЛ*6 Фл™ Гакщу! способом можно запомнить несколько лИант^4жения окна.

ПоложеииеПрлеплеНМг°0Кна

Позволяв Фикрлть ОК]ю к любому краю главного окна ^ЭПред!1?^51™*1 ЛНещу, нижнему, левому или правому.

СостояниеОк йа

ОпредеДЛ Усостояние окна: обычное, прикреплен-

,—0?23?1106 ИД1»ЛТТ т-\

ное своб Нчудееся. Различные состояния окна

могут быт** Р“Реше% йда< запрещены.

Соединяемое Ол

Разрешает -или за1ф% соединение данного окна с дру-

АОллЫМИ ица,,ет гими сво *ми.

Позволяет Ю&ратит1ся к Лдавной панели формы, добавить или удаи!и'гл страшны и т_д_ Элемент управления Панель был подрол0011лше.

ОпределЯ* с;ТИль оіо5Раже'НИя формы.

У большинства- 0tITeP<J)eom4btx Объектов (форма, элементы управления) сущест0У10Т СВОИСйа, определяющие цвет, рамку, линии, шрифт. Для Пр°г1л1мн01лста1(овки этих свойств используются специальные сЛУ*Л ные ЧеКть1 и их конструкторы.

Ниже приводйтсЯ пРшеР Изменения внешнего вида обычной кнопки:

^ , ,,ы.Кнопкг>

Кнопка — ЭлементыФор! -» — НОЕ „„

Кнопка.ЦветТекстаКнсиК, НовЫ1 _ <ЭТ|100,2_50,100) //зеленый

Кнопка.ЦветФонаКногыда мка (т; 7 (50'°'Б°> •' .//серый

Кнопка . Рамка — Новый прИфг < , с^1-1Эл 'L'^rLp • Двойная, 1)

Кнопка Шрифт — Новый ” Ретина) ; //жиРный и наклонный

лаэиге ж-, l f f //установим также соч Новь- «У f,lt f

Кнопка .СочетаниеКлавл бтаниеКлавиш(Клавиша.р,Истина) ;

//назначим процедуру-обработчик события Нажатие //в модуле должна быть определена //процедура Сформировать с параметром Элемент

Кнопка.УстановитьДействие("Нажатие"/Новый Действие ("Сформировать") ) ;

Элементы формы

Форма позволяет обращаться к расположенным в ней элементам управления, для чего предназначено свойство ЭлементыФормы. В ^Предприятии 8.0 можно даже программно добавлять и удалять элементы управления в форму при выполнении программы, чего не было в версии 7.7.

Обращение к элементу управления обычно производится по его имени через коллекцию ЭлементыФормы, например:

КнопкаОК = ЭлементыФормы.КнопкаОК;

тпСотр = ЭлементыФормы.ТабдичноеПолеСотрудникиСписок;

НадписьТипЦен = ЭлементыФормы['ТипЦен''];

С помощью методов Добавить, Удалить, Очистить можно редактировать список элементов управления «на лету». Переустанавливая свойства элементов управления, можно изменять их внешний вид и поведение.

Внимание! Индексация элементов в коллекции начинается с 0.

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

Имя

Имя элемента управления, например, «КнопкаОК».

Данные

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

ТипЗначения

Это свойство описывает допустимые типы значений для элемента управления.

Разработка в системе 1 ^Предприятие 8.0

АвтоКонтекстноеМеню

Если в этом свойстве содержится значение Истина, то для элемента управления будет использовано автоматически сформированное контекстное меню, в противном случае необходимо указать свойство КонтекстноеМеню.

КонтекстноеМеню

Значением свойства является элемент управления типа КоманднаяПанель или одна из его кнопок-подменю.

Разработка в системе 1 ^Предприятие 8.0

Появился редактор картинок. Картинки могут располагаться в надписях, полях ввода и других элементах управления.

Кнопки, картинки и надписи могут служить гиперссылками. В этом режиме они реагируют на одинарный щелчок мыши (возникает событие Нажатие).

Предопределенные процедуры версии 7.7 теперь называются процедурами-обработчиками событий и в общем случае могут иметь имена, отличающиеся от имен событий. Это относится ко всем процедурам-обработчикам, кроме расположенных в модулях объектов и модуле приложения. Назначение обработчика для события производится в свойствах формы или элемента управления.

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

У полей ввода появилось свойство «Автоотметка незаполненного», которое позволяет включить вывод пунктирной красной линии для незаполненных полей.

Появилась функция «ввод по строке». Например, если пользователь наберет первые буквы наименования, то в поле ввода автоматически подставится элемент справочника

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

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

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



Содержание раздела