From 5bcf6d08cd2a546fd32bee2a9b0e5e33a93f692b Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Thu, 6 Aug 2026 21:13:35 +0300 Subject: [PATCH] =?UTF-8?q?fix(role-compile):=20=D1=84=D0=BE=D1=80=D0=BC?= =?UTF-8?q?=D0=B0=D1=82=20Role.xml=20=D0=B8=20Rights.xml=20=D0=BA=D0=B0?= =?UTF-8?q?=D0=BA=20=D1=83=20=D0=BF=D0=BB=D0=B0=D1=82=D1=84=D0=BE=D1=80?= =?UTF-8?q?=D0=BC=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Навык писал шапку многострочно (каждое объявление своей строкой) и отступы четырьмя пробелами, тогда как платформа пишет шапку одной строкой и отступы табами. На каждой роли это давало диff во всю длину файла — шум, из-за которого реальные расхождения не видны. Сверено с выгрузкой УНФ 8.5: скелет Role.xml совпал с платформенным полностью (с точностью до uuid и текстов). 1С-сертификация: 10/10 кейсов загружаются. Снэпшоты обновлены — дрейф только ожидаемый (склейка шапки и пробелы→табы). Co-Authored-By: Claude Opus 5 (1M context) --- .../role-compile/scripts/role-compile.ps1 | 92 +++++------ .../role-compile/scripts/role-compile.py | 98 +++++------- .../snapshots/basic-role/Roles/Кладовщик.xml | 43 ++---- .../basic-role/Roles/Кладовщик/Ext/Rights.xml | 25 ++- .../edit-preset/Roles/РедакторДокументов.xml | 43 ++---- .../Roles/РедакторДокументов/Ext/Rights.xml | 145 +++++++++--------- .../explicit-rights/Roles/ПравоЦен.xml | 43 ++---- .../Roles/ПравоЦен/Ext/Rights.xml | 33 ++-- .../snapshots/minimal/Roles/Пустая.xml | 43 ++---- .../minimal/Roles/Пустая/Ext/Rights.xml | 11 +- .../roundtrip-lf-preserve/Roles/Пустая.xml | 43 ++---- .../Roles/Пустая/Ext/Rights.xml | 11 +- .../Roles/ЧтениеКонтрагентов.xml | 43 ++---- .../Roles/ЧтениеКонтрагентов/Ext/Rights.xml | 33 ++-- .../synonym-rights/Roles/Кладовщик.xml | 43 ++---- .../Roles/Кладовщик/Ext/Rights.xml | 25 ++- .../view-preset/Roles/ЧтениеНоменклатуры.xml | 43 ++---- .../Roles/ЧтениеНоменклатуры/Ext/Rights.xml | 63 ++++---- .../Roles/ЧтениеДокументовПоОрганизации.xml | 43 ++---- .../Ext/Rights.xml | 85 +++++----- 20 files changed, 398 insertions(+), 610 deletions(-) diff --git a/.claude/skills/role-compile/scripts/role-compile.ps1 b/.claude/skills/role-compile/scripts/role-compile.ps1 index be8d5f77..3d0117ee 100644 --- a/.claude/skills/role-compile/scripts/role-compile.ps1 +++ b/.claude/skills/role-compile/scripts/role-compile.ps1 @@ -1,4 +1,4 @@ -# role-compile v1.17 — Compile 1C role from JSON +# role-compile v1.18 — Compile 1C role from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [Parameter(Mandatory)] @@ -679,45 +679,30 @@ $uuid = [guid]::NewGuid().ToString() $script:xmlBuf = New-Object System.Text.StringBuilder 4096 X '' -X '" -X " " -X ' ' -X " $roleName" -X ' ' -X ' ' -X ' ru' -X " $(Esc-Xml $synonym)" -X ' ' -X ' ' +X "" +X "`t" +X "`t`t" +X "`t`t`t$roleName" +X "`t`t`t" +X "`t`t`t`t" +X "`t`t`t`t`tru" +X "`t`t`t`t`t$(Esc-Xml $synonym)" +X "`t`t`t`t" +X "`t`t`t" if ($comment) { - X " $(Esc-Xml $comment)" + X "`t`t`t$(Esc-Xml $comment)" } else { - X ' ' + X "`t`t`t" } -X ' ' -X ' ' +X "`t`t" +X "`t" X '' $metadataXml = $script:xmlBuf.ToString() @@ -727,48 +712,45 @@ $metadataXml = $script:xmlBuf.ToString() $script:xmlBuf = New-Object System.Text.StringBuilder 8192 X '' -X '" +X "" # Global flags (defaults match typical 1C roles) $sfno = if ($null -ne $def.setForNewObjects) { "$($def.setForNewObjects)".ToLower() } else { "false" } $sfab = if ($null -ne $def.setForAttributesByDefault) { "$($def.setForAttributesByDefault)".ToLower() } else { "true" } $irco = if ($null -ne $def.independentRightsOfChildObjects) { "$($def.independentRightsOfChildObjects)".ToLower() } else { "false" } -X " $sfno" -X " $sfab" -X " $irco" +X "`t$sfno" +X "`t$sfab" +X "`t$irco" # Object blocks $totalRights = 0 foreach ($obj in $parsedObjects) { - X ' ' - X " $($obj.Name)" + X "`t" + X "`t`t$($obj.Name)" foreach ($right in $obj.Rights) { - X ' ' - X " $($right.Name)" - X " $($right.Value)" + X "`t`t" + X "`t`t`t$($right.Name)" + X "`t`t`t$($right.Value)" if ($right.Condition) { - X ' ' - X " $(Esc-Xml $right.Condition)" - X ' ' + X "`t`t`t" + X "`t`t`t`t$(Esc-Xml $right.Condition)" + X "`t`t`t" } - X ' ' + X "`t`t" $totalRights++ } - X ' ' + X "`t" } # RLS restriction templates $templateCount = 0 if ($def.templates) { foreach ($tpl in $def.templates) { - X ' ' - X " $(Esc-Xml "$($tpl.name)")" - X " $(Esc-Xml "$($tpl.condition)")" - X ' ' + X "`t" + X "`t`t$(Esc-Xml "$($tpl.name)")" + X "`t`t$(Esc-Xml "$($tpl.condition)")" + X "`t" $templateCount++ } } diff --git a/.claude/skills/role-compile/scripts/role-compile.py b/.claude/skills/role-compile/scripts/role-compile.py index b542b198..8cbdfa49 100644 --- a/.claude/skills/role-compile/scripts/role-compile.py +++ b/.claude/skills/role-compile/scripts/role-compile.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# role-compile v1.17 — Compile 1C role from JSON +# role-compile v1.18 — Compile 1C role from JSON # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import json @@ -687,43 +687,30 @@ def main(): # --- 4. Emit metadata XML (Roles/Name.xml) --- lines = [] lines.append('') - lines.append('= 221: - lines.append(' xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette"') - lines.append(' xmlns:style="http://v8.1c.ru/8.1/data/ui/style"') - lines.append(' xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system"') - lines.append(' xmlns:v8="http://v8.1c.ru/8.1/data/core"') - lines.append(' xmlns:v8ui="http://v8.1c.ru/8.1/data/ui"') - lines.append(' xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web"') - lines.append(' xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows"') - lines.append(' xmlns:xen="http://v8.1c.ru/8.3/xcf/enums"') - lines.append(' xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef"') - lines.append(' xmlns:xr="http://v8.1c.ru/8.3/xcf/readable"') - lines.append(' xmlns:xs="http://www.w3.org/2001/XMLSchema"') - lines.append(' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"') - lines.append(f' version="{format_version}">') - lines.append(f' ') - lines.append(' ') - lines.append(f' {role_name}') - lines.append(' ') - lines.append(' ') - lines.append(' ru') - lines.append(f' {esc_xml(synonym)}') - lines.append(' ') - lines.append(' ') + xmlns_decl = xmlns_decl.replace( + ' xmlns:style=', + ' xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style=') + lines.append(f'') + lines.append(f'\t') + lines.append('\t\t') + lines.append(f'\t\t\t{role_name}') + lines.append('\t\t\t') + lines.append('\t\t\t\t') + lines.append('\t\t\t\t\tru') + lines.append(f'\t\t\t\t\t{esc_xml(synonym)}') + lines.append('\t\t\t\t') + lines.append('\t\t\t') if comment: - lines.append(f' {esc_xml(comment)}') + lines.append(f'\t\t\t{esc_xml(comment)}') else: - lines.append(' ') - lines.append(' ') - lines.append(' ') + lines.append('\t\t\t') + lines.append('\t\t') + lines.append('\t') lines.append('') metadata_xml = '\r\n'.join(lines) @@ -731,45 +718,44 @@ def main(): # --- 5. Emit Rights XML (Roles/Name/Ext/Rights.xml) --- lines = [] lines.append('') - lines.append('') + lines.append('') # Global flags sfno = str(defn['setForNewObjects']).lower() if defn.get('setForNewObjects') is not None else 'false' sfab = str(defn['setForAttributesByDefault']).lower() if defn.get('setForAttributesByDefault') is not None else 'true' irco = str(defn['independentRightsOfChildObjects']).lower() if defn.get('independentRightsOfChildObjects') is not None else 'false' - lines.append(f' {sfno}') - lines.append(f' {sfab}') - lines.append(f' {irco}') + lines.append(f'\t{sfno}') + lines.append(f'\t{sfab}') + lines.append(f'\t{irco}') # Object blocks total_rights = 0 for obj in parsed_objects: - lines.append(' ') - lines.append(f' {obj["Name"]}') + lines.append('\t') + lines.append(f'\t\t{obj["Name"]}') for right in obj['Rights']: - lines.append(' ') - lines.append(f' {right["Name"]}') - lines.append(f' {right["Value"]}') + lines.append('\t\t') + lines.append(f'\t\t\t{right["Name"]}') + lines.append(f'\t\t\t{right["Value"]}') if right['Condition']: - lines.append(' ') - lines.append(f' {esc_xml(right["Condition"])}') - lines.append(' ') - lines.append(' ') + lines.append('\t\t\t') + lines.append(f'\t\t\t\t{esc_xml(right["Condition"])}') + lines.append('\t\t\t') + lines.append('\t\t') total_rights += 1 - lines.append(' ') + lines.append('\t') # RLS restriction templates template_count = 0 if defn.get('templates'): for tpl in defn['templates']: - lines.append(' ') - lines.append(f' {esc_xml(str(tpl["name"]))}') - lines.append(f' {esc_xml(str(tpl["condition"]))}') - lines.append(' ') + lines.append('\t') + lines.append(f'\t\t{esc_xml(str(tpl["name"]))}') + lines.append(f'\t\t{esc_xml(str(tpl["condition"]))}') + lines.append('\t') template_count += 1 lines.append('') diff --git a/tests/skills/cases/role-compile/snapshots/basic-role/Roles/Кладовщик.xml b/tests/skills/cases/role-compile/snapshots/basic-role/Roles/Кладовщик.xml index 4499583f..5f955752 100644 --- a/tests/skills/cases/role-compile/snapshots/basic-role/Roles/Кладовщик.xml +++ b/tests/skills/cases/role-compile/snapshots/basic-role/Roles/Кладовщик.xml @@ -1,32 +1,15 @@ - - - - Кладовщик - - - ru - Кладовщик - - - - - + + + + Кладовщик + + + ru + Кладовщик + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/basic-role/Roles/Кладовщик/Ext/Rights.xml b/tests/skills/cases/role-compile/snapshots/basic-role/Roles/Кладовщик/Ext/Rights.xml index 4d61ba59..ce904f5f 100644 --- a/tests/skills/cases/role-compile/snapshots/basic-role/Roles/Кладовщик/Ext/Rights.xml +++ b/tests/skills/cases/role-compile/snapshots/basic-role/Roles/Кладовщик/Ext/Rights.xml @@ -1,16 +1,13 @@ - - false - true - false - - Catalog.Товары - - Read View - true - - + + false + true + false + + Catalog.Товары + + Read View + true + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/edit-preset/Roles/РедакторДокументов.xml b/tests/skills/cases/role-compile/snapshots/edit-preset/Roles/РедакторДокументов.xml index b0b1ee3a..98739ce3 100644 --- a/tests/skills/cases/role-compile/snapshots/edit-preset/Roles/РедакторДокументов.xml +++ b/tests/skills/cases/role-compile/snapshots/edit-preset/Roles/РедакторДокументов.xml @@ -1,32 +1,15 @@ - - - - РедакторДокументов - - - ru - Редактор документов - - - - - + + + + РедакторДокументов + + + ru + Редактор документов + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/edit-preset/Roles/РедакторДокументов/Ext/Rights.xml b/tests/skills/cases/role-compile/snapshots/edit-preset/Roles/РедакторДокументов/Ext/Rights.xml index 44ffc942..7e74e3a3 100644 --- a/tests/skills/cases/role-compile/snapshots/edit-preset/Roles/РедакторДокументов/Ext/Rights.xml +++ b/tests/skills/cases/role-compile/snapshots/edit-preset/Roles/РедакторДокументов/Ext/Rights.xml @@ -1,76 +1,73 @@ - - false - true - false - - Document.РеализацияТоваров - - Read - true - - - Insert - true - - - Update - true - - - Delete - true - - - View - true - - - Edit - true - - - InputByString - true - - - Posting - true - - - UndoPosting - true - - - InteractiveInsert - true - - - InteractiveSetDeletionMark - true - - - InteractiveClearDeletionMark - true - - - InteractivePosting - true - - - InteractivePostingRegular - true - - - InteractiveUndoPosting - true - - - InteractiveChangeOfPosted - true - - + + false + true + false + + Document.РеализацияТоваров + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + Edit + true + + + InputByString + true + + + Posting + true + + + UndoPosting + true + + + InteractiveInsert + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractivePosting + true + + + InteractivePostingRegular + true + + + InteractiveUndoPosting + true + + + InteractiveChangeOfPosted + true + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/explicit-rights/Roles/ПравоЦен.xml b/tests/skills/cases/role-compile/snapshots/explicit-rights/Roles/ПравоЦен.xml index fc346cb5..b5e48566 100644 --- a/tests/skills/cases/role-compile/snapshots/explicit-rights/Roles/ПравоЦен.xml +++ b/tests/skills/cases/role-compile/snapshots/explicit-rights/Roles/ПравоЦен.xml @@ -1,32 +1,15 @@ - - - - ПравоЦен - - - ru - Право на цены - - - - - + + + + ПравоЦен + + + ru + Право на цены + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/explicit-rights/Roles/ПравоЦен/Ext/Rights.xml b/tests/skills/cases/role-compile/snapshots/explicit-rights/Roles/ПравоЦен/Ext/Rights.xml index 03801ad6..289c274e 100644 --- a/tests/skills/cases/role-compile/snapshots/explicit-rights/Roles/ПравоЦен/Ext/Rights.xml +++ b/tests/skills/cases/role-compile/snapshots/explicit-rights/Roles/ПравоЦен/Ext/Rights.xml @@ -1,20 +1,17 @@ - - false - true - false - - InformationRegister.Цены - - Read - true - - - Update - true - - + + false + true + false + + InformationRegister.Цены + + Read + true + + + Update + true + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/minimal/Roles/Пустая.xml b/tests/skills/cases/role-compile/snapshots/minimal/Roles/Пустая.xml index 6b4355f9..9ce71fac 100644 --- a/tests/skills/cases/role-compile/snapshots/minimal/Roles/Пустая.xml +++ b/tests/skills/cases/role-compile/snapshots/minimal/Roles/Пустая.xml @@ -1,32 +1,15 @@ - - - - Пустая - - - ru - Пустая - - - - - + + + + Пустая + + + ru + Пустая + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/minimal/Roles/Пустая/Ext/Rights.xml b/tests/skills/cases/role-compile/snapshots/minimal/Roles/Пустая/Ext/Rights.xml index c79756f9..9a1537d2 100644 --- a/tests/skills/cases/role-compile/snapshots/minimal/Roles/Пустая/Ext/Rights.xml +++ b/tests/skills/cases/role-compile/snapshots/minimal/Roles/Пустая/Ext/Rights.xml @@ -1,9 +1,6 @@ - - false - true - false + + false + true + false \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/roundtrip-lf-preserve/Roles/Пустая.xml b/tests/skills/cases/role-compile/snapshots/roundtrip-lf-preserve/Roles/Пустая.xml index 6b4355f9..9ce71fac 100644 --- a/tests/skills/cases/role-compile/snapshots/roundtrip-lf-preserve/Roles/Пустая.xml +++ b/tests/skills/cases/role-compile/snapshots/roundtrip-lf-preserve/Roles/Пустая.xml @@ -1,32 +1,15 @@ - - - - Пустая - - - ru - Пустая - - - - - + + + + Пустая + + + ru + Пустая + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/roundtrip-lf-preserve/Roles/Пустая/Ext/Rights.xml b/tests/skills/cases/role-compile/snapshots/roundtrip-lf-preserve/Roles/Пустая/Ext/Rights.xml index c79756f9..9a1537d2 100644 --- a/tests/skills/cases/role-compile/snapshots/roundtrip-lf-preserve/Roles/Пустая/Ext/Rights.xml +++ b/tests/skills/cases/role-compile/snapshots/roundtrip-lf-preserve/Roles/Пустая/Ext/Rights.xml @@ -1,9 +1,6 @@ - - false - true - false + + false + true + false \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/russian-types/Roles/ЧтениеКонтрагентов.xml b/tests/skills/cases/role-compile/snapshots/russian-types/Roles/ЧтениеКонтрагентов.xml index dcb20e44..cb2f8703 100644 --- a/tests/skills/cases/role-compile/snapshots/russian-types/Roles/ЧтениеКонтрагентов.xml +++ b/tests/skills/cases/role-compile/snapshots/russian-types/Roles/ЧтениеКонтрагентов.xml @@ -1,32 +1,15 @@ - - - - ЧтениеКонтрагентов - - - ru - Чтение контрагентов - - - - - + + + + ЧтениеКонтрагентов + + + ru + Чтение контрагентов + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/russian-types/Roles/ЧтениеКонтрагентов/Ext/Rights.xml b/tests/skills/cases/role-compile/snapshots/russian-types/Roles/ЧтениеКонтрагентов/Ext/Rights.xml index 8635a814..c68e96d6 100644 --- a/tests/skills/cases/role-compile/snapshots/russian-types/Roles/ЧтениеКонтрагентов/Ext/Rights.xml +++ b/tests/skills/cases/role-compile/snapshots/russian-types/Roles/ЧтениеКонтрагентов/Ext/Rights.xml @@ -1,20 +1,17 @@ - - false - true - false - - Catalog.Контрагенты - - Read - true - - - View - true - - + + false + true + false + + Catalog.Контрагенты + + Read + true + + + View + true + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/synonym-rights/Roles/Кладовщик.xml b/tests/skills/cases/role-compile/snapshots/synonym-rights/Roles/Кладовщик.xml index 4499583f..5f955752 100644 --- a/tests/skills/cases/role-compile/snapshots/synonym-rights/Roles/Кладовщик.xml +++ b/tests/skills/cases/role-compile/snapshots/synonym-rights/Roles/Кладовщик.xml @@ -1,32 +1,15 @@ - - - - Кладовщик - - - ru - Кладовщик - - - - - + + + + Кладовщик + + + ru + Кладовщик + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/synonym-rights/Roles/Кладовщик/Ext/Rights.xml b/tests/skills/cases/role-compile/snapshots/synonym-rights/Roles/Кладовщик/Ext/Rights.xml index 4d61ba59..ce904f5f 100644 --- a/tests/skills/cases/role-compile/snapshots/synonym-rights/Roles/Кладовщик/Ext/Rights.xml +++ b/tests/skills/cases/role-compile/snapshots/synonym-rights/Roles/Кладовщик/Ext/Rights.xml @@ -1,16 +1,13 @@ - - false - true - false - - Catalog.Товары - - Read View - true - - + + false + true + false + + Catalog.Товары + + Read View + true + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/view-preset/Roles/ЧтениеНоменклатуры.xml b/tests/skills/cases/role-compile/snapshots/view-preset/Roles/ЧтениеНоменклатуры.xml index deb1ba21..df5939c2 100644 --- a/tests/skills/cases/role-compile/snapshots/view-preset/Roles/ЧтениеНоменклатуры.xml +++ b/tests/skills/cases/role-compile/snapshots/view-preset/Roles/ЧтениеНоменклатуры.xml @@ -1,32 +1,15 @@ - - - - ЧтениеНоменклатуры - - - ru - Чтение номенклатуры - - - - - + + + + ЧтениеНоменклатуры + + + ru + Чтение номенклатуры + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/view-preset/Roles/ЧтениеНоменклатуры/Ext/Rights.xml b/tests/skills/cases/role-compile/snapshots/view-preset/Roles/ЧтениеНоменклатуры/Ext/Rights.xml index b0890ebd..9d0a388b 100644 --- a/tests/skills/cases/role-compile/snapshots/view-preset/Roles/ЧтениеНоменклатуры/Ext/Rights.xml +++ b/tests/skills/cases/role-compile/snapshots/view-preset/Roles/ЧтениеНоменклатуры/Ext/Rights.xml @@ -1,35 +1,32 @@ - - false - true - false - - Catalog.Номенклатура - - Read - true - - - View - true - - - InputByString - true - - - - DataProcessor.Загрузка - - Use - true - - - View - true - - + + false + true + false + + Catalog.Номенклатура + + Read + true + + + View + true + + + InputByString + true + + + + DataProcessor.Загрузка + + Use + true + + + View + true + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/with-rls/Roles/ЧтениеДокументовПоОрганизации.xml b/tests/skills/cases/role-compile/snapshots/with-rls/Roles/ЧтениеДокументовПоОрганизации.xml index 20e7f0f3..7f4181ff 100644 --- a/tests/skills/cases/role-compile/snapshots/with-rls/Roles/ЧтениеДокументовПоОрганизации.xml +++ b/tests/skills/cases/role-compile/snapshots/with-rls/Roles/ЧтениеДокументовПоОрганизации.xml @@ -1,32 +1,15 @@ - - - - ЧтениеДокументовПоОрганизации - - - ru - Чтение документов (ограничение по организации) - - - - - + + + + ЧтениеДокументовПоОрганизации + + + ru + Чтение документов (ограничение по организации) + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/with-rls/Roles/ЧтениеДокументовПоОрганизации/Ext/Rights.xml b/tests/skills/cases/role-compile/snapshots/with-rls/Roles/ЧтениеДокументовПоОрганизации/Ext/Rights.xml index 26c23895..7a36168f 100644 --- a/tests/skills/cases/role-compile/snapshots/with-rls/Roles/ЧтениеДокументовПоОрганизации/Ext/Rights.xml +++ b/tests/skills/cases/role-compile/snapshots/with-rls/Roles/ЧтениеДокументовПоОрганизации/Ext/Rights.xml @@ -1,46 +1,43 @@ - - false - true - false - - Catalog.Организации - - Read - true - - - View - true - - - InputByString - true - - - - Document.РеализацияТоваровУслуг - - Read - true - - #ДляОбъекта("") - - - - View - true - - - InputByString - true - - - - ДляОбъекта(Модификатор) - ГДЕ Организация = &ТекущаяОрганизация - + + false + true + false + + Catalog.Организации + + Read + true + + + View + true + + + InputByString + true + + + + Document.РеализацияТоваровУслуг + + Read + true + + #ДляОбъекта("") + + + + View + true + + + InputByString + true + + + + ДляОбъекта(Модификатор) + ГДЕ Организация = &ТекущаяОрганизация + \ No newline at end of file