Дополнительный функционал Системы кадрового учета на 1С 8.2
Простая система кадрового учета
Третья заключительная часть быстрой пошаговой демонстрации разработки системы кадрового учета на платформе 1С:Предприятие 8.2. С предыдущими частями можно ознакомиться тут:
1. Сейчас в нашей конфигурации уволенные сотрудники хранятся в одном списке с работающими. Наверное, это не очень удобно для кадровой службы. Давайте сделаем так, чтобы работающие и уволенные сотрудники хранились в разных группах.
Для этого запустите 1С в режиме Конфигуратора, в дереве конфигурации выделите наш справочник Сотрудники и двойным кликом левой кнопки мышки откройте Окно редактирования справочника Сотрудники. Затем перейдите на закладку «Иерархия».
2. Список элементов любого справочника в 1С Предприятие может быть многоуровневым (иерархическим). В этом случае все строки справочника будут разделяться на 2 вида: элементы справочника и группы справочника. Группы позволяют переходить на нижележащие уровни многоуровневого справочника. Использование многоуровневых справочников позволяет организовать ввод информации в справочник с нужной степенью детализации. Элементы и группы в многоуровневом справочнике можно переносить из одной группы в другую.
В окне редактирования справочника Сотрудники на закладке «Иерархия» укажите, что наш справочник иерархический. Задайте ограничение количества уровней иерархии – 2.
Это позволит нам на 1 уровне создать две группы «Работающие» и «Уволенные», а уже в этих группах (на 2 уровне) размещать сведения о соответствующих сотрудниках.
3. Запустите систему в режиме 1С:Предприятие, откройте наш справочник Сотрудники и создайте 2 группы: «Работающие» и «Уволенные». Для создания новых групп можно воспользоваться горячими клавишами Ctrl + F9, либо использовать пиктограмму на командной панели.
С помощью контекстного меню перенесите наших сотрудников по соответствующим группам: работающих – в группу «Работающие», уволенных – в группу «Уволенные».
4. Для того, чтобы при создании нового документа "Прием на работу" новый сотрудник создавался в группе «Работающие», внесите правки в код процедуры ОбработкаПроведения() модуля объекта документа "Прием на работу". (см. пункт 27 второй части Пошагового примера разработки конфигурации в 1С 8.2 ):
Первой строкой кода у нас будет:
Работающие = Справочники.Сотрудники.НайтиПоНаименованию("Работающие");
В этой строке мы переменной работающие присваиваем значение - ссылку на группу Работающие справочника Сотрудники. Для того, чтобы присвоить ссылку, мы вначале находим этот элемент по его наименованию.
Затем идет наша прежняя первая строка кода:
СпрСотр = Справочники.Сотрудники.СоздатьЭлемент();
После нее вставьте еще одну новую строку:
СпрСотр.Родитель = Работающие;
тут мы реквизиту Родитель создаваемому новому элементу справочника присваиваем ссылку на группу "Работающие".
В результате процедура ОбработкаПроведения() будет выглядеть так:
Работающие = Справочники.Сотрудники.НайтиПоНаименованию("Работающие");
СпрСотр = Справочники.Сотрудники.СоздатьЭлемент();
СпрСотр.Родитель = Работающие;
СпрСотр.Наименование = ФИО;
СпрСотр.Должность = Должность;
СпрСотр.Оклад = Оклад;
СпрСотр.ДатаПриема = ДатаПриема;
СпрСотр.Записать();
5. Запустите систему в режиме 1С:Предприятия и убедитесь, что при создании нового документа «Прием на работу» новый сотрудник создается в группе «Работающие».
6. По аналогии внесите изменения в код процедуры ОбработкаПроведения() модуля объекта документа «Увольнение», чтобы при увольнении сотрудник перемещался в группу «Уволенные»:
Уволенные = Справочники.Сотрудники.НайтиПоНаименованию("Уволенные");
СпрСотр.Родитель = Уволенные;
В результате процедура ОбработкаПроведения() будет выглядеть так:
СпрСотр=Сотрудник.ПолучитьОбъект();
Уволенные = Справочники.Сотрудники.НайтиПоНаименованию("Уволенные");
СпрСотр.Родитель = Уволенные;
СпрСотр.ДатаУвольнения=ДатаУвольнения;
СпрСотр.Записать();
7. Если же мы хотим, чтобы при увольнении осуществлялась проверка не был ли уже уволен наш выбранный сотрудник, то процедура ОбработкаПроведения() будет выглядеть так:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
СпрСотр.ДатаУвольнения=ДатаУвольнения;
СпрСотр.Записать();
8. Запустите систему в режиме 1С:Предприятия и убедитесь , что увольнение сотрудника выполняется корректно. В противном случае ищете опечатки в программном коде.
Скачать доработанную конфигурацию системы кадрового учета
Комментарии