וואלההאיחוד האירופי מרחיב את הסיוע לאוקראינה; קייב: פגענו במטוס קרב ובשתי ספינות רוסיותThe Jerusalem PostInsurgents strike over 70 locations across southern Thailand in coordinated arson, bomb attacksPunchOgun APC reaffirms Yayi as gov candidateCNN TürkÇocuklar dijital alışverişin hedefindeBollywood HungamaSCOOP: John Abraham undergoes his BIGGEST physical transformation yet for Maria IPS; ages from 20s to 60s for Rohit Shetty’s flickESPNTakeaways from NFL preseason Week 2: Even with win, should Titans be worried about revamped secondary?한겨레“성급하게 장미란씨 범죄 피해 가능성 낮다는 경찰, 사인 철저히 확인해야”InquirerCanlaon City suspends classes due to unrest of Kanlaon VolcanoUOLSão Paulo deve ter céu nublado nesta segunda (24), e máxima não passa dos 19°Cکیهان لندنسناریوی تکراری «کشته‌سازی از نیروهای خودی»؛ ابزاری برای بقاء، سرکوب و اعدام بیشترImpress Watchローソン、手巻おにぎり全品を一律10円値下げ コメ価格低下でDaily MailChaka Khan, 73, says she's 'partnered out' and has no interest in finding love after three failed marriages as she hits back at claims she's a 'straight icon'
The Daily Newsstand · Free, Always
Monday, August 24, 2026

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

Translate

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

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

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

Например, попросить:

  • разобрать дебиторскую задолженность;

  • найти аномалии;

  • сгруппировать контрагентов;

  • объяснить расхождения;

  • рассчитать график платежей.

Проблема в том, что в такой выгрузке будут ФИО, ИНН, счета, телефоны и реальные суммы.

ООО "Альфа"
Иванов Сергей Петрович
ИНН 7701234567
р/с 40702810...
Долг: 8 587 500,00

Просто копировать это в ChatGPT, Claude или YandexGPT нельзя. Можно заранее заменить реквизиты вручную. Но тогда возникает другая проблема: как потом читать ответ модели и понимать, кто скрывается за выдуманными именами и цифрами?

Поэтому здесь нужна не просто маскировка, а обратимая псевдонимизация текста.

Схема выглядит так:

1С
 |
 v
выгрузка
 |
 v
псевдонимизация
 |
 v
нейросеть
 |
 v
ответ модели
 |
 v
обратная замена
 |
 v
ответ с настоящими данными

Обработка работает только с тем текстом, который пользователь ей передал. Самостоятельно во внешние сервисы она ничего не отправляет.

Почему случайной замены недостаточно

Возьмем таблицу:

Контрагент       Менеджер      Долг
ООО "Вектор"     Иванов И.И.   1 200 000
ООО "Сфера"      Иванов И.И.     800 000
ООО "Альфа"      Петров П.П.     300 000

Если каждое вхождение Иванов И.И. заменить независимо, модель решит, что первые две строки относятся к разным менеджерам.

Поэтому действует простое правило:

одно исходное значение получает один и тот же псевдоним во всей выгрузке.

Это сохраняет связи, группировки и смысл данных. В реальной выгрузке 1С чувствительных значений гораздо больше, чем ФИО.

Обработка ищет:

  • ФИО и организации;

  • ИНН, ИИН, БИН;

  • ОГРН, ОГРНИП, КПП;

  • банковские счета, БИК, IBAN;

  • номера карт;

  • паспортные данные и СНИЛС;

  • телефоны и email;

  • даты рождения и адреса;

  • автомобильные номера;

  • денежные суммы.

При этом задача не сводится к простым регулярным выражениям.

Например, ИНН можно проверять по контрольной сумме, банковскую карту — по алгоритму Луна, а email заменять адресом на example.com.

Псевдоним желательно делать не просто случайным, а структурно похожим на оригинал.

Например:

ИНН 7707083893

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

Самая интересная часть — суммы

С ФИО все просто:

Иванов -> Соколов
ООО "Вектор" -> ООО "Горизонт"

С деньгами сложнее. Если оставить реальные суммы — чувствительные финансовые данные уйдут наружу. Если заменить каждую сумму случайным числом — модель потеряет пропорции:

1 000 000 -> 832 451
2 000 000 -> 174 992
5 000 000 -> 681 357

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

Условно:

k = 1.73

1 000 000 -> 1 730 000
2 000 000 -> 3 460 000
5 000 000 -> 8 650 000

Абсолютные значения изменились, но сохранились:

  • отношения;

  • доли;

  • порядок;

  • динамика;

  • выбросы.

Это позволяет модели анализировать данные почти так же, как исходные.

Почему это позволяет восстановить даже новые расчеты модели

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

Ежемесячный платеж: 858 870

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

Почему нельзя умножать вообще все числа

Потому что:

НДС 20%

после такой обработки может превратиться, например, в:

НДС 34,6%

и модель сделает неверный вывод.

Поэтому специально не меняются:

  • проценты;

  • количества;

  • даты документов;

  • номера договоров;

  • артикулы и коды;

  • версии платформы;

  • счета учета вида 20.01.1.

Идея в том, чтобы изменить только то, что действительно нужно скрыть, и максимально сохранить смысл исходных данных.

Обратимость

После анализа модель возвращает ответ уже с псевдонимами:

ООО "Орион" имеет максимальную задолженность.
Соколов А.А. отвечает за 42% просроченных платежей.

Обработка прогоняет этот текст через словарь в обратную сторону:

ООО "Орион" -> ООО "Альфа"
Соколов А.А. -> Иванов И.И.

И пользователь читает ответ уже с настоящими именами и реквизитами. Без этого псевдонимизация решает только половину задачи.

Где хранить словарь замен

Можно было бы сохранять его в отдельный файл:

mapping.json

Но такой файл фактически является ключом к деанонимизации.

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

Как выглядит рабочий сценарий

Исходная выгрузка:

Контрагент: ООО "Альфа"
Менеджер: Иванов Сергей Петрович
ИНН: 7707083893
Долг: 8 587 500,00
Срок просрочки: 94 дня

После обработки:

Контрагент: ООО "Орион"
Менеджер: Соколов Алексей Андреевич
ИНН: 7721000120 
Долг: 13 645 537,50 
Срок просрочки: 94 дня

Этот текст можно отправить модели, например с запросом:

Найди основные риски по дебиторской задолженности и предложи график погашения.

После получения ответа он вставляется обратно в обработку, и настоящие имена, реквизиты и суммы возвращаются.

Где заканчивается автоматика

Здесь есть несколько важных ограничений. Во-первых, это не DLP-система. Инструмент работает только с тем текстом, который пользователь ему дал. Во-вторых, гарантированно найти вообще все чувствительные данные невозможно.

Например:

Клиент красный-47

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

8 587 500,00 -> около 8,6 млн

точные копейки восстановить уже невозможно. Их просто больше нет в тексте.

Почему это именно псевдонимизация

Если существует словарь:

Соколов -> Иванов
ООО "Орион" -> ООО "Альфа"

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

Совместимость

Технические требования здесь довольно мягкие:

  • платформа 1С 8.3.14 и выше;

  • любая конфигурация, включая самописную;

  • управляемые формы;

  • файловая и клиент-серверная база;

  • тонкий и толстый клиент;

  • достаточно прав на чтение.

Обработка не изменяет данные информационной базы и использует платформенные методы.

Две задачи — два разных сценария

В прошлой статье мы решали задачу:

база
-> псевдонимизация
-> копия подрядчику

Здесь задача другая:

выгрузка
-> псевдонимизация
-> нейросеть
-> ответ
-> обратная замена

То есть иногда нужно защищать целую копию базы, а иногда — только небольшой фрагмент данных перед конкретной операцией.

Что в итоге

На первый взгляд задача звучит просто:

Как отправить таблицу из 1С в нейросеть, не отправив реальные ФИО и реквизиты?

Но на практике мало просто заменить Иванова на Петрова.

Нужно:

  • сохранять связи между одинаковыми значениями;

  • генерировать структурно корректные реквизиты;

  • не ломать числа, которые важны для анализа;

  • скрывать суммы с сохранением пропорций;

  • уметь преобразовывать обратно результаты расчетов модели;

  • хранить словарь соответствий без ручной работы пользователя;

  • понимать границы автоматического распознавания.

И главный принцип здесь тот же, что и в случае с копией базы:

Псевдонимизация полезна только тогда, когда после нее данные сохраняют свойства, ради которых мы хотим их анализировать.

Для ФИО это связи. Для реквизитов - структура. Для денежных значений - пропорции. Для ответа нейросети - возможность пройти весь путь обратно и снова увидеть реальные данные.

View the original on Хабр

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.