Начало работы
Первая задача за пять минут
Сквозной сценарий на пять минут — снапшот, новый реквизит, поле на форме, просмотр изменений и откат. Вы пишете агенту одну фразу, агент делает пять-шесть вызовов, и каждый шаг возвращает вердикт.
Перед началом
- Кванта установлена, индикатор
Quanta MCP: Port 9200зелёный, агент подключён — Подключение агента. - Действует ключ или бесплатный доступ: запись и снапшоты — не бесплатные инструменты (Лицензия и бесплатный доступ).
- Открыт проект конфигурации. В примерах он называется
УТ2020, объект — справочникКонтрагенты. Подставьте свои имена: список проектов даётproject_read.
Если конфигурация на поддержке поставщика и справочник закрыт для изменений, metadata_read покажет в заголовке ответа 🔒 на поддержке, а запись будет отклонена. Тогда возьмите объект, открытый для изменения, или сделайте то же в расширении — Поддержка поставщика.
Что сказать агенту
Сделай снапшот «до первой задачи». Добавь в справочник Контрагенты реквизит ДатаПервогоКонтакта с типом Дата и выведи его на форму элемента. Потом покажи, что изменилось.
Дальше — вызовы, которые сделает агент, и что проверить в ответах.
1. Снапшот
{ "operation": "create", "label": "до первой задачи" }В ответе — статус 🟢 committed и идентификатор снапшота. Он понадобится для diff и отката.
2. Реквизит
{
"project": "УТ2020",
"operation": "create",
"fqn": "Catalog.Контрагенты.Attribute.ДатаПервогоКонтакта",
"definition": { "type": "Дата(Date)", "synonym": "Дата первого контакта" }
}Ответ начинается с ### 🟢 create, в секции Changes — созданный реквизит с типом в квадратных скобках. Если тип записан с ошибкой, придёт 🟠 rolled_back с причиной и подсказкой, а в конфигурации ничего не изменится.
3. Поле на форме
Сначала агент смотрит дерево формы, чтобы выбрать место:
{ "project": "УТ2020", "fqn": "Catalog.Контрагенты.Form.ФормаЭлемента" }Потом добавляет поле, связанное с реквизитом. Группу и соседнее поле он берёт из дерева — параметры parent и position; без них поле встанет последним в корне формы:
{
"project": "УТ2020",
"operation": "create",
"fqn": "Catalog.Контрагенты.Form.ФормаЭлемента.Item.ДатаПервогоКонтакта",
"definition": { "kind": "field", "data_path": "Объект.ДатаПервогоКонтакта" }
}Посмотреть результат так, как его видит человек в EDT, можно снимком формы: form_read с адресом Catalog.Контрагенты.Form.ФормаЭлемента#screenshot возвращает картинку.
4. Что изменилось
{ "operation": "diff_semantic", "snapshot_id": "<идентификатор из шага 1>" }Семантический diff показывает изменения по объектам, а не по строкам файлов: новый реквизит справочника и новый элемент формы.
5. Откат
Если результат не нужен, один вызов возвращает всё, что изменилось после снапшота:
{ "operation": "restore", "snapshot_id": "<идентификатор из шага 1>" }Перед откатом Кванта сама делает страховочный снапшот текущего состояния, поэтому и откат можно отменить.
Дальше
- Тот же сценарий подробнее, с проверкой и откатом одного файла — Реквизит и вывод на форму.
- Как устроены адреса вроде
Catalog.Контрагенты.Form.ФормаЭлемента.Item.ДатаПервогоКонтакта— Адресация: FQN. - Что означают кружки и секции ответов — Формат ответов.