Анализ влияния Асинх/Ждать на производительность управляемой формы 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С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    67576    137    38    

144

SALE! %

Банковские операции Обмен с интернет-банком Мастера заполнения Нейросети Программист Бухгалтер Пользователь 1С:Предприятие 8 1C:ERP 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:ERP. Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 3.0 Платные (руб)

Корректируйте банковские документы быстро и легко! Создайте правило обработки — и оно автоматически применится при загрузке выписки (отбор по любому реквизиту или регулярному выражению). Решение заполняет расшифровку платежа, комиссию эквайринга, подбирает ведомости на выплату зарплаты, помечает дубли из банка на удаление и многое другое. Доплачивать за алгоритмы не нужно — они включены в решение. Обработка работает при загрузке из файлов клиент-банка и через DirectBank. Новое — искусственный интеллект: модель приводит нестандартные назначения платежа к виду, понятному алгоритмам, а ИИ-ассистент прямо в 1С консультирует по решению и разбирает код правил и алгоритмов. Поддерживаются локальные и облачные OpenAI-совместимые модели — данные могут не покидать ваш контур.

15250 руб.

20.12.2024    18139    91    29    

80

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

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

15989 руб.

30.07.2026    6304    17    4    

15

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

Практический эксперимент по использованию ИИ при обновлении расширений 1С. Сравниваются GigaChat-2-Pro и локальный Qwen3-Coder 30B на реальных конфликтах BSL-кода. Показано, как модели анализируют изменения типовой конфигурации, где могут ошибаться даже с высокой уверенностью и почему рекомендации AI необходимо дополнительно проверять алгоритмически и в тестовой базе 1С.

24.08.2026    735    aldar    10    

8

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

В этой статье расскажу, как реализовал с помощью LLM полноценную генерацию кода для 1С (BSL) в популярном Open Source API-клиенте Bruno.

21.08.2026    960    malikov_pro    9    

9

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

Один проход модели по вопросу из 28 знаков стоит 631 296 умножений и 4,8 секунды. Столько берёт языковая модель на 21 920 параметров, посчитанная прямо в 1С средствами самой платформы. На ней разбираю по шагам, что стоит за каждым словом из модного словаря: токен, словарь, вектор символа, вес, слой, голова внимания, контекст, softmax, температура, KV-кэш. Отдельно про температуру - она вообще не про креативность и управляет выбором буквы уже после того, как модель закончила работу. Отдельно про галлюцинацию - показываю в цикле генерации место, куда физически невозможно вставить "не знаю". Плюс расчёт потолка для встроенного языка, замер цены размера модели и история про метод платформы, которого не существует.

20.08.2026    4722    nedomolkov.ivan    11    

20

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

Стенд, на котором языковую модель видно изнутри: настоящий трансформер посчитан с нуля на встроенном языке, без внешних компонент, ONNX, Native API и обращений наружу. Три кнопки: полный ответ с отчётом о числе умножений и секундах, один проход модели с вероятностями всех 36 символов алфавита столбиком, и разбор устройства - алфавит, номера токенов, размерности. Поле температуры показывает, что выбор буквы делает не сама модель, а код снаружи: при нуле ответ повторяется слово в слово, при пятёрке текст рассыпается на слоги. В комплекте два файла: модель на 21 920 параметров отвечает за 7-13 секунд, вчетверо более крупная примерно за 28. Веса лежат макетом внутри, скачивать и настраивать нечего. Знаний о мире у модели нет: она помнит сорок фраз про объекты 1С, и на вопрос вне этого набора отвечает бессмыслицей с той же уверенностью.

20.08.2026    3703    84    nedomolkov.ivan    0    

15

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

Код от агента выглядит хорошо, но между «агент выдал код» и «код работает в боевой базе» лежит дистанция, которую никто не проходит за вас. Как я обвесил её конвейером из семи ролей на боевой 1С:БП КОРП с БИТ.ФИНАНС: устройство конвейера, почему «критично» у агента не значит «дефект», шесть промахов, прошедших конвейер насквозь, один дефект, доехавший до боевой базы, и честный список того, чего я не измерял.

19.08.2026    1881    VlaMax    35    

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