38 lines
2.4 KiB
Python
38 lines
2.4 KiB
Python
# Generated by Django 5.2.4 on 2026-08-26 10:37
|
||
|
||
import django.core.validators
|
||
import django.db.models.deletion
|
||
import finance.models
|
||
from django.conf import settings
|
||
from django.db import migrations, models
|
||
|
||
|
||
class Migration(migrations.Migration):
|
||
|
||
dependencies = [
|
||
('finance', '0026_alter_employeepayrate_source_and_more'),
|
||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||
]
|
||
|
||
operations = [
|
||
migrations.CreateModel(
|
||
name='PayrollCustomComponent',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('code', models.CharField(default=finance.models.generate_custom_payroll_component_code, editable=False, max_length=64, unique=True, validators=[django.core.validators.RegexValidator(message='Код должен начинаться с A-Z и содержать только A-Z, 0-9, _.-', regex='^[A-Z][A-Z0-9_.-]{0,63}$')], verbose_name='Код')),
|
||
('name', models.CharField(max_length=80, unique=True, verbose_name='Название')),
|
||
('kind', models.CharField(choices=[('earning', 'Начисление'), ('adjustment_credit', 'Коррекция +'), ('adjustment_debit', 'Коррекция −'), ('deduction', 'Удержание'), ('payment', 'Выплата')], max_length=24, verbose_name='Влияние на расчёт')),
|
||
('requires_reason', models.BooleanField(default=False, verbose_name='Требовать основание')),
|
||
('is_active', models.BooleanField(default=True, verbose_name='Активна')),
|
||
('display_order', models.PositiveIntegerField(default=900, verbose_name='Порядок')),
|
||
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Создана')),
|
||
('created_by', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='created_payroll_components', to=settings.AUTH_USER_MODEL, verbose_name='Создал')),
|
||
],
|
||
options={
|
||
'verbose_name': 'Пользовательская зарплатная колонка',
|
||
'verbose_name_plural': 'Пользовательские зарплатные колонки',
|
||
'ordering': ['display_order', 'name', 'id'],
|
||
},
|
||
),
|
||
]
|