Анализ влияния Асинх/Ждать на производительность управляемой формы 1С — эксперимент с использованием ИИ

26.08.26

Интеграция - Нейросети

В реальной конфигурации при изменении реквизита формы обработчик устанавливал элементам флаг "ТолькоПросмотр" и обновлял оформление вкладок. После перехода со старых синхронных методов на асинхронные этот участок стал занимать до восьми секунд. ИИ-агент построил независимый стенд, написал и собрал EPF, выполнил 44 замера и локализовал проблему. Оказалось, что дорог не сам "Ждать" и не цикл по элементам, а фактическое изменение некоторых свойств формы в коде, который выполняется сразу после "Ждать". В статье — результаты, проверенный обход и честная оценка работы ИИ.

С чего всё началось


Проблема появилась не на искусственном тесте, а в реальной конфигурации. Пользователь изменял реквизит формы, после чего обработчик проходил по элементам тяжёлой формы, устанавливал флаг ТолькоПросмотр и обновлял оформление вкладок. Перед применением изменений пользователю задавался вопрос.

В старой реализации с синхронными вызовами ПоказатьВопрос()/ОписаниеОповещения этот участок выполнялся быстро. После перевода вопроса и последующего кода на современный синтаксис ВопросАсинх() и Ждать внешне та же реакция на изменение реквизита стала доходить примерно до восьми секунд.

Первое подозрение очевидно: асинхронные методы в 1С дороги. Но внутри медленного участка были сразу несколько возможных причин:

  • цикл по вкладкам и полям;
  • многократное обращение к коллекции Элементы;
  • изменение цветов, видимости и других свойств;
  • перекомпоновка тяжёлой формы.

Нужно было отделить их друг от друга.


Эксперимент, выполненный ИИ

Практически весь исследовательский цикл был выполнен ИИ-агентом: анализ гипотез, написание BSL-кода и формы, сборка EPF, проверка синтаксиса, управление тонким клиентом, запуск тестов, сохранение CSV и частичная подготовка статьи. Я в свою очередь грамотно сформулировал проблему, предоставил рабочее окружение и добавил в исследование дополнительную гипотезу.

По непрерывным сериям изменений исходников, сборок и замеров активная работа агента заняла около 1 часа 10 минут: примерно 37 минут ушло на стенд, сборку и первые 32 замера, ещё 32 минуты — на реализацию обхода, дополнительную серию из 12 замеров и подготовке черновика для статьи (отмечу что немалая часть времени была потрачена именно на передачу управления экраном агенту для проведения замеров).


Инструменты и контекст

Задачу я выполнял в ChatGPT с подключенным Unica и MCP v8std (спасибо Игорю Апресову за эти прекрасные инструменты) буквально в два подхода:


 

И уточнение, чтобы точно выяснить, где живет проблема:





Независимый стенд

Чтобы не смешивать платформенное поведение с логикой рабочей конфигурации, была создана внешняя обработка с намеренно тяжёлой формой:

  • 20 вкладок;
  • 400 полей ввода;
  • отдельные флаги для каждого исследуемого свойства;
  • вывод результатов в CSV.

Одна и та же процедура изменения формы запускалась четырьмя способами:

  1. напрямую, без диалога;
  2. непосредственно после Ждать ВопросАсинх();
  3. из одноразового обработчика ожидания, подключённого после Ждать;
  4. из ОписаниеОповещения после ПоказатьВопрос().

Проверялись пустой цикл, чтение элементов, ТолькоПросмотр, Доступность, Видимость, цвет и заголовки вкладок, свойство панели страниц и повторная запись уже установленного значения.

Условия основной серии: платформа 1С:Предприятие 8.5.1.960, тонкий клиент x64, файловая база, отладчик не подключён. Форма прошла структурную проверку, модули — платформенную проверку синтаксиса без ошибок и предупреждений.


Итоговые результаты

 

Сценарий Операций Без диалога Сразу после `Ждать` ОписаниеОповещения Обработчик после `Ждать`
Чистый цикл 400 1 мс 0 мс 1 мс
Чтение элементов 400 1 мс 2 мс 0 мс
ТолькоПросмотр полей 400 9–11 мс 10 мс 8 мс
Цвет вкладок 20 0 мс 3 010–3 099 мс 2 мс 1–2 мс
Доступность полей 400 2 мс 8–13 мс 8 мс 7 мс
Видимость полей 400 5 мс 14 500–17 371 мс 4 мс 3–4 мс
Заголовки вкладок 20 0 мс 145 мс 1 мс
ТолькоПросмотр группы страниц 20 0 мс 82 мс 3 мс

 

 

 

 

Сам цикл и чтение элементов не замедлились. Более того, установка ТолькоПросмотр у 400 обычных полей на независимом стенде также осталась быстрой. Значит, исходное наблюдение действительно проявлялось во время установки флага, но его нельзя объяснить универсальной дороговизной свойства ТолькоПросмотр.

Самыми сильными триггерами оказались свойства, меняющие компоновку и оформление формы: Видимость, цвет и заголовки вкладок.


Что можно утверждать

Эксперимент показал следующее:

  1. Сам синтаксис Асинх/Ждать не является медленным: пустой цикл и чтение элементов остаются быстрыми.
  2. Количество итераций само по себе не объясняет задержку.
  3. Проблему вызывают фактические изменения отдельных свойств формы (видимости и цвета) в конкретном контексте выполнения.
  4. Один возврат в очередь клиента устраняет аномальную стоимость цвета и видимости.

Наиболее вероятно различие в обработке инвалидаций, перекомпоновки или пакетирования изменений формы в той части асинхронной процедуры, которая выполняется сразу после Ждать. Но это гипотеза по внешнему поведению: стенд не раскрывает внутреннюю реализацию клиента 1С.


Заключение

На текущий момент стало возможно провести анализ производительности в фоне, получить при этом всю интересующую статистику и найти оптимальные решения, для этого нужно просто грамотно сформулировать задачу и подключить нужные инструменты. Что выглядит крайне эффективным инструментом для современного разработчика.

Всем спасибо за внимание, надеюсь, статья получилась полезной и интересной. Репозиторий с обработкой на github

Вступайте в нашу телеграмм-группу Инфостарт

Асинх Ждать ВопросАсинх ОписаниеОповещения управляемые формы производительность тонкий клиент ИИ AI benchmark

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Нейросети Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Россия Платные (руб)

Задавайте вопросы базе 1С обычными словами: получайте данные, находите ошибки и связанные документы, проверяйте права, работайте с вложениями и контролируемо вносите изменения. Всё это работает в самой программе, а Codex и Claude подключаются по желанию.

15989 руб.

30.07.2026    12010    25    4    

26

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    70571    139    41    

148

Нейросети 1С:Управление торговлей 11 Бесплатно (free)

Я не считаю покупку специализированных платных инструментов обязательной для разработки с ИИ: нужную обвязку тоже можно создать с агентом. Показываю этот подход на расширении УТ 11 с динамическим списком остатков. Одно задание Codex, 37 минут до проверки, работающая форма. Рассказываю, как устроено окружение, почему первую попытку пришлось переснять и что получилось в повторном прогоне.

17.09.2026    3271    41    Ibrogim    41    

16

Нейросети Программист Руководитель проекта 1C:ERP Бесплатно (free)

Служба на Rust, через которую Claude Code, Cursor или другой MCP-клиент вызывает узких ИИ-агентов. Агент — папка с prompt.md и config.toml, модель — строка в конфиге: DeepSeek, Claude Code по подписке, Codex или локальная модель. Агент получает MCP-инструменты, работает в фоне, каждый ход записывается. Внутри — цифры за три месяца: 10 351 вызов, 78 агентов.

17.09.2026    1192    0    Sorm    6    

10

Нейросети Бесплатно (free)

Отладка кода 1С традиционно выглядит примерно одинаково: поставить точку останова, запустить клиент, воспроизвести сценарий, дождаться остановки, посмотреть локальные переменные, пройти несколько строк, раскрыть очередную структуру или коллекцию, вычислить выражение — и повторить все это еще несколько раз. А что, если значительную часть этой рутины поручить AI-агенту?

15.09.2026    2787    andrew.ab    5    

15

Нейросети Программист Бизнес-аналитик Руководитель проекта Бесплатно (free)

Я принёс команде приём, с которым нейронка наконец начала понимать нашу конфигурацию: у меня он работал, у коллег — нет. Дело было не в постановке задач и не в настройках: причина в том, что на их машинах индекс конфигурации считался бы несколько дней. Замер на одном и том же своде из 26 035 записей: три часа на процессоре против трёх с половиной минут на видеокарте. Разбираю, что такое индексация конфигурации и почему она дорогая ровно один раз, почему наша основная серверная машина — 64 ядра, 768 гигабайт памяти — на этой задаче проигрывает домашнему компьютеру, и почему приём одного человека упирается в вопрос, который никто не любит задавать.

09.09.2026    4473    solbol    9    

9

Нейросети Программист Бесплатно (free)

Первая часть подборки простых приёмов для работы с ИИ-агентами. Без «секретных техник» — скорее сверим часы и посмотрим, какие подходы действительно помогают экономить время, лимиты и нервы. Разберём шесть практических приёмов: как выбирать модель под задачу и не тратить дорогую модель на мелочи; зачем сначала составлять план сложной работы; как сохранять агентские сессии на VPS с помощью tmux и Herdr; почему голосовой ввод даёт больше контекста, но требует проверки; как перепроверять решения одного агента другим; и как организовать параллельную работу через Git worktree. Большинство этих вещей опытным пользователям наверняка знакомо. Но иногда именно «очевидная» мелочь оказывается той, о которой узнаёшь слишком поздно. Возможно, из этой подборки вам пригодится хотя бы один приём.

04.09.2026    3203    Ibrogim    11    

16

Инструментарий разработчика Нейросети Программист 1С:Предприятие 8 Бесплатно (free)

Как мы в 42Clouds научили агента открывать формы, заполнять поля, проверять списки и собирать доказательные отчёты — и чем Answer42 отличается от Vanessa Automation MCP, Тестер, CodexTestBridge UI-worker и браузерных инструментов.

04.09.2026    1965    amoarok    15    

13
Для отправки сообщения требуется регистрация/авторизация