# ТЕХНИЧЕСКОЕ ОПИСАНИЕ ПРОГРАММНОГО КОМПЛЕКСА УЧЁТА И ОБРАБОТКИ ОТЧЁТНЫХ ФОРМ ГОСКОРПОРАЦИЙ (STATE CORP BACKEND) **Версия документа:** 1.0 **Статус:** Утверждённая редакция **Дата разработки:** 09.02.2026 Настоящее техническое описание устанавливает назначение, состав, структуру, программно‑технологические решения и правила эксплуатации программного комплекса **State Corp Backend**, а также требования к форматам входных данных. Документ предназначен для заказчика, эксплуатирующих подразделений и команд сопровождения. --- ## СОДЕРЖАНИЕ 1. [Общие сведения о программном обеспечении](#1-общие-сведения-о-программном-обеспечении) 2. [Описание программной реализации моделей информационного обмена и сбора данных](#2-описание-программной-реализации-моделей-информационного-обмена-и-сбора-данных) 3. [Программно-технологические решения по систематизации и обработке данных](#3-программно-технологические-решения-по-систематизации-и-обработке-данных) 4. [Структура базы данных](#4-структура-базы-данных) 5. [Архитектура программного интерфейса (API)](#5-архитектура-программного-интерфейса-api) 6. [Механизмы обеспечения надёжности и отказоустойчивости](#6-механизмы-обеспечения-надёжности-и-отказоустойчивости) 7. [Порядок развёртывания и испытаний](#7-порядок-развёртывания-и-испытаний) 8. [Заключение](#8-заключение) 9. [Приложение А (обязательное). Форматы входных Excel-шаблонов](#приложение-а-обязательное-форматы-входных-excel-шаблонов) 10. [Приложение Б (рекомендуемое). Примеры входных файлов](#приложение-б-рекомендуемое-примеры-входных-файлов) 11. [Приложение В (справочное). Справочник показателей](#приложение-в-справочное-справочник-показателей) --- ## 1. ОБЩИЕ СВЕДЕНИЯ О ПРОГРАММНОМ ОБЕСПЕЧЕНИИ ### 1.1. Назначение системы Программный комплекс **State Corp Backend** предназначен для централизованного приёма, валидации, систематизации и хранения отчётных данных, предоставляемых предприятиями в рамках форм Ф‑1…Ф‑6. Система обеспечивает полный цикл работы с данными: от загрузки исходных файлов Excel до предоставления унифицированного API для дальнейшей аналитики и интеграции с внешними контурами. Ключевая особенность решения — ориентация на **достоверность и воспроизводимость** результата. Каждый пакет данных получает идентификатор загрузки (`load_batch`), что позволяет однозначно прослеживать происхождение и последовательность изменений, формировать регистры контроля, проводить сверку и повторные выгрузки при необходимости. Система рассчитана на эксплуатацию в корпоративном и ведомственном контуре. Реализованы стандартизированные механизмы журналирования, фоновой обработки, контроля целостности и унифицированной выдачи ошибок, а также предусмотрены инструменты мониторинга (health‑check, readiness/liveness probes), необходимые для промышленной эксплуатации и оркестрации. ### 1.2. Используемый технологический стек Разработка выполнена на базе устойчивого и зрелого стека, обеспечивающего надёжность, масштабируемость и соответствие требованиям безопасности и сопровождения: | Компонент | Версия | Назначение | |-----------|--------|------------| | Операционная система | Astra Linux 1.8 / Linux x86_64 | Целевой контур эксплуатации и сопровождения | | Язык программирования | Python 3.11.2 | Основной язык серверной логики | | Веб-фреймворк | Django 3.2.25 | ORM, маршрутизация, управление приложением | | REST API | Django REST Framework 3.14.0 | Реализация REST интерфейса | | СУБД | PostgreSQL 15.10 | Реляционное хранение и транзакционность | | Очередь задач | Celery 5.3.6 | Асинхронная обработка больших загрузок | | Брокер / кэш | Redis 7.x | Хранилище задач и кеширование | | Веб-сервер | Apache 2.4.57 | Обслуживание HTTP/HTTPS трафика | | WSGI | Gunicorn 21.2.0 | Исполнение Python‑приложения | | Документация API | drf-yasg 1.21.10 | Swagger/OpenAPI спецификация | | Excel‑парсинг | openpyxl 3.1.5 | Потоковое чтение Excel (.xlsx) | Выбор компонентов обусловлен их стабильностью, широким использованием в промышленной эксплуатации и высокой готовностью к сопровождению в корпоративных контурах. ### 1.3. Библиотеки для обработки и валидации данных | Библиотека / модуль | Версия | Назначение | |---------------------|--------|------------| | openpyxl | 3.1.5 | Потоковый парсинг Excel, чтение больших файлов | | pandas | 2.0.3 | Аналитические преобразования (по необходимости) | | django-filter | 23.5 | Стандартизованная фильтрация в API | | djangorestframework-simplejwt | 5.3.1 | JWT‑аутентификация | | django-redis | 5.4.0 | Кэш и синхронизация фоновых задач | | celery / django-celery-results | 5.3.6 / 2.5.1 | Управление задачами и хранение результатов | | drf-yasg | 1.21.10 | Генерация OpenAPI и Swagger UI | ### 1.4. Термины и сокращения | Термин | Определение | |--------|------------| | Форма Ф‑1…Ф‑6 | Утверждённые отчётные формы предприятий | | `load_batch` | Идентификатор пакета загрузки данных | | Парсер | Программный модуль обработки Excel‑файла | | TrackedTask | Базовый класс Celery‑задач с отслеживанием прогресса | | BackgroundJob | Модель статусов фоновых задач | --- ## 2. ОПИСАНИЕ ПРОГРАММНОЙ РЕАЛИЗАЦИИ МОДЕЛЕЙ ИНФОРМАЦИОННОГО ОБМЕНА И СБОРА ДАННЫХ ### 2.1. Архитектура подсистемы загрузки и парсинга Подсистема загрузки данных построена по модульному принципу. Для каждой формы отчётности предусмотрен отдельный парсер, использующий общий базовый механизм `BaseExcelParser`. Такой подход обеспечивает единый стандарт обработки данных, снижает стоимость сопровождения и позволяет расширять систему новыми формами без пересмотра архитектуры. Общий поток обработки: 1. Пользователь загружает Excel‑файл через API. 2. Для небольших файлов выполняется синхронная обработка, для крупных файлов — постановка задачи в очередь Celery. 3. Базовый парсер читает Excel в потоковом режиме (`read_only=True`). 4. Выполняется построчная валидация и нормализация полей (ИНН, ОГРН, КПП, ОКПО). 5. Создаются или обновляются справочные записи организаций. 6. Формируется набор записей формы с привязкой к `load_batch`. Фрагмент базового парсера, демонстрирующий ключевую механику обработки: ```python class BaseExcelParser(ABC, Generic[T]): def parse(self, file: UploadedFile | BytesIO) -> ParseResult: batch_id = self.get_next_batch_id() result = ParseResult(batch_id=batch_id) try: self._load_workbook(file) self._column_mappings = self.get_column_mappings() for row_num in range(self.DATA_START_ROW, self._sheet.max_row + 1): row_data = self._parse_row(row_num) if row_data is None: continue errors = self._validate_row(row_data) if errors: result.errors.append( RowValidationError( row=row_num, inn=row_data.inn, kpp=row_data.kpp, organization_name=row_data.organization_name, errors=errors, ) ) result.skipped_count += 1 continue try: self.create_record(row_data, batch_id) result.loaded_count += 1 except Exception as e: logger.exception(f"Ошибка создания записи для строки {row_num}") result.errors.append( RowValidationError( row=row_num, inn=row_data.inn, kpp=row_data.kpp, organization_name=row_data.organization_name, errors=[FieldError(field="__all__", message=str(e))], ) ) result.skipped_count += 1 finally: if self._workbook: self._workbook.close() return result ``` ### 2.2. Алгоритмы загрузки данных по ключевым формам #### 2.2.1. Форма Ф‑1 (выпуск продукции) Форма Ф‑1 содержит производственные показатели: объёмы военной и гражданской продукции, НИОКР, кадровые показатели. Маппинг колонок задаётся декларативно и соответствует утверждённому шаблону Excel. ```python class FormF1Parser(BaseExcelParser[FormF1Record]): def get_column_mappings(self) -> list[ColumnMapping]: return [ ColumnMapping(4, "Выпуск военной продукции (факт.)", "military_output_actual", field_type="decimal"), ColumnMapping(5, "Военная на внутренний рынок (факт.)", "military_domestic_actual", field_type="decimal"), ColumnMapping(6, "Военная на экспорт (факт.)", "military_export_actual", field_type="decimal"), ColumnMapping(7, "Выпуск гражданской продукции (факт.)", "civilian_output_actual", field_type="decimal"), ColumnMapping(8, "Гражданская на внутренний рынок (факт.)", "civilian_domestic_actual", field_type="decimal"), ColumnMapping(9, "Гражданская на экспорт (факт.)", "civilian_export_actual", field_type="decimal"), ColumnMapping(10, "Высокотехнологичная продукция (факт.)", "hightech_output_actual", field_type="decimal"), ColumnMapping(11, "Высокотехнологичная на внутренний рынок (факт.)", "hightech_domestic_actual", field_type="decimal"), ColumnMapping(12, "Высокотехнологичная на экспорт (факт.)", "hightech_export_actual", field_type="decimal"), ColumnMapping(13, "Объём НИОКР (факт.)", "rd_volume_actual", field_type="decimal"), ColumnMapping(14, "НИОКР в интересах обороны (факт.)", "rd_defense_actual", field_type="decimal"), ] ``` #### 2.2.2. Форма Ф‑2 (бухгалтерский баланс) Форма Ф‑2 — наиболее объёмная по структуре. Для крупных файлов применяется фоновая обработка, исключающая тайм‑ауты на стороне клиента. ```python @shared_task(bind=True, base=TrackedTask) def process_form_f2_file(self, file_content: bytes, file_name: str) -> dict: from io import BytesIO file_io = BytesIO(file_content) parser = FormF2Parser() result = parser.parse(file_io) return result.to_dict() ``` #### 2.2.3. Формы Ф‑5 и Ф‑6 (оборудование) Формы Ф‑5 и Ф‑6 ориентированы на детальную и агрегированную инвентаризацию оборудования. В системе предусмотрены типы полей `bool`, `date`, `decimal`, что обеспечивает корректную интерпретацию признаков и дат ввода в эксплуатацию. ### 2.3. Механизмы контроля качества и безопасной загрузки #### 2.3.1. Валидация ключевых идентификаторов Стандартные проверки реализованы на уровне базового парсера и исключают попадание некорректных идентификаторов в БД: ```python def validate_inn(value: str | None) -> tuple[bool, str]: if not value: return False, "ИНН обязателен" cleaned = re.sub(r"\D", "", str(value)) if len(cleaned) not in (10, 12): return False, f"ИНН должен содержать 10 или 12 цифр, получено {len(cleaned)}" return True, "" ``` #### 2.3.2. Идентификация пакетов и прослеживаемость Каждая загрузка формирует уникальный `load_batch`. Это позволяет вести историю, сравнивать данные по периодам, быстро изолировать ошибочный пакет и выполнять повторную обработку. #### 2.3.3. Фоновая обработка и контроль прогресса Для тяжёлых файлов используется `TrackedTask`, автоматически создающий записи `BackgroundJob` и позволяющий пользователю получать прогресс в API: ```python class TrackedTask(TimedTask): def before_start(self, task_id, args, kwargs): super().before_start(task_id, args, kwargs) from apps.core.services import BackgroundJobService user_id = kwargs.get("user_id") BackgroundJobService.create_job( task_id=task_id, task_name=self.name, user_id=user_id, meta={"args": str(args)[:500], "kwargs": str(kwargs)[:500]}, ) job = BackgroundJobService.get_by_task_id(task_id) job.mark_started() ``` --- ## 3. ПРОГРАММНО-ТЕХНОЛОГИЧЕСКИЕ РЕШЕНИЯ ПО СИСТЕМАТИЗАЦИИ И ОБРАБОТКЕ ДАННЫХ ### 3.1. Слой хранения данных (База данных) #### 3.1.1. СУБД PostgreSQL В качестве центра хранения используется PostgreSQL 15.10. Выбор обусловлен следующими факторами: 1. поддержка ACID‑транзакций и строгой целостности данных; 2. эффективная индексация и масштабируемость при росте объёма отчётных записей; 3. возможности резервного копирования и репликации; 4. подтверждённая стабильность в промышленной эксплуатации. #### 3.1.2. Проектирование моделей данных и миксины Слой моделей построен вокруг набора типовых миксинов (`apps.core.mixins`), которые стандартизируют общие поля и поведение. Это обеспечивает единый формат аудита и упрощает поддержку. ```python class TimestampMixin(models.Model): created_at = models.DateTimeField( _("создано"), auto_now_add=True, db_index=True, help_text=_("Дата и время создания записи"), ) updated_at = models.DateTimeField( _("обновлено"), auto_now=True, help_text=_("Дата и время последнего обновления"), ) class Meta: abstract = True ``` ### 3.2. Сервисный слой и бизнес-логика Сервисный слой реализует унифицированный интерфейс CRUD и массовых операций. Это позволяет централизовать бизнес‑правила и переиспользовать их в API и фоновых задачах. ```python class BaseService(Generic[M]): model: type[M] @classmethod def get_queryset(cls) -> QuerySet[M]: return cls.model.objects.all() @classmethod @transaction.atomic def create(cls, **kwargs: Any) -> M: return cls.model.objects.create(**kwargs) @classmethod @transaction.atomic def update(cls, instance: M, **kwargs: Any) -> M: for field, value in kwargs.items(): setattr(instance, field, value) update_fields = set(kwargs.keys()) if hasattr(instance, "updated_at"): update_fields.add("updated_at") instance.save(update_fields=list(update_fields)) return instance ``` Дополнительно реализован миксин массовых операций для оптимизации загрузки больших массивов данных: ```python class BulkOperationsMixin: @classmethod @transaction.atomic def bulk_create_chunked( cls, instances: list, *, chunk_size: int = 500, ignore_conflicts: bool = False, update_conflicts: bool = False, update_fields: list[str] | None = None, unique_fields: list[str] | None = None, ) -> int: total_created = 0 for i in range(0, len(instances), chunk_size): chunk = instances[i : i + chunk_size] created = cls.model.objects.bulk_create(chunk, ignore_conflicts=ignore_conflicts) total_created += len(created) return total_created ``` --- ## 4. СТРУКТУРА БАЗЫ ДАННЫХ ### 4.1. Общие сведения о схеме данных База данных формируется по нормализованной схеме, где справочник организаций вынесен в отдельную сущность, а все формы отчётности используют внешнюю связь. Такая структура обеспечивает консистентность, минимизирует дублирование и упрощает ведение справочной информации. #### 4.1.1. Перечень таблиц базы данных | № | Имя таблицы | Назначение | Источник данных | Примерный объём | |---|-------------|------------|-----------------|-----------------| | 1 | `organization_organization` | Справочник организаций | Все формы | десятки тысяч | | 2 | `form_1_formf1record` | Ф‑1: выпуск продукции | Excel‑формы | десятки тысяч | | 3 | `form_2_formf2record` | Ф‑2: бухгалтерский баланс | Excel‑формы | десятки тысяч | | 4 | `form_3_formf3record` | Ф‑3: кадры и оборудование | Excel‑формы | десятки тысяч | | 5 | `form_4_formf4record` | Ф‑4: сводные финансы | Excel‑формы | десятки тысяч | | 6 | `form_5_formf5record` | Ф‑5: инвентаризация оборудования | Excel‑формы | сотни тысяч | | 7 | `form_6_formf6record` | Ф‑6: возрастная структура | Excel‑формы | десятки тысяч | | 8 | `core_backgroundjob` | Статусы фоновых задач | Системные | тысячи | | 9 | `users` | Учётные записи пользователей | Системные | сотни | | 10 | `profiles` | Профили пользователей | Системные | сотни | #### 4.1.2. Общие правила именования | Элемент | Конвенция | Пример | |---------|-----------|--------| | Таблицы | `{app_label}_{model}` | `form_2_formf2record` | | Первичные ключи | `id` типа UUID | `id UUID PRIMARY KEY` | | Внешние ключи | `{entity}_id` | `organization_id` | | Временные метки | `created_at`, `updated_at` | `created_at TIMESTAMP WITH TIME ZONE` | | Индексы | `{table}_{fields}_idx` | `form_1_form_organiz_f99cbd_idx` | #### 4.1.3. Типовые поля | Поле | Тип | Описание | |------|-----|----------| | `id` | UUID | Уникальный идентификатор записи | | `created_at` | TIMESTAMP | Дата и время создания | | `updated_at` | TIMESTAMP | Дата и время обновления | | `load_batch` | INTEGER | Идентификатор пакета загрузки | | `organization_id` | UUID | Ссылка на организацию | ### 4.2. Таблица `organization_organization` **Назначение:** централизованный справочник организаций. Используется всеми формами отчётности и исключает дублирование данных. **Источник данных:** формы Ф‑1…Ф‑6 (автоматическое создание/обновление по ИНН). #### 4.2.1. Полный перечень полей | Поле | Тип | Ограничения | Описание | |------|-----|-------------|----------| | `id` | UUID | PK | Уникальный идентификатор | | `name` | VARCHAR(500) | NOT NULL, INDEX | Наименование организации | | `inn` | VARCHAR(12) | UNIQUE, INDEX | ИНН | | `ogrn` | VARCHAR(15) | INDEX | ОГРН | | `kpp` | VARCHAR(9) | — | КПП | | `okpo` | VARCHAR(20) | — | ОКПО | | `created_at` | TIMESTAMP | INDEX | Дата создания | | `updated_at` | TIMESTAMP | — | Дата обновления | #### 4.2.2. Модель (фрагмент кода) ```python class Organization(TimestampMixin, models.Model): id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) name = models.CharField(max_length=500, db_index=True) inn = models.CharField(max_length=12, unique=True, db_index=True) ogrn = models.CharField(max_length=15, db_index=True, blank=True, default="") kpp = models.CharField(max_length=9, blank=True, default="") okpo = models.CharField(max_length=20, blank=True, default="") ``` ### 4.3. Таблица `form_1_formf1record` **Назначение:** хранение показателей формы Ф‑1 (выпуск продукции, НИОКР, кадры). #### 4.3.1. Полный перечень полей | Поле | Тип | Описание | |------|-----|----------| | `id` | UUID | Уникальный идентификатор записи | | `organization_id` | UUID (FK) | Организация | | `load_batch` | INTEGER | Пакет загрузки | | `military_output_actual` | DECIMAL(20,2) | Выпуск военной продукции (факт. цены) | | `military_domestic_actual` | DECIMAL(20,2) | Военная продукция на внутренний рынок (факт.) | | `military_export_actual` | DECIMAL(20,2) | Военная продукция на экспорт (факт.) | | `civilian_output_actual` | DECIMAL(20,2) | Выпуск гражданской продукции (факт. цены) | | `civilian_domestic_actual` | DECIMAL(20,2) | Гражданская продукция на внутренний рынок (факт.) | | `civilian_export_actual` | DECIMAL(20,2) | Гражданская продукция на экспорт (факт.) | | `hightech_output_actual` | DECIMAL(20,2) | Высокотехнологичная продукция (факт. цены) | | `hightech_domestic_actual` | DECIMAL(20,2) | Высокотехнологичная продукция на внутренний рынок (факт.) | | `hightech_export_actual` | DECIMAL(20,2) | Высокотехнологичная продукция на экспорт (факт.) | | `rd_volume_actual` | DECIMAL(20,2) | Объём НИОКР (факт. цены) | | `rd_defense_actual` | DECIMAL(20,2) | НИОКР в интересах обороны (факт.) | | `military_output_fixed` | DECIMAL(20,2) | Выпуск военной продукции (фикс. цены) | | `military_domestic_fixed` | DECIMAL(20,2) | Военная продукция на внутренний рынок (фикс.) | | `military_export_fixed` | DECIMAL(20,2) | Военная продукция на экспорт (фикс.) | | `civilian_output_fixed` | DECIMAL(20,2) | Выпуск гражданской продукции (фикс. цены) | | `civilian_domestic_fixed` | DECIMAL(20,2) | Гражданская продукция на внутренний рынок (фикс.) | | `civilian_export_fixed` | DECIMAL(20,2) | Гражданская продукция на экспорт (фикс.) | | `hightech_output_fixed` | DECIMAL(20,2) | Высокотехнологичная продукция (фикс. цены) | | `hightech_domestic_fixed` | DECIMAL(20,2) | Высокотехнологичная продукция на внутренний рынок (фикс.) | | `hightech_export_fixed` | DECIMAL(20,2) | Высокотехнологичная продукция на экспорт (фикс.) | | `rd_volume_fixed` | DECIMAL(20,2) | Объём НИОКР (фикс. цены) | | `rd_defense_fixed` | DECIMAL(20,2) | НИОКР в интересах обороны (фикс.) | | `avg_employees` | DECIMAL(12,2) | Средняя численность работников | | `avg_payroll_employees` | DECIMAL(12,2) | Среднесписочная численность работников | | `payroll_fund` | DECIMAL(20,2) | Фонд начисленной заработной платы | | `salary_arrears` | DECIMAL(20,2) | Просроченная задолженность по зарплате | | `created_at` | TIMESTAMP | Дата и время создания | | `updated_at` | TIMESTAMP | Дата и время обновления | ### 4.4. Таблица `form_2_formf2record` **Назначение:** бухгалтерский баланс, финансовые результаты и производные показатели. #### 4.4.1. Полный перечень полей | Поле | Тип | Описание | |------|-----|----------| | `id` | UUID | Уникальный идентификатор записи | | `organization_id` | UUID (FK) | Организация | | `load_batch` | INTEGER | Пакет загрузки | | `intangible_assets` | DECIMAL(20,2) | Нематериальные активы | | `rd_results` | DECIMAL(20,2) | Результаты исследований и разработок | | `intangible_search_assets` | DECIMAL(20,2) | Нематериальные поисковые активы | | `tangible_search_assets` | DECIMAL(20,2) | Материальные поисковые активы | | `fixed_assets` | DECIMAL(20,2) | Основные средства | | `profitable_investments` | DECIMAL(20,2) | Доходные вложения в материальные ценности | | `financial_investments_non_current` | DECIMAL(20,2) | Финансовые вложения (внеоборотные) | | `deferred_tax_assets` | DECIMAL(20,2) | Отложенные налоговые активы | | `other_non_current_assets` | DECIMAL(20,2) | Прочие внеоборотные активы | | `total_non_current_assets` | DECIMAL(20,2) | Итого внеоборотные активы | | `inventories` | DECIMAL(20,2) | Запасы | | `vat_on_acquired_assets` | DECIMAL(20,2) | НДС по приобретённым ценностям | | `receivables` | DECIMAL(20,2) | Дебиторская задолженность | | `financial_investments_current` | DECIMAL(20,2) | Финансовые вложения (оборотные) | | `cash_and_equivalents` | DECIMAL(20,2) | Денежные средства и эквиваленты | | `other_current_assets` | DECIMAL(20,2) | Прочие оборотные активы | | `total_current_assets` | DECIMAL(20,2) | Итого оборотные активы | | `total_assets` | DECIMAL(20,2) | Баланс (актив) | | `authorized_capital` | DECIMAL(20,2) | Уставный капитал | | `own_shares_bought_back` | DECIMAL(20,2) | Собственные акции, выкупленные у акционеров | | `revaluation_of_non_current_assets` | DECIMAL(20,2) | Переоценка внеоборотных активов | | `additional_capital` | DECIMAL(20,2) | Добавочный капитал | | `reserve_capital` | DECIMAL(20,2) | Резервный капитал | | `retained_earnings` | DECIMAL(20,2) | Нераспределённая прибыль | | `total_equity` | DECIMAL(20,2) | Итого капитал и резервы | | `borrowings_non_current` | DECIMAL(20,2) | Заёмные средства (долгосрочные) | | `deferred_tax_liabilities` | DECIMAL(20,2) | Отложенные налоговые обязательства | | `estimated_liabilities_non_current` | DECIMAL(20,2) | Оценочные обязательства (долгосрочные) | | `other_liabilities_non_current` | DECIMAL(20,2) | Прочие обязательства (долгосрочные) | | `total_non_current_liabilities` | DECIMAL(20,2) | Итого долгосрочные обязательства | | `borrowings_current` | DECIMAL(20,2) | Заёмные средства (краткосрочные) | | `payables` | DECIMAL(20,2) | Кредиторская задолженность | | `deferred_income` | DECIMAL(20,2) | Доходы будущих периодов | | `estimated_liabilities_current` | DECIMAL(20,2) | Оценочные обязательства (краткосрочные) | | `other_liabilities_current` | DECIMAL(20,2) | Прочие обязательства (краткосрочные) | | `total_current_liabilities` | DECIMAL(20,2) | Итого краткосрочные обязательства | | `total_liabilities` | DECIMAL(20,2) | Баланс (пассив) | | `revenue` | DECIMAL(20,2) | Выручка | | `cost_of_sales` | DECIMAL(20,2) | Себестоимость продаж | | `gross_profit` | DECIMAL(20,2) | Валовая прибыль | | `selling_expenses` | DECIMAL(20,2) | Коммерческие расходы | | `administrative_expenses` | DECIMAL(20,2) | Управленческие расходы | | `profit_from_sales` | DECIMAL(20,2) | Прибыль от продаж | | `interest_receivable` | DECIMAL(20,2) | Проценты к получению | | `interest_payable` | DECIMAL(20,2) | Проценты к уплате | | `other_income` | DECIMAL(20,2) | Прочие доходы | | `other_expenses` | DECIMAL(20,2) | Прочие расходы | | `profit_before_tax` | DECIMAL(20,2) | Прибыль до налогообложения | | `income_tax` | DECIMAL(20,2) | Текущий налог на прибыль | | `net_profit` | DECIMAL(20,2) | Чистая прибыль | | `ebitda` | DECIMAL(20,2) | EBITDA | | `depreciation` | DECIMAL(20,2) | Амортизация | | `working_capital` | DECIMAL(20,2) | Оборотный капитал | | `net_debt` | DECIMAL(20,2) | Чистый долг | | `total_assets_prev` | DECIMAL(20,2) | Баланс (актив) — прошлый период | | `total_liabilities_prev` | DECIMAL(20,2) | Баланс (пассив) — прошлый период | | `revenue_prev` | DECIMAL(20,2) | Выручка — прошлый период | | `net_profit_prev` | DECIMAL(20,2) | Чистая прибыль — прошлый период | | `created_at` | TIMESTAMP | Дата и время создания | | `updated_at` | TIMESTAMP | Дата и время обновления | ### 4.5. Таблица `form_3_formf3record` **Назначение:** кадровые показатели и оборудование по категориям. #### 4.5.1. Полный перечень полей | Поле | Тип | Описание | |------|-----|----------| | `id` | UUID | Уникальный идентификатор записи | | `organization_id` | UUID (FK) | Организация | | `load_batch` | INTEGER | Пакет загрузки | | `avg_employees` | DECIMAL(12,2) | Средняя численность работников | | `production_workers` | DECIMAL(12,2) | Производственный персонал | | `engineering_workers` | DECIMAL(12,2) | Инженерно‑технические работники | | `administrative_workers` | DECIMAL(12,2) | Административный персонал | | `total_equipment` | INTEGER | Всего оборудования | | `domestic_equipment` | INTEGER | Отечественное оборудование | | `imported_equipment` | INTEGER | Импортное оборудование | | `equipment_age_under_5` | INTEGER | Оборудование до 5 лет | | `equipment_age_5_10` | INTEGER | Оборудование 5‑10 лет | | `equipment_age_10_15` | INTEGER | Оборудование 10‑15 лет | | `equipment_age_15_20` | INTEGER | Оборудование 15‑20 лет | | `equipment_age_over_20` | INTEGER | Оборудование свыше 20 лет | | `physical_wear_percent` | DECIMAL(5,2) | Физический износ, % | | `utilization_rate` | DECIMAL(5,2) | Коэффициент загрузки | | `avg_shift_work` | DECIMAL(5,2) | Средняя сменность работы | | `equipment_needed` | INTEGER | Потребность в оборудовании | | `workers_needed` | INTEGER | Потребность в кадрах | | `created_at` | TIMESTAMP | Дата и время создания | | `updated_at` | TIMESTAMP | Дата и время обновления | ### 4.6. Таблица `form_4_formf4record` **Назначение:** агрегированные финансовые показатели (РСБУ/МСФО, EBITDA, долговая нагрузка). #### 4.6.1. Полный перечень полей | Поле | Тип | Описание | |------|-----|----------| | `id` | UUID | Уникальный идентификатор записи | | `organization_id` | UUID (FK) | Организация | | `load_batch` | INTEGER | Пакет загрузки | | `revenue_rsbu` | DECIMAL(20,2) | Выручка (РСБУ) | | `revenue_ifrs` | DECIMAL(20,2) | Выручка (МСФО) | | `revenue_prev_rsbu` | DECIMAL(20,2) | Выручка прошлого года (РСБУ) | | `revenue_prev_ifrs` | DECIMAL(20,2) | Выручка прошлого года (МСФО) | | `net_profit_rsbu` | DECIMAL(20,2) | Чистая прибыль (РСБУ) | | `net_profit_ifrs` | DECIMAL(20,2) | Чистая прибыль (МСФО) | | `gross_profit_rsbu` | DECIMAL(20,2) | Валовая прибыль (РСБУ) | | `operating_profit_rsbu` | DECIMAL(20,2) | Операционная прибыль (РСБУ) | | `ebitda_rsbu` | DECIMAL(20,2) | EBITDA (РСБУ) | | `ebitda_ifrs` | DECIMAL(20,2) | EBITDA (МСФО) | | `loans_rsbu` | DECIMAL(20,2) | Кредиты и займы (РСБУ) | | `loans_ifrs` | DECIMAL(20,2) | Кредиты и займы (МСФО) | | `net_debt_rsbu` | DECIMAL(20,2) | Чистый долг (РСБУ) | | `net_debt_ifrs` | DECIMAL(20,2) | Чистый долг (МСФО) | | `debt_to_ebitda` | DECIMAL(10,2) | Долг/EBITDA | | `total_assets_rsbu` | DECIMAL(20,2) | Активы (РСБУ) | | `total_assets_ifrs` | DECIMAL(20,2) | Активы (МСФО) | | `equity_rsbu` | DECIMAL(20,2) | Собственный капитал (РСБУ) | | `equity_ifrs` | DECIMAL(20,2) | Собственный капитал (МСФО) | | `roe` | DECIMAL(10,2) | Рентабельность собственного капитала (ROE) | | `roa` | DECIMAL(10,2) | Рентабельность активов (ROA) | | `ros` | DECIMAL(10,2) | Рентабельность продаж (ROS) | | `capex` | DECIMAL(20,2) | Капитальные затраты (CAPEX) | | `rd_expenses` | DECIMAL(20,2) | Затраты на НИОКР | | `dividends_paid` | DECIMAL(20,2) | Выплаченные дивиденды | | `dividend_yield` | DECIMAL(10,2) | Дивидендная доходность | | `created_at` | TIMESTAMP | Дата и время создания | | `updated_at` | TIMESTAMP | Дата и время обновления | ### 4.7. Таблица `form_5_formf5record` **Назначение:** детальная инвентаризация оборудования по каждой единице. #### 4.7.1. Полный перечень полей | Поле | Тип | Описание | |------|-----|----------| | `id` | UUID | Уникальный идентификатор записи | | `organization_id` | UUID (FK) | Организация | | `load_batch` | INTEGER | Пакет загрузки | | `equipment_id` | VARCHAR(50) | Идентификационный код | | `inventory_number` | VARCHAR(50) | Инвентарный номер | | `name` | VARCHAR(500) | Наименование оборудования | | `model` | VARCHAR(200) | Модель | | `manufacturer` | VARCHAR(300) | Производитель | | `country_origin` | VARCHAR(100) | Страна происхождения | | `is_domestic` | BOOLEAN | Отечественное производство | | `year_manufacture` | INTEGER | Год выпуска | | `has_cnc` | BOOLEAN | Наличие ЧПУ | | `equipment_type` | VARCHAR(200) | Тип оборудования | | `equipment_category` | VARCHAR(200) | Категория оборудования | | `commissioning_date` | DATE | Дата ввода в эксплуатацию | | `location` | VARCHAR(300) | Местонахождение | | `production_site` | VARCHAR(200) | Производственный участок | | `utilization_rate` | DECIMAL(5,2) | Коэффициент использования | | `physical_wear_percent` | DECIMAL(5,2) | Фактический износ, % | | `is_operational` | BOOLEAN | В рабочем состоянии | | `requires_repair` | BOOLEAN | Требует ремонта | | `requires_replacement` | BOOLEAN | Требует замены | | `initial_cost` | DECIMAL(20,2) | Первоначальная стоимость | | `residual_value` | DECIMAL(20,2) | Остаточная стоимость | | `notes` | TEXT | Примечания | | `created_at` | TIMESTAMP | Дата и время создания | | `updated_at` | TIMESTAMP | Дата и время обновления | ### 4.8. Таблица `form_6_formf6record` **Назначение:** сводная возрастная структура оборудования по категориям. #### 4.8.1. Полный перечень полей | Поле | Тип | Описание | |------|-----|----------| | `id` | UUID | Уникальный идентификатор записи | | `organization_id` | UUID (FK) | Организация | | `load_batch` | INTEGER | Пакет загрузки | | `row_code` | VARCHAR(20) | Код строки | | `category` | VARCHAR(200) | Категория оборудования | | `total_equipment` | INTEGER | Всего оборудования | | `domestic_equipment` | INTEGER | Отечественное оборудование | | `imported_equipment` | INTEGER | Импортное оборудование | | `age_under_5` | INTEGER | До 5 лет | | `age_5_10` | INTEGER | 5‑10 лет | | `age_10_15` | INTEGER | 10‑15 лет | | `age_15_20` | INTEGER | 15‑20 лет | | `age_over_20` | INTEGER | Свыше 20 лет | | `cnc_total` | INTEGER | С ЧПУ всего | | `cnc_under_5` | INTEGER | С ЧПУ до 5 лет | | `cnc_5_10` | INTEGER | С ЧПУ 5‑10 лет | | `cnc_10_15` | INTEGER | С ЧПУ 10‑15 лет | | `cnc_15_20` | INTEGER | С ЧПУ 15‑20 лет | | `cnc_over_20` | INTEGER | С ЧПУ свыше 20 лет | | `avg_shift_work` | DECIMAL(5,2) | Средняя сменность работы | | `utilization_rate` | DECIMAL(5,2) | Коэффициент загрузки | | `physical_wear_percent` | DECIMAL(5,2) | Физический износ, % | | `workplaces_without_equipment` | INTEGER | Рабочие места без оборудования | | `equipment_to_replace` | INTEGER | Оборудование к замене | | `created_at` | TIMESTAMP | Дата и время создания | | `updated_at` | TIMESTAMP | Дата и время обновления | ### 4.9. Таблица `core_backgroundjob` **Назначение:** контроль выполнения фоновых задач и прогресса обработки больших файлов. #### 4.9.1. Полный перечень полей | Поле | Тип | Описание | |------|-----|----------| | `id` | UUID | Уникальный идентификатор задачи | | `task_id` | VARCHAR(255) | Идентификатор задачи Celery | | `task_name` | VARCHAR(255) | Полное имя задачи | | `status` | VARCHAR(20) | Статус выполнения | | `progress` | INTEGER | Прогресс в процентах | | `progress_message` | VARCHAR(500) | Сообщение о прогрессе | | `result` | JSON | Результат выполнения | | `error` | TEXT | Текст ошибки | | `traceback` | TEXT | Traceback ошибки | | `started_at` | TIMESTAMP | Время начала | | `completed_at` | TIMESTAMP | Время завершения | | `user_id` | INTEGER | Пользователь (опционально) | | `meta` | JSON | Дополнительные метаданные | | `created_at` | TIMESTAMP | Дата и время создания | | `updated_at` | TIMESTAMP | Дата и время обновления | ### 4.10. Таблица `users` **Назначение:** учётные записи пользователей системы (аутентификация, авторизация, доступ в админ‑интерфейс и API). #### 4.10.1. Полный перечень полей | Поле | Тип | Описание | |------|-----|----------| | `id` | BIGINT | Уникальный идентификатор пользователя | | `password` | VARCHAR(128) | Хэш пароля | | `last_login` | TIMESTAMP | Дата и время последнего входа | | `is_superuser` | BOOLEAN | Признак суперпользователя | | `username` | VARCHAR(150) | Имя пользователя (логин) | | `is_staff` | BOOLEAN | Доступ в админ‑интерфейс | | `is_active` | BOOLEAN | Активность учётной записи | | `date_joined` | TIMESTAMP | Дата регистрации | | `email` | VARCHAR(254) | Email пользователя (уникальный) | | `phone` | VARCHAR(20) | Телефон (международный формат) | | `is_verified` | BOOLEAN | Признак подтверждения email | | `created_at` | TIMESTAMP | Дата и время создания | | `updated_at` | TIMESTAMP | Дата и время обновления | Примечание: связи с группами и разрешениями реализуются через промежуточные таблицы, автоматически создаваемые Django ORM. ### 4.11. Таблица `profiles` **Назначение:** расширенные профильные данные пользователя (ФИО, био, аватар, дата рождения). #### 4.11.1. Полный перечень полей | Поле | Тип | Описание | |------|-----|----------| | `id` | BIGINT | Уникальный идентификатор профиля | | `user_id` | BIGINT (FK) | Ссылка на пользователя | | `first_name` | VARCHAR(50) | Имя | | `last_name` | VARCHAR(50) | Фамилия | | `bio` | TEXT | Описание / биография | | `avatar` | VARCHAR(100) | Путь к файлу аватара | | `date_of_birth` | DATE | Дата рождения | | `created_at` | TIMESTAMP | Дата и время создания | | `updated_at` | TIMESTAMP | Дата и время обновления | ### 4.12. Диаграмма связей между таблицами ```mermaid erDiagram ORGANIZATION ||--o{ FORM_F1_RECORD : "organization_id" ORGANIZATION ||--o{ FORM_F2_RECORD : "organization_id" ORGANIZATION ||--o{ FORM_F3_RECORD : "organization_id" ORGANIZATION ||--o{ FORM_F4_RECORD : "organization_id" ORGANIZATION ||--o{ FORM_F5_RECORD : "organization_id" ORGANIZATION ||--o{ FORM_F6_RECORD : "organization_id" USERS ||--|| PROFILES : "user_id" USERS ||..o{ CORE_BACKGROUNDJOB : "user_id (опц.)" ``` --- ## 5. АРХИТЕКТУРА ПРОГРАММНОГО ИНТЕРФЕЙСА (API) ### 5.1. Общие сведения API реализован на базе Django REST Framework и соответствует REST‑подходу. Все запросы и ответы используют JSON, кодировка UTF‑8. Версионирование задано в URL‑пути. **Базовый URL:** `https://{hostname}/api/v1/` **Документация:** Swagger UI доступна на корневом URL (`/`). #### 5.1.1. Принципы взаимодействия 1. ресурсы представлены как коллекции и отдельные сущности; 2. используется стандартный набор HTTP‑методов (GET/POST/PUT/PATCH/DELETE); 3. ответы унифицированы, включая пагинацию и ошибки; 4. все изменения данных фиксируются на уровне модели через поля `created_at/updated_at`. #### 5.1.2. Формат запросов Обязательные заголовки: ```http Authorization: Bearer Content-Type: application/json Accept: application/json ``` Параметры пагинации (по умолчанию): | Параметр | Тип | По умолчанию | Описание | |----------|-----|--------------|----------| | `page` | integer | 1 | Номер страницы | | `page_size` | integer | 20 | Количество записей (1–100) | #### 5.1.3. Формат ответов Успешные ответы возвращаются в едином формате: ```json { "success": true, "data": [ {"id": "...", "field": "value"} ], "errors": null, "meta": { "pagination": { "page": 1, "page_size": 20, "total_count": 100, "total_pages": 5, "has_next": true, "has_previous": false } } } ``` ### 5.2. Аутентификация и авторизация Система использует JWT (SimpleJWT). Параметры безопасности: 1. Access Token — 60 минут. 2. Refresh Token — 7 дней. 3. Ротация refresh‑токена включена. 4. Алгоритм подписи HS256. Фрагмент модели пользователя: ```python class User(AbstractUser): first_name = None last_name = None email = models.EmailField(unique=True) phone = models.CharField(max_length=20, blank=True, null=True) is_verified = models.BooleanField(default=False) USERNAME_FIELD = "email" REQUIRED_FIELDS = ["username"] ``` Модель профиля: ```python class Profile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE, related_name="profile") first_name = models.CharField(max_length=50, blank=True, null=True) last_name = models.CharField(max_length=50, blank=True, null=True) bio = models.TextField(blank=True, null=True) avatar = models.ImageField(upload_to="avatars/", blank=True, null=True) ``` ### 5.3. Структура API | Группа | Базовый путь | Назначение | |--------|-------------|------------| | Пользователи | `/api/v1/users/` | регистрация, авторизация, профиль | | Организации | `/api/v1/organizations/` | справочник организаций | | Формы | `/api/v1/forms/f1/` … `/api/v1/forms/f6/` | отчётные формы | | Задачи | `/api/v1/jobs/` | мониторинг фоновых задач | | Health | `/health/` | мониторинг доступности | ### 5.4. API пользователей и профилей **Регистрация:** `POST /api/v1/users/register/` **Вход:** `POST /api/v1/users/login/` **Обновление токена:** `POST /api/v1/users/token/refresh/` **Профиль:** `GET /api/v1/users/profile/` ### 5.5. API организаций **Список:** `GET /api/v1/organizations/` **Детали:** `GET /api/v1/organizations/{id}/` Фильтры: `name`, `inn`, `ogrn`. ### 5.6. API формы Ф‑1 **Загрузка:** `POST /api/v1/forms/f1/upload/` **Список записей:** `GET /api/v1/forms/f1/records/` **Детали:** `GET /api/v1/forms/f1/records/{id}/` Для крупных файлов выполняется фоновая обработка с возвратом `task_id`. ### 5.7. API формы Ф‑2 **Загрузка:** `POST /api/v1/forms/f2/upload/` **Список записей:** `GET /api/v1/forms/f2/records/` **Детали:** `GET /api/v1/forms/f2/records/{id}/` Поддерживается фильтр `batch_id` для выборки по пакету загрузки. ### 5.8. API формы Ф‑3 **Загрузка:** `POST /api/v1/forms/f3/upload/` **Список записей:** `GET /api/v1/forms/f3/records/` **Детали:** `GET /api/v1/forms/f3/records/{id}/` ### 5.9. API формы Ф‑4 **Загрузка:** `POST /api/v1/forms/f4/upload/` **Список записей:** `GET /api/v1/forms/f4/records/` **Детали:** `GET /api/v1/forms/f4/records/{id}/` ### 5.10. API формы Ф‑5 и Ф‑6 Форма Ф‑5: 1. `POST /api/v1/forms/f5/upload/` 2. `GET /api/v1/forms/f5/records/` Форма Ф‑6: 1. `POST /api/v1/forms/f6/upload/` 2. `GET /api/v1/forms/f6/records/` ### 5.11. Коды ответов HTTP и формат ошибок Единый формат ошибок реализован через `custom_exception_handler`: ```json { "success": false, "data": null, "errors": [ { "code": "validation_error", "message": "Validation failed", "details": { "fields": { "inn": ["ИНН обязателен"] } } } ], "meta": { "request_id": "3f6d4a3a-2c5f-4a0a-a0d6-4d3b78f7c60a" } } ``` Типовые коды HTTP: | Код | Описание | |-----|----------| | 200 | Успешный запрос | | 201 | Ресурс создан | | 202 | Задача принята в очередь | | 400 | Ошибка валидации | | 401 | Неавторизован | | 403 | Недостаточно прав | | 404 | Ресурс не найден | | 500 | Внутренняя ошибка | --- ## 6. МЕХАНИЗМЫ ОБЕСПЕЧЕНИЯ НАДЁЖНОСТИ И ОТКАЗОУСТОЙЧИВОСТИ ### 6.1. Система фоновых задач (BackgroundJobs) Асинхронная обработка крупных файлов исключает блокировку API и повышает масштабируемость. Каждая задача регистрируется в таблице `core_backgroundjob`, что позволяет: 1. получать статус в реальном времени; 2. отображать прогресс и сообщения; 3. фиксировать ошибки и трассировки; 4. обеспечивать контроль исполнения на уровне пользователя. ### 6.2. Инкрементальная загрузка и идентификация пакетов Механизм `load_batch` обеспечивает последовательную нумерацию пакетов загрузки. В результате: 1. каждое обновление формы идентифицируется как самостоятельный пакет; 2. возможна аналитика по временным срезам; 3. упрощается повторная загрузка без потери предшествующих данных. ### 6.3. Валидация, дедупликация и целостность 1. уникальность справочника организаций обеспечивается ограничением по ИНН; 2. валидация ИНН/ОГРН/КПП/ОКПО выполняется на уровне парсера; 3. все операции записи выполняются в транзакции; 4. ошибочные строки не прерывают общий процесс, фиксируются в `ParseResult`. ### 6.4. Логирование, мониторинг и health-check Система использует middleware `RequestIDMiddleware` для трассировки запросов, а также реализует endpoints мониторинга: 1. `GET /health/` — комплексная проверка; 2. `GET /health/live/` — liveness probe; 3. `GET /health/ready/` — readiness probe. ### 6.5. Требования к информационной безопасности В целях обеспечения защиты данных и устойчивости работы системы должны соблюдаться организационные и технические меры безопасности, определяемые внутренними регламентами заказчика и действующим законодательством. На уровне программной реализации предусмотрены следующие базовые механизмы, обязательные к использованию при эксплуатации: 1. доступ к защищённым ресурсам осуществляется по JWT‑токену (заголовок `Authorization: Bearer `), время жизни access‑токена — 60 минут, refresh‑токена — 7 дней; 2. разграничение доступа реализовано на уровне прав пользователя; доступ к административным функциям имеет только пользователь с `is_staff=true`, доступ к статусам задач — только владелец задачи или администратор; 3. пароли пользователей хранятся исключительно в виде криптографических хэшей, что исключает хранение исходных паролей в базе данных; 4. секреты и параметры подключения (SECRET_KEY, параметры БД/Redis) задаются через переменные окружения и должны храниться в защищённом конфигурационном контуре; 5. список доверенных источников (CORS) задаётся параметром `CORS_ALLOWED_ORIGINS` и должен быть ограничен утверждёнными доменами; 6. механизм ограничения частоты запросов включён на уровне DRF (анонимные запросы — 100/час, авторизованные — 1000/час) и при необходимости подлежит корректировке в соответствии с политиками эксплуатации; 7. трассировка запросов осуществляется через `X-Request-ID`, что обеспечивает аудит и расследование инцидентов. Дополнительно при эксплуатации рекомендуется обеспечить шифрование каналов передачи данных (TLS), сегментацию сети и ограничение административного доступа по IP‑спискам. ### 6.6. Эксплуатационные регламенты Для обеспечения стабильной работы системы в промышленной эксплуатации рекомендуется утвердить следующие регламенты: 1. резервное копирование базы данных — ежедневно, с хранением не менее 30 календарных дней; 2. резервное копирование файловых каталогов (`media/`, `input/`) — ежедневно, синхронно с резервным копированием БД; 3. проверка восстановления резервных копий — не реже 1 раза в месяц; 4. плановая очистка устаревших записей фоновых задач — через периодический запуск `BackgroundJobService.cleanup_old_jobs(days=30)` (настройка через Celery Beat); 5. контроль свободного дискового пространства и роста логов — по порогам эксплуатации (рекомендуется 20% свободного места как минимальный запас); 6. обновление программных компонентов — по утверждённому окну сопровождения с обязательным выполнением миграций и smoke‑проверок; 7. контроль работоспособности — регулярные проверки `/health/`, `/health/ready/` и мониторинг логов ошибок. ### 6.7. Сценарии отказов и реакции | Сценарий | Признак | Источник контроля | Рекомендованная реакция | |----------|---------|-------------------|-------------------------| | Недоступна БД | `health` возвращает `unhealthy`, readiness = 503 | `/health/`, `/health/ready/`, логи Django | Проверить доступность PostgreSQL, сетевые правила, восстановить из резервной копии при необходимости | | Недоступен Redis | Статус `degraded`, ошибки кеша/очередей | `/health/`, логи Redis | Перезапуск Redis, проверка параметров подключения, повторная проверка задач | | Нет активных Celery workers | `include_celery=true` возвращает `down` | `/health/?include_celery=true`, логи Celery | Запустить/перезапустить воркеры, проверить очередь и брокер | | Ошибка обработки файла | BackgroundJob = `failure`, заполнены `error/traceback` | `/api/v1/jobs/{task_id}/` | Исправить файл, повторить загрузку, при необходимости задать новый `load_batch` | | Ошибки валидации строк | `ParseResult.errors` содержит список ошибок | Ответ API загрузки | Исправить исходные строки и повторить загрузку | | Ошибка аутентификации | HTTP 401 | Ответ API | Обновить токен через refresh либо выполнить повторный вход | | Превышение лимита запросов | HTTP 429 | Ответ API, логи DRF | Снизить частоту запросов или скорректировать лимиты | --- ## 7. ПОРЯДОК РАЗВЁРТЫВАНИЯ И ИСПЫТАНИЙ ### 7.1. Подготовка операционной среды Минимальные системные зависимости: 1. Python 3.11. 2. PostgreSQL 15. 3. Redis 7. 4. Apache / Gunicorn. Переменные окружения задаются в `.env` (PostgreSQL, Redis, SECRET_KEY, CORS и др.). ### 7.2. Развёртывание и запуск Рекомендуемый вариант для разработки — Docker Compose: ```bash docker-compose up -d ``` Для установки в продуктивном контуре предусмотрен скрипт `deploy/scripts/deploy.sh`, выполняющий: 1. установку зависимостей; 2. настройку базы данных; 3. миграции и сбор статических файлов; 4. запуск Gunicorn и Celery сервисов. ### 7.3. Проверка качества и тестирование В проекте предусмотрены автоматические тесты на уровне моделей, сервисов и API: ```bash make test # или python run_tests.py ``` --- ## 8. ЗАКЛЮЧЕНИЕ Программный комплекс **State Corp Backend** реализует надёжную и масштабируемую архитектуру обработки отчётных данных. Он обеспечивает: 1. стандартизированный приём и валидацию форм Ф‑1…Ф‑6; 2. централизованное хранение и нормализацию данных организаций; 3. прозрачный механизм фоновой обработки с контролем прогресса; 4. удобный REST API с единой спецификацией и расширенной документацией; 5. готовность к промышленной эксплуатации и мониторингу. Таким образом, решение удовлетворяет требованиям заказчика к надёжности, трассируемости и полноте данных, обеспечивая долгосрочную устойчивость и возможность развития функциональности в дальнейшем. --- ## ПРИЛОЖЕНИЕ А (ОБЯЗАТЕЛЬНОЕ). ФОРМАТЫ ВХОДНЫХ EXCEL-ШАБЛОНОВ Настоящее приложение устанавливает требования к структуре входных Excel‑файлов по формам Ф‑1…Ф‑6. Указанные требования являются обязательными для корректной загрузки. ### А.1. Общие требования к Excel‑файлам 1. Формат файла: `.xlsx`. 2. Используется первый лист рабочей книги (active sheet). 3. Строка заголовков — 1. 4. Данные начинаются со строки 2. 5. Заголовки должны строго соответствовать перечню ниже. 6. Порядок колонок является фиксированным. 7. Пустые строки допускаются и игнорируются. 8. Типы данных: | Тип | Требование | |-----|------------| | `str` | Текстовое значение | | `int` | Целое число (без дробной части) | | `decimal` | Дробные числа, допускаются запятая и пробел как разделитель | | `bool` | Значения: «да», «yes», «1», «true», «+» (регистр не важен) | | `date` | Ячейка должна иметь тип даты Excel | ### А.2. Шаблон формы Ф‑1 (Выпуск продукции) Стандартные колонки организации: | № | Заголовок | Поле модели | Тип | |---|-----------|-------------|-----| | 0 | Наименование организации | `organization_name` | str | | 1 | ОКПО | `okpo` | str | | 2 | ОГРН | `ogrn` | str | | 3 | ИНН | `inn` | str | Поля формы: | № | Заголовок | Поле модели | Тип | |---|-----------|-------------|-----| | 4 | Выпуск военной продукции (факт.) | `military_output_actual` | decimal | | 5 | Военная на внутренний рынок (факт.) | `military_domestic_actual` | decimal | | 6 | Военная на экспорт (факт.) | `military_export_actual` | decimal | | 7 | Выпуск гражданской продукции (факт.) | `civilian_output_actual` | decimal | | 8 | Гражданская на внутренний рынок (факт.) | `civilian_domestic_actual` | decimal | | 9 | Гражданская на экспорт (факт.) | `civilian_export_actual` | decimal | | 10 | Высокотехнологичная продукция (факт.) | `hightech_output_actual` | decimal | | 11 | Высокотехнологичная на внутренний рынок (факт.) | `hightech_domestic_actual` | decimal | | 12 | Высокотехнологичная на экспорт (факт.) | `hightech_export_actual` | decimal | | 13 | Объём НИОКР (факт.) | `rd_volume_actual` | decimal | | 14 | НИОКР в интересах обороны (факт.) | `rd_defense_actual` | decimal | | 15 | Выпуск военной продукции (фикс.) | `military_output_fixed` | decimal | | 16 | Военная на внутренний рынок (фикс.) | `military_domestic_fixed` | decimal | | 17 | Военная на экспорт (фикс.) | `military_export_fixed` | decimal | | 18 | Выпуск гражданской продукции (фикс.) | `civilian_output_fixed` | decimal | | 19 | Гражданская на внутренний рынок (фикс.) | `civilian_domestic_fixed` | decimal | | 20 | Гражданская на экспорт (фикс.) | `civilian_export_fixed` | decimal | | 21 | Высокотехнологичная продукция (фикс.) | `hightech_output_fixed` | decimal | | 22 | Высокотехнологичная на внутренний рынок (фикс.) | `hightech_domestic_fixed` | decimal | | 23 | Высокотехнологичная на экспорт (фикс.) | `hightech_export_fixed` | decimal | | 24 | Объём НИОКР (фикс.) | `rd_volume_fixed` | decimal | | 25 | НИОКР в интересах обороны (фикс.) | `rd_defense_fixed` | decimal | | 26 | Средняя численность работников | `avg_employees` | decimal | | 27 | Среднесписочная численность | `avg_payroll_employees` | decimal | | 28 | Фонд начисленной зарплаты | `payroll_fund` | decimal | | 29 | Просроченная задолженность по ЗП | `salary_arrears` | decimal | ### А.3. Шаблон формы Ф‑2 (Бухгалтерский баланс) Стандартные колонки организации: | № | Заголовок | Поле модели | Тип | |---|-----------|-------------|-----| | 0 | Наименование организации | `organization_name` | str | | 1 | ОКПО | `okpo` | str | | 2 | ОГРН | `ogrn` | str | | 3 | ИНН | `inn` | str | Поля формы: | № | Заголовок | Поле модели | Тип | |---|-----------|-------------|-----| | 4 | Нематериальные активы | `intangible_assets` | decimal | | 5 | Результаты исследований и разработок | `rd_results` | decimal | | 6 | Нематериальные поисковые активы | `intangible_search_assets` | decimal | | 7 | Материальные поисковые активы | `tangible_search_assets` | decimal | | 8 | Основные средства | `fixed_assets` | decimal | | 9 | Доходные вложения в материальные ценности | `profitable_investments` | decimal | | 10 | Финансовые вложения (внеоборотные) | `financial_investments_non_current` | decimal | | 11 | Отложенные налоговые активы | `deferred_tax_assets` | decimal | | 12 | Прочие внеоборотные активы | `other_non_current_assets` | decimal | | 13 | Итого внеоборотные активы | `total_non_current_assets` | decimal | | 14 | Запасы | `inventories` | decimal | | 15 | НДС по приобретённым ценностям | `vat_on_acquired_assets` | decimal | | 16 | Дебиторская задолженность | `receivables` | decimal | | 17 | Финансовые вложения (оборотные) | `financial_investments_current` | decimal | | 18 | Денежные средства и эквиваленты | `cash_and_equivalents` | decimal | | 19 | Прочие оборотные активы | `other_current_assets` | decimal | | 20 | Итого оборотные активы | `total_current_assets` | decimal | | 21 | Баланс (актив) | `total_assets` | decimal | | 22 | Уставный капитал | `authorized_capital` | decimal | | 23 | Собственные акции, выкупленные у акционеров | `own_shares_bought_back` | decimal | | 24 | Переоценка внеоборотных активов | `revaluation_of_non_current_assets` | decimal | | 25 | Добавочный капитал | `additional_capital` | decimal | | 26 | Резервный капитал | `reserve_capital` | decimal | | 27 | Нераспределённая прибыль | `retained_earnings` | decimal | | 28 | Итого капитал и резервы | `total_equity` | decimal | | 29 | Заёмные средства (долгосрочные) | `borrowings_non_current` | decimal | | 30 | Отложенные налоговые обязательства | `deferred_tax_liabilities` | decimal | | 31 | Оценочные обязательства (долгосрочные) | `estimated_liabilities_non_current` | decimal | | 32 | Прочие обязательства (долгосрочные) | `other_liabilities_non_current` | decimal | | 33 | Итого долгосрочные обязательства | `total_non_current_liabilities` | decimal | | 34 | Заёмные средства (краткосрочные) | `borrowings_current` | decimal | | 35 | Кредиторская задолженность | `payables` | decimal | | 36 | Доходы будущих периодов | `deferred_income` | decimal | | 37 | Оценочные обязательства (краткосрочные) | `estimated_liabilities_current` | decimal | | 38 | Прочие обязательства (краткосрочные) | `other_liabilities_current` | decimal | | 39 | Итого краткосрочные обязательства | `total_current_liabilities` | decimal | | 40 | Баланс (пассив) | `total_liabilities` | decimal | | 41 | Выручка | `revenue` | decimal | | 42 | Себестоимость продаж | `cost_of_sales` | decimal | | 43 | Валовая прибыль | `gross_profit` | decimal | | 44 | Коммерческие расходы | `selling_expenses` | decimal | | 45 | Управленческие расходы | `administrative_expenses` | decimal | | 46 | Прибыль от продаж | `profit_from_sales` | decimal | | 47 | Проценты к получению | `interest_receivable` | decimal | | 48 | Проценты к уплате | `interest_payable` | decimal | | 49 | Прочие доходы | `other_income` | decimal | | 50 | Прочие расходы | `other_expenses` | decimal | | 51 | Прибыль до налогообложения | `profit_before_tax` | decimal | | 52 | Текущий налог на прибыль | `income_tax` | decimal | | 53 | Чистая прибыль | `net_profit` | decimal | | 54 | EBITDA | `ebitda` | decimal | | 55 | Амортизация | `depreciation` | decimal | | 56 | Оборотный капитал | `working_capital` | decimal | | 57 | Чистый долг | `net_debt` | decimal | | 58 | Баланс (актив) - прошлый период | `total_assets_prev` | decimal | | 59 | Баланс (пассив) - прошлый период | `total_liabilities_prev` | decimal | | 60 | Выручка - прошлый период | `revenue_prev` | decimal | | 61 | Чистая прибыль - прошлый период | `net_profit_prev` | decimal | ### А.4. Шаблон формы Ф‑3 (Кадры и оборудование) Стандартные колонки организации: | № | Заголовок | Поле модели | Тип | |---|-----------|-------------|-----| | 0 | Наименование организации | `organization_name` | str | | 1 | ОКПО | `okpo` | str | | 2 | ОГРН | `ogrn` | str | | 3 | ИНН | `inn` | str | Поля формы: | № | Заголовок | Поле модели | Тип | |---|-----------|-------------|-----| | 4 | Средняя численность работников | `avg_employees` | decimal | | 5 | Производственный персонал | `production_workers` | decimal | | 6 | Инженерно‑технические работники | `engineering_workers` | decimal | | 7 | Административный персонал | `administrative_workers` | decimal | | 8 | Всего оборудования | `total_equipment` | int | | 9 | Отечественное оборудование | `domestic_equipment` | int | | 10 | Импортное оборудование | `imported_equipment` | int | | 11 | Оборудование до 5 лет | `equipment_age_under_5` | int | | 12 | Оборудование 5‑10 лет | `equipment_age_5_10` | int | | 13 | Оборудование 10‑15 лет | `equipment_age_10_15` | int | | 14 | Оборудование 15‑20 лет | `equipment_age_15_20` | int | | 15 | Оборудование свыше 20 лет | `equipment_age_over_20` | int | | 16 | Физический износ, % | `physical_wear_percent` | decimal | | 17 | Коэффициент загрузки | `utilization_rate` | decimal | | 18 | Средняя сменность работы | `avg_shift_work` | decimal | | 19 | Потребность в оборудовании | `equipment_needed` | int | | 20 | Потребность в кадрах | `workers_needed` | int | ### А.5. Шаблон формы Ф‑4 (Сводные финансовые данные) Стандартные колонки организации: | № | Заголовок | Поле модели | Тип | |---|-----------|-------------|-----| | 0 | Наименование организации | `organization_name` | str | | 1 | ОКПО | `okpo` | str | | 2 | ОГРН | `ogrn` | str | | 3 | ИНН | `inn` | str | Поля формы: | № | Заголовок | Поле модели | Тип | |---|-----------|-------------|-----| | 4 | Выручка (РСБУ) | `revenue_rsbu` | decimal | | 5 | Выручка (МСФО) | `revenue_ifrs` | decimal | | 6 | Выручка прошлого года (РСБУ) | `revenue_prev_rsbu` | decimal | | 7 | Выручка прошлого года (МСФО) | `revenue_prev_ifrs` | decimal | | 8 | Чистая прибыль (РСБУ) | `net_profit_rsbu` | decimal | | 9 | Чистая прибыль (МСФО) | `net_profit_ifrs` | decimal | | 10 | Валовая прибыль (РСБУ) | `gross_profit_rsbu` | decimal | | 11 | Операционная прибыль (РСБУ) | `operating_profit_rsbu` | decimal | | 12 | EBITDA (РСБУ) | `ebitda_rsbu` | decimal | | 13 | EBITDA (МСФО) | `ebitda_ifrs` | decimal | | 14 | Кредиты и займы (РСБУ) | `loans_rsbu` | decimal | | 15 | Кредиты и займы (МСФО) | `loans_ifrs` | decimal | | 16 | Чистый долг (РСБУ) | `net_debt_rsbu` | decimal | | 17 | Чистый долг (МСФО) | `net_debt_ifrs` | decimal | | 18 | Долг/EBITDA | `debt_to_ebitda` | decimal | | 19 | Активы (РСБУ) | `total_assets_rsbu` | decimal | | 20 | Активы (МСФО) | `total_assets_ifrs` | decimal | | 21 | Собственный капитал (РСБУ) | `equity_rsbu` | decimal | | 22 | Собственный капитал (МСФО) | `equity_ifrs` | decimal | | 23 | ROE | `roe` | decimal | | 24 | ROA | `roa` | decimal | | 25 | ROS | `ros` | decimal | | 26 | CAPEX | `capex` | decimal | | 27 | Затраты на НИОКР | `rd_expenses` | decimal | | 28 | Выплаченные дивиденды | `dividends_paid` | decimal | | 29 | Дивидендная доходность | `dividend_yield` | decimal | ### А.6. Шаблон формы Ф‑5 (Инвентаризация оборудования) Стандартные колонки организации: | № | Заголовок | Поле модели | Тип | |---|-----------|-------------|-----| | 0 | Наименование организации | `organization_name` | str | | 1 | ОКПО | `okpo` | str | | 2 | ОГРН | `ogrn` | str | | 3 | ИНН | `inn` | str | Поля формы: | № | Заголовок | Поле модели | Тип | |---|-----------|-------------|-----| | 4 | Идентификационный код | `equipment_id` | str | | 5 | Инвентарный номер | `inventory_number` | str | | 6 | Наименование оборудования | `name` | str | | 7 | Модель | `model` | str | | 8 | Производитель | `manufacturer` | str | | 9 | Страна происхождения | `country_origin` | str | | 10 | Отечественное производство | `is_domestic` | bool | | 11 | Год выпуска | `year_manufacture` | int | | 12 | Наличие ЧПУ | `has_cnc` | bool | | 13 | Тип оборудования | `equipment_type` | str | | 14 | Категория оборудования | `equipment_category` | str | | 15 | Дата ввода в эксплуатацию | `commissioning_date` | date | | 16 | Местонахождение | `location` | str | | 17 | Производственный участок | `production_site` | str | | 18 | Коэффициент использования | `utilization_rate` | decimal | | 19 | Фактический износ, % | `physical_wear_percent` | decimal | | 20 | В рабочем состоянии | `is_operational` | bool | | 21 | Требует ремонта | `requires_repair` | bool | | 22 | Требует замены | `requires_replacement` | bool | | 23 | Первоначальная стоимость | `initial_cost` | decimal | | 24 | Остаточная стоимость | `residual_value` | decimal | | 25 | Примечания | `notes` | str | ### А.7. Шаблон формы Ф‑6 (Возрастная структура оборудования) Стандартные колонки организации: | № | Заголовок | Поле модели | Тип | |---|-----------|-------------|-----| | 0 | Наименование организации | `organization_name` | str | | 1 | ОКПО | `okpo` | str | | 2 | ОГРН | `ogrn` | str | | 3 | ИНН | `inn` | str | Поля формы: | № | Заголовок | Поле модели | Тип | |---|-----------|-------------|-----| | 4 | Код строки | `row_code` | str | | 5 | Категория оборудования | `category` | str | | 6 | Всего оборудования | `total_equipment` | int | | 7 | Отечественное оборудование | `domestic_equipment` | int | | 8 | Импортное оборудование | `imported_equipment` | int | | 9 | До 5 лет | `age_under_5` | int | | 10 | 5‑10 лет | `age_5_10` | int | | 11 | 10‑15 лет | `age_10_15` | int | | 12 | 15‑20 лет | `age_15_20` | int | | 13 | Свыше 20 лет | `age_over_20` | int | | 14 | С ЧПУ всего | `cnc_total` | int | | 15 | С ЧПУ до 5 лет | `cnc_under_5` | int | | 16 | С ЧПУ 5‑10 лет | `cnc_5_10` | int | | 17 | С ЧПУ 10‑15 лет | `cnc_10_15` | int | | 18 | С ЧПУ 15‑20 лет | `cnc_15_20` | int | | 19 | С ЧПУ свыше 20 лет | `cnc_over_20` | int | | 20 | Средняя сменность работы | `avg_shift_work` | decimal | | 21 | Коэффициент загрузки | `utilization_rate` | decimal | | 22 | Физический износ, % | `physical_wear_percent` | decimal | | 23 | Рабочие места без оборудования | `workplaces_without_equipment` | int | | 24 | Оборудование к замене | `equipment_to_replace` | int | --- ## ПРИЛОЖЕНИЕ Б (РЕКОМЕНДУЕМОЕ). ПРИМЕРЫ ВХОДНЫХ ФАЙЛОВ ### Б.1. Общие указания к примерам Примеры приведены для ориентира. Значения условные и должны соответствовать фактическим данным отчётности. Порядок колонок обязателен и соответствует приложению А. ### Б.2. Пример заполнения формы Ф-1 (Выпуск продукции) | № | Заголовок | Тип | Пример значения | |---|-----------|-----|-----------------| | 0 | Наименование организации | str | АО "Пример" | | 1 | ОКПО | str | 12345678 | | 2 | ОГРН | str | 1027700132195 | | 3 | ИНН | str | 7701234567 | | 4 | Выпуск военной продукции (факт.) | decimal | 1000.00 | | 5 | Военная на внутренний рынок (факт.) | decimal | 1000.00 | | 6 | Военная на экспорт (факт.) | decimal | 1000.00 | | 7 | Выпуск гражданской продукции (факт.) | decimal | 1000.00 | | 8 | Гражданская на внутренний рынок (факт.) | decimal | 1000.00 | | 9 | Гражданская на экспорт (факт.) | decimal | 1000.00 | | 10 | Высокотехнологичная продукция (факт.) | decimal | 1000.00 | | 11 | Высокотехнологичная на внутренний рынок (факт.) | decimal | 1000.00 | | 12 | Высокотехнологичная на экспорт (факт.) | decimal | 1000.00 | | 13 | Объём НИОКР (факт.) | decimal | 1000.00 | | 14 | НИОКР в интересах обороны (факт.) | decimal | 1000.00 | | 15 | Выпуск военной продукции (фикс.) | decimal | 1000.00 | | 16 | Военная на внутренний рынок (фикс.) | decimal | 1000.00 | | 17 | Военная на экспорт (фикс.) | decimal | 1000.00 | | 18 | Выпуск гражданской продукции (фикс.) | decimal | 1000.00 | | 19 | Гражданская на внутренний рынок (фикс.) | decimal | 1000.00 | | 20 | Гражданская на экспорт (фикс.) | decimal | 1000.00 | | 21 | Высокотехнологичная продукция (фикс.) | decimal | 1000.00 | | 22 | Высокотехнологичная на внутренний рынок (фикс.) | decimal | 1000.00 | | 23 | Высокотехнологичная на экспорт (фикс.) | decimal | 1000.00 | | 24 | Объём НИОКР (фикс.) | decimal | 1000.00 | | 25 | НИОКР в интересах обороны (фикс.) | decimal | 1000.00 | | 26 | Средняя численность работников | decimal | 1000.00 | | 27 | Среднесписочная численность | decimal | 1000.00 | | 28 | Фонд начисленной зарплаты | decimal | 1000.00 | | 29 | Просроченная задолженность по ЗП | decimal | 1000.00 | ### Б.3. Пример заполнения формы Ф-2 (Бухгалтерский баланс) | № | Заголовок | Тип | Пример значения | |---|-----------|-----|-----------------| | 0 | Наименование организации | str | АО "Пример" | | 1 | ОКПО | str | 12345678 | | 2 | ОГРН | str | 1027700132195 | | 3 | ИНН | str | 7701234567 | | 4 | Нематериальные активы | decimal | 1000.00 | | 5 | Результаты исследований и разработок | decimal | 1000.00 | | 6 | Нематериальные поисковые активы | decimal | 1000.00 | | 7 | Материальные поисковые активы | decimal | 1000.00 | | 8 | Основные средства | decimal | 1000.00 | | 9 | Доходные вложения в материальные ценности | decimal | 1000.00 | | 10 | Финансовые вложения (внеоборотные) | decimal | 1000.00 | | 11 | Отложенные налоговые активы | decimal | 1000.00 | | 12 | Прочие внеоборотные активы | decimal | 1000.00 | | 13 | Итого внеоборотные активы | decimal | 1000.00 | | 14 | Запасы | decimal | 1000.00 | | 15 | НДС по приобретённым ценностям | decimal | 1000.00 | | 16 | Дебиторская задолженность | decimal | 1000.00 | | 17 | Финансовые вложения (оборотные) | decimal | 1000.00 | | 18 | Денежные средства и эквиваленты | decimal | 1000.00 | | 19 | Прочие оборотные активы | decimal | 1000.00 | | 20 | Итого оборотные активы | decimal | 1000.00 | | 21 | Баланс (актив) | decimal | 1000.00 | | 22 | Уставный капитал | decimal | 1000.00 | | 23 | Собственные акции, выкупленные у акционеров | decimal | 1000.00 | | 24 | Переоценка внеоборотных активов | decimal | 1000.00 | | 25 | Добавочный капитал | decimal | 1000.00 | | 26 | Резервный капитал | decimal | 1000.00 | | 27 | Нераспределённая прибыль | decimal | 1000.00 | | 28 | Итого капитал и резервы | decimal | 1000.00 | | 29 | Заёмные средства (долгосрочные) | decimal | 1000.00 | | 30 | Отложенные налоговые обязательства | decimal | 1000.00 | | 31 | Оценочные обязательства (долгосрочные) | decimal | 1000.00 | | 32 | Прочие обязательства (долгосрочные) | decimal | 1000.00 | | 33 | Итого долгосрочные обязательства | decimal | 1000.00 | | 34 | Заёмные средства (краткосрочные) | decimal | 1000.00 | | 35 | Кредиторская задолженность | decimal | 1000.00 | | 36 | Доходы будущих периодов | decimal | 1000.00 | | 37 | Оценочные обязательства (краткосрочные) | decimal | 1000.00 | | 38 | Прочие обязательства (краткосрочные) | decimal | 1000.00 | | 39 | Итого краткосрочные обязательства | decimal | 1000.00 | | 40 | Баланс (пассив) | decimal | 1000.00 | | 41 | Выручка | decimal | 1000.00 | | 42 | Себестоимость продаж | decimal | 1000.00 | | 43 | Валовая прибыль | decimal | 1000.00 | | 44 | Коммерческие расходы | decimal | 1000.00 | | 45 | Управленческие расходы | decimal | 1000.00 | | 46 | Прибыль от продаж | decimal | 1000.00 | | 47 | Проценты к получению | decimal | 1000.00 | | 48 | Проценты к уплате | decimal | 1000.00 | | 49 | Прочие доходы | decimal | 1000.00 | | 50 | Прочие расходы | decimal | 1000.00 | | 51 | Прибыль до налогообложения | decimal | 1000.00 | | 52 | Текущий налог на прибыль | decimal | 1000.00 | | 53 | Чистая прибыль | decimal | 1000.00 | | 54 | EBITDA | decimal | 1000.00 | | 55 | Амортизация | decimal | 1000.00 | | 56 | Оборотный капитал | decimal | 1000.00 | | 57 | Чистый долг | decimal | 1000.00 | | 58 | Баланс (актив) - прошлый период | decimal | 1000.00 | | 59 | Баланс (пассив) - прошлый период | decimal | 1000.00 | | 60 | Выручка - прошлый период | decimal | 1000.00 | | 61 | Чистая прибыль - прошлый период | decimal | 1000.00 | ### Б.4. Пример заполнения формы Ф-3 (Кадры и оборудование) | № | Заголовок | Тип | Пример значения | |---|-----------|-----|-----------------| | 0 | Наименование организации | str | АО "Пример" | | 1 | ОКПО | str | 12345678 | | 2 | ОГРН | str | 1027700132195 | | 3 | ИНН | str | 7701234567 | | 4 | Средняя численность работников | decimal | 1000.00 | | 5 | Производственный персонал | decimal | 1000.00 | | 6 | Инженерно-технические работники | decimal | 1000.00 | | 7 | Административный персонал | decimal | 1000.00 | | 8 | Всего оборудования | int | 120 | | 9 | Отечественное оборудование | int | 90 | | 10 | Импортное оборудование | int | 30 | | 11 | Оборудование до 5 лет | int | 25 | | 12 | Оборудование 5-10 лет | int | 40 | | 13 | Оборудование 10-15 лет | int | 30 | | 14 | Оборудование 15-20 лет | int | 15 | | 15 | Оборудование свыше 20 лет | int | 10 | | 16 | Физический износ, % | decimal | 0.85 | | 17 | Коэффициент загрузки | decimal | 0.85 | | 18 | Средняя сменность работы | decimal | 0.85 | | 19 | Потребность в оборудовании | int | 10 | | 20 | Потребность в кадрах | int | 10 | ### Б.5. Пример заполнения формы Ф-4 (Сводные финансовые данные) | № | Заголовок | Тип | Пример значения | |---|-----------|-----|-----------------| | 0 | Наименование организации | str | АО "Пример" | | 1 | ОКПО | str | 12345678 | | 2 | ОГРН | str | 1027700132195 | | 3 | ИНН | str | 7701234567 | | 4 | Выручка (РСБУ) | decimal | 1000.00 | | 5 | Выручка (МСФО) | decimal | 1000.00 | | 6 | Выручка прошлого года (РСБУ) | decimal | 1000.00 | | 7 | Выручка прошлого года (МСФО) | decimal | 1000.00 | | 8 | Чистая прибыль (РСБУ) | decimal | 1000.00 | | 9 | Чистая прибыль (МСФО) | decimal | 1000.00 | | 10 | Валовая прибыль (РСБУ) | decimal | 1000.00 | | 11 | Операционная прибыль (РСБУ) | decimal | 1000.00 | | 12 | EBITDA (РСБУ) | decimal | 1000.00 | | 13 | EBITDA (МСФО) | decimal | 1000.00 | | 14 | Кредиты и займы (РСБУ) | decimal | 1000.00 | | 15 | Кредиты и займы (МСФО) | decimal | 1000.00 | | 16 | Чистый долг (РСБУ) | decimal | 1000.00 | | 17 | Чистый долг (МСФО) | decimal | 1000.00 | | 18 | Долг/EBITDA | decimal | 1000.00 | | 19 | Активы (РСБУ) | decimal | 1000.00 | | 20 | Активы (МСФО) | decimal | 1000.00 | | 21 | Собственный капитал (РСБУ) | decimal | 1000.00 | | 22 | Собственный капитал (МСФО) | decimal | 1000.00 | | 23 | ROE | decimal | 1000.00 | | 24 | ROA | decimal | 1000.00 | | 25 | ROS | decimal | 1000.00 | | 26 | CAPEX | decimal | 1000.00 | | 27 | Затраты на НИОКР | decimal | 1000.00 | | 28 | Выплаченные дивиденды | decimal | 1000.00 | | 29 | Дивидендная доходность | decimal | 1000.00 | ### Б.6. Пример заполнения формы Ф-5 (Инвентаризация оборудования) | № | Заголовок | Тип | Пример значения | |---|-----------|-----|-----------------| | 0 | Наименование организации | str | АО "Пример" | | 1 | ОКПО | str | 12345678 | | 2 | ОГРН | str | 1027700132195 | | 3 | ИНН | str | 7701234567 | | 4 | Идентификационный код | str | Пример | | 5 | Инвентарный номер | str | Пример | | 6 | Наименование оборудования | str | Станок токарный | | 7 | Модель | str | СТ-16К20 | | 8 | Производитель | str | АО "Машзавод" | | 9 | Страна происхождения | str | Россия | | 10 | Отечественное производство | bool | да | | 11 | Год выпуска | int | 2018 | | 12 | Наличие ЧПУ | bool | да | | 13 | Тип оборудования | str | Токарное | | 14 | Категория оборудования | str | Металлообработка | | 15 | Дата ввода в эксплуатацию | date | 2020-06-01 | | 16 | Местонахождение | str | Цех №1 | | 17 | Производственный участок | str | Участок обработки | | 18 | Коэффициент использования | decimal | 0.85 | | 19 | Фактический износ, % | decimal | 1000.00 | | 20 | В рабочем состоянии | bool | да | | 21 | Требует ремонта | bool | да | | 22 | Требует замены | bool | да | | 23 | Первоначальная стоимость | decimal | 1000.00 | | 24 | Остаточная стоимость | decimal | 1000.00 | | 25 | Примечания | str | Без замечаний | ### Б.7. Пример заполнения формы Ф-6 (Возрастная структура оборудования) | № | Заголовок | Тип | Пример значения | |---|-----------|-----|-----------------| | 0 | Наименование организации | str | АО "Пример" | | 1 | ОКПО | str | 12345678 | | 2 | ОГРН | str | 1027700132195 | | 3 | ИНН | str | 7701234567 | | 4 | Код строки | str | 010 | | 5 | Категория оборудования | str | Металлообработка | | 6 | Всего оборудования | int | 120 | | 7 | Отечественное оборудование | int | 90 | | 8 | Импортное оборудование | int | 30 | | 9 | До 5 лет | int | 25 | | 10 | 5-10 лет | int | 40 | | 11 | 10-15 лет | int | 30 | | 12 | 15-20 лет | int | 15 | | 13 | Свыше 20 лет | int | 10 | | 14 | С ЧПУ всего | int | 60 | | 15 | С ЧПУ до 5 лет | int | 15 | | 16 | С ЧПУ 5-10 лет | int | 20 | | 17 | С ЧПУ 10-15 лет | int | 15 | | 18 | С ЧПУ 15-20 лет | int | 7 | | 19 | С ЧПУ свыше 20 лет | int | 3 | | 20 | Средняя сменность работы | decimal | 0.85 | | 21 | Коэффициент загрузки | decimal | 0.85 | | 22 | Физический износ, % | decimal | 0.85 | | 23 | Рабочие места без оборудования | int | 10 | | 24 | Оборудование к замене | int | 10 | --- ## ПРИЛОЖЕНИЕ В (СПРАВОЧНОЕ). СПРАВОЧНИК ПОКАЗАТЕЛЕЙ ### В.1. Общие положения Справочник показателей предназначен для унифицированной интерпретации полей базы данных и отчётных колонок. Для каждого показателя приведено наименование и краткое пояснение. ### В.2. Показатели формы Ф-1 (Выпуск продукции) | Поле модели | Показатель | Пояснение | |------------|-----------|----------| | `organization_name` | Наименование организации | Полное наименование организации в соответствии с отчётной формой. | | `okpo` | ОКПО | Код организации по ОКПО, используется для идентификации в отчётности. | | `ogrn` | ОГРН | Основной государственный регистрационный номер организации. | | `inn` | ИНН | Идентификационный номер налогоплательщика организации. | | `military_output_actual` | Выпуск военной продукции (факт.) | Значение показателя «Выпуск военной продукции (факт.)», передаваемое в форме Ф-1. | | `military_domestic_actual` | Военная на внутренний рынок (факт.) | Значение показателя «Военная на внутренний рынок (факт.)», передаваемое в форме Ф-1. | | `military_export_actual` | Военная на экспорт (факт.) | Значение показателя «Военная на экспорт (факт.)», передаваемое в форме Ф-1. | | `civilian_output_actual` | Выпуск гражданской продукции (факт.) | Значение показателя «Выпуск гражданской продукции (факт.)», передаваемое в форме Ф-1. | | `civilian_domestic_actual` | Гражданская на внутренний рынок (факт.) | Значение показателя «Гражданская на внутренний рынок (факт.)», передаваемое в форме Ф-1. | | `civilian_export_actual` | Гражданская на экспорт (факт.) | Значение показателя «Гражданская на экспорт (факт.)», передаваемое в форме Ф-1. | | `hightech_output_actual` | Высокотехнологичная продукция (факт.) | Значение показателя «Высокотехнологичная продукция (факт.)», передаваемое в форме Ф-1. | | `hightech_domestic_actual` | Высокотехнологичная на внутренний рынок (факт.) | Значение показателя «Высокотехнологичная на внутренний рынок (факт.)», передаваемое в форме Ф-1. | | `hightech_export_actual` | Высокотехнологичная на экспорт (факт.) | Значение показателя «Высокотехнологичная на экспорт (факт.)», передаваемое в форме Ф-1. | | `rd_volume_actual` | Объём НИОКР (факт.) | Значение показателя «Объём НИОКР (факт.)», передаваемое в форме Ф-1. | | `rd_defense_actual` | НИОКР в интересах обороны (факт.) | Значение показателя «НИОКР в интересах обороны (факт.)», передаваемое в форме Ф-1. | | `military_output_fixed` | Выпуск военной продукции (фикс.) | Значение показателя «Выпуск военной продукции (фикс.)», передаваемое в форме Ф-1. | | `military_domestic_fixed` | Военная на внутренний рынок (фикс.) | Значение показателя «Военная на внутренний рынок (фикс.)», передаваемое в форме Ф-1. | | `military_export_fixed` | Военная на экспорт (фикс.) | Значение показателя «Военная на экспорт (фикс.)», передаваемое в форме Ф-1. | | `civilian_output_fixed` | Выпуск гражданской продукции (фикс.) | Значение показателя «Выпуск гражданской продукции (фикс.)», передаваемое в форме Ф-1. | | `civilian_domestic_fixed` | Гражданская на внутренний рынок (фикс.) | Значение показателя «Гражданская на внутренний рынок (фикс.)», передаваемое в форме Ф-1. | | `civilian_export_fixed` | Гражданская на экспорт (фикс.) | Значение показателя «Гражданская на экспорт (фикс.)», передаваемое в форме Ф-1. | | `hightech_output_fixed` | Высокотехнологичная продукция (фикс.) | Значение показателя «Высокотехнологичная продукция (фикс.)», передаваемое в форме Ф-1. | | `hightech_domestic_fixed` | Высокотехнологичная на внутренний рынок (фикс.) | Значение показателя «Высокотехнологичная на внутренний рынок (фикс.)», передаваемое в форме Ф-1. | | `hightech_export_fixed` | Высокотехнологичная на экспорт (фикс.) | Значение показателя «Высокотехнологичная на экспорт (фикс.)», передаваемое в форме Ф-1. | | `rd_volume_fixed` | Объём НИОКР (фикс.) | Значение показателя «Объём НИОКР (фикс.)», передаваемое в форме Ф-1. | | `rd_defense_fixed` | НИОКР в интересах обороны (фикс.) | Значение показателя «НИОКР в интересах обороны (фикс.)», передаваемое в форме Ф-1. | | `avg_employees` | Средняя численность работников | Значение показателя «Средняя численность работников», передаваемое в форме Ф-1. | | `avg_payroll_employees` | Среднесписочная численность | Значение показателя «Среднесписочная численность», передаваемое в форме Ф-1. | | `payroll_fund` | Фонд начисленной зарплаты | Значение показателя «Фонд начисленной зарплаты», передаваемое в форме Ф-1. | | `salary_arrears` | Просроченная задолженность по ЗП | Значение показателя «Просроченная задолженность по ЗП», передаваемое в форме Ф-1. | ### В.3. Показатели формы Ф-2 (Бухгалтерский баланс) | Поле модели | Показатель | Пояснение | |------------|-----------|----------| | `organization_name` | Наименование организации | Полное наименование организации в соответствии с отчётной формой. | | `okpo` | ОКПО | Код организации по ОКПО, используется для идентификации в отчётности. | | `ogrn` | ОГРН | Основной государственный регистрационный номер организации. | | `inn` | ИНН | Идентификационный номер налогоплательщика организации. | | `intangible_assets` | Нематериальные активы | Значение показателя «Нематериальные активы», передаваемое в форме Ф-2. | | `rd_results` | Результаты исследований и разработок | Значение показателя «Результаты исследований и разработок», передаваемое в форме Ф-2. | | `intangible_search_assets` | Нематериальные поисковые активы | Значение показателя «Нематериальные поисковые активы», передаваемое в форме Ф-2. | | `tangible_search_assets` | Материальные поисковые активы | Значение показателя «Материальные поисковые активы», передаваемое в форме Ф-2. | | `fixed_assets` | Основные средства | Значение показателя «Основные средства», передаваемое в форме Ф-2. | | `profitable_investments` | Доходные вложения в материальные ценности | Значение показателя «Доходные вложения в материальные ценности», передаваемое в форме Ф-2. | | `financial_investments_non_current` | Финансовые вложения (внеоборотные) | Значение показателя «Финансовые вложения (внеоборотные)», передаваемое в форме Ф-2. | | `deferred_tax_assets` | Отложенные налоговые активы | Значение показателя «Отложенные налоговые активы», передаваемое в форме Ф-2. | | `other_non_current_assets` | Прочие внеоборотные активы | Значение показателя «Прочие внеоборотные активы», передаваемое в форме Ф-2. | | `total_non_current_assets` | Итого внеоборотные активы | Значение показателя «Итого внеоборотные активы», передаваемое в форме Ф-2. | | `inventories` | Запасы | Значение показателя «Запасы», передаваемое в форме Ф-2. | | `vat_on_acquired_assets` | НДС по приобретённым ценностям | Значение показателя «НДС по приобретённым ценностям», передаваемое в форме Ф-2. | | `receivables` | Дебиторская задолженность | Значение показателя «Дебиторская задолженность», передаваемое в форме Ф-2. | | `financial_investments_current` | Финансовые вложения (оборотные) | Значение показателя «Финансовые вложения (оборотные)», передаваемое в форме Ф-2. | | `cash_and_equivalents` | Денежные средства и эквиваленты | Значение показателя «Денежные средства и эквиваленты», передаваемое в форме Ф-2. | | `other_current_assets` | Прочие оборотные активы | Значение показателя «Прочие оборотные активы», передаваемое в форме Ф-2. | | `total_current_assets` | Итого оборотные активы | Значение показателя «Итого оборотные активы», передаваемое в форме Ф-2. | | `total_assets` | Баланс (актив) | Значение показателя «Баланс (актив)», передаваемое в форме Ф-2. | | `authorized_capital` | Уставный капитал | Значение показателя «Уставный капитал», передаваемое в форме Ф-2. | | `own_shares_bought_back` | Собственные акции, выкупленные у акционеров | Значение показателя «Собственные акции, выкупленные у акционеров», передаваемое в форме Ф-2. | | `revaluation_of_non_current_assets` | Переоценка внеоборотных активов | Значение показателя «Переоценка внеоборотных активов», передаваемое в форме Ф-2. | | `additional_capital` | Добавочный капитал | Значение показателя «Добавочный капитал», передаваемое в форме Ф-2. | | `reserve_capital` | Резервный капитал | Значение показателя «Резервный капитал», передаваемое в форме Ф-2. | | `retained_earnings` | Нераспределённая прибыль | Значение показателя «Нераспределённая прибыль», передаваемое в форме Ф-2. | | `total_equity` | Итого капитал и резервы | Значение показателя «Итого капитал и резервы», передаваемое в форме Ф-2. | | `borrowings_non_current` | Заёмные средства (долгосрочные) | Значение показателя «Заёмные средства (долгосрочные)», передаваемое в форме Ф-2. | | `deferred_tax_liabilities` | Отложенные налоговые обязательства | Значение показателя «Отложенные налоговые обязательства», передаваемое в форме Ф-2. | | `estimated_liabilities_non_current` | Оценочные обязательства (долгосрочные) | Значение показателя «Оценочные обязательства (долгосрочные)», передаваемое в форме Ф-2. | | `other_liabilities_non_current` | Прочие обязательства (долгосрочные) | Значение показателя «Прочие обязательства (долгосрочные)», передаваемое в форме Ф-2. | | `total_non_current_liabilities` | Итого долгосрочные обязательства | Значение показателя «Итого долгосрочные обязательства», передаваемое в форме Ф-2. | | `borrowings_current` | Заёмные средства (краткосрочные) | Значение показателя «Заёмные средства (краткосрочные)», передаваемое в форме Ф-2. | | `payables` | Кредиторская задолженность | Значение показателя «Кредиторская задолженность», передаваемое в форме Ф-2. | | `deferred_income` | Доходы будущих периодов | Значение показателя «Доходы будущих периодов», передаваемое в форме Ф-2. | | `estimated_liabilities_current` | Оценочные обязательства (краткосрочные) | Значение показателя «Оценочные обязательства (краткосрочные)», передаваемое в форме Ф-2. | | `other_liabilities_current` | Прочие обязательства (краткосрочные) | Значение показателя «Прочие обязательства (краткосрочные)», передаваемое в форме Ф-2. | | `total_current_liabilities` | Итого краткосрочные обязательства | Значение показателя «Итого краткосрочные обязательства», передаваемое в форме Ф-2. | | `total_liabilities` | Баланс (пассив) | Значение показателя «Баланс (пассив)», передаваемое в форме Ф-2. | | `revenue` | Выручка | Значение показателя «Выручка», передаваемое в форме Ф-2. | | `cost_of_sales` | Себестоимость продаж | Значение показателя «Себестоимость продаж», передаваемое в форме Ф-2. | | `gross_profit` | Валовая прибыль | Значение показателя «Валовая прибыль», передаваемое в форме Ф-2. | | `selling_expenses` | Коммерческие расходы | Значение показателя «Коммерческие расходы», передаваемое в форме Ф-2. | | `administrative_expenses` | Управленческие расходы | Значение показателя «Управленческие расходы», передаваемое в форме Ф-2. | | `profit_from_sales` | Прибыль от продаж | Значение показателя «Прибыль от продаж», передаваемое в форме Ф-2. | | `interest_receivable` | Проценты к получению | Значение показателя «Проценты к получению», передаваемое в форме Ф-2. | | `interest_payable` | Проценты к уплате | Значение показателя «Проценты к уплате», передаваемое в форме Ф-2. | | `other_income` | Прочие доходы | Значение показателя «Прочие доходы», передаваемое в форме Ф-2. | | `other_expenses` | Прочие расходы | Значение показателя «Прочие расходы», передаваемое в форме Ф-2. | | `profit_before_tax` | Прибыль до налогообложения | Значение показателя «Прибыль до налогообложения», передаваемое в форме Ф-2. | | `income_tax` | Текущий налог на прибыль | Значение показателя «Текущий налог на прибыль», передаваемое в форме Ф-2. | | `net_profit` | Чистая прибыль | Значение показателя «Чистая прибыль», передаваемое в форме Ф-2. | | `ebitda` | EBITDA | Значение показателя «EBITDA», передаваемое в форме Ф-2. | | `depreciation` | Амортизация | Значение показателя «Амортизация», передаваемое в форме Ф-2. | | `working_capital` | Оборотный капитал | Значение показателя «Оборотный капитал», передаваемое в форме Ф-2. | | `net_debt` | Чистый долг | Значение показателя «Чистый долг», передаваемое в форме Ф-2. | | `total_assets_prev` | Баланс (актив) - прошлый период | Значение показателя «Баланс (актив) - прошлый период», передаваемое в форме Ф-2. | | `total_liabilities_prev` | Баланс (пассив) - прошлый период | Значение показателя «Баланс (пассив) - прошлый период», передаваемое в форме Ф-2. | | `revenue_prev` | Выручка - прошлый период | Значение показателя «Выручка - прошлый период», передаваемое в форме Ф-2. | | `net_profit_prev` | Чистая прибыль - прошлый период | Значение показателя «Чистая прибыль - прошлый период», передаваемое в форме Ф-2. | ### В.4. Показатели формы Ф-3 (Кадры и оборудование) | Поле модели | Показатель | Пояснение | |------------|-----------|----------| | `organization_name` | Наименование организации | Полное наименование организации в соответствии с отчётной формой. | | `okpo` | ОКПО | Код организации по ОКПО, используется для идентификации в отчётности. | | `ogrn` | ОГРН | Основной государственный регистрационный номер организации. | | `inn` | ИНН | Идентификационный номер налогоплательщика организации. | | `avg_employees` | Средняя численность работников | Значение показателя «Средняя численность работников», передаваемое в форме Ф-3. | | `production_workers` | Производственный персонал | Значение показателя «Производственный персонал», передаваемое в форме Ф-3. | | `engineering_workers` | Инженерно-технические работники | Значение показателя «Инженерно-технические работники», передаваемое в форме Ф-3. | | `administrative_workers` | Административный персонал | Значение показателя «Административный персонал», передаваемое в форме Ф-3. | | `total_equipment` | Всего оборудования | Значение показателя «Всего оборудования», передаваемое в форме Ф-3. | | `domestic_equipment` | Отечественное оборудование | Значение показателя «Отечественное оборудование», передаваемое в форме Ф-3. | | `imported_equipment` | Импортное оборудование | Значение показателя «Импортное оборудование», передаваемое в форме Ф-3. | | `equipment_age_under_5` | Оборудование до 5 лет | Значение показателя «Оборудование до 5 лет», передаваемое в форме Ф-3. | | `equipment_age_5_10` | Оборудование 5-10 лет | Значение показателя «Оборудование 5-10 лет», передаваемое в форме Ф-3. | | `equipment_age_10_15` | Оборудование 10-15 лет | Значение показателя «Оборудование 10-15 лет», передаваемое в форме Ф-3. | | `equipment_age_15_20` | Оборудование 15-20 лет | Значение показателя «Оборудование 15-20 лет», передаваемое в форме Ф-3. | | `equipment_age_over_20` | Оборудование свыше 20 лет | Значение показателя «Оборудование свыше 20 лет», передаваемое в форме Ф-3. | | `physical_wear_percent` | Физический износ, % | Значение показателя «Физический износ, %», передаваемое в форме Ф-3. | | `utilization_rate` | Коэффициент загрузки | Значение показателя «Коэффициент загрузки», передаваемое в форме Ф-3. | | `avg_shift_work` | Средняя сменность работы | Значение показателя «Средняя сменность работы», передаваемое в форме Ф-3. | | `equipment_needed` | Потребность в оборудовании | Значение показателя «Потребность в оборудовании», передаваемое в форме Ф-3. | | `workers_needed` | Потребность в кадрах | Значение показателя «Потребность в кадрах», передаваемое в форме Ф-3. | ### В.5. Показатели формы Ф-4 (Сводные финансовые данные) | Поле модели | Показатель | Пояснение | |------------|-----------|----------| | `organization_name` | Наименование организации | Полное наименование организации в соответствии с отчётной формой. | | `okpo` | ОКПО | Код организации по ОКПО, используется для идентификации в отчётности. | | `ogrn` | ОГРН | Основной государственный регистрационный номер организации. | | `inn` | ИНН | Идентификационный номер налогоплательщика организации. | | `revenue_rsbu` | Выручка (РСБУ) | Значение показателя «Выручка (РСБУ)», передаваемое в форме Ф-4. | | `revenue_ifrs` | Выручка (МСФО) | Значение показателя «Выручка (МСФО)», передаваемое в форме Ф-4. | | `revenue_prev_rsbu` | Выручка прошлого года (РСБУ) | Значение показателя «Выручка прошлого года (РСБУ)», передаваемое в форме Ф-4. | | `revenue_prev_ifrs` | Выручка прошлого года (МСФО) | Значение показателя «Выручка прошлого года (МСФО)», передаваемое в форме Ф-4. | | `net_profit_rsbu` | Чистая прибыль (РСБУ) | Значение показателя «Чистая прибыль (РСБУ)», передаваемое в форме Ф-4. | | `net_profit_ifrs` | Чистая прибыль (МСФО) | Значение показателя «Чистая прибыль (МСФО)», передаваемое в форме Ф-4. | | `gross_profit_rsbu` | Валовая прибыль (РСБУ) | Значение показателя «Валовая прибыль (РСБУ)», передаваемое в форме Ф-4. | | `operating_profit_rsbu` | Операционная прибыль (РСБУ) | Значение показателя «Операционная прибыль (РСБУ)», передаваемое в форме Ф-4. | | `ebitda_rsbu` | EBITDA (РСБУ) | Значение показателя «EBITDA (РСБУ)», передаваемое в форме Ф-4. | | `ebitda_ifrs` | EBITDA (МСФО) | Значение показателя «EBITDA (МСФО)», передаваемое в форме Ф-4. | | `loans_rsbu` | Кредиты и займы (РСБУ) | Значение показателя «Кредиты и займы (РСБУ)», передаваемое в форме Ф-4. | | `loans_ifrs` | Кредиты и займы (МСФО) | Значение показателя «Кредиты и займы (МСФО)», передаваемое в форме Ф-4. | | `net_debt_rsbu` | Чистый долг (РСБУ) | Значение показателя «Чистый долг (РСБУ)», передаваемое в форме Ф-4. | | `net_debt_ifrs` | Чистый долг (МСФО) | Значение показателя «Чистый долг (МСФО)», передаваемое в форме Ф-4. | | `debt_to_ebitda` | Долг/EBITDA | Значение показателя «Долг/EBITDA», передаваемое в форме Ф-4. | | `total_assets_rsbu` | Активы (РСБУ) | Значение показателя «Активы (РСБУ)», передаваемое в форме Ф-4. | | `total_assets_ifrs` | Активы (МСФО) | Значение показателя «Активы (МСФО)», передаваемое в форме Ф-4. | | `equity_rsbu` | Собственный капитал (РСБУ) | Значение показателя «Собственный капитал (РСБУ)», передаваемое в форме Ф-4. | | `equity_ifrs` | Собственный капитал (МСФО) | Значение показателя «Собственный капитал (МСФО)», передаваемое в форме Ф-4. | | `roe` | ROE | Значение показателя «ROE», передаваемое в форме Ф-4. | | `roa` | ROA | Значение показателя «ROA», передаваемое в форме Ф-4. | | `ros` | ROS | Значение показателя «ROS», передаваемое в форме Ф-4. | | `capex` | CAPEX | Значение показателя «CAPEX», передаваемое в форме Ф-4. | | `rd_expenses` | Затраты на НИОКР | Значение показателя «Затраты на НИОКР», передаваемое в форме Ф-4. | | `dividends_paid` | Выплаченные дивиденды | Значение показателя «Выплаченные дивиденды», передаваемое в форме Ф-4. | | `dividend_yield` | Дивидендная доходность | Значение показателя «Дивидендная доходность», передаваемое в форме Ф-4. | ### В.6. Показатели формы Ф-5 (Инвентаризация оборудования) | Поле модели | Показатель | Пояснение | |------------|-----------|----------| | `organization_name` | Наименование организации | Полное наименование организации в соответствии с отчётной формой. | | `okpo` | ОКПО | Код организации по ОКПО, используется для идентификации в отчётности. | | `ogrn` | ОГРН | Основной государственный регистрационный номер организации. | | `inn` | ИНН | Идентификационный номер налогоплательщика организации. | | `equipment_id` | Идентификационный код | Значение показателя «Идентификационный код», передаваемое в форме Ф-5. | | `inventory_number` | Инвентарный номер | Значение показателя «Инвентарный номер», передаваемое в форме Ф-5. | | `name` | Наименование оборудования | Значение показателя «Наименование оборудования», передаваемое в форме Ф-5. | | `model` | Модель | Значение показателя «Модель», передаваемое в форме Ф-5. | | `manufacturer` | Производитель | Значение показателя «Производитель», передаваемое в форме Ф-5. | | `country_origin` | Страна происхождения | Значение показателя «Страна происхождения», передаваемое в форме Ф-5. | | `is_domestic` | Отечественное производство | Значение показателя «Отечественное производство», передаваемое в форме Ф-5. | | `year_manufacture` | Год выпуска | Значение показателя «Год выпуска», передаваемое в форме Ф-5. | | `has_cnc` | Наличие ЧПУ | Значение показателя «Наличие ЧПУ», передаваемое в форме Ф-5. | | `equipment_type` | Тип оборудования | Значение показателя «Тип оборудования», передаваемое в форме Ф-5. | | `equipment_category` | Категория оборудования | Значение показателя «Категория оборудования», передаваемое в форме Ф-5. | | `commissioning_date` | Дата ввода в эксплуатацию | Значение показателя «Дата ввода в эксплуатацию», передаваемое в форме Ф-5. | | `location` | Местонахождение | Значение показателя «Местонахождение», передаваемое в форме Ф-5. | | `production_site` | Производственный участок | Значение показателя «Производственный участок», передаваемое в форме Ф-5. | | `utilization_rate` | Коэффициент использования | Значение показателя «Коэффициент использования», передаваемое в форме Ф-5. | | `physical_wear_percent` | Фактический износ, % | Значение показателя «Фактический износ, %», передаваемое в форме Ф-5. | | `is_operational` | В рабочем состоянии | Значение показателя «В рабочем состоянии», передаваемое в форме Ф-5. | | `requires_repair` | Требует ремонта | Значение показателя «Требует ремонта», передаваемое в форме Ф-5. | | `requires_replacement` | Требует замены | Значение показателя «Требует замены», передаваемое в форме Ф-5. | | `initial_cost` | Первоначальная стоимость | Значение показателя «Первоначальная стоимость», передаваемое в форме Ф-5. | | `residual_value` | Остаточная стоимость | Значение показателя «Остаточная стоимость», передаваемое в форме Ф-5. | | `notes` | Примечания | Значение показателя «Примечания», передаваемое в форме Ф-5. | ### В.7. Показатели формы Ф-6 (Возрастная структура оборудования) | Поле модели | Показатель | Пояснение | |------------|-----------|----------| | `organization_name` | Наименование организации | Полное наименование организации в соответствии с отчётной формой. | | `okpo` | ОКПО | Код организации по ОКПО, используется для идентификации в отчётности. | | `ogrn` | ОГРН | Основной государственный регистрационный номер организации. | | `inn` | ИНН | Идентификационный номер налогоплательщика организации. | | `row_code` | Код строки | Значение показателя «Код строки», передаваемое в форме Ф-6. | | `category` | Категория оборудования | Значение показателя «Категория оборудования», передаваемое в форме Ф-6. | | `total_equipment` | Всего оборудования | Значение показателя «Всего оборудования», передаваемое в форме Ф-6. | | `domestic_equipment` | Отечественное оборудование | Значение показателя «Отечественное оборудование», передаваемое в форме Ф-6. | | `imported_equipment` | Импортное оборудование | Значение показателя «Импортное оборудование», передаваемое в форме Ф-6. | | `age_under_5` | До 5 лет | Значение показателя «До 5 лет», передаваемое в форме Ф-6. | | `age_5_10` | 5-10 лет | Значение показателя «5-10 лет», передаваемое в форме Ф-6. | | `age_10_15` | 10-15 лет | Значение показателя «10-15 лет», передаваемое в форме Ф-6. | | `age_15_20` | 15-20 лет | Значение показателя «15-20 лет», передаваемое в форме Ф-6. | | `age_over_20` | Свыше 20 лет | Значение показателя «Свыше 20 лет», передаваемое в форме Ф-6. | | `cnc_total` | С ЧПУ всего | Значение показателя «С ЧПУ всего», передаваемое в форме Ф-6. | | `cnc_under_5` | С ЧПУ до 5 лет | Значение показателя «С ЧПУ до 5 лет», передаваемое в форме Ф-6. | | `cnc_5_10` | С ЧПУ 5-10 лет | Значение показателя «С ЧПУ 5-10 лет», передаваемое в форме Ф-6. | | `cnc_10_15` | С ЧПУ 10-15 лет | Значение показателя «С ЧПУ 10-15 лет», передаваемое в форме Ф-6. | | `cnc_15_20` | С ЧПУ 15-20 лет | Значение показателя «С ЧПУ 15-20 лет», передаваемое в форме Ф-6. | | `cnc_over_20` | С ЧПУ свыше 20 лет | Значение показателя «С ЧПУ свыше 20 лет», передаваемое в форме Ф-6. | | `avg_shift_work` | Средняя сменность работы | Значение показателя «Средняя сменность работы», передаваемое в форме Ф-6. | | `utilization_rate` | Коэффициент загрузки | Значение показателя «Коэффициент загрузки», передаваемое в форме Ф-6. | | `physical_wear_percent` | Физический износ, % | Значение показателя «Физический износ, %», передаваемое в форме Ф-6. | | `workplaces_without_equipment` | Рабочие места без оборудования | Значение показателя «Рабочие места без оборудования», передаваемое в форме Ф-6. | | `equipment_to_replace` | Оборудование к замене | Значение показателя «Оборудование к замене», передаваемое в форме Ф-6. |