Перейти к содержимому

Разрешить сайту считать ваши посещения с помощью Яндекс Метрики? Для этого она сохранит в браузере файлы cookie. Как сайт использует cookie

VC
Разбор · 2026-09-26 · 12–14 мин чтения

Вайбкодинг в 1С: что можно доверить нейросети

Какие программы вокруг 1С можно собрать с нейросетью без риска для учёта и когда нужен программист 1С

VC
Вячеслав Чухалдин
Калининград · опубликовано 2026-09-26

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

01

Два способа: рядом с базой и внутри неё

Когда говорят о внедрении ИИ в 1С, обычно имеют в виду одно из двух. Можно написать отдельную программу, которая берёт данные из 1С или готовит для неё файл. А можно менять саму конфигурацию: добавлять реквизиты, переписывать проведение документов, дорабатывать отчёты. В обоих случаях код для 1С может написать нейросеть. Цена ошибки у них разная.

Рядом с 1С

худший исход — неверный файл

Программа работает отдельно от базы: читает выгрузку, обращается к 1С через её штатные сервисы или готовит файл для загрузки. Если она только читает, ошибка останется в её отчёте или таблице: их легко проверить глазами и пересобрать. Если программа готовит файл для загрузки, ошибку должна поймать сверка, пока он не попал в учёт.

Внутри конфигурации

худший исход — испорченный учёт

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

Отсюда правило, которого я держусь. Всё, что можно сделать рядом с базой, делается рядом с базой. Внутрь конфигурации стоит идти, только когда задачу иначе не решить, и тогда работать на копии базы вместе с программистом 1С.

02

Программы рядом с 1С: выгрузки, конвертеры, отчёты

Много ручной работы вокруг 1С уходит на перенос данных из файла в файл. Выписку превращают в формат, который 1С умеет загрузить. Отчёт из 1С пересобирают в таблицу для руководителя. Прайс поставщика сверяют с номенклатурой. Для каждой такой задачи можно написать отдельную программу.

Такие программы удобно писать на Python или JavaScript: на этих языках модели работают уверенно, а результат легко проверить — вот файл на входе, вот файл на выходе.

К данным 1С программа добирается тремя путями:

  • Файл, который 1С уже выгружает. Отчёт в Excel, прайс, выписка. Самый простой путь: базу трогать не нужно совсем.
  • HTTP-сервисы и стандартный интерфейс OData. Это встроенные способы 1С отдавать данные другим программам. Публикует их на веб-сервере программист 1С или администратор.
  • Файл для загрузки в 1С. Программа собирает его в формате, который 1С загружает штатно, например как банковскую выписку.

Больше всего осторожности требует третий путь. Как проверить такой файл до загрузки, я покажу на своём конвертере выписок.

03

Как я собрал с нейросетью конвертер выписок Казначейства

Организации на казначейском обслуживании получают выписку комплектом XML-документов из ГИС «Электронный бюджет». Загрузить их в 1С напрямую нельзя, поэтому бухгалтер обычно переносит платежи вручную. В компании, для которой я делал первую версию, на одну выписку уходило 2–3 часа, а выписок набиралось 4–8 в месяц, то есть от 8 до 24 часов работы. При ручной сверке набегало около 5 % ошибок, и находили их уже после загрузки в 1С.

Первой версией был скрипт на Python для одного бухгалтера. Потом я сделал из него бесплатный конвертер выписок Казначейства в 1С, который работает прямо в браузере. Эту версию я собирал в Claude Code — программе, в которой нейросеть сама пишет код и запускает его. Я ставил задачи и проверял результат. В истории изменений проекта так и записано: соавтор правки от 13 августа 2026 года — Claude.

Что умеет конвертер:

  • читает три типа документов: выписку по лицевому счёту, платёжное поручение и поручение о перечислении. Тип он узнаёт по корневому элементу XML: шаблоны имён файлов Казначейство время от времени меняет;
  • записывает файл 1CClientBankExchange версии 1.03 в кодировке Windows-1251. Такой файл 1С загружает через обмен с банком;
  • по ИНН организации определяет направление каждого платежа и дописывает в начало назначения «Оплата поставщику» или «Оплата от покупателя». На эту приставку опираются правила автоматического сопоставления в 1С: без неё платежи пришлось бы разносить по контрагентам вручную;
  • заменяет символы, которых нет в Windows-1251, и перечисляет каждую замену в отчёте: в каком поле, в каком документе, сколько раз.

С кодировкой пришлось повозиться дважды. В первом скрипте одно длинное тире в названии контрагента обрывало запуск с ошибкой. А в браузере записать текст в Windows-1251 штатными средствами нельзя: встроенный кодировщик умеет только UTF-8. Кодировщик пришлось написать свой, и отдельный тест сверяет его с эталонной таблицей по всем 256 позициям.

Ещё одна деталь, до которой легко не додуматься. Перевод между собственными счетами по ИНН не различить: у плательщика и получателя он один и тот же. Поэтому для сверки сумм направление платежа конвертер берёт из перечня операций самой выписки.

04

Проверки, без которых файл не попадает в учёт

Главная опасность такой программы в том, что неверный файл выглядит так же, как верный. Первый скрипт считал обороты как разность остатков из выписки и не сверял их с суммой разобранных платежей. Если в папке не хватало документа, файл всё равно собирался и молча уходил в 1С. Бухгалтер нашёл бы расхождение через месяц, на сверке, когда искать причину уже дорого.

Теперь конвертер делает три проверки. Все суммы он складывает в целых копейках: дробные числа компьютер хранит с погрешностью, и сверка ложно срабатывала бы на округлении.

Документы сходятся с оборотами

Сумма поступлений и сумма списаний по разобранным документам должны совпасть с оборотами, которые указаны в самой выписке.

Выписка сходится сама с собой

Остаток на начало плюс поступления минус списания должны дать остаток на конец.

У каждой операции есть документ

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

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

Совпадение байт в байт и граница года

Браузерная версия должна выдавать ровно такой же файл, как проверенная версия на Python. Поэтому их результаты сравниваются байт в байт на 16 наборах, собранных из обезличенных образцов: среди них испорченная сумма, пустая папка, запуск без ИНН и выгрузка через границу года. Всего в проекте 112 тестов. А саму версию на Python я сверил с первым скриптом на 22 настоящих выгрузках, и файлы совпали байт в байт. Эти выгрузки хранятся отдельно от проекта.

Граница года попала в этот список после настоящей ошибки. Документы сортировались по дате, записанной строкой «ДД.ММ.ГГГГ». При такой сортировке 01.01.2026 идёт раньше 31.12.2025, и на любой выгрузке через границу месяца или года порядок платежей ломался. Побайтовое сравнение этой ошибки не замечало: браузерная версия повторяла версию на Python один в один, вместе с ошибкой. Для неё понадобилась отдельная проверка.

Это типичная ошибка вайбкодинга. Программа работает, все тесты проходят, и при этом результат неверен в том случае, до которого тесты не дошли. Найти такое помогает один вопрос: на каких данных программа ещё ни разу не запускалась.

05

Обещание «данные не уходят» я проверил в настоящем браузере

Бухгалтера, у которого в руках выписки организации, в первую очередь волнует, куда уйдут данные. Конвертер работает целиком в браузере. В его коде нет ни одного способа что-то отправить: ни запросов к серверу, ни форм. Готовый файл собирается в памяти браузера и сохраняется его же средствами.

Первая версия страницы предлагала убедиться в этом самому: откройте в инструментах разработчика вкладку «Сеть», и вы не увидите ни одного запроса. Проверка в настоящем браузере показала другое. На странице работала Яндекс Метрика с картой кликов, и в момент нажатия кнопки она обращалась к своим адресам. Данных выписки в этих запросах не было. Но бухгалтер, открыв вкладку по инструкции, увидел бы запросы, которых, по словам страницы, быть не должно, и справедливо перестал бы ей доверять.

Текст я переписал до публикации. Теперь на странице названы оба адреса счётчика — mc.yandex.ru и mc.yandex.com — и сказано, что в запросах нет ни лицевых счетов, ни ИНН, ни сумм. Для надёжной проверки страница предлагает простой способ: дождаться загрузки страницы, отключить интернет и собрать файл. Без сети данные отправить некуда, а конвертер работает как обычно.

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

06

Правка конфигурации 1С: на копии базы и вместе с программистом

Внутри 1С нейросеть тоже пишет код: запросы, процедуры модулей, внешние обработки и отчёты. Первая трудность — модель не видит вашу базу. Она пишет по общим знаниям о типовых конфигурациях и не знает, какие реквизиты у вас добавлены, какие обработки уже переписаны и что случится при перепроведении старых документов.

Вторая трудность — обновления. Типовая конфигурация стоит на поддержке и регулярно обновляется. Если править её напрямую, каждое следующее обновление придётся ставить со сравнением и ручным объединением изменений. Для доработок в 1С есть расширения конфигурации: изменения лежат отдельно, и типовая остаётся на поддержке. После каждого обновления расширение всё равно нужно проверить.

То же самое я видел в другой системе учёта. Несколько лет я программировал для Infor LN — системы управления предприятием, на которой работают заводы, — и сделал в ней сотни доработок. Каждая остаётся надолго: её проверяют при обновлении и помнят о ней, когда меняется соседний процесс. Нейросеть делает доработку дешёвой, и доработок от этого становится больше. Сопровождать их потом всё равно людям. Подробнее о тех годах я рассказал в записи о том, как пришёл от заводских систем учёта к своим ИИ-сервисам.

Если доработка внутри 1С всё-таки нужна:

  1. Сделайте копию базы. В конфигураторе базу выгружают в файл .dt и разворачивают из него копию рядом с рабочей. На копии можно ошибаться сколько угодно.
  2. Выберите самый бережный способ. Где это возможно, делайте доработку расширением или внешней обработкой: типовая конфигурация останется нетронутой.
  3. Проверьте на копии всё, что может задеть изменение. Новую функцию, проведение старых документов, закрытие месяца.
  4. Покажите изменение программисту 1С до переноса в рабочую базу. Он знает вашу конфигурацию и отвечает за неё после обновлений.
07

Данные из 1С и нейросеть: для кода хватит образца

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

Выписка Казначейства хорошо показывает, сколько чувствительных данных бывает в таком файле. Там лицевые и банковские счета, ИНН, суммы, остатки и назначения платежей. В блоках электронной подписи лежат сертификаты с ФИО и реквизитами подписантов, а это уже персональные данные. Поэтому среди файлов проекта нет ни одной настоящей выписки. Для тестов служат шесть обезличенных образцов, и все они описывают одну выдуманную организацию.

Сделать хороший образец оказалось отдельной задачей. Замена должна быть последовательной: один и тот же настоящий ИНН везде превращается в один и тот же выдуманный, иначе конвертер неверно определит направление платежа. Выдуманные ИНН должны проходить проверку контрольных цифр. Выдуманные суммы должны быть связаны теми же соотношениями, что и настоящие, иначе сверка не пройдёт.

Первая версия обезличивания умножала все суммы на один множитель. Соотношения сохранялись, сверка проходила. При проверке выяснилось, что множитель восстанавливается прямо из образцов: наибольший общий делитель всех 39 сумм был равен ему. Одно деление — и в руках настоящие остатки организации. Суммы я собрал заново с теми же соотношениями, и теперь их общий делитель — единица. Вывод простой: обезличивание проверяют попыткой его обойти.

Нейросеть понадобилась только для того, чтобы написать код. Сам конвертер к ней не обращается: он работает в браузере бухгалтера. Если же программа при каждом запуске передаёт модели персональные данные, это уже вопрос закона. Записывать и хранить персональные данные граждан России нужно в базах на территории России (ч. 5 ст. 18 152-ФЗ), а передача за границу — отдельная процедура по ст. 12. Подробно об этом — в статье о том, что требует 152-ФЗ, когда в системе есть нейросеть. Какую модель ставить в программу, которая видит персональные данные, я разобрал в записи о выборе нейросети для вайбкодинга.

08

С чего начать бухгалтеру или владельцу бизнеса

Если вы думаете, как применить ИИ в бухгалтерии, начните с ручного переноса — того места, где человек копирует данные из одной программы или таблицы в другую. Дальше по шагам:

  1. Найдите перенос. Спросите сотрудников, что они каждую неделю делают одинаково и что приходится перепроверять. Запишите, сколько раз в месяц это происходит и сколько времени занимает.
  2. Опишите вход и выход. Какой файл приходит, в каком формате и откуда. Какой файл нужен на выходе и куда его загружают. Удобнее всего, когда на выходе формат, который 1С уже загружает штатно.
  3. Возьмите 3–5 настоящих файлов для проверки. Они остаются у вас: на них вы проверите готовую программу. Нейросети для работы хватит обезличенной копии одного из них.
  4. Решите заранее, что должно сойтись. Для выписки это обороты и остатки, для отчёта — итог, который вы знаете по 1С. Программа, которая сверяет себя сама, останавливается на ошибке до того, как та попадёт в учёт.
  5. Сверьте первые запуски с ручной работой. Обработайте один и тот же период обоими способами и сравните результат.

Если опыта программирования у вас нет, прочитайте сначала запись «Вайбкодинг: что это простыми словами».

Частые вопросы

Коротко о вайбкодинге в 1С

Может ли нейросеть писать код на встроенном языке 1С?

Может: запросы, процедуры модулей, внешние обработки и отчёты. Ограничение одно: модель не видит вашу базу и пишет по общим знаниям о типовых конфигурациях. Какие реквизиты у вас добавлены и какие обработки уже переписаны, она не знает. Поэтому код для 1С проверяют на копии базы, а решение о переносе в рабочую базу принимает программист 1С.

Можно ли вайбкодингом дорабатывать типовую конфигурацию?

Можно, если соблюдать три условия. Работать на копии базы. Где это возможно, делать доработку расширением конфигурации или внешней обработкой: так типовая конфигурация остаётся на поддержке. Показывать каждое изменение программисту 1С до переноса в рабочую базу. Прямые правки типовой конфигурации усложняют каждое следующее обновление.

Нужен ли программист 1С, если есть нейросеть?

Для правки конфигурации нужен. Он знает, как устроена ваша база, и отвечает за неё после обновлений. Нейросеть ускоряет его работу: черновик запроса или обработки появляется за минуты, и программисту остаётся его проверить. Для программ рядом с 1С — выгрузок, конвертеров, отчётов — программист 1С бывает нужен только для того, чтобы опубликовать HTTP-сервисы или выдать права.

Можно ли отправлять данные из 1С в ChatGPT или другую нейросеть?

В выгрузках из 1С часто есть персональные данные: ФИО сотрудников и подписантов, телефоны, сведения о предпринимателях-контрагентах. ChatGPT, Claude и Gemini — зарубежные сервисы, а передача персональных данных граждан России за границу по ст. 12 152-ФЗ — отдельная процедура. Чтобы написать код, модели хватает структуры файла и обезличенного образца. Образец проверьте простым вопросом: сможет ли сотрудник узнать по нему человека или вашу организацию.

Как загрузить в 1С файл, который собрала программа?

Проще всего, когда программа собирает файл в формате, который 1С уже загружает штатно. Для банковских выписок это 1CClientBankExchange в кодировке Windows-1251: в 1С:Бухгалтерии 3.0 его загружают в разделе «Банк и касса» → «Банковские выписки» → кнопка «Загрузить». Для других данных штатного формата может не оказаться. Тогда загрузку пишет программист 1С — обработкой, которая читает файл по вашему описанию. Первые загрузки делайте на копии базы.

Чем опасна ошибка в программе, которая работает с данными 1С?

Тем, что она редко выглядит как ошибка. Файл собирается, 1С его загружает, а расхождение всплывает через месяц при сверке. В моём конвертере выписок документы одно время сортировались по дате, записанной строкой, и на выгрузке через границу месяца или года порядок платежей ломался. Сверка сумм и побайтовое сравнение двух версий конвертера при этом проходили. Поэтому программа, которая готовит данные для учёта, должна сверять себя сама и останавливаться, если суммы не сошлись.
Что почитать дальше
Уроки по вайбкодингу

Соберите такую программу для своего учёта

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

Или просто задайте вопрос. В рабочее время отвечаю в течение 2 часов