一键导入
cc1c-odata-integration
Work with 1C databases via OData protocol: create batch operations, handle transactions (< 15 seconds!), debug OData requests.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Work with 1C databases via OData protocol: create batch operations, handle transactions (< 15 seconds!), debug OData requests.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | cc1c-odata-integration |
| description | Work with 1C databases via OData protocol: create batch operations, handle transactions (< 15 seconds!), debug OData requests. |
| allowed-tools | ["Read","Write","Edit"] |
Обеспечить правильную работу с базами 1С через OData протокол, соблюдая критические ограничения (транзакции < 15s) и best practices.
Используй этот skill когда пользователь:
Это ЖЕСТКОЕ ОГРАНИЧЕНИЕ платформы 1С, НЕ рекомендация!
Последствия при превышении:
Как соблюдать:
См. детали: {baseDir}/reference/transaction-patterns.md
response = requests.post(
f"{odata_url}/Catalog_Users",
json={"Code": "USER001", "Description": "Test User"},
headers={'Authorization': f'Basic {auth_token}'},
timeout=5
)
response = requests.get(
f"{odata_url}/Catalog_Users",
params={
'$filter': "Code eq 'USER001'",
'$select': 'Ref_Key,Code,Description' # Только нужные поля!
},
timeout=10
)
response = requests.patch(
f"{odata_url}/Catalog_Users(guid'{user_id}')",
json={"Description": "Updated Description"},
timeout=5
)
response = requests.delete(
f"{odata_url}/Catalog_Users(guid'{user_id}')",
timeout=5
)
def create_batch_chunked(items: List[Dict], chunk_size: int = 100):
"""Безопасное создание через chunking - каждый chunk < 15s"""
for chunk in chunks(items, chunk_size):
batch_request = create_batch_request(chunk)
response = requests.post(
f"{odata_url}/$batch",
data=batch_request,
headers={'Content-Type': 'multipart/mixed; boundary=batch_boundary'},
timeout=15
)
if response.status_code != 200:
raise ODataBatchError(response)
См. полный пример: {baseDir}/examples/batch-request-example.json
См. детальное руководство: {baseDir}/reference/batch-operations.md
| Операция | Размер | Макс | Причина |
|---|---|---|---|
| Create | 50-100 | 200 | Тяжелые операции с валидацией |
| Update | 100-200 | 500 | Средняя нагрузка |
| Delete | 200-500 | 1000 | Легкие операции |
| Read | 500-1000 | 5000 | Только чтение |
@contextmanager
def monitor_transaction_time(operation: str, limit: int = 15):
"""Мониторинг времени транзакции - ОБЯЗАТЕЛЬНО используй!"""
start = time.time()
try:
yield
finally:
elapsed = time.time() - start
if elapsed > limit:
logger.error(f"⚠️ CRITICAL: {operation} took {elapsed:.2f}s")
elif elapsed > limit * 0.8:
logger.warning(f"WARNING: {operation} took {elapsed:.2f}s")
# Usage
with monitor_transaction_time("Create users batch"):
create_batch_chunked(users_data, chunk_size=100)
Справочники: Catalog_<Name> → Catalog_Users
Документы: Document_<Name> → Document_Invoice
Регистры: InformationRegister_<Name>
Перечисления: Enum_<Name> → Enum_UserRole
ВАЖНО: Case-sensitive! Используй PascalCase.
# Проверь обязательные поля
required_fields = ['Code', 'Description']
for field in required_fields:
assert field in data
# Проверь Basic Auth
auth_b64 = base64.b64encode(f"{user}:{pwd}".encode()).decode()
# Уменьши batch size
create_batch_chunked(data, chunk_size=50) # Было 200
# Уменьши connections
with ThreadPoolExecutor(max_workers=3) as executor: # Было 10
...
Детальный troubleshooting: {baseDir}/reference/troubleshooting.md
monitor_transaction_timeSkill directory: {baseDir}/.claude/skills/cc1c-odata-integration/
Детальные руководства:
{baseDir}/reference/batch-operations.md - Batch операции, error handling{baseDir}/reference/transaction-patterns.md - Паттерны коротких транзакций{baseDir}/reference/troubleshooting.md - Debugging OData ошибокПримеры:
{baseDir}/examples/batch-request-example.json - Полный пример $batchПроектная документация:
docs/ODATA_INTEGRATION.md - Общее руководство по ODatadocs/1C_ADMINISTRATION_GUIDE.md - Настройка 1С для ODataPython код:
orchestrator/apps/databases/odata_adapter.py - OneCODataAdapter{baseDir}/odata-examples.py - Примеры использованияcc1c-devops - Управление сервисами, логиcc1c-test-runner - Тестирование OData integrationUse to deliver an approved OpenSpec change through execution matrix, Beads, checks, and handoff.
Use to verify the full pool run flow on a live contour through report and OData evidence.
Use to inspect, restart, and verify local frontend/backend runtimes with targeted probes.
Use for shipped UI action journal, request correlation, WebSocket churn, or frontend observability work.
Execute DevOps tasks for CommandCenter1C: start/stop services locally (host machine), check health endpoints, view logs, run migrations. Use when user needs to start development environment, check service status, debug deployment issues, or mentions local development, health checks, logs, restart.
Navigate monorepo structure, locate components, explain service dependencies.