Инструменты
Все инструменты edt_*: чтение живой модели, запись штатным движком среды и отладка запущенной информационной базы.
Инструменты – edt_* (snake_case); параметры – camelCase (projectName, fqn, queryText);
имя объекта пишется кириллицей, как в конфигурации, а префикс типа – английский (Catalog.Контрагенты, Document.ЗаказКлиента). Префикс edt_ сознательный:
MCP-хост показывает агенту инструменты всех серверов одним списком, и имя должно нести контекст
само – edt_rename однозначен там, где голый rename опасно многозначен.
Вместе они замыкают полный цикл, не выходя из MCP: создать, разработать, собрать, поставить, отладить:

Чтение
| Инструмент | Что возвращает |
|---|---|
edt_projects · edt_project_errors |
Открытые проекты рабочей области – имя, путь на диске, natures, является ли проектом 1C:EDT – и проблемы валидации EDT по проекту (сообщение, severity, ресурс, строка). С этого стоит начинать: они показывают, к чему вообще можно обращаться. |
edt_check_info |
Что проверка ЗНАЧИТ: описание, примеры неправильного и правильного кода и ссылки на стандарты разработки 1С, которые она проверяет, – на английском или русском. Дополняет edt_project_errors, который сообщает, какая проверка сработала: тот отвечает что, этот – почему. Спрашивать по идентификатору проверки либо вставкой текста проблемы – проверка, у которой идентификатор короткий код, находится по заголовку. |
edt_metadata_objects · edt_metadata_details |
Объекты метаданных верхнего уровня с опциональным фильтром по типу и подстроке имени; затем свойства одного объекта и его структура – реквизиты, табличные части, формы, команды, макеты, измерения, ресурсы, значения перечислений – с типом каждого реквизита. |
edt_find_references · edt_outgoing_calls · edt_outgoing_structures |
Куда идут вызовы. Входящие ссылки на объект метаданных из индекса EDT (с method – BSL-места вызова CommonModule.X.method); обратное направление, какие методы ВЫЗЫВАЕТ модуль / метод / форма на уровень наружу, с числом мест вызова и флагом слоя ExtAPI; и, best-effort, ключи верхнего уровня Структуры, переданной каждому квалифицированному исходящему вызову. |
edt_module_text · edt_go_to_definition · edt_symbol_info |
Чтение BSL: исходный текст модуля (или одного метода) со списком процедур и функций и их сигнатурами, по FQN или modulePath; определение символа в позиции (вид цели, имя, объект-владелец, расположение); тип символа в позиции – элемент под курсором и вычисленные типы значения выражения. |
edt_search_modules |
Полнотекстовый поиск по модулям BSL проекта – подстрока или регулярное выражение, опциональный фильтр пути. Чтение идёт через буферы файлов Eclipse, поэтому модуль, открытый в редакторе, ищется в текущем виде, вместе с несохранёнными правками. Если edt_find_references отвечает “кто вызывает этот метод”, то этот – “где встречается такой текст”. |
edt_validate_query |
Валидирует запрос 1С против живых метаданных: синтаксис и семантику (несуществующие таблицы/поля, ошибки типов) с позициями. |
edt_form_structure · edt_form_render · edt_picture_export |
Формы и изображения: дерево элементов управляемой формы с привязками данных, статическими visible/enabled/readOnly, обработчиками, свойствами полей ввода, связкой команда→кнопка и условным оформлением, плюс реквизиты, команды, параметры и обработчики; та же форма, отрисованная в PNG штатным offscreen-рендером EDT (вариант интерфейса и тема на выбор); содержимое CommonPicture из Picture.zip. |
edt_platform_help |
Синтакс-помощник платформы 1С:Предприятие из поставки EDT (реальная справка API – объекты, методы, свойства, события, рус+англ): поиск по имени или чтение страницы текстом. Свериться с фактическим API вместо угадывания сигнатур. |
Запись
Инструменты записи меняют модель через штатный движок EDT (не текстовой заменой). Все –
под токеном и по умолчанию dry-run (apply=false возвращает план и ничего не меняет);
apply=true применяет изменение и сериализует .mdo.
| Инструмент записи | Что делает |
|---|---|
edt_create_object · edt_delete_object |
Создаёт новый топ-объект (Справочник/Документ/Перечисление/РегистрСведений/…) через фабрику EDT и инициализатор типа, с регистрацией в Configuration – либо удаляет объект с каскадным удалением всех ссылок в метаданных И в BSL (нужен force). |
edt_add_attribute · edt_modify_attribute · edt_remove_attribute |
Добавляют реквизит объекту метаданных (тип / синоним / comment, с валидацией), меняют тип, синоним или comment существующего, либо удаляют его – удаление проверяет ссылки и отказывает, пока они есть, без force. |
edt_rename |
Переименовывает объект или член с каскадом всех ссылок в метаданных И в BSL через штатный движок рефакторинга (нужен force – переименование ломает совместимость). |
edt_add_method · edt_delete_method |
Добавляют и удаляют процедуру/функцию в BSL модуля, обе операции по модели. Вставка отказывает, если результат не парсится; вырезание забирает прилегающий документирующий комментарий, а dry-run возвращает точный удаляемый текст (нужен force – удаление кода деструктивно). Модуль адресуется по FQN, включая HTTPService.X и WebService.X. |
edt_add_route |
Добавляет маршрут – шаблон URL и один HTTP-метод – в HTTPService; инструмент записи маршрутов рядом с инструментами реквизитов и методов. Генерирует uuid и шаблона, и его метода (писать их руками – ровно то, ради отказа от чего существует мост), разрешает перечисление httpMethod, а с createHandler вставляет заготовку Функция <handler>(Запрос) в модуль сервиса. |
edt_add_form |
Добавляет управляемую форму объекту метаданных штатным генератором EDT – тем же, что стоит за мастером “Новая форма”, – поэтому форма, её элементы и модуль генерируются, а не пишутся руками в XML. |
edt_add_form_attribute · edt_modify_form_attribute · edt_remove_form_attribute |
Добавляют, меняют и удаляют реквизит формы – либо, с columnOf, колонку реквизита типа ТаблицаЗначений. Идентификаторы выдаёт служба идентификаторов формы; помимо грамматики типов метаданных принимаются платформенные типы, допустимые у формы (ТаблицаЗначений, СписокЗначений, …). Удаление перечисляет связанные элементы и требует force. |
edt_add_form_command · edt_modify_form_command · edt_remove_form_command |
Добавляют, меняют и удаляют команду формы. При добавлении можно сразу записать заготовку процедуры-обработчика в модуль формы, создав его, если модуля не было. Удаление перечисляет связанные кнопки и требует force. |
edt_add_form_item · edt_modify_form_item · edt_remove_form_item |
Добавляют, меняют и удаляют элементы формы – поле, таблицу, кнопку, группу, декорацию – через штатный IFormItemManagementService, тот самый, который вызывает редактор форм. Таблица, связанная с реквизитом типа ТаблицаЗначений, получает колонки автоматически. Удаление забирает всё вложенное и требует force. |
edt_adopt_object |
Заимствует объект базовой конфигурации в проект расширения штатным IModelObjectAdopter EDT – шаг, без которого расширение не может ничего перехватить у этого объекта, и который достраивает edt_create_extension. |
edt_create_extension · edt_create_external_object |
Начало работы над проектом. Проект расширения конфигурации к базовому через IExtensionProjectManager, где корневая Configuration – заимствованная базовая конфигурация (как в мастере: именно это делает проект пригодным для загрузки в информационную базу), плюс префикс имён, назначение (Адаптация·Дополнение·Исправление) и синоним; либо проект внешней обработки, начало цикла “обработка → .epf”. |
edt_clean_project · edt_delete_project |
Завершение работы над проектом. Сбросить результаты сборки, чтобы валидация отработала заново (диалог “Очистить” из EDT, программно: возвращает число замечаний до и после, дождавшись, пока оно перестанет меняться, – устаревший маркер, переживший свою причину, хуже отсутствия маркера), либо удалить проект из workspace средствами Eclipse, чтобы не осталось фантома (нужен force – удаление необратимо). |
edt_build_extension · edt_dump_external_object |
Сборка бинарников: .cfe из проекта расширения и .epf/.erf из внешней обработки или отчёта. Обе умеют обойти резолвер платформы EDT, когда тот не даёт толстый клиент: модель выгружается в XML конструктора в процессе, затем артефакт собирается полной установкой 1С с диска во временной базе, которая потом удаляется. logPath кладёт лог сборки рядом с артефактом. |
Информационные базы, кластер и платформа
Всё, что обращается к РАБОТАЮЩЕЙ информационной базе, а не к модели в EDT. Мест назначения четыре, и они не взаимозаменяемы – какое использует инструмент, видно в столбце Через:
- штатная синхронизация EDT – то, чем пользуется сама среда. Она открывает собственное соединение с базой и не умеет принимать учётные данные снаружи интерфейса, поэтому останавливается на базе с аутентификацией пользователей.
ibcmd– прямо к базе данных, путём или координатами СУБД, поэтому кластерной базе доступ к кластеру не нужен. Учётной записи 1С у режимаextensionнет вовсе.- агент конфигуратора – конфигуратор, запущенный с
/AgentMode, принимающий команды по SSH и проходящий аутентификацию КАК ПОЛЬЗОВАТЕЛЬ БАЗЫ. Он достаёт то, что недоступно остальным двум, и мост держит по одному агенту на базу: поднимать дорого, держать дёшево. rac– сам кластер, где живут сеансы. Ни агент, ниibcmdих не видят.
Инструменты, меняющие базу, требуют токен и по умолчанию работают в режиме dry-run – так же, как write-инструменты выше.
| Инструмент | Через | Что делает |
|---|---|---|
edt_infobases · edt_platform_installations |
EDT | С чем работает платформенная сторона: зарегистрированные в EDT информационные базы (имя, uuid, строка соединения) с привязками открытых проектов, и установки 1С:Предприятие, из которых EDT выбирает при выгрузке .epf/.erf и создании базы – каждая разрешена до конкретной установки с толстым клиентом, плюс полные установки, найденные на диске. |
edt_designer_agent |
агент | Жизненный цикл агентов конфигуратора, которыми управляет мост: список, запуск, остановка. Агент – конфигуратор в режиме /AgentMode с открытым сеансом базы, проходящий аутентификацию как пользователь базы; так мост добирается до базы, недоступной остальным транспортам. Поднимается по требованию и живёт между вызовами; остановка освобождает сеанс на сервере. |
edt_infobase_config_state |
агент | Применена ли конфигурация базы данных – та, которую исполняют сеансы, – или обновление ещё ждёт? Отвечает сама платформа: обновление запускается, а подтверждение отклоняется, поэтому ничего не применяется, а ожидающее обновление возвращается полным списком изменений структуры. Работает через агент конфигуратора, поэтому доступна и серверная база с аутентификацией 1С. |
edt_update_database_config |
агент | Применяет конфигурацию базы данных – шаг, после которого работающие сеансы начинают исполнять ту конфигурацию, которую хранит база. Загрузка проекта в базу этого не делает: до применения каждый сеанс исполняет прежний код (так выглядит только что добавленный маршрут HTTP-сервиса, отвечающий 404). По умолчанию dry-run; sessionTermination=force завершает удерживающие базу сеансы, когда нужна монопольная блокировка. |
edt_update_infobase |
EDT · агент | Обновить конфигурацию базы из проекта EDT. По умолчанию штатным механизмом синхронизации (изменения структуры БД подтверждаются автоматически, конфликт прерывает), которому недоступна база с пользователями; с transport=agent проект выгружается в XML конфигуратора и грузится через агента – единственная дорога в серверную базу с пользователями, – после чего применяется конфигурация базы данных. |
edt_create_infobase · edt_register_platform |
EDT · установка с диска | Создать пустую файловую базу и зарегистрировать её в списке EDT – с фоллбеком на полную установку с диска, если под версию у EDT ничего нет; либо зарегистрировать полную установку в EDT, чтобы ею мог пользоваться её собственный движок. |
edt_extension_properties |
агент · ibcmd | Чтение и установка того, как расширение ЗАРЕГИСТРИРОВАНО в базе – безопасный режим, защита от опасных действий, активность, область действия. Это не задаётся ни сборкой .cfe, ни обновлением из EDT, а только что зарегистрированное расширение получает безопасный режим и защиту включёнными; расширение, меняющее методы базовой конфигурации, под ними не работает. Передайте проект расширения – и результат скажет, тот ли это случай. По имени из EDT вызов идёт через агента, которому доступна серверная база с пользователями; по явным координатам СУБД – через ibcmd, которому нет. |
edt_delete_extension |
агент | Снимает расширение с информационной базы – шаг, замыкающий жизненный цикл (создать · загрузить · настроить · удалить). Dry-run сначала читает текущие свойства, поэтому на неверное имя отвечает внятно. Нужен force вдобавок к apply: конфигурация расширения хранится в базе, и вернуть её отсюда нечем. |
edt_infobase_sessions |
rac | Сеансы кластера 1С через rac: список (по базе или по виду приложения) и завершение. Ни агент, ни ibcmd этого не умеют – сеансы живут в менеджере кластера. Нужен, когда база отказывается конфигурироваться: убитый, а не закрытый сеанс конфигуратора продолжает держать блокировку конфигурации и виден здесь как Designer. Завершение по умолчанию dry-run и требует force. |
edt_infobase_dump |
ibcmd | Выгружает информационную базу в .dt через ibcmd – резервная копия, которую стоит снять перед применением конфигурации к базе данных; раньше мост снять её не мог. База адресуется путём или координатами СУБД, перезаписывать существующий файл инструмент отказывается, по умолчанию dry-run. В самой базе ничего не меняется, но выгрузка читает все её данные, поэтому нужен токен. |
Отладка
Подключение к debug-серверу (dbgs) запущенной ИБ и управление выполнением. Использовать
тестовый стенд, не продакшен. Все под токеном; edt_evaluate – жёстче всех.
| Инструмент отладки | Что делает |
|---|---|
edt_debug_attach · edt_debug_detach |
Подключают сессию отладки к debug-серверу запущенной ИБ (возвращая sessionId для остальных debug-инструментов) и отключают её, завершая сессию и освобождая базу. |
edt_debug_inspect · edt_debug_control |
Список потоков сессии и, для приостановленных, кадры стека BSL с переменными верхнего кадра (только чтение); затем управление выполнением – suspend/resume либо stepOver/stepInto/stepReturn приостановленного потока. |
edt_evaluate |
Вычисляет произвольное BSL-выражение в приостановленном кадре – исполнение кода против живой ИБ. Нужен токен и per-call allowCodeExecution=true и серверный переключатель EDT_BRIDGE_ALLOW_EVALUATE=1 (по умолчанию выключено). |