Public release from ruodoo-project: 19.0 - 2026-11-01 22:52:25 UTC

This commit is contained in:
CI Publish Bot
2026-11-01 22:54:30 +00:00
commit 26250aa580
2492 changed files with 664277 additions and 0 deletions

View File

@@ -0,0 +1,80 @@
# -*- 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.')