8.5 KiB
Задание к занятию "Процедуры и функции"
Примерное время выполнения: 60 минут
Все задачи обязательны к выполнению. Пожалуйста, присылайте на проверку все задачи сразу.
Любые вопросы по решению задач задавайте в чате учебной группы.
Цель задания
- Закрепить на практике работу с процедурами и функциями
Решение задания научит вас декомпозировать программный код на процедуры и функции. Этот навык является одним из базовых для дальнейшего решения домашних заданий и промышленной разработки.
Чеклист готовности к домашнему заданию
- Установлена учебная платформа версии 8.3.20 или больше.
- Развернута информационная база с конфигурацией УправлениеИТФирмой, полученная по итогу выполнения домашнего задания к занятию Универсальные коллекции.
Инструкция к заданию
- Решите описанные задачи в конфигураторе.
- Протестируйте решение в пользовательском режиме.
- Отправьте на проверку в личном кабинете Нетологии файл выгрузки информационной базы (.dt) с конфигурацией, содержащей решение по задачам 1 и 2. Файлы прикрепите в раздел "решение" в практическом задании.
Задача 1 "Поздравление с днем рождения"
Описание задачи
Вы хотите добавить в программу автоматическое поздравление сотрудников с днем рождения.
Требования к результату
Выгрузка информационной базы (.dt), в которой есть справочник Сотрудники с датами рождения, и которая, определив сотрудника поиском по полному наименованию текущего пользователя, поздравляет его с днем рождения, если он приходится на текущую дату.
Процесс выполнения
- Используйте конфигурацию УправлениеИТФирмой из прошлых заданий, в которой есть справочник Сотрудники с датой рождения и механизм поздравлений.
- Создайте параметр сеанса СотрудникТекущегоПользователя типа СправочникСсылка.Сотрудники.
- В модуле сеанса создайте обработчик УстановкаПараметровСеанса, в коде которого:
- Определите полное имя текущего пользователя (ПользователиИнформационнойБазы.ТекущийПользователь().ПолноеИмя).
- Найдите соответствующего сотрудника в справочнике поиском по наименованию (Справочники.Сотрудники.НайтиПоНаименованию()). Обратите внимание: это сработает, лишь если наименование элемента справочника и полное имя пользователя ИБ совпадают до символа.
- Проинициализируйте найденным сотрудником параметр сеанса.
- Создайте общий модуль СотрудникиСервер, в котором реализуйте экспортные функции:
- СотрудникТекущегоПользователя(), возвращающую значение одноименного параметра сеанса.
- ДеньРожденияТекущегоПользователя(), возвращающую значение реквизита ДеньРождения сотрудника текущего пользователя. К реквизиту за значением можно просто обратиться через точку.
- Создайте общий модуль СотрудникиВызовСервера, в котором реализуйте экспортную функцию-интерфейс для функции СотрудникиСервер.ДеньРожденияТекущегоПользователя().
- В обработчике ПриНачалеРаботыСистемы модуля приложения определите день рождения текущего пользователя вызовом СотрудникиВызовСервера.ДеньРожденияТекущегоПользователя(), и, если он совпадает с текущей датой - выведите поздравление.
Задача 2 "Проверка ИНН контрагента"
Описание задачи
Вы хотите усилить проверку корректности ввода ИНН, с помощью проверки контрольной суммы цифр в ИНН для юридических лиц.
Требования к результату
Выгрузка информационной базы (.dt) с конфигурацией УправлениеИТФирмой, в которой реализована проверка ИНН контрагента-юридического лица вызовом отдельной функции ИННВерен(), расположенной в общем модуле.
Процесс выполнения
- Используйте конфигурацию из домашнего задания к занятию Универсальные коллекции.
- Создайте общий модуль РаботаСИНН с установленными флажками Клиент, Сервер и Внешнее соединение.
- В новом общем модуле реализуйте экспортную функцию ИННВерен():
- В качестве параметра принимающую ИНН.
- Возвращающую Истина, если ИНН верен, и Ложь в противном случае.
- Проверяющую контрольный разряд 10-значного ИНН аналогично задаче "Случайный ИНН".
- 12-значный ИНН можно считать верным всегда.
- Дополните проверку на длину и состав ИНН в модуле объекта справочника Контрагенты вызовом функции ИННВерен.
Критерии оценки
Задание считается выполненным при соблюдении следующих условий:
- Решение включает выгрузку в формате dt с конфигурацией УправлениеИТФирмой;
- При запуске приложения система поздравляет текущего пользователя с днем рождения, если у него день рождения сегодня;
- При записи контрагента система проверяет контрольный разряд ИНН для юридических лиц.
Подсказка:
Чтобы вам было проще понять, что в итоге должно получиться, мы подготовили подсказки: анимационные изображения в формате gif или картинки. Чтобы их увидеть, кликните по ссылке