Files
NODEDC_1C/docs/relationship_evidence.json
T
2026-03-26 10:38:25 +03:00

141 lines
4.5 KiB
JSON

{
"generated_at": "2026-03-22T16:31:00",
"endpoint": "http://localhost/buh_test/odata/standard.odata/",
"source_files": [
"logs/metadata.xml",
"logs/probe_report.json",
"logs/sample_links.json",
"logs/deep_subconto_join_probe.json"
],
"chains": [
{
"chain": "A",
"name": "Document_Реализация -> Posting -> Account -> Subconto",
"status": "derivable",
"evidence": [
"Join proven by Ref_Key + LineNumber <-> Recorder + LineNumber",
"Account key consistency verified on joined sample",
"Subconto_Type extracted from linked document lines"
]
},
{
"chain": "B",
"name": "Document_Поступление -> Posting -> Accounts",
"status": "derivable",
"evidence": [
"Document_ПоступлениеТоваровУслуг readable",
"Recorder bridge to accounting register",
"AccountDr/AccountCr present"
]
},
{
"chain": "C",
"name": "Counterparty -> Contract -> Documents -> Movements",
"status": "derivable",
"evidence": [
"Catalog_Контрагенты + Catalog_ДоговорыКонтрагентов readable",
"Owner_Key / Контрагент_Key / ДоговорКонтрагента_Key present",
"Movement join via recorder derivable"
]
},
{
"chain": "D",
"name": "Bank docs -> BankAccount -> Movements",
"status": "derivable",
"evidence": [
"Document_СписаниеСРасчетногоСчета readable",
"Document_ПоступлениеНаРасчетныйСчет readable",
"Bank/account keys + register join available"
]
},
{
"chain": "E",
"name": "Document_ОперацияБух -> AccountingRegister -> Explainability",
"status": "derivable",
"evidence": [
"Document_ОперацияБух readable",
"AccountingRegister_Хозрасчетный and RecordType readable",
"Recorder/account fields allow explainability graph base"
]
},
{
"chain": "F",
"name": "ChartOfAccounts -> SubcontoType -> Posting",
"status": "derivable",
"evidence": [
"Posting account keys are directly readable",
"Subconto_Type is available on linked document line entities",
"Mapping is data-driven; direct normative chart field mapping is not exposed"
]
}
],
"relations": [
{
"relation": "Document->Posting",
"status": "derivable",
"evidence": "Recorder bridge in accounting register (+ LineNumber on deep probe)"
},
{
"relation": "Posting->debitAccount",
"status": "direct",
"evidence": "AccountDr_Key"
},
{
"relation": "Posting->creditAccount",
"status": "direct",
"evidence": "AccountCr_Key"
},
{
"relation": "Posting->Organization",
"status": "direct",
"evidence": "Организация_Key"
},
{
"relation": "Document->Counterparty",
"status": "direct",
"evidence": "Контрагент_Key in documents"
},
{
"relation": "Document->Contract",
"status": "direct",
"evidence": "ДоговорКонтрагента_Key in documents"
},
{
"relation": "Counterparty->Contract",
"status": "direct",
"evidence": "Owner_Key in contracts"
},
{
"relation": "Organization->BankAccount",
"status": "direct",
"evidence": "ОсновнойБанковскийСчет_Key and СчетОрганизации_Key"
},
{
"relation": "Posting->SubcontoType",
"status": "derivable",
"evidence": "Deep join proof in logs/deep_subconto_join_probe.json"
}
],
"write_guard": {
"endpoint": "http://localhost/buh_test/odata/standard.odata/$metadata",
"post_status": 405,
"patch_status": 405,
"delete_status": 405,
"note": "transport-level check; role-level deny should be audited in 1C"
},
"hard_gate_2026_03_22": {
"source": "logs/deep_accounting_mvp_gate.json",
"document_to_posting_to_accounts": "pass",
"posting_to_subconto123_to_counterparty_contract_item": "fail",
"saldo_explainability_from_movements": "pass",
"verdict": "Not yet sufficient for MVP accounting ontology; deeper access is justified for failed checks."
},
"deep_probe_snapshot": {
"tested_document_key": "b8661088-b0f2-11e4-9980-5404a6c12c2c",
"posting_rows_for_document": 108,
"line_rows_for_document": 36,
"joined_rows": 36,
"account_match": true
}
}