Skip to main content
Glama
1c-odata-mcp

1c-odata-mcp

by foxnaim

Сохранить точную настройку счетов расчётов

write.accounting.set_contract_settlement_settings

Create or update contract settlement settings for a specified organization and counterparty, with preview-and-confirm safeguards and concurrency checks for 1C accounting writes.

Instructions

Создаёт отсутствующую настройку (create) либо меняет явно указанные ресурсы (update) с expectedDataVersion и If-Match, когда DataVersion опубликован. Только если metadata не содержит DataVersion, update требует singleWriter=true (владелец подтвердил отсутствие параллельных изменений); If-Match не отправляется, атомарной защиты от конкуренции нет. Предпросмотр связан с текущей записью. scope=contract требует договор; counterparty/group сохраняет настройку точного контрагента/группы без договора. Проверяет организацию, IsFolder и отсутствие удаления; для договора также владельца, организацию и валюту. Сначала предпросмотр; подтверждение с теми же аргументами и operationId. Глобальные настройки и удаление недоступны. Старое имя set_contract_settlement_settings поддерживает только договор. Прочее не получает толкование займа/расхода.

Input Schema

NameRequiredDescriptionDefault
modeYes
confirmNo
accountsYes
databaseNoИмя базы 1С из list_databases. Без указания — база по умолчанию.
contractRefYes
operationIdNoUUID из предпросмотра. Передайте его при confirm=true, чтобы повтор не создал дубликат.
singleWriterNoТолько для update без DataVersion в metadata: подтверждение отсутствия параллельного изменения настроек. Не отменяет CAS при опубликованной версии.
settlementKindYes
counterpartyRefYes
organizationRefYes
expectedDataVersionNo

Output Schema

NameRequiredDescriptionDefault
refNo
noteNo
notesNo
dryRunNo
fieldsNo
updatedNo
databaseNo
replayedNo
verifiedNo
entitySetNo
willPatchNo
descriptionNo
operationIdNo
readbackNoteNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.12.0

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: it discloses the CAS/If-Match protocol, explicitly warns that when metadata has no DataVersion there is no atomic concurrency protection, lists the validations performed (organization, IsFolder, no deletion; plus owner, organization and currency for contracts), and describes the preview-then-confirm flow with operationId idempotency. The destructiveHint=false annotation is consistent with the stated 'deletion unavailable' constraint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The content is front-loaded and information-dense, but it is delivered as a single run-on paragraph where security caveats, scope rules, validation lists and preview flow all run together. The dangling 'scope=contract' reference and the trailing remark about loan/expense interpretation add confusion rather than clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter mutation with a preview/confirm protocol, the description covers the workflow, concurrency model and validation well, and an output schema exists so return values need not be explained. The remaining gap is the entirely undescribed accounts payload and the scope parameter that appears in prose but not in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 27%, so the description must compensate, and it does explain expectedDataVersion/If-Match, singleWriter, operationId and confirm semantics well. However, it says nothing about the accounts object's four UUID fields (customerAdvance, supplierAdvance, customerSettlement, supplierSettlement), the settlementKind enum values, or the mode enum, and it introduces a scope concept absent from the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete verb pair and resource: it creates a missing settlement-account setting (create) or changes explicitly listed resources (update), and it carves out scope by noting that global settings and deletion are not available. It does not name the closest sibling (write.accounting.set_settlement_settings) directly, so the differentiation is implied through the global-settings exclusion rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Strong when-to-use content: create vs update, when singleWriter is mandatory, that scope=contract requires a contract while counterparty/group do not, and that a preview must precede confirmation with identical arguments and operationId. The guidance is slightly muddied by referencing a scope parameter that does not exist in the schema and by the confusing note about the old tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools