1
0
mirror of https://github.com/netology-code/1c-homeworks.git synced 2025-02-10 18:10:35 +02:00
1c-homeworks/homework-1-4.md
2025-01-02 02:25:44 +03:00

6.1 KiB

Задание к занятию "Виды клиентов и режимы работы"

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

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

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

Цель задания

Выполнив это задание, вы научитесь определять, где выполняется программный код и работают обработчики нескольких событий платформы

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

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

В рамках этого домашнего задания нужно:

  1. Реализовать универсальный механизм, позволяющий узнать, в каком контексте работает программный код (на клиенте или на сервере)
  2. Выяснить, где работают обработчики “ПриНачалеРаботыСистемы” модуля приложения, “УстановкаПараметровСеанса” модуля сеанса и “ОбработкаПроверкиЗаполнения” модуля объекта

Инструкция к выполнению

Используйте для работы базу, получившуюся в результате выполнения предыдущего домашнего задания

Задача 1. "Механизм для определения контекста"

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

  1. Создайте общий модуль “КонтекстВыполненияКлиентСервер”
  2. В свойствах модуля установите флажки “Клиент”, “Сервер”, “Внешнее соединение”
  3. Разместите в нем функцию:
Функция ТекущийКонтекст() Экспорт
 
    #Если Сервер Тогда
        Возврат "Сервер";
    #ИначеЕсли ТонкийКлиент Тогда
        Возврат "Тонкий клиент";
    #ИначеЕсли ВебКлиент Тогда
        Возврат "Веб-клиент";
    #ИначеЕсли МобильныйКлиент Тогда
        Возврат "Мобильный клиент";
    #ИначеЕсли ТолстыйКлиентОбычноеПриложение Тогда
        Возврат "Толстый клиент (Обычное приложение)";
    #ИначеЕсли ТолстыйКлиентУправляемоеПриложение Тогда
        Возврат "Толстый клиент (Обычное приложение)";
    #Иначе
        Возврат "Неизвестный контекст";
    #КонецЕсли
 
КонецФункции

Задача 2 "Эксперимент с определением контекста"

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

  1. Откройте модуль приложения (Правой кнопкой мыши на корень конфигурации / “Модуль приложения”) и добавьте туда код:
Процедура ПриНачалеРаботыСистемы()
    Сообщить("При начале работы системы: " + КонтекстВыполненияКлиентСервер.ТекущийКонтекст());
КонецПроцедуры
  1. Откройте модуль сеанса (Правой кнопкой мыши на корень конфигурации / “Модуль сеанса” ) и добавьте туда код:
Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)
    Сообщить("Установка параметров сеанса: " + КонтекстВыполненияКлиентСервер.ТекущийКонтекст());
КонецПроцедуры
  1. Откройте модуль объекта справочника Контрагенты (правой кнопкой мыши на справочник / “Модуль объекта”) и добавьте туда код:
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
    Сообщить("Обработка проверки заполнения: " + КонтекстВыполненияКлиентСервер.ТекущийКонтекст());
КонецПроцедуры
  1. Запустите приложение и убедитесь, что при старте вывелось 2 сообщения. Запишите любой элемент справочника “Контрагенты” и убедитесь, что вывелось сообщение

Обратите внимание

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

Формат сдачи

Загрузите выгрузку базы с внесенными изменениями в формате dt в поле «Ссылка на решение» и нажмите «Отправить на проверку». После загрузки решения вы получите пример решения задания от эксперта