Как спросить нейросеть про свои данные 1С и не отдать ей ФИО, БИН и выручку

25.08.26

Администрирование - Информационная безопасность

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

Приносят выгрузку по дебиторке. Триста строк, глазами не видно ничего. Мысль очевидная: кинуть в чат и спросить, кто главный должник и почему по этому контрагенту вечно расхождения. Модель такое разбирает за секунды.

И тут вспоминаешь, что в выгрузке ФИО, БИН, телефоны и суммы. А в компании есть положение о персональных данных, и там написано, что выносить это за контур нельзя.

Дальше два пути, и оба плохие. Первый: не спрашивать, разбирать руками, потратить час вместо минуты. Второй: скопировать и никому не сказать. Так делают чаще, чем признаются, и я не буду делать вид, что не понимаю почему.

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

 

Почему «просто удалить ФИО» не работает

Первое, что приходит в голову: вырезать имена, оставить цифры. Получается каша.

Модель теряет связи. Была таблица, где Иванов ведёт четырёх контрагентов, стало четыре строки без владельца. Спросишь, на ком больше просрочки, а отвечать не из чего. Половина осмысленных вопросов к таблице устроена как раз вокруг того, кто с кем связан.

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

Отсюда первое требование, на котором держится вся конструкция.

Одно исходное значение получает один и тот же фейк во всей выгрузке. Иначе группировки разъезжаются, и анализировать становится нечего.

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

 

Требование, про которое обычно забывают

Допустим, обезличили и спросили. Модель отвечает:

Наибольшая задолженность у Юдина Г.Д., 3 072 156,33, это 31 процент от общей суммы. Второй по величине должник просрочил на 45 дней.

И что с этим делать? Кто такой Юдин, вы не знаете. Сумма выдуманная. Ответ формально верный и практически бесполезный.

Можно, конечно, держать рядом блокнот со списком замен и переводить руками. Ровно один раз, потом надоест.

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

 

Что делать с суммами

С суммами интереснее всего, и тут очевидное решение тоже неверное.

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

Оставить как есть тоже нельзя. Выручка компании это ровно то, что не должно уезжать в облако, часто даже строже, чем имена.

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

И тут вылезает приятный побочный эффект, ради которого стоило всё затевать.

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

Замена случайными числами это свойство убивает начисто. Поэтому её и не рассматриваем.

Одна арифметическая деталь, которая стоила отладки

Коэффициент здесь всегда больше единицы, и это не вкусовщина.

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

Я это не вывел заранее, а поймал прогоном: часть проверок возвращала сумму на копейку меньше, часть возвращала точно. Разбор по коэффициентам показал закономерность сразу: все промахи случались при k меньше единицы, все точные прогоны при k больше. После сужения диапазона до 1,15 - 3,40 обратимость стала точной по построению, а не по везению.

 

Где взять список настоящих имён

Теперь главный вопрос: как вообще понять, что вот это слово в тексте - имя человека?

Внешнему инструменту приходится угадывать, и для этого тащить локальную языковую модель. Прямой аналог на Инфостарте так и устроен: требует Ollama и qwen2.5. Логика понятна, но она разбивается о жизнь. Человек, который боится отдать данные в облако, ровно так же не поставит стороннюю нейросеть на сервер: у него та же служба безопасности и тот же согласованный список ПО.

Нам угадывать не надо. Мы внутри 1С, и у нас есть то, чего нет ни у одного внешнего инструмента: настоящий список имён. Он лежит в справочниках.

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

Эвристика остаётся подстраховкой для того, чего в базе нет. Шаблон «Иванов И.И.» в данных 1С самый надёжный признак ФИО, а наименования организаций ловятся по кавычкам-ёлочкам после правовой формы: ТОО, ООО, АО и ещё полтора десятка.

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

 

Контрольная сумма как фильтр, а не как украшение

Найти двенадцать цифр подряд легко. Беда в том, что двенадцать цифр подряд это не только БИН, но и артикул, номер накладной, штрихкод и десяток других вещей, которые заменять нельзя.

Поэтому каждая цифровая находка проходит проверку контрольной суммы: ИНН на 10 и на 12 знаков по российскому алгоритму, ИИН и БИН Казахстана, карты по алгоритму Луна. Не сошлось - не трогаем.

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

 

Даты и версии: почему точка не десятичный разделитель

Ещё одно место, где легко испортить данные молча.

Если считать точку десятичным разделителем, то под замену уедут дата 01.08.2026 и номер версии 8.3.14. Модель получит выгрузку с искажёнными датами и сделает выводы про сроки, которых не было.

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

Но в JSON и XML дробная часть всегда пишется точкой. Там суммы иначе останутся настоящими, что для инструмента по безопасности недопустимо. Решение: отдельный режим, в котором точка допускается, но с двумя ограничениями. Точка должна быть ровно одна (у даты и версии их две, они отсеиваются), и цифр должно быть не меньше трёх, чтобы 8.3 и 2.2 не сошли за деньги. При загрузке json или xml обработка включает этот режим сама: расширение файла она знает, и спрашивать об этом человека незачем.

 

Как это складывается вместе

Цикл из трёх шагов, и словарь замен связывает их в одно целое.

 

Полный цикл: обезличить, спросить, расшифровать

 

Первый шаг меняет имена и масштабирует суммы. Второй отдаёт результат модели, которая видит связи и доли, но не видит ни людей, ни выручки. Третий возвращает настоящие значения в её ответ.

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

Одна деталь, без которой третий шаг ломается на ровном месте. В вопрос к модели стоит добавить строку «имена и суммы пиши ровно как в таблице, не склоняй и не сокращай». Если модель напишет «у Абрамова наибольшая задолженность» вместо «Абрамов Ю.Г.», обратная подстановка такую форму не найдёт, и в расшифрованном ответе останется псевдоним. Готовый шаблон вопроса и пошаговый порядок работы лежат в описании обработки.

 

Что можно скормить на вход

 

Форматы, которые принимает обработка

 

Отдельно про кодировку. CSV из русского Excel почти всегда в windows-1251, а выгрузки из веба в UTF-8. Спрашивать об этом пользователя незачем: при неверной кодировке платформа подставляет символ с кодом 65533, и по нему видно, что надо перечитать файл иначе. Проверено, что кириллица в cp1251, прочитанная как UTF-8, даёт этот символ на каждой букве, так что признак надёжный.

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

 

Как это проверялось

Тут стоит рассказать подробнее, потому что тест поймал три ошибки, которые чтением кода не находятся.

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

Прогон словаря через файл здесь принципиален: это имитация сценария «сохранил словарь, закрыл форму, вернулся завтра». Если бы обратная операция втихую опиралась на что-то, что живёт только в памяти формы, тест бы это показал.

Что нашлось.

Первое: обратная операция теряла пробелы между разрядами. 1 245 300,50 возвращалось как 1245300,50. Значение верное, вид нет, а дальше весь текст съезжает на символ, и посимвольное сравнение показывает сотни расхождений там, где дефект один. Причина оказалась в том, что Формат с параметром ЧГ=0 группировку не ставит, а выключает. Разряды теперь расставляются вручную тем разделителем, который стоял в исходном числе.

Второе: та самая копейка при коэффициенте меньше единицы, про которую написано выше.

Третье, самое неприятное: детектор почты съедал кавычки. В JSON адрес стоит в кавычках, а токен резался по пробелам и запятым, поэтому в находку попадала строка вместе с обрамлением. На выходе получалось "почта": client8988@example.com, без кавычек, и такой JSON модель уже не разберёт. Теперь края находки обрезаются по составу символов адреса, а в тесте обезличенный JSON скармливается штатному ПрочитатьJSON: не разобрался - тест провален.

Итог после правок: 72 прогона на шести форматах, 1 332 замены, ноль неточных возвратов.

Четвёртое нашлось только на живой модели

Автотест гоняет цикл на своих же данных и потому слеп к одной вещи: он не знает, как выглядит ответ нейросети. А выглядит он так:

Крупнейший должник - ООО «Восход Альянс» с долгом 6 334 620,00, что составляет примерно 54,2% от строки «Итого» (11 695 051,73).

После обратного прохода тот же абзац читается так:

Крупнейший должник - ООО «Северный ветер» с долгом 2 130 000,00, что составляет примерно 54,2% от строки «Итого» (3 932 431,65).

Доля посчитана верно: по настоящим числам 2 130 000 / 3 932 431,65 это ровно 54,2 процента. Модель нашла нужного контрагента, не зная его имени, и посчитала долю на выдуманных суммах правильно. Лучшего подтверждения, что масштабирование не врёт, придумать сложно.

А теперь смотрим на 54,2 глазами детектора. Число с запятой и одним знаком после неё. То есть сумма. При обратном проходе доля честно поделилась бы на коэффициент и превратилась в 18,2 процента.

Ошибка из самых неприятных: тихая. Число на месте, выглядит правдоподобно, а вывод уже неверный. Никакого исключения, никакого предупреждения.

Лечится заглядыванием на два символа вперёд: если сразу за числом стоит знак процента, деньгами оно не является. Работает в обе стороны, потому что процент нельзя масштабировать и при обезличивании тоже.

Мораль простая. Автотест проверяет то, что вы придумали проверить. Один прогон через настоящую модель нашёл то, чего не нашли семьдесят два синтетических.

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

 

Чего этот подход не делает

Здесь надо быть честным, потому что в этой теме преувеличение опаснее, чем в любой другой.

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

Автоматика ловит не всё. Просматривать результат глазами перед отправкой всё равно надо, и это не формальная отговорка: в свободном тексте всегда найдётся что-то, чего детектор не знает. Именно поэтому обезличенный текст показывается рядом с исходным, а не уезжает никуда сам.

И главное, про что забывают: файл словаря замен - это ключ. Он содержит соответствие фейков оригиналам, то есть по нему восстанавливается всё. Хранить его надо там же и так же, как хранились бы сами данные, а не в загрузках рядом с браузером.

 

Итого

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

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

Готовая обработка со всем описанным лежит отдельной публикацией: Анонимизатор выгрузки 1С PRO, 14 640 руб. с НДС. Предупреждаю про это здесь, а не на странице оплаты: продукт живёт в Маркетплейсе, а не в файлах за стартмани. Ставить ничего не надо, код открыт, состав поставки и требования - на карточке.

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

 

Другие наши инструменты для связки 1С и нейросетей:

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

обезличивание данных анонимизация 1С персональные данные псевдонимизация нейросети в 1С ChatGPT LLM GPT ИНН БИН 152-ФЗ информационная безопасность контрольная сумма ИНН маскировка данных

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

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

См. также

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

Подключите ИИ к 1С и решайте рабочие задачи обычными словами. От работы с данными до доработки конфигурации через расширения, всё в привычном чате с ИИ-помощником. Теперь с поддержкой DeepSeek Harness, Kimi Code и Kimi Work, доступных в России без VPN.

15990 руб.

30.07.2026    19590    44    4    

38

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-совместимые модели — данные могут не покидать ваш контур.

17500 руб.

20.12.2024    21575    105    32    

90

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    77027    147    41    

154

Информационная безопасность Чистка данных Системный администратор Разработчик Руководитель проекта 1С 8.3 1С:Бухгалтерия 3.0 Платные (руб)

Обезличивает копию рабочей базы 1С перед передачей наружу и возвращает настоящие данные обратно, когда база вернулась. Это обратимая псевдонимизация: соответствия «исходное - псевдоним» пишутся в отдельный зашифрованный датасет, который остаётся у владельца. Работает на любой конфигурации - обходит метаданные и находит персональные данные сам, без списка реквизитов под конкретную базу. Суммы, количества, даты и номера документов не трогает никогда, оборотно-сальдовая до и после совпадает до копейки. Проверено на трёх конфигурациях: 106 031 объект, 215 642 замены, ноль ошибок, возврат 100 процентов.

42700 руб.

18.08.2026    1539    3    0    

3

SALE! 30%

Нейросети 1С 8.3 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Расширение добавляет в 1С чат с ИИ-агентом. Пользователь пишет вопрос обычными словами: «какие УПД не подписаны?», «какой НДС к уплате за квартал?», «что висит на согласовании дольше недели?», а агент сам строит запросы к базе с правами этого пользователя и отвечает цифрами, таблицей, диаграммой или файлом Excel. Плитки «Аналитик», «Бухгалтер» и «Руководитель» дают сводку по базе одной кнопкой. Агент разбирает ошибки по скриншоту, сверяет прайсы поставщиков и проверяет коды маркировки. С версии 1.0.21 спрашивать можно и с телефона: QR-код в окне агента, без установки приложения. Работает в УТ 11, КА 2, ERP 2, БП 3.0, УНФ 3.0, Документооборот 3.0 и Альфа-Авто 6, ставится одним расширением.

18300 руб.

05.10.2026    3713    11    9    

12

Информационная безопасность Инструменты администратора БД Инструментарий разработчика Учет документов Системный администратор Разработчик Аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С 8.5 Розничная и сетевая торговля (FMCG) Платные (руб)

Контроль ввода данных в 1С: проверка заполнения реквизитов, обязательные поля, контроль перед записью и проведением, запрет проведения документа. Позволяет настраивать любые проверки данных в 1С 8.3/8.5 от обязательных полей до сложных условий – без открытия конфигуратора и написания кода. Готовое расширение, которое подключается и работает сразу.

6000 руб.

15.04.2026    4191    12    0    

25

Инструментарий разработчика Нейросети Системный администратор Разработчик Руководитель проекта 1С 8.3 Платные (руб)

Обработка заменяет ФИО, организации, ИНН, ИИН, БИН, ОГРН, КПП, БИК, счета и IBAN, паспорта, СНИЛС, адреса, телефоны, почту и суммы на правдоподобные выдуманные перед отправкой данных в ChatGPT, Claude или YandexGPT, а потом расшифровывает ответ модели обратно, подставляя настоящие имена и настоящие числа. Возвращаются и те итоги, которые модель посчитала сама: суммы масштабируются одним коэффициентом, поэтому пропорции и доли переживают обезличивание. Словарь замен хранится в самой базе и подхватывается автоматически, даже если обработку закрывали. Реквизиты России и Казахстана, любая конфигурация от 8.3.24, без единой зависимости.

14640 руб.

07.08.2026    2210    3    0    

3

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

ИИ-сканер документов с REST API для интеграции с 1С и корпоративными системами. Извлекайте данные из счетов, паспортов, дипломов, патентов и трудовых книжек за секунды. Точность человека - скорость машины. Приложение поддерживает восемь типов документов, четырех провайдеров ИИ (имеется возможность использования локальных ИИ), локальный REST API и экспорт в JSON. Важно! модель должна поддерживать функцию Vision (распознавание файлов и картинок). Запускайте используя локальные ИИ, без подписок и ограничений

6100 руб.

24.08.2026    1464    1    0    

1
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ТочкаScarab 07.08.26 09:40 Сейчас в теме
вот не хотел разбирать этот нейрослоп - а придётся:
и так - Ваня нашёл какой-то анонимизатор персональных данных (не колется какой - видно не хочет отвечать за рекламу). И он ему конечно не понравился ибо Ваня поленился поискать нормальный анонимизатор (я могу, но за соответствующее вознаграждение конечно - Ваня ж то же своё время и свои труды ценит). При чём есть нормальные анонимизаторы (открою страшную тайну) - да же бесплатные. То что этот нейрослоп в конце концов оказывается по сути рекламой Ваниного же анонимизатора - ничего удивительного (насколько я понимаю, такое поведение на текущий момент площадкой не запрещается - а значит разрешено). Как говорится "Покупайте наших слонов!" - не Ваня, так слона ты не продашь
Для отправки сообщения требуется регистрация/авторизация