Files
public/ruodoo_rsbu_mil/models/hr_employee.py

81 lines
4.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# -*- coding: utf-8 -*-
"""Данные воинского учёта на карточке сотрудника.
Минимальный набор признаков, достаточный для агрегатов форм воинского
учёта (6, 18, 19): отношение к воинской обязанности, состав (офицеры /
прочие), пребывание в запасе, бронирование и мобпредписание, а также
категория должности для группировки в формах.
Это ОБРАЗЕЦ: состав полей и справочники уточняются у специалиста по ВУ.
"""
from odoo import fields, models
# Категория должности для группировки в формах 6 и 19.
MIL_JOB_CATEGORY = [
('manager', 'Руководители'),
('specialist', 'Специалисты'),
('clerk', 'Служащие'),
('worker', 'Рабочие'),
]
# Состав граждан, пребывающих в запасе (деление в формах 6/18).
MIL_RANK_GROUP = [
('officer', 'Офицеры (и генералы)'),
('soldier', 'Прапорщики, мичманы, сержанты, старшины, солдаты и матросы'),
]
class HrEmployee(models.Model):
_inherit = 'hr.employee'
rsbu_mil_liable = fields.Boolean(
string='Военнообязанный',
help='Сотрудник подлежит воинскому учёту (военнообязанный или '
'призывник).')
rsbu_mil_in_reserve = fields.Boolean(
string='Пребывает в запасе',
help='Гражданин РФ, пребывающий в запасе (для форм 6/18/19).')
rsbu_mil_rank_group = fields.Selection(
selection=MIL_RANK_GROUP, string='Состав',
help='Состав для деления в отчётах: офицеры либо '
'прапорщики/сержанты/солдаты.')
rsbu_mil_conscript = fields.Boolean(
string='Подлежит призыву',
help='Гражданин, подлежащий призыву на военную службу (не в запасе).')
rsbu_mil_booked = fields.Boolean(
string='Забронирован',
help='Гражданин, пребывающий в запасе, забронированный за '
'организацией на период мобилизации и военное время.')
rsbu_mil_mobilization_order = fields.Boolean(
string='Имеет мобпредписание',
help='Наличие мобилизационного предписания в военном билете.')
rsbu_mil_limited_fit = fields.Boolean(
string='Ограниченно годен',
help='Ограниченно годен к военной службе (категория годности «В»).')
rsbu_mil_job_category = fields.Selection(
selection=MIL_JOB_CATEGORY, string='Категория должности (ВУ)',
help='Категория должности для группировки в формах 6 и 19 '
'(руководители/специалисты/служащие/рабочие).')
rsbu_mil_vus = fields.Char(
string='ВУС',
help='Военно-учётная специальность (код по военному билету).')
rsbu_mil_rank = fields.Char(
string='Воинское звание',
help='Воинское звание по военному билету.')
rsbu_mil_fitness = fields.Selection(
selection=[
('A', 'А — годен'),
('B', 'Б — годен с незначительными ограничениями'),
('V', 'В — ограниченно годен'),
('G', 'Г — временно не годен'),
('D', 'Д — не годен'),
],
string='Категория годности',
help='Категория годности к военной службе.')
rsbu_mil_commissariat = fields.Char(
string='Военный комиссариат',
help='Наименование военкомата, в котором состоит на учёте.')
rsbu_mil_is_driver = fields.Boolean(
string='Водитель (ВУ)',
help='Отметка «из них водители» для формы 19.')