NODEDC_1C/docs/HARD_SEMANTIC/odata_full_inventory_2026-0...

6.2 KiB
Raw Permalink Blame History

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