Files
NODEDC_1C/docs/odata_full_inventory_2026-03-22.md
T
2026-03-26 10:38:25 +03:00

144 lines
6.2 KiB
Markdown

# Полная Инвентаризация 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`