- •Лекция №7
- •Форма
- •Управляемые формы
- •Устройство управляемой формы
- •У конструктора управляемой формы 7 закладок:
- •Основные принципы работы управляемой формы
- •Что же означает клиентский контекст выполнения кода, а что – серверный?
- •На клиентской машине может быть установлено какое-то приложение 1С, которое запускается под толстым
- •Кластер серверов 1С не является чем-то единым целым, а представляет собой несколько запущенных
- •Вобычном приложении форма выполнялась полностью на стороне клиентского компьютера. Причем с формы можно
- •Форма это программный объект, который создается на сервере согласно настройкам сделанными в конфигураторе
- •Директиву компиляции следует указывать перед каждой функцией или процедурой в модуле формы, в
- •&НаКлиенте
- •&НаСервере
- •&НаСервереБезКонтекста
- •Управляемая форма это объект конфигурации 1С, который создается на сервер, а потом загружается
- •Реквизиты управляемой формы 1С 8.3
- •Основной реквизит формы 1С предназначен для определения:
- •У формы может быть указан только один «Основной реквизит», который служит для определения
- •Для назначения реквизита формы основным реквизитом необходимо:
- •При назначении основного реквизита формы происходит следующее:
- •Обращение к свойству объекта можно осуществлять через имя основного реквизита формы.
- •Таким образом, стандартное поведение формы и ее свойства будут дополнены в зависимости от
- •Обращение к реквизиту через переменную
- •произвольной обычной форме - заполнить свойство "Данные" формы, выбрав нужный реквизит формы (не
- •Простые реквизиты формы
- •В этой закладке сейчас только один реквизит – основной. Он нас пока не
- •После этого будет добавлен реквизит управляемой формы 1С с типом по умолчанию (строка)
- •В этой палитре мы можем установить имя, заголовок, а так же тип реквизита
- •Разместим реквизиты на форме.
- •После того, как мы «перетащили» реквизит в элементы, то на форме был создан
- •Если нажать на кнопку «…» свойства ПутьКДанным, то у разработчика есть возможность поменять
- •Выполнение кода на форме возможно под директивами &НаКлиенте &НаСервере и &НаСервереБезКонтекста. Доступ к
- •После создания команды, справа откроется палитра свойств новой команды, где мы зададим её
- •Команда – это выполнение некоторых действий на форме. Чтобы действия осуществились необходимо создать
- •После выбора места расположения обработчика, в модуле формы будет создана процедура под директивой
- •Обратите внимание, после создание процедуры в палитре свойств команды свойство Действие заполнилось названием
- •И последним шагом нам осталось нашу команду разместить на управляемой форме. Просто перетащим
- •При этом на форме появится кнопка.
- •Механизм основных форм
- •Наличие такого механизма позволяет разработчику не тратить время на создание форм для тестирования
- •Так, форма списка для справочника Клиенты будет создана как при интерактивном выборе в
- •Также примечательным фактом является то, что состав основных форм, определенных для объекта конфигурации,
- •Cостав основных форм определяется исходя из того, какое представление данных может понадобиться в
- •Обработчики событий
- •Фиксированный обработчик событий
- •Назначаемый обработчик событий
- •Любая процедура, расположенная в модуле формы, может быть назначена обработчиком любого события (или
- •Модули. Виды модулей
- •Модуль управляемого приложения
- •Чтобы открыть модуль управляемого приложения, нужно выделить корень дерева объектов конфигурации (строку ПособиеДляНачинающих)
- •Общие модули
- •Модули объектов
- •Чтобы открыть модуль объекта, нужно в окне редактирования объекта конфигурации перейти на закладку
- •Модули форм
- •Чтобы открыть модуль формы, нужно открыть подчиненный объект Форма нужного объекта конфигурации и
- •Модуль сеанса
- •Чтобы открыть модуль сеанса, нужно выделить корень дерева объектов конфигурации (строку ПособиеДляНачинающих) и
- •Модуль внешнего соединения
- •Модуль менеджера
- •Чтобы открыть модуль менеджера, нужно в окне редактирования объекта конфигурации перейти на закладку
- •Модуль команды
- •Чтобы открыть модуль команды, подчиненной некоторому объекту конфигурации, нужно в окне редактирования объекта
- •Контекст модуля формы
- •Контекст модуля формы образуется:
- •Локальный контекст модуля формы
- •Или внутри модуля формы можно непосредственно обращаться по имени к переменной СлужебнаяПеременная, объявленной
- •Реквизиты формы, которой «принадлежит» модуль
- •Свойства и методы объекта «УправляемаяФорма»
- •К ним можно обращаться непосредственно по имени. Например, можно задать заголовок формы
- •Свойства и методы расширения формы, определяемого типом того объекта, данные которого содержатся в
- •А если это форма документа, то основной реквизит формы будет содержать данные объекта
- •Тут следует пояснить, почему в списке реквизитов тип основного реквизита указан в скобках:
- •ДанныеФормыСтруктура – это универсальный тип, который может содержать данные различных прикладных объектов. Поэтому,
- •От типа объекта, данные которого содержатся в основном реквизите формы, зависят некоторые особенности
- •В зависимости от того, какой тип имеет объект, данные которого содержатся в основном
- •Если основной реквизит – ДинамическийСписок, то в модуле формы становятся доступны свойства, методы
- •В модуле формы, где основной реквизит содержит данные документа, можно обратиться к свойству
- •Глобальный контекст, в том числе неглобальные общие модули и экспортируемые функции и процедуры
Назначаемый обработчик событий
Назначаемый обработчик может иметь произвольное имя. Если имя процедуры совпадает с именем события формы или ее элемента, этого совсем недостаточно для вызова процедуры обработки события с таким именем. Требуется явное назначение процедуры обработчиком этого события в палитре свойств, в соответствующем событии.
Любая процедура, расположенная в модуле формы, может быть назначена обработчиком любого события (или сразу нескольких событий) формы или ее элемента, расположенного в форме. Имя процедуры в этом случае не имеет значения. Важно лишь то, что она назначена обрабатывать какое-либо событие.
Назначение обработчика может выполняться интерактивно, при работе с формой в конфигураторе, или программно, используя методы формы и ее элементов – УстановитьДействие().
Модули. Виды модулей
В конфигурации существуют различные виды модулей. Они могут принадлежать некоторым объектам конфигурации (например, формам), а могут существовать сами по себе (принадлежать всей конфигурации в целом).
Текст программы, содержащийся в модулях, будет использоваться платформой в заранее известные моменты работы системы «1С:Предприятие» – события, о которых мы рассказывали ранее. В «1С:Предприятии» существуют следующие виды модулей.
Модуль управляемого приложения
Модуль управляемого приложения выполняется при старте и окончании работы системы «1С:Предприятие» в режимах тонкого клиента и веб-клиента.
Внем возможно объявление переменных, а также объявление
иописание процедур и функций, которые будут доступны в любом модуле конфигурации (кроме модуля внешнего соединения). Их доступность также обеспечивается для неглобальных общих модулей с установленным свойством Клиент (управляемое приложение). В контексте модуля управляемого приложения доступны экспортируемые процедуры
ифункции общих модулей.
Чтобы открыть модуль управляемого приложения, нужно выделить корень дерева объектов конфигурации (строку ПособиеДляНачинающих) и вызвать из контекстного меню команду Открыть модуль управляемого приложения.
Общие модули
В общих модулях хранятся процедуры и функции, которые вызываются из других модулей системы. Сам по себе общий модуль не исполняется. Исполняются отдельные его процедуры/ функции в момент их вызова из других модулей.
Чтобы открыть общий модуль, нужно раскрыть ветвь Общие в дереве объектов конфигурации, затем раскрыть ветвь Общие модули и дважды щелкнуть мышью на нужном модуле 
Модули объектов
Модули объектов – это, например, модуль элемента справочника или модуль документа.
Эти модули вызываются тогда, когда программно создается этот объект средствами встроенного языка, например, методами СоздатьЭлемент() менеджеров справочников или СоздатьДокумент() менеджеров документов, либо когда пользователь создает новый элемент справочника или документ интерактивно.
При записи измененных данных объекта в базу данных вызываются различные обработчики событий, которые располагаются в модуле объекта.
Чтобы открыть модуль объекта, нужно в окне редактирования объекта конфигурации перейти на закладку Прочее и нажать кнопку Модуль объекта. Или, выделив нужный объект в дереве объектов конфигурации, вызвать из контекстного меню команду Открыть модуль объекта.
Модули форм
Каждая форма, определенная в конфигурации, имеет свой собственный модуль. Этот модуль исполняется при создании объекта УправляемаяФорма встроенного языка. Этот объект создается системой в режиме 1С:Предприятие в тот момент, когда мы программно (методом ОткрытьФорму()) или интерактивно открываем форму некоторого элемента.
Чтобы открыть модуль формы, нужно открыть подчиненный объект Форма нужного объекта конфигурации и в окне редактора форм перейти на закладку Модуль.
