mirror of
https://github.com/netology-code/1c-homeworks.git
synced 2024-11-24 08:02:20 +02:00
108 lines
9.7 KiB
Markdown
108 lines
9.7 KiB
Markdown
# Задание к занятию "Типы данных"
|
|
_Примерное время выполнения: 60 минут_
|
|
|
|
Все задачи обязательны к выполнению. Пожалуйста, присылайте на проверку все задачи сразу.
|
|
|
|
Любые вопросы по решению задач задавайте в чате учебной группы.
|
|
|
|
## Цель задания
|
|
|
|
1. Закрепить на практике работу типом данных Булево
|
|
2. Научиться выбирать типы данных для реквизитов
|
|
|
|
Решение задания научит вас составлять логические выражения, использовать промежуточные булевые переменные, анализировать назначение реквизитов и выбирать подходящие типы данных. Эти навыки пригодятся для выполнения домашних заданий в дальнейшем, а так же при проектировании объектов метаданных в реальных системах учета.
|
|
|
|
## Чеклист готовности к домашнему заданию
|
|
|
|
- [ ] Установлена учебная платформа версии 8.3.20 или больше.
|
|
- [ ] Развернута информационная база с конфигурацией **УправлениеИТФирмой**, полученная по итогу выполнения [домашнего задания к занятию Переменные и параметры сеанса](/homework-2-2.md)
|
|
|
|
## Инструкция к заданию
|
|
|
|
1. Решите описанные задачи в конфигураторе.
|
|
2. Протестируйте решение в пользовательском режиме.
|
|
3. Отправьте на проверку в личном кабинете Нетологии обработку РекомендацииПоВыходуНаУлицу, полученную в результате выполнения задачи 1 и файл выгрузки информационной базы (.dt) с конфигурацией, содержащей решение по задаче 2. Файлы прикрепите в раздел "решение" в практическом задании.
|
|
|
|
## Задача 1 "Одежда по погоде"
|
|
|
|
### Описание задачи
|
|
Вы хотите реализовать обработку **РекомендацииПоВыходуНаУлицу**, которая в зависимости от погодных условий будет давать рекомендации по выходу на улицу и способу добраться до работы.
|
|
|
|
### Требования к результату
|
|
Обработка с полем для ввода текущей температуры в градусах цельсия и флажками **Дождь**, **Снег**, **Штормовое предупреждение**, **Гололед**, **Обязательно быть в офисе**
|
|
|
|
### Процесс выполнения
|
|
1. Вызовем команду "Новый" из подменю "Файл" и выберем вид документа "Внешняя обработка".
|
|
2. Дадим ей имя **РекомендацииПоВыходуНаУлицу** и создадим форму, нажав на кнопку с лупой.
|
|
3. На форму добавим реквизиты **Дождь**, **Снег**, **Штормовое предупреждение**, **Гололед**, **Обязательно быть в офисе** типа Булево и реквизит **Температура** типа Число.
|
|
4. Перетащим все реквизиты на форму, создав элементы для их отображения.
|
|
5. Добавим команду **Показать рекомендацию**.
|
|
6. Реализуем следующий рекомендательный алгоритм:
|
|
- Если температура ниже -30, или температура выше +30, или штормовое предупреждение и не обязательно быть в офисе, то рекомендация **Оставайтесь дома**
|
|
- Если температура ниже -10, то рекомендация **Наденьте зимнюю верхнюю одежду**
|
|
- Если температура от -10 до +15, то рекомендуем **Наденьте демисезонную верхнюю одежду**
|
|
- Если температура выше +15, то рекомендуем **Наденьте летнюю верхнюю одежду**
|
|
- Если на улице снег или гололед и мы не остаемся дома, то дополните рекомендацию фразой **Добирайтесь общественным транспортом**
|
|
- Если на улице дождь и мы не остаемся дома, то дополните рекомендацию фразой **Возьмите зонтик**
|
|
|
|
<details>
|
|
<summary>Подсказка по реализации алгоритма (нажими, чтобы прочесть)</summary>
|
|
|
|
Для проверки, что мы не остаемся дома удобно создать отдельную переменную:
|
|
|
|
```bsl
|
|
ОставайтесьДома = Температура < -30 Или ...;
|
|
Если ОставайтесьДома Тогда
|
|
Сообщить("...");
|
|
КонецЕсли;
|
|
Если Снег И Не ОставайтесьДома ... Тогда
|
|
Сообщить("...");
|
|
КонецЕсли;
|
|
```
|
|
|
|
или использовать ранний возврат, если принято решение остаться дома:
|
|
|
|
```bsl
|
|
Если Температура < -30 Или ... Тогда
|
|
Сообщить("...");
|
|
Возврат;
|
|
КонецЕсли;
|
|
```
|
|
|
|
</details>
|
|
|
|
7. Рекомендации выводим пользователю через метод Сообщить()
|
|
8. Сохраним обработку как файл **РекомендацииПоВыходуНаУлицу.epf**.
|
|
|
|
## Задача 2 "Реквизиты справочника Сотрудники"
|
|
|
|
### Описание задачи
|
|
Вы хотите создать в конфигурации **УправлениеИТФирмой** справочник, для хранения подробной информации о сотрудниках фирмы.
|
|
|
|
### Требования к результату
|
|
Выгрузка информационной базы (.dt) с конфигурацией **УправлениеИТФирмой**, в которой был бы справочник **Сотрудники** с реквизитами, типы которых соответствуют их смыслу и назначению.
|
|
|
|
### Процесс выполнения
|
|
1. Используйте конфигурацию **УправлениеИТФирмой**.
|
|
2. Справочник **Сотрудники** измените так, чтобы в нем были реквизиты:
|
|
* **ДатаРождения**, **ДатаПриема** и **ДатаУвольнения**.
|
|
* **ИдентификаторПользователяИнформационнойБазы**.
|
|
* **ИНН** (какова длина ИНН физического лица)?
|
|
* **Комментарий** (подумайте, нужно ли ограничивать длину комментария).
|
|
* **Уволен**.
|
|
* **Оклад** и **СтавкаЧаса** (Число разумной длины и точности или определяемый тип; можно оставить из предыдущего задания).
|
|
* **Пол** (должна быть возможность выбирать мужской или женский пол).
|
|
* **Фотография** для хранения данных фотографии (Хранилище значения). Механизм для сохранения и вывода фотографии пока делать не нужно.
|
|
Реквизиты, созданные в ходе выполнения предыдущего задания, можно не трогать.
|
|
|
|
## Критерии оценки
|
|
|
|
Задание считается выполненным при соблюдении следующих условий:
|
|
1. Решение включает выгрузку в формате dt с конфигурацией **УправлениеИТФирмой** и внешнюю обработку **РекомендацииПоВыходуНаУлицу**;
|
|
2. В обработке **РекомендацииПоВыходуНаУлицу** есть поля для ввода информации о текущей погоде и кнопка для получения рекомендаций;
|
|
3. В конфигурации **УправлениеИТФирмой** есть справочник сотрудники с возможностью ввода детальной информации.
|
|
|
|
## Подсказка:
|
|
|
|
Чтобы вам было проще понять, что в итоге должно получиться, мы подготовили подсказки: анимационные изображения в формате gif или картинки. Чтобы их увидеть, кликните по [ссылке](https://github.com/netology-code/1c-homeworks/blob/vy-new-format/Examples/homework-2-3-example.md)
|