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