mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-19 09:09:41 +03:00
feat(form-decompile,form-compile): ролевой доступ колонки реквизита (View/Edit xr-флаг)
Раундтрип терял <View>/<Edit> на колонках реквизита (колонка ValueTable/ValueTree с <Type>):
ролевой доступ вида <Edit><xr:Common>false</xr:Common><xr:Value name="Role.X">true</xr:Value></Edit>
(напр. НастройкиУчетаЗарплаты/ФормаДополнительныхДанных — колонки РайонныйКоэффициент/Ссылка).
Механизм xr-флага уже был у самого реквизита (View/Edit) и userVisible — у колонок не подключён.
decompile (Decompile-AttrColumn): захват view/edit через Decompile-XrFlag (bool | {common,roles}).
compile (Emit-AttrColumn, ps1+py): эмиссия <View>/<Edit> через Emit-XrFlag после FunctionalOptions.
(Колонки идут своим путём Decompile-AttrColumn, не через GENERIC_SCALARS — коллизии ключа edit нет.)
Корпус (acc+erp 8.3.24): из 282591 колонок — 14 с <View>, 21 с <Edit> (редко, но реально).
Верификация: таргет-раундтрип 72 форм с колоночными View/Edit → категория закрыта (0 LOST;
остаток — другие категории content/right). Регресс form-compile 43/43 (ps1+py); 1С-cert кейса
table (колоночные View common-only и Edit с ролью грузятся в платформу). spec обновлён.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+7
@@ -133,6 +133,9 @@
|
||||
<v8:DateFractions>Date</v8:DateFractions>
|
||||
</v8:DateQualifiers>
|
||||
</Type>
|
||||
<View>
|
||||
<xr:Common>false</xr:Common>
|
||||
</View>
|
||||
</Column>
|
||||
<Column name="Сумма" id="32">
|
||||
<Type>
|
||||
@@ -143,6 +146,10 @@
|
||||
<v8:AllowedSign>Any</v8:AllowedSign>
|
||||
</v8:NumberQualifiers>
|
||||
</Type>
|
||||
<Edit>
|
||||
<xr:Common>false</xr:Common>
|
||||
<xr:Value name="UUID-001">true</xr:Value>
|
||||
</Edit>
|
||||
</Column>
|
||||
<Column name="Комментарий" id="33">
|
||||
<Type>
|
||||
|
||||
@@ -36,8 +36,8 @@
|
||||
"attributes": [
|
||||
{ "name": "Объект", "type": "DataProcessorObject.Таблица", "main": true },
|
||||
{ "name": "Данные", "type": "ValueTable", "useAlways": ["Сумма"], "columns": [
|
||||
{ "name": "Дата", "type": "date", "useAlways": true },
|
||||
{ "name": "Сумма", "type": "decimal(15,2)" },
|
||||
{ "name": "Дата", "type": "date", "useAlways": true, "view": false },
|
||||
{ "name": "Сумма", "type": "decimal(15,2)", "edit": { "common": false, "roles": { "a1b2c3d4-1111-2222-3333-444455556666": true } } },
|
||||
{ "name": "Комментарий", "type": "string(200)" },
|
||||
{ "name": "Объект", "type": "AnyRef" },
|
||||
{ "name": "Источник", "type": "CatalogRef" }
|
||||
|
||||
Reference in New Issue
Block a user