НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.2.3 >> [I128-2504] Формы ввода he2: SID и связи создаются через Security📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Исправление ошибок | 2026.2.3 | 🔘 Завершено |
Средний | Ilya Mikhaylenko |
Компоненты: ИРБИС 128. Модуль he2 - Формы ввода данных
Завершено: 28.06.2026 00:17
Проблема:
В модуле he2 SID новой или редактируемой записи и связи с родительским объектом создаются прямой работой с полем 113: через $r->SetSid(), ручную установку SID в Set113() и добавление LINK через FieldAddA(). Это обходит централизованный слой Security для материализации служебного поля 113.
Решение:
Назначение SID переводится на Security::EnsurePhysicalSid(), а создание объектных связей — на Security::MaterializeLink(). Поведение старого редактора форм не меняется: создание связанных записей, открытие редактора по SID/MFN и сохранение связи с родительским объектом продолжают работать, но служебные поля создаются через общий механизм Security.
Технические подробности:
В modules/he2/Actions/GetEditFormItemsJsonCreateLinked.inc, modules/he2/*_call/InitEditor.inc и modules/he2/api.php прямое назначение SID заменяется на UseModule('Security')~~>EnsurePhysicalSid(). В modules/he2/Actions/GetSidEditor.inc и modules/he2/*_call/ShowHtml.inc прямое добавление LINK~~поля заменяется на UseModule('Security')->MaterializeLink().
Документация: Изменения документации не требуются: пользовательский сценарий работы с формами ввода не меняется, исправляется внутренний способ записи SID и связей.
-
[I128-2487] Security: служебное поле 113 создается без явного действия безопасности
Статус: Завершено | Автор: Ilya Mikhaylenko