144 lines
6.2 KiB
Markdown
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`
|