NODEDC_1C/docs/toolkit_semantic_probe_repo...

78 lines
3.8 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.

# 1C MCP Toolkit Semantic Probe Report
Дата обновления: 2026-03-23
## 1. Цель probe
Проверить воспроизводимо три жёсткие цепочки:
1. `document -> posting -> debit/credit account`
2. `posting -> subconto[1..3] -> counterparty / contract / item`
3. Объяснение одного реального остатка/сальдо через набор движений
## 2. Ограничения
- Только read-only вызовы.
- `execute_code` не используется.
- Локальный контур.
## 3. Матрица статусов
| Цепочка | Статус | Комментарий |
|---|---|---|
| document -> posting -> debit/credit account | PROVEN | Есть реальная проводка + чтение документа по ссылке |
| posting -> subconto[1..3] -> counterparty/contract/item | PROVEN | Зафиксированы реальные примеры по контрагент/договор и номенклатура |
| balance/saldo -> movements explanation | PROVEN | Сальдо счёта совпало с агрегатом движений (delta = 0) |
## 4. Доказательства
### 4.1 `document -> posting -> debit/credit account`
- Пример проводки:
- Регистратор: `Счет-фактура полученный 00000000001 от 03.08.2030 12:00:00`
- Дт: `68.02`
- Кт: `19.04`
- Сумма: `500`
- Документ по ссылке успешно прочитан через `get_object_by_link`.
Артефакты:
- `X:\1C\NDC_1C\docs\snapshots\toolkit\semantic_context_row_with_org.json`
- `X:\1C\NDC_1C\docs\snapshots\toolkit\get_link_of_object_doc_live.json`
- `X:\1C\NDC_1C\docs\snapshots\toolkit\get_object_by_link_doc_live.json`
### 4.2 `posting -> subconto[1..3] -> counterparty / contract / item`
- Пример `counterparty + contract`:
- `СубконтоКт1 (Контрагенты)` = `Ассоциация "СРО"СОВЕТ ПРОЕКТИРОВЩИКОВ"`
- `СубконтоКт2 (Договоры)` = `дело А40-201628/21`
- Пример `item`:
- `СубконтоКт1 (Номенклатура)` = `Портьерные шторы Garden kolor`
- В том же движении есть `СубконтоКт3 (Склады)` = `Основной склад`
Артефакты:
- `X:\1C\NDC_1C\docs\snapshots\toolkit\subconto_examples_selected.json`
- `X:\1C\NDC_1C\docs\snapshots\toolkit\subconto_item_value_example.json`
### 4.3 `balance/saldo -> movements explanation`
- Счёт: `68.02`
- Из `Остатки` (агрегат по счёту): `СальдоИтого = 28363.8`
- Из `ДвиженияССубконто`:
- `ОборотДт = 49600886.74`
- `ОборотКт = 49572522.94`
- `СальдоПоДвижениям = 28363.8`
- Сверка: `delta = 0.0` (полное совпадение)
Артефакты:
- `X:\1C\NDC_1C\docs\snapshots\toolkit\q_saldo_account_total.json`
- `X:\1C\NDC_1C\docs\snapshots\toolkit\q_saldo_account_movements_total.json`
## 5. Техническое замечание
Для полиморфных `Субконто` прямые сравнения в некоторых запросах давали ошибку совместимости типов; для check #3 использован устойчивый account-level срез (реальный бухгалтерский счёт + агрегаты по движениям).
## 6. Вывод
Три обязательные проверки закрыты в read-only режиме.
По критерию семантической доказуемости для MVP: `OData sufficient for broad read` + `toolkit confirms deeper runtime semantics` в живом контуре.