NODEDC_1C/docs/odata_full_inventory_2026-0...

144 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Полная Инвентаризация OData (2026-03-22)
## 1. Текущее Состояние Интеграции
- OData endpoint: `http://localhost/buh_test/odata/standard.odata/`
- Metadata endpoint: `http://localhost/buh_test/odata/standard.odata/$metadata`
- Web сервер: IIS (`Microsoft-IIS/10.0`)
- Аутентификация: Basic (`realm="1C:Enterprise 8.3"`)
- Интеграционный пользователь: `ndc_probe`
- Режим доступа: read-only (подтверждено командой; role-deny на запись нужно хранить и проверять в 1С)
## 2. Что Мы Имеем По Metadata
Из `logs/metadata.xml` и `logs/entity_sets_annotated.json`:
- Всего entity sets: `1189`
- Приоритетных по ключевым словам: `602`
- Семейств сущностей: `11`
### Разрез По Семействам
| Семейство | Кол-во |
|---|---:|
| `Document_*` | 517 |
| `InformationRegister_*` | 270 |
| `Catalog_*` | 162 |
| `AccumulationRegister_*` | 102 |
| `Constant_*` | 95 |
| `DocumentJournal_*` | 21 |
| `ExchangePlan_*` | 14 |
| `ChartOfCharacteristicTypes_*` | 4 |
| `AccountingRegister_*` | 2 |
| `ChartOfAccounts_*` | 1 |
| `ChartOfCalculationTypes_*` | 1 |
## 3. Ключевые Бизнес-Сущности (Проверка Наличия)
Подтверждено наличие в metadata:
- `Catalog_Контрагенты`
- `Catalog_ДоговорыКонтрагентов`
- `Catalog_Организации`
- `Catalog_БанковскиеСчета`
- `Catalog_Номенклатура`
- `Document_ПоступлениеТоваровУслуг`
- `Document_РеализацияТоваровУслуг`
- `Document_СписаниеСРасчетногоСчета`
- `Document_ПоступлениеНаРасчетныйСчет`
- `AccountingRegister_Хозрасчетный`
## 4. Что Подтверждено Probe-Запросами
Источник: `logs/probe_report.json` (прогон от `2026-03-22T12:30:33Z`).
- Целевых сущностей в прогоне: `8`
- Успешных: `8`
- Ошибок: `0`
| Сущность | Записей | Подозреваемых link-полей |
|---|---:|---:|
| `Catalog_Контрагенты` | 5 | 7 |
| `Catalog_ДоговорыКонтрагентов` | 5 | 9 |
| `Catalog_Организации` | 3 | 9 |
| `Catalog_БанковскиеСчета` | 5 | 5 |
| `Document_АвансовыйОтчет` | 5 | 7 |
| `Document_ПоступлениеТоваровУслуг` | 5 | 13 |
| `Document_РеализацияТоваровУслуг` | 5 | 24 |
| `AccountingRegister_Хозрасчетный` | 5 | 1 |
## 5. Связи, Которые Уже Видны В Данных
Источник: `logs/sample_links.json`.
### 5.1 Контрагенты
`Catalog_Контрагенты` содержит ссылочные поля:
- оловнойКонтрагент_Key`
- `ОсновнойДоговорКонтрагента_Key`
- `ОсновнойБанковскийСчет_Key`
- `СтранаРегистрации_Key`
### 5.2 Договоры
`Catalog_ДоговорыКонтрагентов` содержит:
- `Owner_Key` (владелец/контрагент)
- `Организация_Key`
- `ВалютаВзаиморасчетов_Key`
- `ВидВзаиморасчетов_Key`
### 5.3 Документы
`Document_ПоступлениеТоваровУслуг` показывает связи на:
- `Контрагент_Key`
- оговорКонтрагента_Key`
- `Организация_Key`
- `Склад_Key`
- `СчетУчетаРасчетовСКонтрагентом_Key`
`Document_РеализацияТоваровУслуг` показывает расширенный граф:
- контрагент и договор
- организация и банковский счет
- набор счетов учета расчетов/доходов/расходов
- дополнительные ролевые связи (ответственные, руководитель и т.д.)
### 5.4 Проводки/учетный регистр
`AccountingRegister_Хозрасчетный` читается и содержит ссылку `Recorder`, что дает базу для цепочки:
`Проводка -> Регистратор (документ) -> Контрагент/Договор/Организация`.
## 6. Что Это Значит Для MVP
Уже сейчас подтверждена техническая возможность:
1. Читать живые данные 1С по OData без ручных выгрузок.
2. Строить канонический слой не только по плоским записям, но и по ссылочным связям.
3. Реализовать прикладные эндпоинты:
- документы за период,
- документы контрагента,
- проводки по счету,
- граф связей документа.
## 7. Ограничения На Текущий Момент
1. Часть регистров в выборке может вернуть `0` строк из-за малого окна `top` и фактического наполнения данных.
2. Read-only модель подтверждена организационно, но технический контроль write-deny нужно держать на уровне роли 1С.
3. Для production-сценариев нужны целевые query-шаблоны, а не только универсальный `top`.
## 8. Где Лежит Полный Снэпшот Всех Сущностей
- Полный JSON-снэпшот: `docs/snapshots/entity_sets_snapshot_2026-03-22.json`
- Полный Markdown-снэпшот: `docs/snapshots/entity_sets_snapshot_2026-03-22.md`
Оба файла содержат весь список (`1189`) entity sets.
## 9. Артефакты Проверки
- `logs/metadata.xml`
- `logs/entity_sets.json`
- `logs/entity_sets_annotated.json`
- `logs/entity_sets_annotated.txt`
- `logs/probe_report.json`
- `logs/sample_links.json`