mirror of
https://github.com/netology-code/1c-homeworks.git
synced 2024-11-24 08:02:20 +02:00
Create homework-2-9.md
This commit is contained in:
parent
9d09208f5d
commit
f0688993dd
40
homework-2-9.md
Normal file
40
homework-2-9.md
Normal file
@ -0,0 +1,40 @@
|
||||
# Задание к занятию "Процедуры и функции"
|
||||
|
||||
## Задача 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) поздравлением сотрудников с днем рождения.
|
||||
|
||||
### Требования к результату
|
||||
Конфигурация, в которой есть справочник **Сотрудники** с датами рождения, и которая, определив сотрудника поиском по полному наименованию текущего пользователя, поздравляет его с днем рождения, если он приходится на текущую дату.
|
||||
|
||||
### Процесс выполнения
|
||||
1. Используйте конфигурацию **УправлениеИТФирмой** из прошлых заданий, в которой есть справочник **Сотрудники** с датой рождения и механизм поздравлений.
|
||||
2. Создайте параметр сеанса **СотрудникТекущегоПользователя** типа **СправочникСсылка.Сотрудники**.
|
||||
3. В модуле сеанса создайте обработчик **УстановкаПараметровСеанса**, в коде которого:
|
||||
* Определите полное имя текущего пользователя (**ПользователиИнформационнойБазы.ТекущийПользователь().ПолноеИмя**).
|
||||
* Найдите соответствующего сотрудника в справочнике поиском по наименованию (**Справочники.Сотрудники.НайтиПоНаименованию()**).
|
||||
* Проинициализируйте найденным сотрудником параметр сеанса.
|
||||
4. Создайте общий модуль **СотрудникиСервер**, в котором реализуйте экспортные функции:
|
||||
* **СотрудникТекущегоПользователя()**, возвращающую значение одноименного параметра сеанса.
|
||||
* **ДеньРожденияТекущегоПользователя()**, возвращающую значение реквизита **ДеньРождения** сотрудника текущего пользователя. К реквизиту за значением можно просто обратиться через точку.
|
||||
5. Создайте общий модуль **СотрудникиВызовСервера**, в котором реализуйте экспортную функцию-интерфейс для функции **СотрудникиСервер.ДеньРожденияТекущегоПользователя()**.
|
||||
6. В обработчике **ПриНачалеРаботыСистемы** модуля приложения определите день рождения текущего пользователя вызовом **СотрудникиВызовСервера.ДеньРожденияТекущегоПользователя()**, и, если он совпадает с текущей датой - выведите поздравление.
|
||||
|
||||
## Задача 2 "Проверка ИНН контрагента"
|
||||
|
||||
### Описание задачи
|
||||
Дополнить проверку реквизитов контрагента из задания (https://github.com/netology-code/1c-homeworks/blob/master/homework-2-5.md) проверкой контрольной суммы 10-значного ИНН.
|
||||
|
||||
### Требования к результату
|
||||
Конфигурация **УправлениеИТФирмой**, в которой реализована проверка ИНН контрагента-юридического лица вызовом отдельной функции **ИННВерен()**, изолированной от контекста формы.
|
||||
|
||||
### Процесс выполнения
|
||||
1. Используйте конфигурацию из задания (https://github.com/netology-code/1c-homeworks/blob/master/homework-2-5.md).
|
||||
2. В модуле формы реализуйте функцию **ИННВерен()**:
|
||||
* С директивой компиляциии **&НаКлиентеБезКонтекста**.
|
||||
* В качестве параметра принимающую ИНН.
|
||||
* Возвращающую Истина, если ИНН верен, и Ложь в противном случае.
|
||||
* Проверяющую контрольный разряд 10-значного ИНН аналогично задаче "Случайный ИНН" (https://github.com/netology-code/1c-homeworks/blob/master/homework-2-8.md).
|
||||
* 12-значный ИНН для простоты можно не проверять (например, считать верным).
|
||||
3. Дополните проверку на заполненность и длину ИНН вызовом функции **ИННВерен**.
|
Loading…
Reference in New Issue
Block a user