mirror of
https://github.com/netology-code/1c-homeworks.git
synced 2025-02-10 18:10:35 +02:00
Доработка заданий 5-9
This commit is contained in:
parent
f23da02849
commit
c18b6d0cdf
@ -15,7 +15,7 @@ _Примерное вермя выполнения: 60 минут_
|
||||
## Чеклист готовности к домашнему заданию
|
||||
|
||||
- [ ] Установлена учебная платформа версии 8.3.20 или больше.
|
||||
- [ ] Развернута информационная база с конфигурацией **УправлениеИТФирмой**, полученная по итогу выполнения [домашнего задания к занятию Модули](/homework-2-2.md)
|
||||
- [ ] Развернута информационная база с конфигурацией **УправлениеИТФирмой**, полученная по итогу выполнения [домашнего задания к занятию Переменные и параметры сеанса](/homework-2-2.md)
|
||||
|
||||
## Инструкция к заданию
|
||||
|
||||
@ -56,7 +56,7 @@ _Примерное вермя выполнения: 60 минут_
|
||||
Выгрузка информационной базы (.dt) с конфигурацией **УправлениеИТФирмой**, в которой был бы справочник **Сотрудники** с реквизитами, типы которых соответствуют их смыслу и назначению.
|
||||
|
||||
### Процесс выполнения
|
||||
1. Используйте конфигурацию **УправлениеИТФирмой** из предыдущих заданий (https://github.com/netology-code/1c-homeworks/blob/master/homework-1-3.md).
|
||||
1. Используйте конфигурацию **УправлениеИТФирмой**.
|
||||
2. Справочник **Сотрудники** измените так, чтобы в нем были реквизиты:
|
||||
* **ДатаРождения**, **ДатаПриема** и **ДатаУвольнения**.
|
||||
* **ИдентификаторПользователяИнформационнойБазы**.
|
||||
|
@ -14,7 +14,7 @@ _Примерное вермя выполнения: 60 минут_
|
||||
## Чеклист готовности к домашнему заданию
|
||||
|
||||
- [ ] Установлена учебная платформа версии 8.3.20 или больше.
|
||||
- [ ] Развернута информационная база с конфигурацией **УправлениеИТФирмой**, полученная по итогу выполнения [домашнего задания к занятию Модули](/homework-2-3.md)
|
||||
- [ ] Развернута информационная база с конфигурацией **УправлениеИТФирмой**, полученная по итогу выполнения [домашнего задания к занятию Типы данных](/homework-2-3.md)
|
||||
|
||||
## Инструкция к заданию
|
||||
|
||||
|
@ -1,34 +1,68 @@
|
||||
# Задание к занятию "Условия"
|
||||
_Примерное вермя выполнения: 60 минут_
|
||||
|
||||
Все задачи обязательны к выполнению. Пожалуйста, присылайте на проверку все задачи сразу.
|
||||
|
||||
Любые вопросы по решению задач задавайте в чате учебной группы.
|
||||
|
||||
## Цель задания
|
||||
|
||||
1. Закрепить на практике приемы разработки алгоритмов с ветвлениями
|
||||
|
||||
Решение задания научит вас создавать ветвящиеся алгоритмы. Это базовый навык, необходимый для решения домашних заданий в будущем и разработки реальных приложений.
|
||||
|
||||
## Чеклист готовности к домашнему заданию
|
||||
|
||||
- [ ] Установлена учебная платформа версии 8.3.20 или больше.
|
||||
- [ ] Развернута информационная база с конфигурацией **УправлениеИТФирмой**, полученная по итогу выполнения [домашнего задания к занятию Даты и строки](/homework-2-4.md)
|
||||
|
||||
## Инструкция к заданию
|
||||
|
||||
1. Решите описанные задачи в конфигураторе.
|
||||
2. Протестируйте решение в пользовательском режиме.
|
||||
3. Отправьте на проверку в личном кабинете Нетологии файл выгрузки информационной базы (.dt) с конфигурацией, содержащей решение по задачам 1 и 2. Файлы прикрепите в раздел "решение" в практическом задании.
|
||||
|
||||
## Задача 1 "Поздравления"
|
||||
|
||||
### Описание задачи
|
||||
При начале работы программы поздравлять пользователя с одной из праздничных дат, если она приходится на сегодня или на завтра.
|
||||
Вы хотите, чтобы при запуске программа сообщала пользователю рабочее сейчас время или нет с детальной информацией.
|
||||
|
||||
### Требования к результату
|
||||
Выгрузка информационной базы (.dt), при запуске поздравляющая пользователя выводом сообщения или предупреждения, если сегодняшний или завтрашний день приходится на одну из нескольких праздничных дат (набор праздников - произвольный). Приветствие должно содержать название праздника и собираться функцией **СтрШаблон()**.
|
||||
Выгрузка информационной базы (.dt), при запуске информирующая пользователя выводом сообщения о том, рабочее сейчас время или нет. Сообщение должно содержать информацию о текущем дне недели, является он будним или нет. Если день будний, то должно быть указано рабочее время еще не началось, рабочее время идет или работчее время уже закончилось. Текст сообщения необходимо собирать с помощью функции **СтрШаблон()**.
|
||||
|
||||
### Процесс выполнения
|
||||
1. Используйте произвольную конфигурацию.
|
||||
2. В модуле приложения создайте обработчик **ПриНачалеРаботыСистемы**, если его еще нет.
|
||||
3. В обработчике:
|
||||
* Проверьте условиями, приходится ли сегодняшняя или завтрашняя дата на праздник из небольшого произвольного набора.
|
||||
* Соберите поздравление в локальную переменную, используя функцию **СтрШаблон()**, название праздника и указание на день ("сегодня" или "завтра").
|
||||
* Выведите поздравление (например, "Поздравляем, сегодня - День монгольского флота!") вызовом **Сообщить()** или **ПоказатьПредупреждение()**.
|
||||
* Сохраните текущую дату в локальную переменную.
|
||||
* Проверьте условиями текущий день недели (будний или выходной).
|
||||
* Если это выходной день, то выведите сообщение **Сегодня [ИмяДняНедели], выходной день**.
|
||||
* Если это будний день, то выведите сообщение **Сегодня [ИмяДняНедели], будний день. Рабочее время [СостояниеРабочегоВремени].**
|
||||
* Если сейчас раньше 9:00, то состояние рабочего времени - **еще не началось**.
|
||||
* Если сейчас с 9:00 до 18:00, то состояние рабочего времени - **идет**.
|
||||
* Если сейчас подзднее 18:00, то состояние рабочего времени - **завершилось**.
|
||||
* Сообщение выводить вызовом **Сообщить()**.
|
||||
4. Для отладки решения задайте явно значение локальной переменной, например: `ТекущаяДата = '20220101100000';`
|
||||
|
||||
## Задача 2 "Проверка введенных данных"
|
||||
|
||||
### Описание задачи
|
||||
Реализовать проверку на заполненность и длину ИНН и КПП перед записью справочника **Контрагенты**.
|
||||
Вы хотите снизить вероятность ошибки при заполнении реквизитов ИНН и КПП в справочнике **Контрагенты**, проверяя длину строк.
|
||||
|
||||
### Требования к результату
|
||||
Выгрузка информационной базы (.dt) с конфигурацией, в которой есть справочник **Контрагенты** с ИНН, КПП и видом контрагента ("Юридическое лицо", "Физическое лицо"). Перед записью формы должна выполняться проверка на заполненность и длину ИНН и КПП в зависимости от вида контрагента.
|
||||
|
||||
### Процесс выполнения
|
||||
1. Используйте конфигурацию **УправлениеИТФирмой** со справочником **Контрагенты** из предыдущего задания (https://github.com/netology-code/1c-homeworks/blob/master/homework-1-3.md).
|
||||
2. В форме создайте обработчик события **ПередЗаписью**, в коде которого реализуйте проверку на заполненность и длину ИНН и КПП в зависимости от вида контрагента:
|
||||
1. Используйте конфигурацию **УправлениеИТФирмой** со справочником **Контрагенты**.
|
||||
2. В модуле объекта создайте обработчик события **ОбработкаПроверкиЗаполнения**, в коде которого реализуйте проверку на заполненность и длину ИНН и КПП в зависимости от вида контрагента:
|
||||
* Для юридического лица ИНН и КПП должны быть заполнены; ИНН должен быть длиной 10 знаков, КПП - 9 знаков.
|
||||
* Для физического лица ИНН должен быть длиной 12 знаков, КПП - не заполнен.
|
||||
* Контрольную сумму ИНН и наличие только цифр в ИНН и КПП проверять пока не нужно.
|
||||
* Для получения значения перечисления на клиенте используйте функцию **ПредопределенноеЗначение()**.
|
||||
* При выявлении ошибок устанавливайте параметр обработчика **Отказ** в **Истина** и выводите разумное сообщение вызовом **Сообщить**.
|
||||
* При выявлении ошибок устанавливайте параметр обработчика **Отказ** в **Истина** и выводите разумное сообщение вызовом **Сообщить()**.
|
||||
|
||||
## Критерии оценки
|
||||
|
||||
Задание считается выполненным при соблюдении следующих условий:
|
||||
1. Решение включает выгрузку в формате dt с конфигурацией **УправлениеИТФирмой**;
|
||||
2. В конфигурации **УправлениеИТФирмой** при старте выводится сообщение с информацией о сегодняшнем дне;
|
||||
3. В конфигурации **УправлениеИТФирмой** при записи справочника контрагенты проверяется длина строк в реквизитах ИНН и КПП.
|
@ -1,39 +1,84 @@
|
||||
# Задание к занятию "Циклы"
|
||||
_Примерное вермя выполнения: 60 минут_
|
||||
|
||||
Все задачи обязательны к выполнению. Пожалуйста, присылайте на проверку все задачи сразу.
|
||||
|
||||
Любые вопросы по решению задач задавайте в чате учебной группы.
|
||||
|
||||
## Цель задания
|
||||
|
||||
1. Закрепить на практике приемы разработки алгоритмов с циклами
|
||||
|
||||
Решение задания научит вас создавать алгоритмы с повторяющимися частями. Это базовый навык, необходимый для решения домашних заданий в будущем и разработки реальных приложений.
|
||||
|
||||
## Чеклист готовности к домашнему заданию
|
||||
|
||||
- [ ] Установлена учебная платформа версии 8.3.20 или больше.
|
||||
- [ ] Развернута информационная база с конфигурацией **УправлениеИТФирмой**, полученная по итогу выполнения [домашнего задания к занятию Условия](/homework-2-5.md).
|
||||
|
||||
## Инструкция к заданию
|
||||
|
||||
1. Решите описанные задачи в конфигураторе.
|
||||
2. Протестируйте решение в пользовательском режиме.
|
||||
3. Отправьте на проверку в личном кабинете Нетологии внешнюю обработку **ПодсчетЧислаДней** с решением задачи 1, внешнюю обработку **ОбработкаТекста** с решением задачи 2 и файл выгрузки информационной базы (.dt) с конфигурацией, содержащей решение по задаче 3. Файлы прикрепите в раздел "решение" в практическом задании.
|
||||
|
||||
## Задача 1 "Подсчет числа дней"
|
||||
|
||||
### Описание задачи
|
||||
Создать обработку, подсчитывающую число рабочих и выходных дней в указанном пользователем интервале.
|
||||
Вы хотите предоставить пользователю возможность рассчитывать сколько рабочих дней между указанными датами.
|
||||
|
||||
### Требования к результату
|
||||
Внешняя обработка с двумя реквизитами и полями ввода, задающими начало и конец интервала, и кнопкой "Подсчитать", по нажатию на которую подсчитывается и выводится пользователю число рабочих и выходных дней в указанном интервале дат.
|
||||
Внешняя обработка **ПодсчетЧислаДней** с двумя реквизитами и полями ввода, задающими начало и конец интервала, и кнопкой "Подсчитать", по нажатию на которую подсчитывается и выводится пользователю число рабочих и выходных дней в указанном интервале дат.
|
||||
|
||||
### Процесс выполнения
|
||||
1. Создайте внешнюю обработку с именем, например, **ПодсчетЧислаДней**.
|
||||
2. Добавьте в нее два реквизита типа Дата - например, **ДатаНач** и **ДатаКон** - и перетащите их на форму.
|
||||
3. Добавьте команду **Подсчитать** и перетащите ее кнопкой на форму.
|
||||
4. В обработчике команды:
|
||||
* Объявите две переменных-счетчика числа рабочих и выходных дней.
|
||||
* Обойдите в цикле все даты от начальной до конечной включительно.
|
||||
* В зависимости от дня недели даты прибавьте единицу к одному из двух счетчиков.
|
||||
* Выведите результаты вызовом **Сообщить()** или **ПоказатьПредупреждение()**, формируя строку с помощью **СтрШаблон()**.
|
||||
|
||||
* Объявите две переменных-счетчика числа рабочих и выходных дней.
|
||||
* Обойдите в цикле все даты от начальной до конечной включительно.
|
||||
* В зависимости от дня недели даты прибавьте единицу к одному из двух счетчиков.
|
||||
* Выведите результаты вызовом **Сообщить()**, формируя строку с помощью **СтрШаблон()**.
|
||||
|
||||
## Задача 2 "Обработка текста"
|
||||
|
||||
### Описание задачи
|
||||
Создать обработку, находящую во введенном тексте самое длинное и самое короткое слово.
|
||||
Вы хотите реализовать механизм, который ищет во введенном тексте самое длинное и самое короткое слово.
|
||||
|
||||
### Требования к результату
|
||||
Внешняя обработка с реквизитом и многострочным полем ввода для текста и кнопкой "Найти", по нажатию на которую определяется и выводится пользователю самое длинное и самое короткое слово.
|
||||
Внешняя обработка **ОбработкаТекста** с реквизитом и многострочным полем ввода для текста и кнопкой "Найти", по нажатию на которую определяется и выводится пользователю самое длинное и самое короткое слово.
|
||||
|
||||
### Процесс выполнения
|
||||
1. Создайте внешнюю обработку с именем, например, **ОбработкаТекста**.
|
||||
2. Добавьте в нее реквизит типа **Строка** - например, **Текст** - и перетащите его на форму, сделав многострочным полем ввода.
|
||||
3. Добавьте команду **НайтиСлова** и перетащите ее кнопкой на форму.
|
||||
4. В обработчике команды:
|
||||
* Объявите две переменных для самого длинного и самого короткого слова.
|
||||
* Разделите текст на слова вызовом **СтрРазделить()**.
|
||||
* Обойдите в цикле все слова.
|
||||
* В зависимости от длины сохраните текущее слово как самое длинное или самое короткое.
|
||||
* Выведите результаты вызовом **Сообщить()** или **ПоказатьПредупреждение()**, формируя строку с помощью **СтрШаблон()**.
|
||||
* Объявите две переменных для самого длинного и самого короткого слова.
|
||||
* Разделите текст на слова вызовом **СтрРазделить()**.
|
||||
* Обойдите в цикле все слова.
|
||||
* В зависимости от длины сохраните текущее слово как самое длинное или самое короткое.
|
||||
* Выведите результаты вызовом **Сообщить()**, формируя строку с помощью **СтрШаблон()**.
|
||||
|
||||
## Задача 3 "Развитие проверки введенных данных"
|
||||
|
||||
### Описание задачи
|
||||
Вы хотите дополнительно снизить вероятность ошибки при заполнении реквизитов ИНН и КПП в справочнике **Контрагенты**, проверяя состав строк.
|
||||
|
||||
### Требования к результату
|
||||
Выгрузка информационной базы (.dt) с конфигурацией, в которой есть справочник **Контрагенты** с ИНН, КПП. В дополнение к проверке из предыдущего задания необходимо проверять, что строки состят только из цифр.
|
||||
|
||||
### Процесс выполнения
|
||||
1. Используйте конфигурацию **УправлениеИТФирмой** со справочником **Контрагенты**.
|
||||
2. Дополните обработчик события **ОбработкаПроверкиЗаполнения** алгоритмом проверки символов, из которых состоят ИНН и КПП:
|
||||
* Используйте цикл со счетчиком для перебора символов;
|
||||
* Для получения очередного символа используйте функцию **Сред()**;
|
||||
* Для проверки является ли символ цифрой заранее определите строку, состоящую только из цифр, и ищите в ней очередной символ с помощью функции **СтрНайти()**.
|
||||
* При выявлении ошибок устанавливайте параметр обработчика **Отказ** в **Истина** и выводите разумное сообщение вызовом **Сообщить()**.
|
||||
|
||||
## Критерии оценки
|
||||
|
||||
Задание считается выполненным при соблюдении следующих условий:
|
||||
1. Решение включает внешнюю обработку **ПодсчетЧислаДней**, внешнюю обработку **ОбработкаТекста** и выгрузку в формате dt с конфигурацией **УправлениеИТФирмой**;
|
||||
2. Обработка **ПодсчетЧислаДней** позволяет рассчитать сколько будней и сколько выходных дней между введенными датами;
|
||||
3. Обработка **ОбработкаТекста** позволяет найти во введенном тексте самое длинное и самое короткое слово;
|
||||
4. В конфигурации **УправлениеИТФирмой** при записи справочника контрагенты состав строк в реквизитах ИНН и КПП.
|
@ -1,23 +1,31 @@
|
||||
# Задание к занятию "Универсальные коллекции"
|
||||
_Примерное вермя выполнения: 60 минут_
|
||||
|
||||
## Задача 1 "Универсальное поздравление"
|
||||
Все задачи обязательны к выполнению. Пожалуйста, присылайте на проверку все задачи сразу.
|
||||
|
||||
Любые вопросы по решению задач задавайте в чате учебной группы.
|
||||
|
||||
## Цель задания
|
||||
|
||||
1. Закрепить на практике работу с универсальными коллекциями
|
||||
|
||||
Решение задания научит вас использовать массивы, структуры и соответствия для написания алгоритмов. Этот навык является одним из базовых для дальнейшего решения домашних заданий и промышленной разработки.
|
||||
|
||||
## Чеклист готовности к домашнему заданию
|
||||
|
||||
- [ ] Установлена учебная платформа версии 8.3.20 или больше.
|
||||
- [ ] Развернута информационная база с конфигурацией **УправлениеИТФирмой**, полученная по итогу выполнения [домашнего задания к занятию Циклы](/homework-2-6.md).
|
||||
|
||||
## Инструкция к заданию
|
||||
|
||||
1. Решите описанные задачи в конфигураторе.
|
||||
2. Протестируйте решение в пользовательском режиме.
|
||||
3. Отправьте на проверку в личном кабинете Нетологии внешнюю обработку **ПодсчетЧислаУникальныхСлов** с решением задачи 1 и файл выгрузки информационной базы (.dt) с конфигурацией, содержащей решение по задаче 2. Файлы прикрепите в раздел "решение" в практическом задании.
|
||||
|
||||
## Задача 1 "Подсчет числа уникальных слов"
|
||||
|
||||
### Описание задачи
|
||||
Переделать поздравления из задания (https://github.com/netology-code/1c-homeworks/blob/master/homework-2-5.md) на поиск даты в массиве структур.
|
||||
|
||||
### Требования к результату
|
||||
Выгрузка информационной базы (.dt), при начале работы системы выводящая подравление с сегодняшней или завтрашней праздничной датой, находя ее в заранее подготовленном массиве структур.
|
||||
|
||||
### Процесс выполнения
|
||||
1. Используйте конфигурацию из прошлого задания (https://github.com/netology-code/1c-homeworks/blob/master/homework-2-5.md).
|
||||
2. Объявите переменную-массив праздничных дат.
|
||||
3. Добавьте в него несколько праздничных дат в виде структур со свойствами **День**, **Месяц**, **Название**.
|
||||
4. Определите, не является ли текущая дата праздничной или предпраздничной, обходя в цикле этот заранее подготовленный массив структур, и покажите соответствующее поздравление.
|
||||
|
||||
## Задача 2 "Подсчет числа уникальных слов"
|
||||
|
||||
### Описание задачи
|
||||
Создать обработку, подсчитывающую число уникальных слов во введенном пользователем тексте.
|
||||
Вы хотите реализовать обработку, которая сможет посчитывать число уникальных слов в тексте, введенном пользователем.
|
||||
|
||||
### Требования к результату
|
||||
Внешняя обработка с реквизитом и многострочным полем ввода для текста и кнопкой "Подсчитать", по нажатию на которую определяется и выводится пользователю число уникальных слов в тексте без учета регистра. Иначе говоря, слово, встречающееся в тексте несколько раз, учитывается в итоговом результате лишь однажды.
|
||||
@ -34,3 +42,25 @@ _Например: для текста "Привет привет ПрИвЕт
|
||||
* Обойдите в цикле все слова.
|
||||
* Вставляйте в соответствие слово, приведя его к верхнему или нижнему регистру.
|
||||
* Выведите результат - число элементов соответствия - вызовом **Сообщить()** или **ПоказатьПредупреждение()**, формируя строку с помощью **СтрШаблон()**.
|
||||
|
||||
## Задача 2 "Поздравления"
|
||||
|
||||
### Описание задачи
|
||||
Вы хотите, чтобы программа при запуске подздравляла пользователя с праздником, если он приходится на сегодня или на завтра.
|
||||
|
||||
### Требования к результату
|
||||
Выгрузка информационной базы (.dt), при начале работы системы выводящая подравление с сегодняшней или завтрашней праздничной датой, находя ее в заранее подготовленном массиве структур. Приветствие должно содержать название праздника и собираться функцией СтрШаблон().
|
||||
|
||||
### Процесс выполнения
|
||||
1. Используйте конфигурацию из прошлого задания.
|
||||
2. Реализуйте алгоритм оповещения о праздниках в обработчике **ПриНачалеРаботыСистемы** в модуле приложения.
|
||||
2. Объявите переменную-массив праздничных дат.
|
||||
3. Добавьте в него несколько праздничных дат в виде структур со свойствами **День**, **Месяц**, **Название**.
|
||||
4. Определите, не является ли текущая дата праздничной или предпраздничной, обходя в цикле этот заранее подготовленный массив структур, и покажите соответствующее поздравление.
|
||||
|
||||
## Критерии оценки
|
||||
|
||||
Задание считается выполненным при соблюдении следующих условий:
|
||||
1. Решение включает внешнюю обработку **ПодсчетЧислаУникальныхСлов** и выгрузку в формате dt с конфигурацией **УправлениеИТФирмой**;
|
||||
2. Обработка **ПодсчетЧислаУникальныхСлов** позволяет выявить уникальные слова в тексте, веденным пользователем;
|
||||
3. В конфигурации **УправлениеИТФирмой** при записи справочника контрагенты состав строк в реквизитах ИНН и КПП.
|
@ -1,12 +1,53 @@
|
||||
# Задание к занятию "Объекты платформы"
|
||||
_Примерное вермя выполнения: 60 минут_
|
||||
|
||||
## Задача 1 "Случайный ИНН"
|
||||
Все задачи обязательны к выполнению. Пожалуйста, присылайте на проверку все задачи сразу.
|
||||
|
||||
Любые вопросы по решению задач задавайте в чате учебной группы.
|
||||
|
||||
## Цель задания
|
||||
|
||||
1. Закрепить на практике работу с объектами платформы
|
||||
|
||||
Решение задания научит вас использовать объекты платформы, на примере генератора случайных чисел и списка пользователей информационной базы. Этот навык является одним из базовых для дальнейшего решения домашних заданий и промышленной разработки.
|
||||
|
||||
## Чеклист готовности к домашнему заданию
|
||||
|
||||
- [ ] Установлена учебная платформа версии 8.3.20 или больше.
|
||||
|
||||
## Инструкция к заданию
|
||||
|
||||
1. Решите описанные задачи в конфигураторе.
|
||||
2. Протестируйте решение в пользовательском режиме.
|
||||
3. Отправьте на проверку в личном кабинете Нетологии внешнюю обработку **АнализСпискаПользователей** с решением задачи 1 и внешнюю обработку **ГенерацияСлучайногоИНН** с решением задачи 2. Файлы прикрепите в раздел "решение" в практическом задании.
|
||||
|
||||
## Задача 1 "Анализ списка пользователей"
|
||||
|
||||
### Описание задачи
|
||||
Создать обработку, генерирующую случайный 10-значный ИНН с верным контрольным разрядом.
|
||||
Вы хотите предоставить пользователям возможность смотреть список пользователей, созданных в информационной базе
|
||||
|
||||
### Требования к результату
|
||||
Внешняя обработка с кнопкой **Сгенерировать**, по нажатию выводящая случайный 10-значный ИНН с верным контрольным разрядом.
|
||||
Внешняя обработка с реквизитом типа "Текстовый документ" и полем текстового документа, в которой есть кнопка "Прочитать список пользователей", по нажатию на которую в текстовый документ выводится список пользователей с присвоенными им ролями. Например:
|
||||
|
||||
```
|
||||
Иванов Петр (Базовый права, Добавление изменение контрагентов)
|
||||
Петров Василий (Полные права)
|
||||
```
|
||||
|
||||
### Процесс выполнения
|
||||
1. Создайте новую внешнюю обработку **АнализСпискаПользователей**.
|
||||
2. Добавьте в нее реквизит **Текст** типа Текстовый документ и перетащите его на форму.
|
||||
3. Получите список пользователей с помощью объекта платформы **ПользователиИнформационнойБазы**.
|
||||
4. Соберите информацию о пользователе и его ролях с помощью функций **СтрШаблон** и **СтрСоединить**.
|
||||
5. Выведите в текстовый документ полученную информацию.
|
||||
|
||||
## Задача 2 "Случайный ИНН"
|
||||
|
||||
### Описание задачи
|
||||
Вы хотите реализовать механизм для формирования тестовых ИНН для юридических лиц с верным контрольным разрядом.
|
||||
|
||||
### Требования к результату
|
||||
Внешняя обработка **ГенерацияСлучайногоИНН** с кнопкой **Сгенерировать**, по нажатию выводящая случайный 10-значный ИНН с верным контрольным разрядом.
|
||||
|
||||
### Процесс выполнения
|
||||
1. Создайте внешнюю обработку с названием, например, **СлучайныйИНН**.
|
||||
@ -19,15 +60,9 @@
|
||||
* Контрольная сумма определяется сложением произведений разрядов ИНН последовательно на 2, 4, 10, 3, 5, 9, 4, 6, 8.
|
||||
* Добавьте к ИНН контрольный разряд и выведите ИНН.
|
||||
|
||||
## Задача 2 "Текстовый документ"
|
||||
## Критерии оценки
|
||||
|
||||
### Описание задачи
|
||||
Переделать обработку "Подсчет числа уникальных слов" (https://github.com/netology-code/1c-homeworks/blob/master/homework-2-7.md) на работу с текстовым документом.
|
||||
|
||||
### Требования к результату
|
||||
Внешняя обработка с реквизитом типа "Текстовый документ" и полем текстового документа, в которой есть кнопка "Подсчитать", по нажатию на которую определяется и выводится пользователю число уникальных слов в текстовом документе без учета регистра.
|
||||
|
||||
### Процесс выполнения
|
||||
1. Используйте обработку из прошлого задания (https://github.com/netology-code/1c-homeworks/blob/master/homework-2-7.md).
|
||||
2. Вместо строкового реквизита **Текст** добавьте в нее реквизит **Текст** типа "Текстовый документ" и перетащите его на форму.
|
||||
3. Переделайте код, подсчитывающий число уникальных слов, на работу с содержимым этого текстового документа.
|
||||
Задание считается выполненным при соблюдении следующих условий:
|
||||
1. Решение включает внешнюю обработку **АнализСпискаПользователей** и выгрузку в формате dt с конфигурацией **УправлениеИТФирмой**;
|
||||
2. Обработка **АнализСпискаПользователей** позволяет посмотреть список пользователей с их ролями в пользовательском режиме;
|
||||
3. Обработка **ГенераторСлучайныхЧисел** формирует случайный ИНН для юридического лица с верным контрольным разрядом.
|
@ -1,9 +1,31 @@
|
||||
# Задание к занятию "Процедуры и функции"
|
||||
_Примерное вермя выполнения: 60 минут_
|
||||
|
||||
Все задачи обязательны к выполнению. Пожалуйста, присылайте на проверку все задачи сразу.
|
||||
|
||||
Любые вопросы по решению задач задавайте в чате учебной группы.
|
||||
|
||||
## Цель задания
|
||||
|
||||
1. Закрепить на практике работу с процедурами и функциями
|
||||
|
||||
Решение задания научит вас декомпозировать программный код на процедуры и функции. Этот навык является одним из базовых для дальнейшего решения домашних заданий и промышленной разработки.
|
||||
|
||||
## Чеклист готовности к домашнему заданию
|
||||
|
||||
- [ ] Установлена учебная платформа версии 8.3.20 или больше.
|
||||
- [ ] Развернута информационная база с конфигурацией **УправлениеИТФирмой**, полученная по итогу выполнения [домашнего задания к занятию Универсальные коллекции](/homework-2-7.md).
|
||||
|
||||
## Инструкция к заданию
|
||||
|
||||
1. Решите описанные задачи в конфигураторе.
|
||||
2. Протестируйте решение в пользовательском режиме.
|
||||
3. Отправьте на проверку в личном кабинете Нетологии файл выгрузки информационной базы (.dt) с конфигурацией, содержащей решение по задачая 1 и 2. Файлы прикрепите в раздел "решение" в практическом задании.
|
||||
|
||||
## Задача 1 "Поздравление с днем рождения"
|
||||
|
||||
### Описание задачи
|
||||
Дополнить поздравления (https://github.com/netology-code/1c-homeworks/blob/master/homework-2-7.md, https://github.com/netology-code/1c-homeworks/blob/master/homework-2-3.md) поздравлением сотрудников с днем рождения.
|
||||
Вы хотите добавить в программу автоматическое поздравление сотрудников с днем рождения.
|
||||
|
||||
### Требования к результату
|
||||
Выгрузка информационной базы (.dt), в которой есть справочник **Сотрудники** с датами рождения, и которая, определив сотрудника поиском по полному наименованию текущего пользователя, поздравляет его с днем рождения, если он приходится на текущую дату.
|
||||
@ -24,17 +46,24 @@
|
||||
## Задача 2 "Проверка ИНН контрагента"
|
||||
|
||||
### Описание задачи
|
||||
Дополнить проверку реквизитов контрагента из задания (https://github.com/netology-code/1c-homeworks/blob/master/homework-2-5.md) проверкой контрольной суммы 10-значного ИНН.
|
||||
Вы хотите усилить проверку корректности ввода ИНН, с помощью проверки контрольной суммы цифр в ИНН для юридических лиц.
|
||||
|
||||
### Требования к результату
|
||||
Выгрузка информационной базы (.dt) с конфигурацией **УправлениеИТФирмой**, в которой реализована проверка ИНН контрагента-юридического лица вызовом отдельной функции **ИННВерен()**, изолированной от контекста формы.
|
||||
Выгрузка информационной базы (.dt) с конфигурацией **УправлениеИТФирмой**, в которой реализована проверка ИНН контрагента-юридического лица вызовом отдельной функции **ИННВерен()**, расположенной в общем модуле.
|
||||
|
||||
### Процесс выполнения
|
||||
1. Используйте конфигурацию из задания (https://github.com/netology-code/1c-homeworks/blob/master/homework-2-5.md).
|
||||
2. В модуле формы реализуйте функцию **ИННВерен()**:
|
||||
* С директивой компиляциии **&НаКлиентеНаСервереБезКонтекста**.
|
||||
1. Используйте конфигурацию из [домашнего задания к занятию Универсальные коллекции](/homework-2-7.md).
|
||||
2. Создайте общий модуль **РаботаСИНН** с установленными флажками Клиент, Сервер и Внешнее соединение.
|
||||
3. В новом общем модуле реализуйте экспортную функцию **ИННВерен()**:
|
||||
* В качестве параметра принимающую ИНН.
|
||||
* Возвращающую Истина, если ИНН верен, и Ложь в противном случае.
|
||||
* Проверяющую контрольный разряд 10-значного ИНН аналогично задаче "Случайный ИНН" (https://github.com/netology-code/1c-homeworks/blob/master/homework-2-8.md).
|
||||
* 12-значный ИНН для простоты можно не проверять (например, считать верным).
|
||||
3. Дополните проверку на заполненность и длину ИНН вызовом функции **ИННВерен**.
|
||||
* Проверяющую контрольный разряд 10-значного ИНН [аналогично задаче "Случайный ИНН"](/homework-2-8.md).
|
||||
* 12-значный ИНН можно считать верным всегда.
|
||||
3. Дополните проверку на длину и состав ИНН в модуле объекта справочника Контрагенты вызовом функции **ИННВерен**.
|
||||
|
||||
## Критерии оценки
|
||||
|
||||
Задание считается выполненным при соблюдении следующих условий:
|
||||
1. Решение включает выгрузку в формате dt с конфигурацией **УправлениеИТФирмой**;
|
||||
2. При запуске приложения система поздравляет текущего пользователя с днем рождения, если у него день рождения сегодня;
|
||||
3. При записи контрагента система проверяет контрольный разряд ИНН для юридических лиц.
|
Loading…
x
Reference in New Issue
Block a user