Вайбкодинг в 1С: что можно доверить нейросети
Какие программы вокруг 1С можно собрать с нейросетью без риска для учёта и когда нужен программист 1С
Разрешить сайту считать ваши посещения с помощью Яндекс Метрики? Для этого она сохранит в браузере файлы cookie. Как сайт использует cookie
Какие программы вокруг 1С можно собрать с нейросетью без риска для учёта и когда нужен программист 1С
В 1С вайбкодинг устроен так же, как везде: вы описываете программу обычными словами, а код пишет нейросеть. Чаще всего это выгрузки, отчёты, конвертеры файлов и боты, которые читают данные из базы. Покажу всё на примере своего бесплатного конвертера выписок Казначейства: я собрал его с нейросетью, и пользоваться им может любой.
Когда говорят о внедрении ИИ в 1С, обычно имеют в виду одно из двух. Можно написать отдельную программу, которая берёт данные из 1С или готовит для неё файл. А можно менять саму конфигурацию: добавлять реквизиты, переписывать проведение документов, дорабатывать отчёты. В обоих случаях код для 1С может написать нейросеть. Цена ошибки у них разная.
Программа работает отдельно от базы: читает выгрузку, обращается к 1С через её штатные сервисы или готовит файл для загрузки. Если она только читает, ошибка останется в её отчёте или таблице: их легко проверить глазами и пересобрать. Если программа готовит файл для загрузки, ошибку должна поймать сверка, пока он не попал в учёт.
Изменение живёт в самой базе и срабатывает при каждом проведении документа. Ошибка расходится по остаткам и проводкам, и находят её обычно при закрытии периода. Правки типовой конфигурации вдобавок усложняют её обновление.
Отсюда правило, которого я держусь. Всё, что можно сделать рядом с базой, делается рядом с базой. Внутрь конфигурации стоит идти, только когда задачу иначе не решить, и тогда работать на копии базы вместе с программистом 1С.
Много ручной работы вокруг 1С уходит на перенос данных из файла в файл. Выписку превращают в формат, который 1С умеет загрузить. Отчёт из 1С пересобирают в таблицу для руководителя. Прайс поставщика сверяют с номенклатурой. Для каждой такой задачи можно написать отдельную программу.
Такие программы удобно писать на Python или JavaScript: на этих языках модели работают уверенно, а результат легко проверить — вот файл на входе, вот файл на выходе.
К данным 1С программа добирается тремя путями:
Больше всего осторожности требует третий путь. Как проверить такой файл до загрузки, я покажу на своём конвертере выписок.
Организации на казначейском обслуживании получают выписку комплектом XML-документов из ГИС «Электронный бюджет». Загрузить их в 1С напрямую нельзя, поэтому бухгалтер обычно переносит платежи вручную. В компании, для которой я делал первую версию, на одну выписку уходило 2–3 часа, а выписок набиралось 4–8 в месяц, то есть от 8 до 24 часов работы. При ручной сверке набегало около 5 % ошибок, и находили их уже после загрузки в 1С.
Первой версией был скрипт на Python для одного бухгалтера. Потом я сделал из него бесплатный конвертер выписок Казначейства в 1С, который работает прямо в браузере. Эту версию я собирал в Claude Code — программе, в которой нейросеть сама пишет код и запускает его. Я ставил задачи и проверял результат. В истории изменений проекта так и записано: соавтор правки от 13 августа 2026 года — Claude.
Что умеет конвертер:
1CClientBankExchange версии 1.03 в кодировке Windows-1251. Такой файл 1С загружает через обмен с банком; С кодировкой пришлось повозиться дважды. В первом скрипте одно длинное тире в названии контрагента обрывало запуск с ошибкой. А в браузере записать текст в Windows-1251 штатными средствами нельзя: встроенный кодировщик умеет только UTF-8. Кодировщик пришлось написать свой, и отдельный тест сверяет его с эталонной таблицей по всем 256 позициям.
Ещё одна деталь, до которой легко не додуматься. Перевод между собственными счетами по ИНН не различить: у плательщика и получателя он один и тот же. Поэтому для сверки сумм направление платежа конвертер берёт из перечня операций самой выписки.
Главная опасность такой программы в том, что неверный файл выглядит так же, как верный. Первый скрипт считал обороты как разность остатков из выписки и не сверял их с суммой разобранных платежей. Если в папке не хватало документа, файл всё равно собирался и молча уходил в 1С. Бухгалтер нашёл бы расхождение через месяц, на сверке, когда искать причину уже дорого.
Теперь конвертер делает три проверки. Все суммы он складывает в целых копейках: дробные числа компьютер хранит с погрешностью, и сверка ложно срабатывала бы на округлении.
Сумма поступлений и сумма списаний по разобранным документам должны совпасть с оборотами, которые указаны в самой выписке.
Остаток на начало плюс поступления минус списания должны дать остаток на конец.
Для каждой операции из выписки в папке должен найтись файл, и сумма в нём должна совпасть с суммой в выписке. Чаще всего расхождение означает, что выгрузили не все документы.
Если хоть одна проверка не прошла, файл по умолчанию не собирается. Конвертер показывает, какая сумма ожидалась, какая получилась, на сколько они разошлись и какой документ за этим стоит.
Браузерная версия должна выдавать ровно такой же файл, как проверенная версия на Python. Поэтому их результаты сравниваются байт в байт на 16 наборах, собранных из обезличенных образцов: среди них испорченная сумма, пустая папка, запуск без ИНН и выгрузка через границу года. Всего в проекте 112 тестов. А саму версию на Python я сверил с первым скриптом на 22 настоящих выгрузках, и файлы совпали байт в байт. Эти выгрузки хранятся отдельно от проекта.
Граница года попала в этот список после настоящей ошибки. Документы сортировались по дате, записанной строкой «ДД.ММ.ГГГГ». При такой сортировке 01.01.2026 идёт раньше 31.12.2025, и на любой выгрузке через границу месяца или года порядок платежей ломался. Побайтовое сравнение этой ошибки не замечало: браузерная версия повторяла версию на Python один в один, вместе с ошибкой. Для неё понадобилась отдельная проверка.
Это типичная ошибка вайбкодинга. Программа работает, все тесты проходят, и при этом результат неверен в том случае, до которого тесты не дошли. Найти такое помогает один вопрос: на каких данных программа ещё ни разу не запускалась.
Бухгалтера, у которого в руках выписки организации, в первую очередь волнует, куда уйдут данные. Конвертер работает целиком в браузере. В его коде нет ни одного способа что-то отправить: ни запросов к серверу, ни форм. Готовый файл собирается в памяти браузера и сохраняется его же средствами.
Первая версия страницы предлагала убедиться в этом самому: откройте в инструментах разработчика вкладку «Сеть», и вы не увидите ни одного запроса. Проверка в настоящем браузере показала другое. На странице работала Яндекс Метрика с картой кликов, и в момент нажатия кнопки она обращалась к своим адресам. Данных выписки в этих запросах не было. Но бухгалтер, открыв вкладку по инструкции, увидел бы запросы, которых, по словам страницы, быть не должно, и справедливо перестал бы ей доверять.
Текст я переписал до публикации. Теперь на странице названы оба адреса счётчика —
mc.yandex.ru и mc.yandex.com —
и сказано, что в запросах нет ни лицевых счетов, ни ИНН, ни сумм. Для надёжной проверки
страница предлагает простой способ: дождаться загрузки страницы, отключить интернет и собрать
файл. Без сети данные отправить некуда, а конвертер работает как обычно.
Этот урок пригодится в любом вайбкодинге. Проверка по коду показывает, что делает код. Читатель видит страницу целиком, со счётчиками и всем остальным. Поэтому обещание в тексте нужно проверять тем же способом, каким его проверит читатель.
Внутри 1С нейросеть тоже пишет код: запросы, процедуры модулей, внешние обработки и отчёты. Первая трудность — модель не видит вашу базу. Она пишет по общим знаниям о типовых конфигурациях и не знает, какие реквизиты у вас добавлены, какие обработки уже переписаны и что случится при перепроведении старых документов.
Вторая трудность — обновления. Типовая конфигурация стоит на поддержке и регулярно обновляется. Если править её напрямую, каждое следующее обновление придётся ставить со сравнением и ручным объединением изменений. Для доработок в 1С есть расширения конфигурации: изменения лежат отдельно, и типовая остаётся на поддержке. После каждого обновления расширение всё равно нужно проверить.
То же самое я видел в другой системе учёта. Несколько лет я программировал для Infor LN — системы управления предприятием, на которой работают заводы, — и сделал в ней сотни доработок. Каждая остаётся надолго: её проверяют при обновлении и помнят о ней, когда меняется соседний процесс. Нейросеть делает доработку дешёвой, и доработок от этого становится больше. Сопровождать их потом всё равно людям. Подробнее о тех годах я рассказал в записи о том, как пришёл от заводских систем учёта к своим ИИ-сервисам.
Если доработка внутри 1С всё-таки нужна:
Чтобы написать конвертер или выгрузку, модели нужна структура: какие поля есть в файле, в каком виде записаны даты и суммы, чем файл начинается и чем заканчивается. Для этого хватает обезличенного образца, в котором всё настоящее заменено выдуманным.
Выписка Казначейства хорошо показывает, сколько чувствительных данных бывает в таком файле. Там лицевые и банковские счета, ИНН, суммы, остатки и назначения платежей. В блоках электронной подписи лежат сертификаты с ФИО и реквизитами подписантов, а это уже персональные данные. Поэтому среди файлов проекта нет ни одной настоящей выписки. Для тестов служат шесть обезличенных образцов, и все они описывают одну выдуманную организацию.
Сделать хороший образец оказалось отдельной задачей. Замена должна быть последовательной: один и тот же настоящий ИНН везде превращается в один и тот же выдуманный, иначе конвертер неверно определит направление платежа. Выдуманные ИНН должны проходить проверку контрольных цифр. Выдуманные суммы должны быть связаны теми же соотношениями, что и настоящие, иначе сверка не пройдёт.
Первая версия обезличивания умножала все суммы на один множитель. Соотношения сохранялись, сверка проходила. При проверке выяснилось, что множитель восстанавливается прямо из образцов: наибольший общий делитель всех 39 сумм был равен ему. Одно деление — и в руках настоящие остатки организации. Суммы я собрал заново с теми же соотношениями, и теперь их общий делитель — единица. Вывод простой: обезличивание проверяют попыткой его обойти.
Нейросеть понадобилась только для того, чтобы написать код. Сам конвертер к ней не обращается: он работает в браузере бухгалтера. Если же программа при каждом запуске передаёт модели персональные данные, это уже вопрос закона. Записывать и хранить персональные данные граждан России нужно в базах на территории России (ч. 5 ст. 18 152-ФЗ), а передача за границу — отдельная процедура по ст. 12. Подробно об этом — в статье о том, что требует 152-ФЗ, когда в системе есть нейросеть. Какую модель ставить в программу, которая видит персональные данные, я разобрал в записи о выборе нейросети для вайбкодинга.
Если вы думаете, как применить ИИ в бухгалтерии, начните с ручного переноса — того места, где человек копирует данные из одной программы или таблицы в другую. Дальше по шагам:
Если опыта программирования у вас нет, прочитайте сначала запись «Вайбкодинг: что это простыми словами».
Мы вместе проходим вашу задачу от начала до конца — выгрузку, отчёт или конвертер вокруг 1С: описываем её словами, собираем программу с нейросетью и проверяем на настоящих файлах. Занятия идут один на один.
Или просто задайте вопрос. В рабочее время отвечаю в течение 2 часов