diff --git a/src/main/java/com/github/_1c_syntax/bsl/reader/common/converter/RoleDataConverter.java b/src/main/java/com/github/_1c_syntax/bsl/reader/common/converter/RoleDataConverter.java
index c690412c7..d2ac0051d 100644
--- a/src/main/java/com/github/_1c_syntax/bsl/reader/common/converter/RoleDataConverter.java
+++ b/src/main/java/com/github/_1c_syntax/bsl/reader/common/converter/RoleDataConverter.java
@@ -38,6 +38,7 @@ public class RoleDataConverter implements ReadConverter {
private static final String OBJECT_NODE_NAME = "object";
private static final String RIGHT_NODE_NAME = "right";
+ private static final String RESTRICTION_TEMPLATE_NODE_NAME = "restrictionTemplate";
@Override
public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {
@@ -53,6 +54,10 @@ public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext co
if (OBJECT_NODE_NAME.equals(name)) {
var objectRight = readObjectRight(reader, context);
builder.objectRight(objectRight);
+ } else if (RESTRICTION_TEMPLATE_NODE_NAME.equals(name)) {
+ // пропускаем
+ reader.moveUp();
+ continue;
} else {
var fieldClass = (Class>) TransformationUtils.fieldType(builder, name);
Objects.requireNonNull(fieldClass, "Field type not found for: " + name);
@@ -76,7 +81,7 @@ private static RoleData.ObjectRight readObjectRight(HierarchicalStreamReader rea
builder.right(right);
} else {
var fieldClass = (Class>) TransformationUtils.fieldType(builder, name);
- if(fieldClass == null) {
+ if (fieldClass == null) {
continue;
}
var value = ExtendXStream.readValue(context, fieldClass);
diff --git "a/src/test/resources/ext/designer/mdclasses/src/cf/Roles/\320\240\320\276\320\273\321\2141/Ext/Rights.xml" "b/src/test/resources/ext/designer/mdclasses/src/cf/Roles/\320\240\320\276\320\273\321\2141/Ext/Rights.xml"
index 9f784dca0..ca967b179 100644
--- "a/src/test/resources/ext/designer/mdclasses/src/cf/Roles/\320\240\320\276\320\273\321\2141/Ext/Rights.xml"
+++ "b/src/test/resources/ext/designer/mdclasses/src/cf/Roles/\320\240\320\276\320\273\321\2141/Ext/Rights.xml"
@@ -220,4 +220,17 @@
true
+
+ ДляОбъекта(ПолеОбъекта)
+ // ДляОбъекта(ПолеОбъекта = "")
+ #Если &СпискиСОтключеннымОграничениемЧтения = "Неопределено" #Тогда
+ // Информационная база заблокирована для обновления.
+ ГДЕ ЛОЖЬ
+ #Иначе
+ ТекущаяТаблица ГДЕ ИСТИНА В
+ (
+ ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА
+ )
+
+
diff --git "a/src/test/resources/ext/edt/mdclasses/configuration/src/Roles/\320\240\320\276\320\273\321\2141/Rights.rights" "b/src/test/resources/ext/edt/mdclasses/configuration/src/Roles/\320\240\320\276\320\273\321\2141/Rights.rights"
index 0c2784f70..937a76f5e 100644
--- "a/src/test/resources/ext/edt/mdclasses/configuration/src/Roles/\320\240\320\276\320\273\321\2141/Rights.rights"
+++ "b/src/test/resources/ext/edt/mdclasses/configuration/src/Roles/\320\240\320\276\320\273\321\2141/Rights.rights"
@@ -220,4 +220,17 @@
true
+
+ ДляОбъекта(ПолеОбъекта)
+ // ДляОбъекта(ПолеОбъекта = "")
+ #Если &СпискиСОтключеннымОграничениемЧтения = "Неопределено" #Тогда
+ // Информационная база заблокирована для обновления.
+ ГДЕ ЛОЖЬ
+ #Иначе
+ ТекущаяТаблица ГДЕ ИСТИНА В
+ (
+ ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА
+ )
+
+