Объектная модель документа (DOM) позволяет работать с HTML документом, как с деревом элементов. С помощью объектной модели разработчик может найти нужный ему HTML документ, может обращаться к его свойствам, в том числе вносить в документ изменения.
Важно помнить, что, при изменении документа (программном изменении, либо при навигации поля HTML документа) объекты HTML документа перестраиваются не моментально. В течении некоторого времени объектная модель документа не готова к использованию. Поэтому при разработке алгоритма, модифицирующего HTML документ, следует дождаться готовности HTML документа.
Для получения информации о готовности HTML документа к работе рекомендуется использовать обработчик события ДокументСформирован поля HTML-документа. При этом нужно помнить о следующей особенности: в момент окончания формирования документа, сообщение о событии помещается в очередь, но, до того как оно будет обработано, может произойти новое изменение HTML документа. Например, первый вызов данного события в форме обычно информирует о внутренней навигации поля HTML-документа. Поэтому в обработчике события ДокументСформирован рекомендуется также анализировать значение свойства readyState HTML-документа.
Значение этого свойства показывает текущий этап формирования HTML документа. В случае, когда значение равно Complete , формирование объектной модели завершено, документ готов к работе.
Не следует анализировать готовность HTML документа вне обработчика события ДокументСформирован путем циклического опроса значения свойства readyState :
Такой цикл может работать бесконечно, т.к. формирование HTML документа использует в своей работе синхронный обмен сообщениями через системную очередь сообщений, а обработки нового сообщения, в данном случае, не происходит.
Элементы управления — это кирпичики, из которых складываются экранные формы и которые составляют важнейшую часть пользовательского интерфейса конфигурации. В 1С:Предприятии 8 существуют все основные элементы управления, а также есть возможность использовать компоненты ActiveX.
Ниже перечислены встроенные элементы управления 1С:Предприятия 8:
Конструкторы форм
Для каждого объекта конфигурации, в составе которого могут находится подчиненные объекты типа "Форма", при добавлении новой формы запускается Конструктор формы. Это специальный мастер, с помощью которого производится выбор типа формы и размещаются реквизиты объекта конфигурации. Несмотря на существенные различия типов объектов, для которых производится создание формы, конструкторы имеют много общего. Рассмотрим работу конструктора на примере конструктора формы справочника.
Создадим в каркасной конфигурации форму элемента справочника "Валюты".
В окне редактирования объекта справочника "Валюты" на закладке "Формы" в поле для отображения списка форм по кнопке или выбрав из контекстного меню пункт "Добавить" добавим форму. При создании новой формы объекта на экран выводится конструктор формы. Группа элементов управления "Выберите тип формы" предназначена для выбора типа формы (состав определяется видом выбранного объекта конфигурации, для которого создается форма). Выберем форму элемента справочника.
Число форм по каждому типу форм не ограничено. Если у объекта несколько форм одного типа, то одну из них можно выбрать в качестве основной. Для указания основной формы установим флажок "Назначить форму основной". Если выбрана произвольная форма, то основной реквизит не создается — форма имеет типовое поведение. При выборе формы в качестве основной создается основной реквизит и поведение формы отлично от типового. Данные отличия описываются объектами "Расширение формы".
Выбор типа формы определяет тип основного реквизита и поведение всей формы, а также возможный состав команд панели инструментов.
Нажмем кнопку "Далее" и вставим в форму следующие реквизиты:
Важно! Конструктор формы не включает в список те реквизиты, чей тип не имеет визуального представления (например Хранилище значений).
По кнопке "Готово" получаем форму элемента справочника "Валюты".
В дальнейшем можно изменить состав реквизитов с помощью окна " Размещение данных". Для вызова окна выберите пункт "Форма — Размещение данных" главного меню .
При создании формы в ней могут быть размещены две стандартные командные панели. Для панелей конструктор указывает в качестве источника действий значение "Форма". Источник действий в дальнейшем может быть изменен, а состав команд может быть расширен пользовательскими командами. Состав команд командных панелей определяется источником действий и типом основного реквизита формы.
После работы конструктора форм можно продолжить работу с формой. Например, разместить в ней новые страницы, дополнительные элементы управления , изменить расположение элементов относительно друг друга, распределить их по страницам и т.д.
Элементы управления
Элементы управления представляют собой отдельную группу объектов, предназначенных для отображения и редактирования данных в форме. Они могут располагаться на форме, использоваться для редактирования ячеек табличного поля, табличного документа. Также как и сама форма, элементы управления связаны с данными при помощи реквизитов формы. В зависимости от типа данных, связанных с элементом управления, он имеет различный набор свойств, методов, событий.
Список типов элементов управления и конструкций элементов можно вызвать из меню "Форма", "Вставить элемент управления". Для размещаемого элемента управления можно указать Имя, Заголовок, связать с данными, указать тип данных , указать процедуры — обработчики событий и т.д.
Связь элементов управления с данными определяет поведение самих элементов управления.
Например, если поле ввода связать с данными, имеющими тип Дата, то внешний вид поля ввода изменится: появятся символы разделителей даты и дополнительная кнопка выбора:
Элементы управления , используемые в формах 1С:Предприятия, ориентированы на выполнение бизнес-задач. Например, поле ввода может иметь ряд дополнительных кнопок: выбора из списка, выбора, очистки, регулирования и открытия. Кроме этого, у поля ввода существует режим автоотметки незаполненного (подчеркивание красным пунктиром), который позволяет выделять поля, обязательные для заполнения пользователем:
Действия, выполняемые при нажатии дополнительных кнопок поля ввода, могут быть различными, в зависимости от типа данных, которые отображаются в этом поле ; при этом кнопка выбора будет иметь разные пиктограммы.
Поскольку платформа 1С:Предприятия допускает хранение в полях базы данных различного типа, элементы управления также обеспечивают ввод и редактирование различных типов данных в одном элементе. Например, поле ввода, в которое могут быть введены данные различных типов, будет иметь следующий вид:
Специальная пиктограмма в кнопке выбора (Т) говорит о том, что для этого поля ввода еще не определен тип вводимых данных. При нажатии на эту кнопку система откроет специальное окно для выбора типа данных, которые будут содержаться в этом поле .
Появилась функция "ввод по строке". Например, в поле ввода элемента справочника, если пользователь наберет первые буквы наименования, то автоматически подставится элемент справочника, либо будет выдан список подходящих элементов справочника.
Элемент управления " Индикатор " предназначен для представления текущего состояния некоторого изменяющегося числового значения. Например, может применяться для наглядного представления выполнения процесса перебора строк таблицы значений или элементов массива. Для индикатора не предусмотрено формирование каких-либо событий, он также не может изменять связанные с ним данные.
В палитре свойств для индикатора можно установить минимальное и максимальное значения, установить флажок "Показывать проценты".
Элемент управления "Полоса регулирования" предназначен для наглядного визуального изменения числовых значений. Изменение значения связанной переменной происходит от минимального до максимального установленного значения при перемещении "движка" по самой "Полосе регулирования". Перемещение "движка" может осуществляться с помощью мыши, клавишами управления курсором и клавишами PgUp и PgDn.
Элемент управления "Командная панель" представляет собой набор кнопок, обычно с пиктограммами, для выполнения действий в текущей форме или с некоторым элементом управления, например, табличным полем.
"Командная панель" может формироваться автоматически или настраиваться разработчиком. Если в свойствах командной панели установлен флажок Автозаполнение, и указано свойство ИсточникДействий, то командная панель будет автоматически заполнена командами, характерными для данного источника.
Для каждой кнопки "Командной панели" есть свойство "Действие", которое задает одно из стандартных действий или вызывает процедуру модуля.
Если у "Командной панели" установлено свойство "Вспомогательная", то это говорит о том, что командная панель не участвует в обходе элементов формы.
Элемент управления "Панель" предназначен для создания форм, динамически меняющих состав своих элементов в зависимости от действий пользователя. "Панель" содержит одну или несколько страниц, которые могут быть представлены в виде закладок. Закладки могут располагаться сверху, снизу и сбоку панели. Управление страницами "Панели" возможно средствами встроенного языка. Можно распределить элементы управления по различным страницам "Панели" для того, чтобы в зависимости от ситуации показывать на форме только нужные элементы, а остальные — скрывать. В 1С:Предприятии 8.0 панель может располагаться в любом месте формы, а на страницу одной панели можно поместить вложенную панель.
Элемент управления " Поле выбора" позволяет выбрать одно значение из нескольких вложенных, которые обычно задаются еще на этапе разработки. Перечень возможных значений указывается в свойстве "Строки списка выбора" в палитре свойств. Программно список возможных значений поля выбора доступен через свойство СписокВыбора, представляющее собой объект типа СписокЗначений.
Элемент управления " Поле списка" предназначен для визуализации объекта данных типа СписокЗначений. Все действия по управлению списком значений (добавление значения в список, удаление значения из списка, сортировка списка и другие) выполняются только средствами встроенного языка.
Элемент управления "Флажок" применяется для тех данных, которые характеризуются состояниями "включено" и "выключено". Используются флажки, имеющие два или три состояния. От типа связанного с флажком значения зависит количество состояний флажка: флажок со значением типа Булево может иметь только два состояния ("включено", "выключено"), со значением типа Число может иметь три состояния ("включено", "выключено", не определено (затемненная галочка)).
Переключатели позволяют выбрать один вариант из нескольких, поэтому их всегда два или больше. Первый переключатель в группе должен иметь установленное свойство "первый в группе". Все переключатели данной группы должны иметь последовательный порядок обхода. Если эти условия не выполняются, то переключатели будут работать неправильно.
Табличное поле — элемент управления, позволяющий работать с различными списками, наборами записей, табличными полями, а также динамическими наборами данных ТаблицаЗначений и ДеревоЗначений. Тип значения строки табличного поля зависит от типа связанного с табличным полем значения. Это может быть список элементов справочника, список документов, табличная часть справочника или документа, таблица значений и т.д.
Есть возможность выводить в табличное поле иерархические данные в виде вложенных папок или в виде дерева.
Элемент управления "Табличное поле " состоит из собственно табличного поля, шапки, подвала и ячеек. Каждую часть элемента можно настраивать.
Свойства табличного поля можно разделить на две группы. В первую группу входят свойства табличного поля в целом, как элемента.
Вторую группу свойств табличного поля образуют свойства его составных частей.
В Конфигураторе разработчик задает перечень колонок табличного поля, но пользователь при работе может самостоятельно настроить порядок и расположение колонок для себя. Пользователь может отсортировать динамический список по реквизиту, установить произвольный отбор.
Элемент управления "ПолеКалендаря" позволяет в наглядном режиме выбирать дату. Красным квадратом выделяется текущая дата. Если поле календаря расширить, то оно автоматически отразит большее количество месяцев.
Поле текстового документа — предназначено для размещения текстового редактора в форме. Элементы этого типа не связываются с объектами конфигурации.
Разделитель предназначен для организации и управления областями формы. Может перераспределять внутреннее пространство формы, изменяя размеры расположенных в ней элементов управления, привязанных к разделителю. Данный элемент не имеет свойства " Тип данных " и не связан с другими объектами конфигурации.
Элемент управления " Поле HTML-документа" предоставляет возможность показа HTML-документа, навигации и редактирования. Режим использования выбирается в свойстве Режим. Если используется режим "Просмотр", то для командной панели, для которой источником действий выступает данное поле , с установленным свойством Автозаполнение, будет определен набор кнопок навигации. Также возможно добавление кнопки Остановить.
Для использования данное поле необходимо настроить (например, в процедуре инициализации указать URL ресурса, разместить в форме командную панель, связанную с данным элементом и т.д.).
В категории События указываются наименования процедур-обработчиков событий, источником которых является поле HTML-документа.
Если используется режим "Редактирование", то в режиме "1С:Предприятие" в данном поле допускается редактирование HTML-документа.
Кнопка — элемент управления, предназначенный для запуска определённой процедуры-обработчика. Кнопка может содержать картинку: . При добавлении кнопки, автоматически будет создана процедура, активизирующаяся при нажатии кнопки. Свойство "Режим меню " позволяет усложнить кнопку до выпадающего меню при установке "Использовать", если установлено "Использовать дополнительно", то кнопка будет разделена на две: . Действия программы при нажатии данной кнопки определяется на этапе конфигурирования. Состав действий при нажатии зависит от свойства "Источник действий".
Элемент управления " Поле картинки" предназначен для размещения в форме различных картинок. Механизм ссылок позволяет связать с полем картинки некоторые действия, выполняемые при нажатии на нее. Допускается использование "анимированных" типов картинок.
В надписях, полях ввода и других элементах управления можно разместить картинки.
Кнопки, картинки и надписи могут служить гиперссылками. В этом режиме они реагируют на одинарный щелчок мыши (возникает событие Нажатие).
Предопределенные процедуры версии 7.7 теперь называются процедурами-обработчиками событий и в общем случае могут иметь имена, отличающиеся от имен событий. Это относится ко всем процедурам-обработчикам, кроме расположенных в модулях объектов и модулях приложения. Назначение обработчика для события производится в свойствах формы или элемента управления.
Свойствами элементов управления можно управлять с помощью встроенного языка.
Диаграмма — графическое представление табличных данных. Элемент управления " Диаграмма " можно размещать в форме и табличном документе. Диаграмма представляет собой определенную фигуру или фигуры, которые строятся на основании матрицы данных M х N. Диаграмма состоит из областей:
- общая область диаграммы — совокупность всех областей, образующих диаграмму;
- область построения диаграммы — содержит координатное пространство и фигуру представления;
- заголовок диаграммы;
- легенда — вспомогательная область, содержащая список меток, соответствующих сериям.
Каждую область можно перемещать внутри диаграммы, изменять ее размер, настраивать или убирать из диаграммы (кроме области построения). При изменении размеров диаграммы размеры областей также меняются пропорционально изменению размеров элемента.
Для размещения диаграммы:
- в форме — меню "Форма" — "Вставить элемент управления" — выбрать диаграмму;
- в табличном документе — меню "Таблица" — "Вставить рисунок" — "Диаграмма". Свойства диаграммы можно разделить на две группы.
В первую группу входят свойства диаграммы в целом, как графического объекта. Для редактирования этих свойств используется панель свойств, которую можно вызвать, выбрав пункт "Правка — Свойства".
В палитре свойств диаграммы можно задать Имя, Тип диаграммы и т.д. Свойство Базовое значение указывает начальное значение координат. Если изменение параметра, показываемого в диаграмме, несоизмеримо мало по сравнению с его минимальным значением, то рекомендуется установить в качестве базового значения значение , приближающееся к минимальному значению. Максимум серий указывает алгоритм построения диаграммы в зависимости от числа серий. Если выбрано "Не задано", то в диаграмме выводятся все серии. Если выбрано "Ограничено", то в область построения и область легенды будет выводиться число серий, не больше, чем указано в свойстве Количество. В случае, когда общее число серий превышает предельное, формируется дополнительная серия "Сводная".
Вторую группу свойств диаграммы образуют свойства ее составных частей: общей области диаграммы, области построения диаграммы, заголовки и легенды. Приведем некоторые типы диаграммы:
- Гистограмма — предназначена для отображения данных как итогов определенного процесса в виде геометрических фигур (столбцов), ориентированных к единой шкале. Максимальная точка равна значению серии. Это удобно как для демонстрации набора значений, так и для визуального сравнения достигнутого результата в пропорции размера.
Диаграмма Ганта (также называемая ленточной) представляет собой диаграмму интервалов по шкале времени. Она позволяет визуально представить интервалы по шкале времени, например, трудозатраты сотрудников как интервалы по шкале времени в разрезе задач, поставленных работнику.
Дендрограмма — специальный механизм для отображения последовательных связей между объектами. Дендрограммы часто используются для визуального представления результата кластерного анализа, произведенного иерархическими методами.
Сводные диаграммы — универсальный механизм представления и интерактивного анализа многомерных данных, полученных как результаты запросов, в графическом виде. Для использования сводных диаграмм необходимо:
- Сформировать запросы;
- Разместить нужное количество сводных диаграмм в табличном документе или форме;
- Установить связь результатов запросов со сводными диаграммами.
Сводная диаграмма состоит из нескольких областей — области заголовка, области легенды, области построения и областей полей. Все области принадлежат собственно диаграмме. Большинство свойств сводной диаграммы и ее областей совпадают с аналогичными свойствами обычной диаграммы.
Задание 5
На форме списка справочник "Заказы" разместите: