Skip to content

Commit ecb937d

Browse files
authored
exclude restrictionTemplate (#571)
1 parent 60f1bea commit ecb937d

File tree

3 files changed

+32
-1
lines changed

3 files changed

+32
-1
lines changed

src/main/java/com/github/_1c_syntax/bsl/reader/common/converter/RoleDataConverter.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public class RoleDataConverter implements ReadConverter {
3838

3939
private static final String OBJECT_NODE_NAME = "object";
4040
private static final String RIGHT_NODE_NAME = "right";
41+
private static final String RESTRICTION_TEMPLATE_NODE_NAME = "restrictionTemplate";
4142

4243
@Override
4344
public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {
@@ -53,6 +54,10 @@ public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext co
5354
if (OBJECT_NODE_NAME.equals(name)) {
5455
var objectRight = readObjectRight(reader, context);
5556
builder.objectRight(objectRight);
57+
} else if (RESTRICTION_TEMPLATE_NODE_NAME.equals(name)) {
58+
// пропускаем
59+
reader.moveUp();
60+
continue;
5661
} else {
5762
var fieldClass = (Class<?>) TransformationUtils.fieldType(builder, name);
5863
Objects.requireNonNull(fieldClass, "Field type not found for: " + name);
@@ -76,7 +81,7 @@ private static RoleData.ObjectRight readObjectRight(HierarchicalStreamReader rea
7681
builder.right(right);
7782
} else {
7883
var fieldClass = (Class<?>) TransformationUtils.fieldType(builder, name);
79-
if(fieldClass == null) {
84+
if (fieldClass == null) {
8085
continue;
8186
}
8287
var value = ExtendXStream.readValue(context, fieldClass);

src/test/resources/ext/designer/mdclasses/src/cf/Roles/Роль1/Ext/Rights.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,4 +220,17 @@
220220
<value>true</value>
221221
</right>
222222
</object>
223+
<restrictionTemplate>
224+
<name>ДляОбъекта(ПолеОбъекта)</name>
225+
<condition>// ДляОбъекта(ПолеОбъекта = "")
226+
#Если &amp;СпискиСОтключеннымОграничениемЧтения = "Неопределено" #Тогда
227+
// Информационная база заблокирована для обновления.
228+
ГДЕ ЛОЖЬ
229+
#Иначе
230+
ТекущаяТаблица ГДЕ ИСТИНА В
231+
(
232+
ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА
233+
)
234+
</condition>
235+
</restrictionTemplate>
223236
</Rights>

src/test/resources/ext/edt/mdclasses/configuration/src/Roles/Роль1/Rights.rights

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,4 +220,17 @@
220220
<value>true</value>
221221
</right>
222222
</object>
223+
<restrictionTemplate>
224+
<name>ДляОбъекта(ПолеОбъекта)</name>
225+
<condition>// ДляОбъекта(ПолеОбъекта = "")
226+
#Если &amp;СпискиСОтключеннымОграничениемЧтения = "Неопределено" #Тогда
227+
// Информационная база заблокирована для обновления.
228+
ГДЕ ЛОЖЬ
229+
#Иначе
230+
ТекущаяТаблица ГДЕ ИСТИНА В
231+
(
232+
ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА
233+
)
234+
</condition>
235+
</restrictionTemplate>
223236
</Rights>

0 commit comments

Comments
 (0)