mirror of
https://github.com/netology-code/1c-homeworks.git
synced 2024-11-24 08:02:20 +02:00
59 lines
5.4 KiB
Markdown
59 lines
5.4 KiB
Markdown
# Задание к занятию "Переменные и параметры сеанса"
|
|
|
|
## Задача 1 "Развитие Калькулятора"
|
|
|
|
### Описание задачи
|
|
|
|
Добавить в обработку "Калькулятор":
|
|
- команду, меняющую местами значения реквизитов Значение и Результат.
|
|
- команды добавления значения к памяти, вычитания из памяти, очистки и вывода памяти в значение.
|
|
|
|
### Требования к результату
|
|
Обработка "Калькулятор" из задания (https://github.com/netology-code/1c-homeworks/blob/master/homework-1-6.md), в которой есть:
|
|
* реквизит и поле формы **Память**;
|
|
* кнопки:
|
|
* меняющие местами **Значение** и **Результат**.
|
|
* добавляющие и вычитающие **Значение** из **Памяти**.
|
|
* очищающие **Память** и выводящие **Память** в **Значение**.
|
|
|
|
### Процесс выполнения
|
|
|
|
1. Добавляем в обработку реквизит **Память** (Число разумной точности) и переносим его на форму как поле ввода или поле надписи.
|
|
2. Добавляем команды:
|
|
* **ОбменятьЗначениеРезультат** ("Значение <-> Результат");
|
|
* **ДобавитьЗначениеКПамяти** ("Память+");
|
|
* **ВычестьЗначениеИзПамяти** ("Память-");
|
|
* **ОчиститьПамять** ("Память Х");
|
|
* **ПамятьВЗначение** ("Память -> Значение");
|
|
3. Команды перетаскиваем на форму кнопками и создаем обработчики, вызвав комаду "<Действие команды>" из контекстного меню кнопки.
|
|
4. В обработчиках команд реализуем очевидный код. Для обмена значениями понадобится временная переменная, которую можно объявить заранее.
|
|
|
|
## Задача 2 "Параметр сеанса"
|
|
|
|
### Описание задачи
|
|
Создать параметр сеанса **ЭтоВебКлиент**, который хранил бы на сервере сведения о типе запущенного клиента.
|
|
|
|
### Требования к результату
|
|
Произвольная конфигурация, в которой был бы булевский параметр сеанса **ЭтоВебКлиент**, который после запуска клиентского сеанса хранил бы значение **Истина** (веб-клиент) или **Ложь** (другие типы клиентов или вообще без клиента).
|
|
|
|
### Процесс выполнения
|
|
|
|
1. Добавляем параметр сеанса **ЭтоВебКлиент** типа **Булево**.
|
|
2. В модуле сеанса создаем обработчик **УстановкаПараметровСеанса**, в коде которого инициализируем его значением **Ложь** (здесь мы еще не знаем, каков клиент).
|
|
3. Создаем общий модуль с флажком **Вызов сервера**, а в нем - экспортную процедуру **ЭтоВебКлиент**, которая присваивает параметру сеанса значение **Истина**.
|
|
4. В модуле приложения создаем обработчик **ПередНачаломРаботыСистемы**, в коде которого, используя инструкцию препроцессора **#Если ВебКлиент Тогда <...> #КонецЕсли**, вызываем **ЭтоВебКлиент()** при работе из веб-клиента (в иных случаях можно ничего не вызывать).
|
|
|
|
## Задача 3 "Имена переменных"
|
|
|
|
### Описание задачи
|
|
Выберите хорошие названия:
|
|
- глобальной переменной модуля приложения, хранящей дату последней проверки уведомлений пользователя.
|
|
- локальной переменной обработчика события **ПриНачалеРаботыСистемы**, хранящей имя текущего пользователя.
|
|
- реквизита формы элемента справочника Сотрудники, хранящего сведения о том, что соответствующий сотруднику пользователь информационной базы существует.
|
|
|
|
### Требования к результату
|
|
Три полных, точных и понятных названия, удовлетворяющих требованиям к именам реквизитов и переменных.
|
|
|
|
### Процесс выполнения
|
|
Придумать и дать три полных, точных и понятных названия, удовлетворяющих требованиям к именам реквизитов и переменных.
|