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