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
2020-10-01 16:15:20 +03:00

5.4 KiB

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

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

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

Добавить в обработку "Калькулятор":

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

Требования к результату

Обработка "Калькулятор" из задания (https://github.com/netology-code/1c-homeworks/blob/master/homework-1-6.md), в которой есть:

  • реквизит и поле формы Память;
  • кнопки:
    • меняющие местами Значение и Результат.
    • добавляющие и вычитающие Значение из Памяти.
    • очищающие Память и выводящие Память в Значение.

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

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

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

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

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

Требования к результату

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

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

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

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

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

Выберите хорошие названия:

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

Требования к результату

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

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

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