Skip to content

Releases: Romandredan/odata1c-gate

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 29 Sep 14:11

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

Новое

Готовые запросы для БП и ЗУП. При подключении базы укажите набор запросов: odata1c base add <база> --recipes bp или --recipes zup. Модель получит именованные запросы, которые проверены на живых базах:

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

Правила гейта для своей конфигурации. Гейт — фильтр, который заменяет реквизиты и названия токенами до того, как их увидит модель. Если в вашей базе есть доработанные справочники и документы с персональными данными, опишите их поля файлом YAML в каталоге ~/.claude/odata1c/gate/. Правило действует на любой базе, где есть его сущность.

Уровень гейта при подключении. odata1c base add <база> --gate off|identifiers|identifiers+names задаёт уровень защиты этой базы сразу, без правки файла настроек.

Адрес базы — как в браузере. В bases.yaml достаточно указать корень публикации (https://server/base): окончание OData шлюз дописывает сам. Прежние полные адреса работают как раньше.

Исправлено

Паспорт и адрес работника уходили модели открытыми. В справках НДФЛ, пачках АДВ, справках о заработке и запросах СФР серия и номер документа и адрес работника стояли под общими именами полей, и гейт их не узнавал. Так было в БП и ЗУП, а номер паспорта в документах физлиц — и в УТ. Теперь закрыты весь документ физлица, документы о рождении и на проживание, полисы, дипломы, номер банковской карты, ФИО родственников, почта физлиц и регистрационный номер страхователя в фондах. На живой базе ЗУП до исправления в ответах шлюза нашлось 425 реальных значений персональных данных, после — ни одного.

Название организации портило обычные слова. Короткое название из справочника («Мост») заменялось токеном внутри других слов: «списание себестои[[org:N]]и», имена сущностей в перечне запросов. Теперь название заменяется, только когда стоит отдельным словом.

Одиночное слово заменялось токеном в любом тексте. При контрагенте ООО «Мост» слово «мост» закрывалось в каждом комментарии и назначении платежа. Теперь одиночное слово считается названием, только если по написанию видно, что это название: в кавычках, с формой собственности, в полной форме. Название из нескольких слов и полное ФИО закрываются как прежде.

Ложные срабатывания. Основание подписи («Устава»), поля …Сотрудника, сетевые адреса и отбор регистра бухгалтерии по коду счёта больше не принимаются за ФИО, почтовый адрес или банковский счёт.

Проверено

Приёмка на живых базах УТ, БП и ЗУП: реальных значений в ответах шлюза нет. На УТ ушло 224 замены голых одиночных слов, других изменений нет. Все проверки проходят на Windows и Ubuntu, Python 3.12 и 3.13. Проверочные дела плагина не прогонялись: навыки чтения в этом выпуске не менялись.

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

Гейт открывает одиночные названия и части ФИО в свободном тексте без кавычек и формы собственности («отгрузили Мост», «звонила Мария»); редкие написания — угловые кавычки, чужая форма собственности
Ломающие изменения нет
Действия после обновления перезапустить демон (odata1c daemon stop) и выполнить odata1c reindex <база> для каждой базы, без --force
Python / Claude Code без изменений

v0.2.0

Choose a tag to compare

@Romandredan Romandredan released this 29 Sep 10:26

Full Changelog: v0.1.1...v0.2.0

v0.1.1

Choose a tag to compare

@Romandredan Romandredan released this 29 Sep 10:26

Full Changelog: v0.1.0...v0.1.1

Full Changelog: v0.1.0...v0.1.1

v0.1.0

Choose a tag to compare

@Romandredan Romandredan released this 29 Sep 10:26