1
0
mirror of https://github.com/netology-code/1c-homeworks.git synced 2024-11-24 08:02:20 +02:00
1c-homeworks/homework-2-2.md

59 lines
5.5 KiB
Markdown
Raw Normal View History

2020-03-14 10:49:22 +02:00
# Задание к занятию "Переменные и параметры сеанса"
## Задача 1 "Развитие Калькулятора"
### Описание задачи
Добавить в обработку "Калькулятор":
- команду, меняющую местами значения реквизитов Значение и Результат.
- команды добавления значения к памяти, вычитания из памяти, очистки и вывода памяти в значение.
### Требования к результату
Обработка "Калькулятор" из задания (https://github.com/netology-code/1c-homeworks/blob/master/homework-1-6.md), в которой есть:
* реквизит и поле формы **Память**;
* кнопки:
* меняющие местами **Значение** и **Результат**.
* добавляющие и вычитающие **Значение** из **Памяти**.
* очищающие **Память** и выводящие **Память** в **Значение**.
### Процесс выполнения
1. Добавляем в обработку реквизит **Память** (Число разумной точности) и переносим его на форму как поле ввода или поле надписи.
2. Добавляем команды:
* **ОбменятьЗначениеРезультат** ("Значение <-> Результат");
* **ДобавитьЗначениеКПамяти** ("Память+");
* **ВычестьЗначениеИзПамяти** ("Память-");
* **ОчиститьПамять** ("Память Х");
* **ПамятьВЗначение** ("Память -> Значение");
3. Команды перетаскиваем на форму кнопками и создаем обработчики, вызвав комаду "<Действие команды>" из контекстного меню кнопки.
4. В обработчиках команд реализуем очевидный код. Для обмена значениями понадобится временная переменная, которую можно объявить заранее.
## Задача 2 "Параметр сеанса"
### Описание задачи
Создать параметр сеанса **ЭтоВебКлиент**, который хранил бы на сервере сведения о типе запущенного клиента.
### Требования к результату
Выгрузка информационной базы (.dt) с конфигурацией, в которой был бы булевский параметр сеанса **ЭтоВебКлиент**, который после запуска клиентского сеанса хранил бы значение **Истина** (веб-клиент) или **Ложь** (другие типы клиентов или вообще без клиента).
2020-03-14 10:49:22 +02:00
### Процесс выполнения
1. Добавляем параметр сеанса **ЭтоВебКлиент** типа **Булево**.
2. В модуле сеанса создаем обработчик **УстановкаПараметровСеанса**, в коде которого инициализируем его значением **Ложь** (здесь мы еще не знаем, каков клиент).
3. Создаем общий модуль с флажком **Вызов сервера**, а в нем - экспортную процедуру **ЭтоВебКлиент**, которая присваивает параметру сеанса значение **Истина**.
2020-10-01 15:15:20 +02:00
4. В модуле приложения создаем обработчик **ПередНачаломРаботыСистемы**, в коде которого, используя инструкцию препроцессора **#Если ВебКлиент Тогда <...> #КонецЕсли**, вызываем **ЭтоВебКлиент()** при работе из веб-клиента (в иных случаях можно ничего не вызывать).
2020-03-14 10:49:22 +02:00
## Задача 3 "Имена переменных"
### Описание задачи
Выберите хорошие названия:
- глобальной переменной модуля приложения, хранящей дату последней проверки уведомлений пользователя.
- локальной переменной обработчика события **ПриНачалеРаботыСистемы**, хранящей имя текущего пользователя.
- реквизита формы элемента справочника Сотрудники, хранящего сведения о том, что соответствующий сотруднику пользователь информационной базы существует.
### Требования к результату
В комментарии к решению описаны три полных, точных и понятных названия, удовлетворяющих требованиям к именам реквизитов и переменных.
2020-03-14 10:49:22 +02:00
### Процесс выполнения
Придумать и дать три полных, точных и понятных названия, удовлетворяющих требованиям к именам реквизитов и переменных.