api-design
Проектирование и ревью API 1С: публичный программный интерфейс, служебный интерфейс, переопределяемые модули, совместимость,…
Оптимизация запросов 1С и СКД. Используй когда нужно написать, проверить или ускорить запрос, СКД query, временные таблицы, виртуальные таблицы, отборы, соединения или проблемный SQL/DBMS trace.
$ npx -y skills add IngvarConsulting/unica --skill query-optimize --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/query-optimizeContext preview
The summary Claude sees to decide when to auto-load this skill.
Оптимизация запросов 1С и СКД. Используй когда нужно написать, проверить или ускорить запрос, СКД query, временные таблицы, виртуальные таблицы, отборы, соединения или проблемный SQL/DBMS trace.
name: query-optimize description: "Оптимизация запросов 1С и СКД. Используй когда нужно написать, проверить или ускорить запрос, СКД query, временные таблицы, виртуальные таблицы, отборы, соединения или проблемный SQL/DBMS trace."
контракт каждой — `argsSchema`, `execution`, `previewRequired`, `dryRunRequired`. Контракт вызова бери оттуда, а не из этого текста; при `implemented: true` используй опубликованную `argsSchema`; при `support.state: limited` разрешено только подмножество `support.supportedArgs`. При `support.state: unavailable` остановись; не выдумывай аргументов при `argsSchema: null`. Для плановой операции сначала проверь результат `dryRun: true`, затем исполняй запрос с `dryRun: false`. Preview не фиксирует входы между вызовами. Не обходи контракт прямым runner-ом.
1. Extract the exact query text with `unica.search` or `unica.view` on the schema node. 2. Inspect the execution context with `unica.view` on the module node (its `Method` branch lists the methods): module, exported entry point, region, temporary table chain, and caller loop. 3. Find callers with `unica.view` at `<method>.Caller` when the query is inside reusable API, background jobs, event handlers, or suspected query-in-loop flow; `unica.search` by the method name adds literal mentions. 4. Run `unica.check {at}` on the containing module when analyzer diagnostics can reveal unreachable code, unresolved calls, or type issues around the query. Do not pass a DCS `TemplatePath` as a diagnostic target; locate the BSL module that executes the query. 5. Inspect `unica.view` on the object node for both related modules, subscriptions, roles, functional options and the local registers, dimensions, resources, реквизиты, tabular sections, and indexes implied by the platform object type. 6. Inspect DCS with `unica.view` on the schema node when the query lives in a data composition schema. 7. Search `unica.docs` with `source: "development-standard"` only for `development-standard` query rules. Exact platform query semantics require `unica.docs` with `source: "platform-help"` before a platform-dependent rewrite. 8. Read `../../references/platform/db-performance.md` when performance depends on DBMS behavior, locks, indexes, temp storage, WAL, TEMPDB, or large table statistics. 9. Optimize one cause at a time: filters before joins, virtual table parameters, temporary table materialization, repeated queries in loops, dot dereference expansion, unbounded selections, and unnecessary totals. 10. Check syntax with `unica.check`; require real trace/log evidence when performance depends on data volume.
Если ТипЗнч(Количество) <> Тип("Число") Тогда
ВызватьИсключение "Количество должно иметь тип Число";
КонецЕсли;
Если Количество <= 0 Или Цел(Количество) <> Количество Тогда
ВызватьИсключение "Количество должно быть положительным целым числом";
КонецЕсли;
МаркерОграничения = "ПЕРВЫЕ 1" + Символы.ПС;
Если СтрЧислоВхождений(Запрос.Текст, МаркерОграничения) <> 1 Тогда
ВызватьИсключение "В тексте запроса ожидается один маркер ограничения";
КонецЕсли;
Запрос.Текст = СтрЗаменить(
Запрос.Текст,
МаркерОграничения,
"ПЕРВЫЕ " + Формат(Количество, "ЧГ=0") + Символы.ПС);{
"jUnica (Ю́ника) — плагин для Codex, Claude Code и ZCode для разработки на 1С:Предприятии.
Проектирование и ревью API 1С: публичный программный интерфейс, служебный интерфейс, переопределяемые модули, совместимость,…
Автономный сервер отладки 1С. Используй когда нужно развернуть или проанализировать локальный автономный контур для отладки…
Фоновые и регламентные задания 1С. Используй когда нужно спроектировать, проверить или диагностировать background jobs,…
Поиск и применение паттернов БСП. Используй когда задача про длительные операции, профили групп доступа, безопасное хранение,…
Точечное редактирование конфигурации 1С. Используй когда нужно изменить свойства конфигурации, добавить или удалить объект из…
Создать пустую конфигурацию 1С (scaffold XML-исходников). Используй когда нужно начать новую конфигурацию с нуля