
Привет всем! Меня зовут Ростислав, я программист 1С в ТехВилле.
И если Вы разрабатываете под 1С, то знаете главное правило: хочешь протестировать мелкое исправление — готовься перезапускать режим предприятия, снова открывать нужный документ, снова восстанавливать контекст и снова проходить длинный бизнес-процесс ради одной кнопки.
В какой-то момент я понял: я не готов так жить дальше.
И сделал инструмент, который позволяет писать код в файле, сохранять и мгновенно видеть результат в режиме предприятия, без перезапуска и без боли!
Так появился Чпоньк! Название говорит само за себя: нажал Ctrl+С = чпоньк! и изменения уже применены.
Хочу рассказать, как он работает, чем помогает и почему возвращаться к старому циклу «правка → перезапуск → проверка» совсем не хочется.
Как выглядит работа с Чпоньк?
Чтобы было проще объяснить, возьмём простой пример. Допустим, в карточке поставщика нужно добавить кнопку: отправить код поставщика во внешний сервис и записать ответ в комментарий.
Классическая рутина, но в Чпоньк! всё выглядит совсем иначе.
Шаг 1. Пишу код в VS Code
Создаю обычный файл. Да, самый обычный, который можно открыть хоть в блокноте. Я предпочитаю VS Code.

Шаг 2. Запускаю Чпоньк!

Указываю:
— файл версии конфигурации (если его нет, то выгружаю нажатие кнопки “Выгрузить файл версий”);
— файл с доработками;
— способ поставки изменений (COM или HTTP “ручка”).
Нажимаю кнопку «Запустить».
В этот момент внутри начинается магия: Чпоньк! парсит файл, собирает расширение, подключает его, один раз перезапускает режим предприятия и всё! Изменения применены, можно проверять..
При первом подключении понадобится единственный перезапуск за всю сессию разработки.
Шаг 3. Открываю карточку поставщика

Кнопка уже на месте. Нажимаю — ответ сервиса появился в поле комментарий.
Шаг 4. Меняю код — и вижу результат, не перезапуская 1С

Подключаю наблюдатель за файлами.

Меняю код в файле, сохраняю, возвращаюсь в карточку - логика уже другая.

И всё это без повторного открытия формы, без воспроизведения бизнес-процесса, без «ну щас ещё разок перезапущу».
Почему это реально ускоряет разработку
Лично для меня главное это то, что контекст не теряется. Если нужно протестировать кусочек логики в середине длинного процесса, то в классике вы:
Перезапускаете предприятие.
Последовательно воссоздаете контекст, выполняя необходимые действия по процессу.
И на последнем шаге проверяете корректность доработки.
С Чпоньк! всё иначе:
Редактируйте код в файле
Сохраняете
Проверяете корректность доработки
И тестируете ровно то, что нужно, прямо на том шаге, где вы стояли. Плюс все доработки по задаче находится в одном файле, а не разбросан по модулям конфигурации. Разделение по модулям с помощью специальных директив. Для теста или демонстрации достаточно его “подключить” к конфигурации через обработку. Также удобно отправить файл на код-ревью или переносить доработки из одного файла в хранилище.
Что под капотом?
Главная идея простая: мы перехватываем выполнение метода через расширение, но само тело метода берём не из расширения, а из вашего файла.
Как это выглядит технически:
код из файла хранится в Хранилище общих настроек,
наблюдатель следит за изменениями и обновляет их в базе в хранилище,
расширение перехватывает вызов метода и выполняет код из хранилища,

Сборка расширения полностью автоматическая:
Чпоньк! парсит код из файла и разбивает его на модули и методы,
формирует исходные XML файлы расширения,
используя временную базу или утилиту ibcmd собирает файл расширения,
подключает его в рабочую базу.
Вы ничего этого не видите, так как это всё происходит под капотом.
Настройки и работа в интерфейсе
Первый запуск — четыре действия: указать файл версий, файл с доработками, способ доставки и нажать «Запустить».
После подключения на форме обработке будет:
список файлов,
список методов,
параметры, аннотации, события,
возможность удалить файл (и вернуть базу в исходное состояние).

Ограничения, о которых нужно знать
Пишу честно, как есть:
— На проде использовать не надо. Это инструмент для разработки.
— Отладки нет. Но содержимое переменных или трассировку можно выводить в лог или сообщения.
— Работает только на управляемых формах.
— Нужна платформа 8.3.18+ (используются асинх методы для работы с ОС)
— Работает только на Windows
— После добавления нового модуля в текст файла понадобится перезапуск.
При этом методы можно добавлять без перезапуска.
— Асинхронные методы и обработчики оповещений внутри файла пока не поддерживаются.
Планы развития
Дальше хочу:
— обойти ограничения,
— сделать кнопку «закинуть код сразу в конфигурацию или хранилище»,
— добавить полноценную поддержку формата EDT.
Идей много, времени мало, но я стараюсь.
И самое главное — Чпоньк! в открытом доступе
На странице репозитория (https://github.com/pogo4/chponk) можно посмотреть исходники, протестировать готовую сборку, попробовать пример файла или даже прислать свой pull-request — я буду только рад.
Очень надеюсь, что Чпоньк! ускорит Вашу разработку так же, как ускорил мою, и вокруг него появится сообщество людей, которым по душе такой способ работы.