Initial commit
This commit is contained in:
commit
41d230d524
163 files changed
+11500
No files matched your search
@@ -0,0 +1,39 @@
|
||||
# Модуль: Организация
|
||||
|
||||
**Ответственность**: описывает единый нормализованный профиль юридического лица и его фирменных ресурсов.
|
||||
**Расположение**: `.template/lib/domain/company.typ`
|
||||
|
||||
## Публичный интерфейс
|
||||
|
||||
| Символ | Тип | Описание |
|
||||
|--------|-----|----------|
|
||||
| `company-profile()` | конструктор dictionary | Создаёт профиль из секций `legal`, `contacts`, `banking`, `brand`, `director`, `resources` |
|
||||
| `validate-company()` | функция | Проверяет обязательные реквизиты и типы необязательных полей |
|
||||
| `company-display-name()` | чистая функция | Возвращает полное или краткое наименование по политике профиля |
|
||||
| `company-resource()` | чистая функция | Возвращает нормализованное значение ресурса из уже построенного profile |
|
||||
|
||||
## Зависимости
|
||||
|
||||
| Модуль | Что использует |
|
||||
|--------|----------------|
|
||||
| Нет | Domain не читает JSON и не строит пути |
|
||||
|
||||
## Инварианты
|
||||
|
||||
- `id`, полное наименование и юрисдикция заданы.
|
||||
- ИНН/КПП/ОГРН и БИН/КБЕ хранятся как строки, чтобы не терять ведущие нули и формат.
|
||||
- Контактные и банковские поля имеют единые ключи для всех компаний; неприменимое поле равно `none`.
|
||||
- Brand color нормализован до color до передачи renderer.
|
||||
- Логотип, подпись и печать имеют значение `none`, `path` или готовый content; произвольная строка после infrastructure-нормализации не допускается.
|
||||
- Director содержит должность и ФИО; ресурсы подписи и печати хранятся отдельно и не задают координаты на странице.
|
||||
|
||||
## Намеренно НЕ обрабатывает
|
||||
|
||||
- Поиск компании по содержимому документа.
|
||||
- Чтение `.template/companies/` и `.private/`.
|
||||
- Отрисовку логотипа, подписи, печати и реквизитов.
|
||||
- Валидацию законодательства конкретной юрисдикции.
|
||||
|
||||
## Заметки для агента
|
||||
|
||||
> Существующие JSON-файлы отличаются по набору полей. Нормализуйте их через infrastructure, не добавляйте условные ключи в renderer. Для РФ и Казахстана используйте общую структуру с `none` для неприменимых идентификаторов. Не переносите пользовательские изображения в CompanyProfile.
|
||||
Reference in new issue
Block a user