Initial import NDC_1C
This commit is contained in:
@@ -0,0 +1,143 @@
|
||||
# Полная Инвентаризация 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`
|
||||
Reference in New Issue
Block a user