# Задание к занятию "Переменные и параметры сеанса"

## Задача 1 "Развитие Калькулятора"

### Описание задачи

Добавить в обработку "Калькулятор":
- команду, меняющую местами значения реквизитов Значение и Результат.
- команды добавления значения к памяти, вычитания из памяти, очистки и вывода памяти в значение.

### Требования к результату
Обработка "Калькулятор" из задания (https://github.com/netology-code/1c-homeworks/blob/master/homework-1-6.md), в которой есть:
* реквизит и поле формы **Память**;
* кнопки:
  * меняющие местами **Значение** и **Результат**.
  * добавляющие и вычитающие **Значение** из **Памяти**.
  * очищающие **Память** и выводящие **Память** в **Значение**.

### Процесс выполнения

1. Добавляем в обработку реквизит **Память** (Число разумной точности) и переносим его на форму как поле ввода или поле надписи.
2. Добавляем команды:
* **ОбменятьЗначениеРезультат** ("Значение <-> Результат");
* **ДобавитьЗначениеКПамяти** ("Память+");
* **ВычестьЗначениеИзПамяти** ("Память-");
* **ОчиститьПамять** ("Память Х");
* **ПамятьВЗначение** ("Память -> Значение");
3. Команды перетаскиваем на форму кнопками и создаем обработчики, вызвав комаду "<Действие команды>" из контекстного меню кнопки.
4. В обработчиках команд реализуем очевидный код. Для обмена значениями понадобится временная переменная, которую можно объявить заранее.

## Задача 2 "Параметр сеанса"

### Описание задачи
Создать параметр сеанса **ЭтоВебКлиент**, который хранил бы на сервере сведения о типе запущенного клиента.

### Требования к результату
Выгрузка информационной базы (.dt) с конфигурацией, в которой был бы булевский параметр сеанса **ЭтоВебКлиент**, который после запуска клиентского сеанса хранил бы значение **Истина** (веб-клиент) или **Ложь** (другие типы клиентов или вообще без клиента).

### Процесс выполнения

1. Добавляем параметр сеанса **ЭтоВебКлиент** типа **Булево**.
2. В модуле сеанса создаем обработчик **УстановкаПараметровСеанса**, в коде которого инициализируем его значением **Ложь** (здесь мы еще не знаем, каков клиент).
3. Создаем общий модуль с флажком **Вызов сервера**, а в нем - экспортную процедуру **ЭтоВебКлиент**, которая присваивает параметру сеанса значение **Истина**.
4. В модуле приложения создаем обработчик **ПередНачаломРаботыСистемы**, в коде которого, используя инструкцию препроцессора **#Если ВебКлиент Тогда <...> #КонецЕсли**, вызываем **ЭтоВебКлиент()** при работе из веб-клиента (в иных случаях можно ничего не вызывать).

## Задача 3 "Имена переменных"

### Описание задачи
Выберите хорошие названия:
- глобальной переменной модуля приложения, хранящей дату последней проверки уведомлений пользователя.
- локальной переменной обработчика события **ПриНачалеРаботыСистемы**, хранящей имя текущего пользователя.
- реквизита формы элемента справочника Сотрудники, хранящего сведения о том, что соответствующий сотруднику пользователь информационной базы существует. 

### Требования к результату
В комментарии к решению описаны три полных, точных и понятных названия, удовлетворяющих требованиям к именам реквизитов и переменных.

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