Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Компиляция общих модулей. Директивы компиляции. Исполнение кода на клиенте и на сервере




Компиляция общих модулей

На предыдущем занятии (стр. 144) мы создали одну процедуру для обработки нескольких событий и поместили ее в общий модуль РаботаСДокументами. У этого модуля, как и у всякого общего модуля конфигурации, существует набор свойств: Клиент (управляемое приложение), Сервер и Внешнее соединение. Значения этих свойств (истина/ложь) определяют, где будут скомпилированы экземпляры этих модулей.


Расскажем подробнее о том, что происходит, когда мы устанавливаем те или иные флажки у общего модуля.

Прежде всего, необходимо понимать, зачем необходима компи- ляция. Дело в том, что все, что мы разработали и написали в конфи- гурации, – пока только некая «заготовка». Платформа, когда мы запускаем ее в режиме 1С: Предприятие, превращает все это в программу, которую уже можно исполнить на компьютере, – компилирует. При этом, как мы уже сказали ранее, есть разные части системы, в которых исполняется код – сервер, клиентские прило- жения. Поэтому для общих модулей мы можем и должны в явном виде указать, где, на какой «стороне» они должны быть скомпилиро- ваны – на сервере или клиенте.

В общем модуле РаботаСДокументами мы установили свойство Клиент (управляемое приложение), см. рис. 4. 24. Это значит, что экземпляры этого модуля будут скомпилированы только на стороне клиента в контекстах тонкого клиента и веб-клиента (рис. 5. 48).

 

Рис. 5. 48. Компиляция общего модуля на стороне сервера или клиента

 

Если у модуля установлено только свойство Сервер, то модуль будет скомпилирован только на стороне сервера.

Клиентских приложений два: Тонкий клиент и Веб-клиент.

Тонкий клиент – это файл 1cv8c. exe. Именно его запускает платформа автоматически, когда мы начинаем отладку.


Веб-клиент не существует в виде файла, потому что он исполняется не в среде операционной системы, а в среде интернет-браузера. Пользователю достаточно всего лишь запустить свой браузер, ввести адрес веб-сервера, на котором опубликована информационная база, и веб-клиент скачается к нему на компьютер и начнет исполняться.

 

Директивы компиляции

На предыдущем занятии (стр. 144) мы создали обработчики событий ПриИзменении у некоторых элементов формы. Когда система создавала объявления процедур, в которых располагается код этих обработчиков, она предваряла их директивами & НаКлиенте. Расскажем подробнее о том, что это значит.

Дело в том, что форма существует и на сервере, и на клиенте одновре- менно. Поэтому для каждой процедуры, которая существует в модуле формы, нужно указывать в явном виде контекст ее исполнения, где она будет исполняться: на сервере или на клиенте. Наличие директив & НаКлиенте, или & НаСервере, или & НаСервереБезКонтекста связано с тем, что при использовании встроенного языка в модуле формы клиентский код должен быть четко отделен от серверного. Таким образом, указав одну из директив, разработчик в явном виде програм- мирует серверную или клиентскую части.

В модуле формы одновременно можно поместить процедуры с различными директивами исполнения и передавать выполнение кода с клиента на сервер. Также из клиентской процедуры модуля формы можно вызвать процедуру общего модуля (как и сделано в нашем примере), которая может выполняться как на клиенте, так и на сервере, в зависимости от установленных свойств модуля Клиент или Сервер.

 

Исполнение кода на клиенте и на сервере

На предыдущем занятии (стр. 144) мы создали одну процедуру для обработки нескольких событий и поместили ее в общий модуль РаботаСДокументами. При этом в его свойствах мы поставили флажок Клиент (управляемое приложение) и сняли флажок Сервер. Эта процедура вызывалась из модуля формы, в котором для обработ- чика события также была указана директива, определяющая контекст


исполнения этого обработчика – & НаКлиенте. Расскажем подробнее, как именно происходит исполнение кода в этом случае.

После запуска прикладного решения выполнение кода всегда начи- нается на клиенте. В процессе работы выполнение кода может быть передано на сервер посредством вызова процедуры общего модуля, скомпилированного на сервере.

Дело в том, что при вызове процедуры или функции ее поиск осуществляется сначала на клиенте. Если скомпилированный контекст клиента не содержит данную процедуру, то поиск продолжа- ется на стороне сервера. Если вызываемая процедура будет найдена, то выполнение кода будет передано на сервер. После завершения процедуры выполнение кода продолжится на клиенте.

Например, при изменении цены в форме приходной накладной вызы- вается процедура модуля формы ЦенаПриИзменении(). Она исполня- ется на стороне клиента в режиме тонкого клиента. Во второй строке этого обработчика вызывается процедура РассчитатьСумму(). Эта процедура находится в общем модуле РаботаСДокументами, скомпи- лированном также на клиенте. Она исполняется в режиме тонкого клиента. После выполнения этой процедуры управление опять пере- дается в модуль формы (рис. 5. 49).

 

Рис. 5. 49. Передача выполнения кода между модулями на клиенте


 

 

пРодолжительность

Ориентировочная продолжительность занятия – 50 минут.

 

 

Зачем нужен регистр накопления................................................................................... 208

Что такое регистр накопления........................................................................................ 209

Добавление регистра накопления.................................................................................... 211

В режиме «Конфигуратор»........................................................................................ 211

Движения документа.............................................................................................. 214

В режиме «1С: Предприятие».................................................................................... 221

Команда перехода к движениям в форме документа.................................................... 223

В режиме «Конфигуратор»........................................................................................ 223

В режиме «1С: Предприятие».................................................................................... 224

Движения документа «Оказание услуги»......................................................................... 225

В режиме «Конфигуратор»........................................................................................ 225

В режиме «1С: Предприятие».................................................................................... 228

Теория: способы работы с коллекцией.......................................................................... 229

Контрольные вопросы...................................................................................................... 231


На этом занятии мы познакомимся с объектом конфигурации Регистр накопления. Вы узнаете, для чего используется этот объект, какой структурой он обладает и каковы его отличительные особенности.

Затем мы создадим с вами один из регистров накопления, который будет использоваться в нашей конфигурации и отражать изменение данных в процессе работы ранее созданных нами документов.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...