АРЧ АП11 - Архитектура после регресса: Архитектура: сохранить свежую дату при inventory root restore и очистить data-scope ответы от грязных лейблов
This commit is contained in:
@@ -34,14 +34,14 @@ const FALLBACK_REGISTRY: CapabilityRegistry = {
|
||||
{
|
||||
group_code: "vat",
|
||||
group_title: "НДС",
|
||||
description: "Срезы и расчеты НДС на базе данных 1С.",
|
||||
description: "Срезы и расчёты НДС на базе данных 1С",
|
||||
risk_level: "high",
|
||||
maturity_status: "partial",
|
||||
supported_operations: ["vat_period_snapshot", "vat_payable_forecast"],
|
||||
unsupported_operations: ["submit_tax_declaration"],
|
||||
required_entities: ["period", "organization"],
|
||||
optional_entities: ["counterparty"],
|
||||
typical_queries: ["Сколько НДС к уплате за период?"],
|
||||
typical_queries: ["Сколько НДС к уплате за период?", "Покажи срез НДС на дату"],
|
||||
related_routes: [],
|
||||
safe_alternatives: ["Показать движения по 68/19 за период"],
|
||||
one_c_hints: ["РегистрБухгалтерии.Хозрасчетный"]
|
||||
@@ -49,22 +49,71 @@ const FALLBACK_REGISTRY: CapabilityRegistry = {
|
||||
{
|
||||
group_code: "counterparties",
|
||||
group_title: "Контрагенты",
|
||||
description: "Документы, операции, договоры и срезы по контрагентам.",
|
||||
description: "Документы, операции, договоры и активность по контрагентам",
|
||||
risk_level: "medium",
|
||||
maturity_status: "production_ready",
|
||||
supported_operations: ["list_documents_by_counterparty", "list_contracts_by_counterparty"],
|
||||
unsupported_operations: ["edit_counterparty_card"],
|
||||
required_entities: ["counterparty_scope_or_contract"],
|
||||
optional_entities: ["period", "organization"],
|
||||
typical_queries: ["Покажи документы по контрагенту"],
|
||||
typical_queries: ["Покажи документы по контрагенту", "Какие операции были по банку с контрагентом?"],
|
||||
related_routes: [],
|
||||
safe_alternatives: ["Уточнить ИНН/наименование контрагента"],
|
||||
safe_alternatives: ["Уточнить ИНН или наименование контрагента"],
|
||||
one_c_hints: ["Справочник.Контрагенты"]
|
||||
},
|
||||
{
|
||||
group_code: "settlements",
|
||||
group_title: "Долги и расчёты",
|
||||
description: "Сальдо, хвосты, незакрытые авансы и аналитика по расчётам",
|
||||
risk_level: "high",
|
||||
maturity_status: "production_ready",
|
||||
supported_operations: ["receivables_confirmed_as_of_date", "open_items_by_counterparty_or_contract"],
|
||||
unsupported_operations: ["close_period"],
|
||||
required_entities: ["period_or_date"],
|
||||
optional_entities: ["organization", "account", "counterparty"],
|
||||
typical_queries: ["Кто нам должен на дату?", "Хвосты покажи по счёту 60 за период"],
|
||||
related_routes: [],
|
||||
safe_alternatives: ["Уточнить период, счёт или организацию"],
|
||||
one_c_hints: ["РегистрБухгалтерии.Хозрасчетный"]
|
||||
},
|
||||
{
|
||||
group_code: "cash",
|
||||
group_title: "Деньги",
|
||||
description: "Остатки и движение по денежным счетам и кассе",
|
||||
risk_level: "medium",
|
||||
maturity_status: "production_ready",
|
||||
supported_operations: ["account_balance_snapshot", "bank_operations_by_counterparty"],
|
||||
unsupported_operations: ["post_bank_statement"],
|
||||
required_entities: ["date_or_period"],
|
||||
optional_entities: ["organization", "account", "counterparty"],
|
||||
typical_queries: ["Какой остаток по счёту 51 на дату?", "Покажи движение денег за месяц"],
|
||||
related_routes: [],
|
||||
safe_alternatives: ["Уточнить счёт или период"],
|
||||
one_c_hints: ["РегистрБухгалтерии.Хозрасчетный"]
|
||||
},
|
||||
{
|
||||
group_code: "inventory",
|
||||
group_title: "Склад и товары",
|
||||
description: "Подтверждённые остатки, происхождение и документы по товарным позициям",
|
||||
risk_level: "medium",
|
||||
maturity_status: "production_ready",
|
||||
supported_operations: [
|
||||
"inventory_on_hand_as_of_date",
|
||||
"inventory_purchase_provenance_for_item",
|
||||
"inventory_purchase_documents_for_item"
|
||||
],
|
||||
unsupported_operations: ["write_off_inventory"],
|
||||
required_entities: ["date_or_period"],
|
||||
optional_entities: ["organization", "warehouse", "item"],
|
||||
typical_queries: ["Какие товары сейчас лежат на складе?", "Кто поставил эту позицию?"],
|
||||
related_routes: [],
|
||||
safe_alternatives: ["Уточнить организацию, дату или позицию"],
|
||||
one_c_hints: ["РегистрБухгалтерии.Хозрасчетный"]
|
||||
},
|
||||
{
|
||||
group_code: "boundaries",
|
||||
group_title: "Ограничения",
|
||||
description: "Операции, которые ассистент не выполняет.",
|
||||
description: "Операции, которые ассистент не выполняет в этом рантайме",
|
||||
risk_level: "high",
|
||||
maturity_status: "production_ready",
|
||||
supported_operations: ["explain_boundary", "suggest_safe_next_step"],
|
||||
@@ -73,7 +122,7 @@ const FALLBACK_REGISTRY: CapabilityRegistry = {
|
||||
optional_entities: [],
|
||||
typical_queries: ["Можешь настроить 1С?"],
|
||||
related_routes: [],
|
||||
safe_alternatives: ["Сформировать план диагностики для 1С/ИТ-админа"],
|
||||
safe_alternatives: ["Сформировать безопасный план диагностики для 1С или ИТ-админа"],
|
||||
one_c_hints: []
|
||||
}
|
||||
]
|
||||
@@ -171,17 +220,21 @@ export function loadCapabilitiesRegistry(): CapabilityRegistry {
|
||||
|
||||
export function buildCapabilityContractReplyFromRegistry(): string {
|
||||
const registry = loadCapabilitiesRegistry();
|
||||
const topGroups = registry.groups.slice(0, 6);
|
||||
const topGroups = registry.groups.filter((group) => group.group_code !== "boundaries").slice(0, 6);
|
||||
const groupLines = topGroups.map((group, index) => {
|
||||
const ops = group.supported_operations.slice(0, 3).join(", ");
|
||||
return `${index + 1}. ${group.group_title}: ${group.description}${ops ? ` (например: ${ops})` : ""}.`;
|
||||
const examples = group.typical_queries
|
||||
.slice(0, 2)
|
||||
.map((query) => query.trim())
|
||||
.filter((query) => query.length > 0)
|
||||
.join("; ");
|
||||
return `${index + 1}. ${group.group_title}: ${group.description}${examples ? `. Например: ${examples}` : "."}`;
|
||||
});
|
||||
|
||||
return [
|
||||
"Я ассистент по анализу данных 1С в режиме чтения.",
|
||||
"Что умею по группам:",
|
||||
"Могу помочь с вопросами по данным 1С в режиме чтения: НДС, контрагенты, долги, деньги и склад.",
|
||||
"По основным группам:",
|
||||
...groupLines,
|
||||
"Если хотите, раскрою любую группу точечно и дам готовую формулировку запроса.",
|
||||
"Если нужно, подскажу, как лучше сформулировать запрос под вашу задачу.",
|
||||
"Что не делаю: не настраиваю 1С, не меняю конфигурацию, не создаю и не провожу документы, не выполняю админ-действия на сервере."
|
||||
].join("\n");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user