Pavel Marychev c014f355cf init
Первоначальная загрузка данных
2021-11-15 23:59:23 +04:00

59 lines
5.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Задание к занятию "Переменные и параметры сеанса"
## Задача 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 "Имена переменных"
### Описание задачи
Выберите хорошие названия:
- глобальной переменной модуля приложения, хранящей дату последней проверки уведомлений пользователя.
- локальной переменной обработчика события **ПриНачалеРаботыСистемы**, хранящей имя текущего пользователя.
- реквизита формы элемента справочника Сотрудники, хранящего сведения о том, что соответствующий сотруднику пользователь информационной базы существует.
### Требования к результату
В комментарии к решению описаны три полных, точных и понятных названия, удовлетворяющих требованиям к именам реквизитов и переменных.
### Процесс выполнения
Придумать и дать три полных, точных и понятных названия, удовлетворяющих требованиям к именам реквизитов и переменных.