Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Меркулова_Пособие_РазработкаУправляемыхПриложен...doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
17.82 Mб
Скачать
  1. Сумма = Цена * Количество * ЕдиницаИзмерения.Коэффициент,

  2. То для извлечения значения коэффициента необходимо обратиться к бд. А раз так, то за коэффициентом теперь уже придется "идти" на сервер.

Итак, в форме клиента объектов в обычном понимании теперь нет, есть поля, в которых содержится текст - визуальное представление объектов (наименование, код и т.д.) - и ссылки на них в БД. Взаимодействие сервера и клиента теперь происходит таким образом:

При открытии формы:

        • объект считывается из базы данных;

  • объект конвертируется в данные формы;

  • объект удаляется (из памяти);

  • данные формы передаются на клиента.

При записи:

  • данные формы получаются с клиента;

  • данные формы конвертируются в объект;

  • объект записывается в базу данных;

  • объект удаляется (из памяти).

Или, иными словами, получаем следующее:

При открытии формы:

  • из БД извлекаются все данные (числа, строки, объекты), которые должны быть отображены на форме;

  • числа переводятся в формат строк, объекты - в символьное представление. Код в процедурах, выполняемых на форме, переводится в язык Javascript;

  • объект удаляется из памяти сервера;

  • формируется HTML-страница, которая передается на клиентский компьютер – браузеру.

При записи:

  • браузер отправляет на сервер HTTP-запрос, в котором передает данные из полей формы;

  • данные формы конвертируются в объект, которому она принадлежит (документ или справочник): цифры переводятся в числовой тип, по строковым ссылкам ищутся объекты БД и помещаются в реквизиты объекта-родителя;

  • объект, который теперь является привычным с точки зрения платформы 1С объектом БД, записывается в базу данных;

  • объект удаляется из памяти сервера.

  1. Декларативное описание форм при переводе формы в окне веб-браузера

  2. В предыдущих версиях платформы внешний вид формы проектировался следующим образом. Сначала у объекта создавались реквизиты, затем для каждого из них определялись координаты, размер и привязки к другим объектам. Это так называемое абсолютное позиционирование. Исходный код (и соответственно трафик), управляющий размещением формы в окне веб-браузера, может оказаться достаточно большим. Именно эта экономия ресурсов и стала определяющей при переходе к новому подходу формирования форм в управляемом приложении - так называемому "декларативному описанию формы.

  3. Попробуем на примере выяснить, чем отличается декларативное описание от абсолютного позиционирования. Дадим браузеру следующие инструкции:

  1. Разместить в окне таблицу из пяти колонок и поместить ее в центр. Ширина таблицы должна составлять 80% от ширины окна браузера.

  2. В первой колонке поместить картинку и выровнять ее по левому краю.

  3. Во второй колонке поместить надпись и также выровнять ее по левому краю.

  4. В третьей, четвертой и пятой колонках будут цифры, их следует выровнять по правому краю.

  5. Итог по пятой колонке разместить в центре ячейки.

  1. После перевода данной инструкции в HTML-код результат размещения будет таким:

 

Наименование

Цена

Количество

Сумма

Пиво

25.00

24

600.00

Чипсы

50.00

10

500.00

 

ИТОГО:

Х

Х

1100.00

Таким образом, для размещения таблицы и данных в ней мы не используем никаких абсолютных координат. Таблица со своими координатами и размерами автоматически привязывается к окну браузера, колонки и ячейки - к таблице, а содержимое - к ячейкам.

Основные выводы:

1. Формы в управляемом приложении не проектируются программистом вручную, а описываются декларативно и формируются сервером "на лету" - так браузеру будет проще и быстрее сформировать форму на клиенте.

2. Код в формах четко разделен на исполняемый на форме и исполняемый на сервере, причем определять, что где должно исполняться, обязан программист - это ограничение браузера.

3. Форма объекта (документа, справочника) "отвязана" от сервера, фактически является структурированным описанием объекта и не позволяет напрямую получать доступ к реквизитам, для которых на форме не был размещен элемент отображения (поле, флажок и т.д.). Для доступа к таким данным необходимо использовать запрос или код, исполняемый на сервере - это требование безопасности.

4. Список основных процессов, работающих на сервере:

  • запросы к базе данных;

  • запись данных;

  • проведение документов;

  • различные расчеты;

  • выполнение обработок;

  • формирование отчетов;

  • подготовка форм к отображению.

5. Список основных процессов, работающих на клиенте:

  • получение и открытие форм;

  • отображение форм;

  • «общение» с пользователем (предупреждения, вопросы…);

  • небольшие расчеты в формах, требующие быстрой реакции (например, умножение цены на количество);

  • работа с локальными файлами;

  • работа с торговым оборудованием.

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