# -*- 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.')