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-3.md

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)