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
2023-06-20 13:04:19 +03:00

10 KiB

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

Примерное время выполнения: 60 минут

Все задачи обязательны к выполнению. Пожалуйста, присылайте на проверку все задачи сразу.

Любые вопросы по решению задач задавайте в чате учебной группы.

Цель задания

  1. Закрепить на практике работу с переменными
  2. Научиться сохранять время старта сеанса

Решение задания научит вас работать с параметрами сеанса, присваивать переменным значения и менять эти значения местами. Эти навыки пригодятся для выполнения домашнего задания в дальнейшем.

Чеклист готовности к домашнему заданию

Инструкция к заданию

  1. Решите описанные задачи в конфигураторе.
  2. Протестируйте решение в пользовательском режиме.
  3. Отправьте на проверку в личном кабинете Нетологии файл выгрузки информационной базы (.dt) с конфигурацией, содержащей решения по всем задачам и файл обработки (.epf) Калькулятор. Файлы прикрепите в раздел "решение" в практическом задании.

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

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

Вы хотите добавить в обработку Калькулятор стандартные для настольных калькуляторов функции работы с памятью:

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

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

В обработку "Калькулятор" добавлены:

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

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

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

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

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

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

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

Выгружена информационную базу с конфигурацией, в которой созданы:

  • Параметр сеанса ВремяНачалаСеанса типа Дата и время, который после запуска клиентского сеанса хранил время, в которое был запущен сеанс;
  • Обработка ПроверкаДлительностиСеанса с командой Длительность сеанса в основной форме.

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

  1. Добавляем параметр сеанса ВремяНачалаСеанса типа Дата с составом даты Дата и время.
  2. В модуле сеанса создаем обработчик УстановкаПараметровСеанса, в коде которого записываем в параметр сеанса текущее время, полученное с помощью метода ТекущаяДатаСеанса().
  3. Создаем общий модуль СеансыВызовСервера с флажками Сервер и Вызов сервера
Подсказка

Серверный вызов – это передача какой-то информации с клиентской части «1С:Предприятие 8» на серверную часть с целью вернуть обратно некий набор данных.

Более подробно, можно прочитать в статье.

  1. Реализуем в модуле СеансыВызовСервера экспортную функцию ВремяНачалаСеанса, которая будет возвращать значение параметра сеанса ВремяНачалаСеанса
  2. Создаем обработку ПроверкаДлительностиСеанса, основную форму обработки, на форму добавляем команду Длительность сеанса и назначаем обработчик
  3. В обработчике команды Длительность сеанса получаем значение параметра сеанса и выводим пользователю информацию о длительности сеанса:
    • Чтобы получить длительность сеанса в секундах необходимо из ТекущаяДата() вычесть время начала сеанса, полученное из функции.
    • Для вывода длительности пользователю можно использовать метод Сообщить()

Критерии оценки

Задание считается выполненным при соблюдении следующих условий:

  1. Решение включает выгрузку в формате dt с конфигурацией УправлениеИТФирмой и внешнюю обработку Калькулятор;
  2. В обработке Калькулятор есть функции сохранения числа в память, прибавление к памяти, вычитание из памяти, очистка памяти и чтение памяти;
  3. В конфигурации УправлениеИТФирмой есть обработка ПроверкаДлительностиСеанса, которая при нажатии на команду Длительность санса выводит информацию сколько секунд прошло с момента запуска приложения.

Подсказка:

Чтобы вам было проще понять, что в итоге должно получиться, мы подготовили подсказки: анимационные изображения в формате gif или картинки. Чтобы их увидеть, кликните по ссылке