5.3 KiB
Задание к занятию "Процедуры и функции"
Задача 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) поздравлением сотрудников с днем рождения.
Требования к результату
Конфигурация, в которой есть справочник Сотрудники с датами рождения, и которая, определив сотрудника поиском по полному наименованию текущего пользователя, поздравляет его с днем рождения, если он приходится на текущую дату.
Процесс выполнения
- Используйте конфигурацию УправлениеИТФирмой из прошлых заданий, в которой есть справочник Сотрудники с датой рождения и механизм поздравлений.
- Создайте параметр сеанса СотрудникТекущегоПользователя типа СправочникСсылка.Сотрудники.
- В модуле сеанса создайте обработчик УстановкаПараметровСеанса, в коде которого:
- Определите полное имя текущего пользователя (ПользователиИнформационнойБазы.ТекущийПользователь().ПолноеИмя).
- Найдите соответствующего сотрудника в справочнике поиском по наименованию (Справочники.Сотрудники.НайтиПоНаименованию()).
- Проинициализируйте найденным сотрудником параметр сеанса.
- Создайте общий модуль СотрудникиСервер, в котором реализуйте экспортные функции:
- СотрудникТекущегоПользователя(), возвращающую значение одноименного параметра сеанса.
- ДеньРожденияТекущегоПользователя(), возвращающую значение реквизита ДеньРождения сотрудника текущего пользователя. К реквизиту за значением можно просто обратиться через точку.
- Создайте общий модуль СотрудникиВызовСервера, в котором реализуйте экспортную функцию-интерфейс для функции СотрудникиСервер.ДеньРожденияТекущегоПользователя().
- В обработчике ПриНачалеРаботыСистемы модуля приложения определите день рождения текущего пользователя вызовом СотрудникиВызовСервера.ДеньРожденияТекущегоПользователя(), и, если он совпадает с текущей датой - выведите поздравление.
Задача 2 "Проверка ИНН контрагента"
Описание задачи
Дополнить проверку реквизитов контрагента из задания (https://github.com/netology-code/1c-homeworks/blob/master/homework-2-5.md) проверкой контрольной суммы 10-значного ИНН.
Требования к результату
Конфигурация УправлениеИТФирмой, в которой реализована проверка ИНН контрагента-юридического лица вызовом отдельной функции ИННВерен(), изолированной от контекста формы.
Процесс выполнения
- Используйте конфигурацию из задания (https://github.com/netology-code/1c-homeworks/blob/master/homework-2-5.md).
- В модуле формы реализуйте функцию ИННВерен():
- С директивой компиляциии &НаКлиентеБезКонтекста.
- В качестве параметра принимающую ИНН.
- Возвращающую Истина, если ИНН верен, и Ложь в противном случае.
- Проверяющую контрольный разряд 10-значного ИНН аналогично задаче "Случайный ИНН" (https://github.com/netology-code/1c-homeworks/blob/master/homework-2-8.md).
- 12-значный ИНН для простоты можно не проверять (например, считать верным).
- Дополните проверку на заполненность и длину ИНН вызовом функции ИННВерен.