Кейс юнит-тестирование (YaxUnit) в Infostart MagicInput

16.07.26

Задачи пользователя - Поиск данных

Как мы пришли к Юнит-тестированию и почему стоит его использовать. Использование универсальных тестов для проверки работы IS MagicInput в вашей конфигурации.

В 2026 году вышел продукт Infostart MagicInput, расширяющий механизм ввода по строке в 1С. Ключевая функциональность строится на переопределении обработчика ОбработкаПолученияДанныхВыбора. Для проверки логики подбора предусмотрен метод ПолучитьДанныеВыбора(), который программно эмулирует запрос данных — это делает код удобным для юнит-тестирования. Также важно учитывать, что данный обработчик является критическим: любая ошибка в нём приводит к аварийному завершению сеанса 1С, поэтому покрытие тестами здесь становится не рекомендацией, а обязательным требованием.

Для автоматизации тестирования был выбран инструментарий YaxUnit (прекрасный инструмент, рекомендую). За первые два часа было написано около 30 тестов, в дальнейшем их количество выросло до более 70, при этом сами тесты стали более детальными и глубже проверяли результаты. Важно отметить, что все тесты жёстко привязаны к тестовой конфигурации и корректно отрабатывают только в ней, поэтому перед выпуском релизной версии они полностью удаляются из поставки.

 

 

 

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

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

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

 

Универсальные тесты

Решение универсальное и устанавливается на множество конфигураций, в каждой из которых могут быть свои обработчики и особенности. Появилась идея дать возможность пользователю проверить работу на тестовой базе на своих объектах, чтобы на раннем этапе выявить потенциальные проблемы до внедрения в боевую среду. На этом этапе делаю первые шаги: реализовал поиск по полному наименованию и коду, проверяю, чтобы обработчик не падал с ошибкой и укладывался в тайминги — 0,5 секунды для перечислений и 2 секунды для остальных объектов. Тестов будет столько, сколько объектов в вашей конфигурации, — вы можете установить YaxUnit и просто прогнать их на своей базе.

 

 

При необходимости разработчик может подкорректировать тесты (модуль ИВВ_ТестыУниверсальные) или тайминги под свои реалии — сейчас они сделаны минимально, чтобы уменьшить ложные срабатывания.

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

Поиск Infostart MagicInput YaxUnit

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

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

См. также

Информационная безопасность Поиск данных ServiceDesk, HelpDesk Журналы и реестры данных 1С 8.3 Россия Бухгалтерский учет Бюджетный учет Налоговый учет Управленческий учет Платные (руб)

Полный контроль над изменениями в 1С без нагрузки на вашу базу. Мгновенный доступ к истории изменений, удобное сравнение и откат данных в один клик. Простой отчет с визуальным отображением изменений Откат на любую версию объекта в два клика История изменения данных хранится во внешней базе

180000 руб.

05.09.2025    5562    2    1    

4

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5. Работает на возможностях платформы, внешние компоненты не используются.

6000 руб.

25.02.2026    6032    21    1    

21

SALE! 15%

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

Обработки помогут Вам легко и, главное, быстро (в 5 раз и быстрее штатной обработки 1С), выполнить поиск дублирующих данных в Ваших базах 1С на платформах 8.1-8.3. Это позволит уменьшить объем лишней информации в справочниках и документах, планах видов характеристик и др., упростит работу с данными пользователям. А так же можно, одним нажатием, узнать в каких ссылочных объектах есть вообще дубли! Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. А так же обновления Вы получаете бесплатно в течение года с момента приобретения данных обработок! (Обновление от 27.11.2023, версия 6.12)

13420 11407 руб.

14.05.2012    173083    360    253    

591

Поиск данных Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта Стажер 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 Беларусь Россия Казахстан Платные (руб)

Встройте искусственный интеллект прямо в вашу 1С за один вечер. «Цифровой сотрудник» - это чат с нейросетью внутри привычного интерфейса 1С, который умеет отвечать не «в общем», а по вашим данным: обучите его на регламентах, инструкциях и прайсах компании, подключите к данным информационной базы - и получите ассистента, который консультирует бухгалтера по учёту, отвечает менеджеру по прайсу и достаёт цифры из базы по запросу на обычном русском языке. Поддерживаются OpenAI, DeepSeek, Qwen и локальные LLM - включая вариант, когда данные вообще не покидают ваш контур.

3660 руб.

03.08.2026    1049    1    0    

3

Поиск данных 1С:Управление торговлей 11 Россия Платные (руб)

Возможность по ИНН контрагента быстро найти Партнера с которым связан контрагент.

7015 руб.

11.09.2025    1264    1    0    

3

НДС 22% Поиск данных Регламентированный учет и отчетность Взаиморасчеты Учет доходов и расходов Анализ учета Учет документов Бизнес-аналитик Бухгалтер Пользователь 1С 8.3 1С:Бухгалтерия 3.0 Россия Налоговый учет НДС Абонемент ($m)

🔍 Обработка предназначена для быстрого анализа входящего НДС по документам поступления. Она позволяет увидеть, какие ставки НДС применены в каждом документе, выявить ошибки в их использовании и проконтролировать корректность учета.

6100 руб.

06.07.2026    353    1    0    

2

DevOps и автоматизация разработки Тестирование QA Групповая разработка (Git, хранилище) Программист 1С:Предприятие 8 Бесплатно (free)

Четыре года в интеграторе я работал с git и EDT. Git после хранилища полюбил сразу: видно, кто и что менял. С EDT сложнее: тормозит, ошибки при обновлении ERP, автономный сервер внутри него работает только с файловой базой. На новой работе команда захотела перейти на git, я развернул EDT, и оно на второй день разрушило проект при загрузке расширения. Тогда я решил дать команде git с привычным Конфигуратором и инструмент, который за минуту доносит коммит до базы через ibcmd, вместо получасовой загрузки из файлов. На новой работе разрешили ИИ, и я написал это приложение с его помощью: от чтения документации и первого ТЗ до идей в электричке. Впервые за годы снова почувствовал себя творцом, а не закрывателем задач. По дороге приросли выгрузка, объединение и проверка конфигурации по коммитам, YAxUnit и режим MCP-сервера. В статье: схемы, скриншоты, грабли и честный список ограничений. Ссылки пока нет: хочу понять, нужно ли это кому-то, кроме меня.

03.09.2026    10764    KatanaDragon511    28    

40
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. booksfill 20.07.26 10:12 Сейчас в теме
YaxUnit (прекрасный инструмент, рекомендую) - охотно верю, что это прекрасный инструмент. И, вообще, большая благодарность тем, кто прилагает усилия в данном направлении.

Но можно узнать, из каких соображений вы пошли на риск выбора open source решения?
Хотелось бы понять как вы оценивали риски того, что проект может потерять поддержку в любой момент?

И, нет, это не срытая критика, у нас действительно возникают подобные проблемы.
Т.к. выделять значительное время на самостоятельную поддержку заброшенных (это я ни в коем случае не про YaxUnit) решений нежелательно.
Равно как и оказаться в ситуации, когда затраченные усилия на создание тестов оказываются сначала слегка, а потом полностью out of date.

Согласен, лучше иметь хоть какие-то тесты, чем вообще никаких. Но все же?
2. Техподдержка 20.07.26 10:23
(1)
"Но можно узнать, из каких соображений вы пошли на риск выбора open source решения?
Хотелось бы понять как вы оценивали риски того, что проект может потерять поддержку в любой момент?"

То что он умеет мне уже более чем достаточно. Тесты не сложно будет перевести на другой инструментарий думаю это как раз задача с которой бы неплохо справился ИИ.
Для отправки сообщения требуется регистрация/авторизация