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