28 KiB
code, title
| code | title |
|---|---|
| DOC-221280 | 6. Справочник "Группы компаний и организации" |
6. Справочник "Группы компаний и организации"
Структура справочника:
ссылка на модель данных: 2. Модель данных (сущности)
Статусная модель справочника:
Ролевая модель справочника:
Визуальная форма справочника:
Экран открывается из бокового меню, раздел "Справочники", пункт "Справочник: ГК и организации". Заголовок страницы "Группы компаний и организаций", справа кнопка "Импорт из файла". Ниже - панель фильтров, под ней рабочая область из двух панелей:
- левая панель "Группы компаний" - список ГК;
- правая панель - состав выбранной ГК с вкладками "ЮЛ", "ГСК", "ГСЗ".
Фильтры:
- Фильтр "Базовый РФ" - выпадающий список филиалов (значение по умолчанию "Все РФ"), ограничивает список ГК группами выбранного филиала;
- Строка поиска "Поиск по наименованию или ID" - поиск по наименованию и CRM ID группы.
Левая панель "Группы компаний":
Панель отображает все Группы компаний по выбранным фильтрам, а также счетчик компаний и дает возможность создать ГК. Список ГК содержит - наименование ГК, ID ГК в CRM, счетчик организаций.
Правая панель "Состав ГК"
Показывает компании выбранной ГК. В панели существует несколько вкладок:
- ЮЛ - таблица организаций выбранной ГК. Отображаются активные записи, есть возможность активировать чек-бокс "Архив", который делает видимыми архивные компании. На вкладке есть возможность создать новую компанию в выбранном ГК.
- ГСК - таблица со всеми ГСК, входящих в выбранный ГК. На вкладке есть возможность создать новую ГСК в выбранном ГК.
- ГСЗ - таблица со всеми ГСЗ, входящих в выбранный ГК. На вкладке есть возможность создать новую ГСЗ в выбранном ГК.
Модальные окна справочника:
Создать / Изменить группу компаний
| Поле | Системное наименование | Правила заполнения | Обязательность |
|---|---|---|---|
| Название ГК | name | ручной ввод | да |
| ID ГК в CRM | crm_id | ручной ввод при наличии ID из CRM | да, уникальное |
| Базовый РФ ГК | base_regional_office_id | выбор из regional_office | да |
Создать / Изменить юридическое лицо
| Поле | Системное наименование | Правила заполнения | Обязательность |
|---|---|---|---|
| ИНН | inn | ручной ввод | да, 10 знаков для ЮЛ и 12 для ИП |
| ID ЮЛ в CRM | crm_id | ручной ввод | уникальность |
| Тип | entity_type | выбор: ЮЛ / ИП | да |
| Наименование организации | name | ручной ввод | да |
| Альтернативные наименования | legal_entity_alias | ввод синонима (возможно несколько значений) | нет |
| Входит в ГСК | related_group_member (kind = gsk) | выбор одной ГСК из групп текущей ГК | нет |
| Входит в ГСЗ | related_group_member (kind = gsz) | выбор одной ГСЗ | нет |
Перевести ЮЛ в другую ГК
Снимок прежнего состояния пишется в legal_entity_history , у записи меняется company_group_id.
| Поле | Системное наименование | Правила заполнения | Обязательность |
|---|---|---|---|
| ЮЛ | legal_entity.name | нет | |
| Текущая ГК | company_group.name | нет | |
| Новая ГК | company_group_id | выбор из справочника ГК | да |
| ?? Дата перевода | дата события | выбор даты | да |
Вывести ЮЛ из состава ГК
Запись переходит в архив с выбранным событием, текущие версии нахождения в ГСК/ГСЗ закрываются.
| Поле | Системное наименование | Правила заполнения | Обязательность |
|---|---|---|---|
| ЮЛ | legal_entity.name | - | |
| Событие | тип события | выбор: "Закрытие" / "Переход в другую ГК" | да |
| Дата закрытия | close_date | выбор даты | да |
| Комментарий | комментарий события | текст | нет |
Создать / Изменить ГСК и ГСЗ
Группа создается в рамках выбранной ГК. Состав участников ведется через поле "Входит в ГСК/ГСЗ" карточки ЮЛ.
| Поле | Системное наименование | Правила заполнения | Обязательность |
|---|---|---|---|
| ID ГСК (ГСЗ) в CRM | related_group.code | ручной ввод | уникальность |
| Наименование | related_group.name | ручной ввод | да |
| Дата создания | related_group.created_date | выбор даты | да |
Импорт групп компаний из файла
Маппинг: ИНН -> legal_entity.inn, Наименование -> legal_entity.name, Тип -> legal_entity.entity_type, Базовый РФ ГК -> regional_office (поиск по наименованию), ID ГК -> company_group.crm_id (поиск существующей ГК, при отсутствии - создание). Строка с ошибкой не импортируется: сообщение пишется в лог, обработка продолжается со следующей строки. Дубль ИНН обрабатывается по выбранной стратегии - пропуск или обновление записи.
Итоговая визуальная форма созданных записей:
| ИНН | iD ГК | Базовый РФ ГК в CRM | Группа компаний | Организация | входит в ГСК | входит в ГСЗ | Тип |
| //поиск по полю | //поиск по полю | //поиск по полю | //поиск по полю | //поиск по полю | //поиск по полю | //поиск по полю | //поиск по полю |
| 1626011106 | 1-5A6WW8Q | Татарстанский РФ | РМ Агро | ООО АПК "Продовольственная Программа" | да | да | ЮЛ |
| 1626011089 | 1-5A6WW8Q | Татарстанский РФ | РМ Агро | ООО "РМ Агро" | да | да | ЮЛ |
| 162600787296 | 1-5A6WW8Q | Татарстанский РФ | РМ Агро | ИП Мутигуллин Р.М. | да | ИП | |
| 3606007641 | 1-5APQRQT | Воронежский РФ | Молвест | ООО Мамоновские фермы | да | входит в ГСЗ | ЮЛ |
| 3601011500 | 1-5APQRQT | Воронежский РФ | Молвест | ООО ЭкоКорм | да | входит в ГСЗ | ЮЛ |
| 3662104342 | 1-5APQRQT | Воронежский РФ | Молвест | ООО Партнер – МК | ЮЛ | ||
| 3612007495 | 1-5APQRQT | Воронежский РФ | Молвест | ООО Новомарковское | ЮЛ | ||
| 3606000283 | 1-5APQRQT | Воронежский РФ | Молвест | ОАО Завод молочный Верхнемамонский | ЮЛ | ||
| 3603004667 | 1-5APQRQT | Воронежский РФ | Молвест | ОАО Богучармолоко | ЮЛ | ||
| 3601011404 | 1-5APQRQT | Воронежский РФ | Молвест | ЗАО Агрокомбинат Николаевский | ЮЛ | ||
| 7743096552 | 1-5APQRQT | Воронежский РФ | Молвест | ООО РОСОМУ | ЮЛ | ||
| 3612006533 | 1-5APQRQT | Воронежский РФ | Молвест | ООО Продвижение | ЮЛ | ||
| 2321003134 | 1-5APQRQT | Воронежский РФ | Молвест | ЗАО Сыркомбинат Тихорецкий | ЮЛ | ||
| 7303004208 | 1-5APQRQT | Воронежский РФ | Молвест | ОАО Молочный завод | ЮЛ | ||
| 3606007673 | 1-5APQRQT | Воронежский РФ | Молвест | ООО Луч | ЮЛ |
Пользовательские сценарии:
схема процесса
UC-01 Добавление нового РФ
UC-01: Добавление регионального филиала (Базовый РФ)
Общая информация
| Параметр | Значение |
|---|---|
| ID | UC-01 |
| Название | Добавление регионального филиала (Базовый РФ) |
| Основной актер | Администратор |
| Вторичные актеры | Система, Администратор |
| Предусловия | Пользователь авторизован, имеет роль Администратор или выше |
Основной поток (Basic Flow)
- Пользователь открывает справочник Состав групп компаний.
- В тулбаре нажимает кнопку Добавить региональный филиал.
- Система открывает модальное окно с формой:
- region_code (varchar(20)) — ручной ввод, обязательно, проверка на уникальность
- region_name (varchar(100)) — ручной ввод, обязательно
- crm_system_id (varchar(50)) — ручной ввод, опционально
- description (text) — опционально
- Пользователь заполняет обязательные поля и нажимает Сохранить.
- Система валидирует данные:
- Проверка уникальности region_code
- Проверка формата полей
- При успешной валидации система создает запись в ref_crm_region со статусом active.
- Система закрывает модальное окно, обновляет список, показывает уведомление Региональный филиал успешно добавлен.
- Система записывает действие в аудит-лог.
Альтернативные потоки
A1: Ошибка валидации (дубликат region_code)
- На шаге 5 система обнаруживает, что region_code уже существует.
- Система показывает ошибку: Код региона уже существует.
- Пользователь исправляет значение или отменяет операцию.
- Возврат к шагу 4.
A2: Отмена создания
- На шаге 4 пользователь нажимает
Отмена. - Система закрывает модальное окно без сохранения.
- Возврат к шагу 1.
Постусловия
- Новая запись в ref_crm_region доступна для выбора при создании группы компаний.
- Запись отображается в справочнике с возможностью поиска.
UC-02 Добавление новой ГК
UC-02: Создание группы компаний
Общая информация
| Параметр | Значение |
|---|---|
| ID | UC-02 |
| Название | Создание группы компаний |
| Основной актер | Аналитик |
| Предусловия | Пользователь авторизован; существует хотя бы один региональный филиал в ref_crm_region |
Основной поток
- Пользователь открывает справочник нажимает
Добавить группу компаний. - Система открывает модальное окно с формой:
| Поле | Системное имя | Тип | Обязательность | Валидация |
|---|---|---|---|---|
| Идентификатор в справочнике | group_id | auto | да | автогенерация (UUID или последовательность) |
| ID Группы в CRM | crm_group_id | varchar(20) | нет | уникальность, формат ^1-[A-Z0-9]{7}$ |
| Наименование группы | group_name | varchar(200) | да | — |
| Региональный филиал | region_code | FK ref_crm_region | да | выбор из справочника |
| Статус | status | enum | нет | по умолчанию active |
- Пользователь заполняет данные нажимает Сохранить.
- Система валидирует:
- Уникальность crm_group_id (если заполнен)
- Наличие region_code в справочнике
- Система показывает уведомление, обновляет список.
Альтернативные потоки
A1: CRM ID не соответствует формату
- Если crm_group_id не соответствует паттерну ^1-[A-Z0-9]{7}$, система показывает предупреждение: ID группы в CRM должен иметь формат 1-XXXXXXX.
- Пользователь может исправить или сохранить без CRM ID.
A2: Группа с таким наименованием уже существует
- Система проверяет уникальность group_name в пределах region_code.
- При дубликате: ошибка Группа с таким именем уже существует в выбранном регионе.
Постусловия
- Группа создан, готова к добавлению организаций.
- Запись доступна для редактирования и поиска.
UC-03 Добавление организации
UC-03: Добавление организации в группу
Общая информация
| Параметр | Значение |
|---|---|
| ID | UC-03 |
| Название | Добавление организации в группу |
| Основной актер | Аналитик |
| Предусловия | Существует активная группа в consolidation_group ; пользователь имеет роль Аналитик |
Основной поток
- Пользователь нажимает кнопку Добавить организацию в тулбаре.
- Система открывает модальное окно с формой:
| Поле | Системное имя | Тип | Обязательность | Примечание |
|---|---|---|---|---|
| Группа | group_id | FK | да | выбор из consolidation_group |
| Наименование организации | full_name | varchar(300) | да | — |
| ИНН | inn | varchar(12) | да | уникальность, 10/12 знаков по типу |
| Тип организации | org_type_code | FK ref_org_type | да | ЮЛ, ИП, ФЛ, нерез. |
| Базовый РФ ГК | region_code | FK ref_crm_region | да | автозаполнение из группы |
| Флаг ГСК | is_gsk | boolean | нет | по умолчанию false |
| Флаг ГСЗ | is_gsz | boolean | нет | по умолчанию false |
- Пользователь заполняет форму нажимает Сохранить.
- Система валидирует:
- Уникальность inn в пределах Organizations
- Соответствие длины ИНН типу организации (10 для ЮЛ, 12 для ИП)
- Наличие group_id в consolidation_group
- При успехе система:
- Создает запись в Organizations (если ИНН новый)
- Создает запись в group_membership с membership_from = CURRENT_DATE
- Система показывает уведомление, обновляет список.
Альтернативные потоки
A1: Организация с таким ИНН уже существует
- Система находит существующую организацию по inn.
- Предлагает пользователю: Организация с таким ИНН уже существует.
A2: Некорректный формат ИНН
- Если длина ИНН не соответствует типу (например, 11 знаков для ЮЛ), система показывает ошибку.
- Пользователь исправляет или меняет тип организации.
A3: Попытка добавить организацию в архивную группу
- Если consolidation_group.status = archived, система блокирует действие с сообщением: Нельзя добавить организацию в архивную группу.
Постусловия
- Организация привязана к группе через group_membership.
- Запись отображается в итоговой форме справочника.
UC-04 Редактирование текущей организации
UC-03: Редактирование карточки организации
Общая информация
| Параметр | Значение |
|---|---|
| ID | UC-03 |
| Название | Редактирование карточки организации |
| Основной актер | Аналитик |
| Предусловия | Существует активная группа в consolidation_group ; пользователь имеет роль Аналитик |
Основной поток
- Пользователь выбирает в списочной форме запись с нужной организацией (поиск по ИНН, наименованию организации, наименованию текущей привязанной ГК и так далее) и двойным кликом по записи открывает запись
- Система открывает модальное окно с формой:
| Поле | Системное имя | Тип | Обязательность | Примечание |
|---|---|---|---|---|
| Группа | group_id | FK | да | выбор из consolidation_group |
| Наименование организации | full_name | varchar(300) | да | — |
| ИНН | inn | varchar(12) | да | уникальность, 10/12 знаков по типу |
| Тип организации | org_type_code | FK ref_org_type | да | ЮЛ, ИП, ФЛ, нерез. |
| Базовый РФ ГК | region_code | FK ref_crm_region | да | автозаполнение из группы |
| Флаг ГСК | is_gsk | boolean | нет | по умолчанию false |
| Флаг ГСЗ | is_gsz | boolean | нет | по умолчанию false |
- Пользователь редактирует форму (указывает иную ГК, меняет тип ЮЛ, редактирует ИНН, проставляет чекбоксы ГСК и ГСЗ) нажимает Сохранить.
- Система валидирует:
- Уникальность inn в пределах Organizations
- Соответствие длины ИНН типу организации (10 для ЮЛ, 12 для ИП)
- Наличие group_id в consolidation_group
- При успехе система:
- Создает запись в Organizations (если ИНН новый)
- Система показывает уведомление, обновляет список.
Альтернативные потоки
A1: Организация с таким ИНН уже существует
- Система находит существующую организацию по inn.
- Предлагает пользователю: Организация с таким ИНН уже существует.
A2: Некорректный формат ИНН
- Если длина ИНН не соответствует типу (например, 11 знаков для ЮЛ), система показывает ошибку.
- Пользователь исправляет или меняет тип организации.
A3: Попытка добавить организацию в архивную группу
- Если consolidation_group.status = archived, система блокирует действие с сообщением: Нельзя добавить организацию в архивную группу.
Постусловия
- Организация привязана к группе через group_membership.
- Запись отображается в итоговой форме справочника.
UC-05 Импорт записей справочника из внешней CRM
UC-04: Импорт данных из Excel-файла
Общая информация
| Параметр | Значение |
|---|---|
| ID | UC-04 |
| Название | Импорт данных из Excel-файла |
| Основной актер | Администратор |
| Предусловия | Файл подготовлен в формате .xls/.xlsx ; структура соответствует маппингу |
Основной поток
- Пользователь нажимает
кнопку Импортв тулбаре. - Система открывает модальное окно выбора файла.
- Пользователь выбирает файл нажимает
Загрузить. - Система читает файл, отображает предпросмотр с маппингом колонок:
| Колонка Excel | Целевое поле | Обязательность |
|---|---|---|
| ИНН | organization.inn |
да |
| iD ГК | consolidation_group.group_id |
да |
| Базовый РФ ГК в CRM | consolidation_group.region_code |
да |
| Группа компаний | consolidation_group.group_name |
да |
| Организация | organization.full_name |
да |
| ГСК | group_membership.is_gsk |
нет |
| ГСЗ | group_membership.is_gsz |
нет |
| Тип | organization.org_type_code |
да |
-
Пользователь подтверждает импорт система начинает обработку.
-
Для каждой строки файла:
- Валидация обязательных полей
- Проверка уникальности
innиgroup_id - Создание/обновление записей в
consolidation_group,organization,group_membership - При ошибке: запись в лог, переход к следующей строке
-
По завершении система показывает отчет:
1
2
3 -
Пользователь может скачать детальный лог импорта.
Альтернативные потоки
A1: Файл не соответствует формату
- Если файл не
.xls/.xlsxили структура не соответствует маппингу, система возвращает ошибку на шаге 4. - Предложение: Скачать шаблон файла для импорта.
A2: Критическая ошибка валидации
- Если 20% строк содержат ошибки, система останавливает импорт и запрашивает подтверждение: Продолжить импорт с пропуском ошибочных строк?
A3: Конфликт данных (дубль ИНН)
- При обнаружении дубликата
innсистема:- Не создает новую организацию
- Создает запись в
group_membershipдля существующей организации (если группа другая) - Записывает предупреждение в лог
Постусловия
- Успешные строки отражены в справочнике.
- Ошибочные строки зафиксированы в логе для ручной обработки.
- Все изменения записаны в аудит.
Бизнес-правила
- Пустые значения в необязательных полях (
is_gsk,is_gsz) интерпретируются какfalse.







