3_0_1_204

This commit is contained in:
Компания 1С committed 2018-07-11 00:47:00 +03:00
1 parent b783b07432
commit b308afecb3
1138 files changed
+139039 -77616

No files matched your search

@@ -9,18 +9,26 @@
<name>Read</name>
<value>true</value>
<restrictionByCondition>
<condition>#ПоЗначениям( "РегистрСведений.ДополнительныеСведения", "","",
<condition>#Если &amp;ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляРегистра("ИдентификаторыОбъектовМетаданных.РегистрСведенийДополнительныеСведения", "Свойство", "", "", "", "")
#Иначе
#ПоЗначениям( "РегистрСведений.ДополнительныеСведения", "","",
"ДополнительныеСведения", "Свойство",
"","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","")</condition>
"","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","")
#КонецЕсли</condition>
</restrictionByCondition>
</right>
<right>
<name>Update</name>
<value>true</value>
<restrictionByCondition>
<condition>#ПоЗначениям( "РегистрСведений.ДополнительныеСведения", "","",
<condition>#Если &amp;ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляРегистра("ИдентификаторыОбъектовМетаданных.РегистрСведенийДополнительныеСведения", "Свойство", "", "", "", "")
#Иначе
#ПоЗначениям( "РегистрСведений.ДополнительныеСведения", "","",
"ДополнительныеСведения", "Свойство",
"","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","")</condition>
"","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","")
#КонецЕсли</condition>
</restrictionByCondition>
</right>
<right>
@@ -46,6 +54,240 @@
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляРегистра(Регистр, Поле1, Поле2, Поле3, Поле4, Поле5)</name>
<condition>// ДляРегистра(Регистр, Поле1, Поле2 = "", Поле3 = "", Поле4 = "", Поле5 = "")
// Шаблон используется для ограничения групп записей регистров.
//
// Параметры:
// Регистр - имя предопределенного элемента справочника Идентификаторы объектов метаданных или справочника
// Идентификаторы объектов расширений в формате: имя справочника с точкой и полное имя таблицы
// без точки, например, ИдентификаторыОбъектовМетаданных.РегистрНакопленияОстаткиНаСкладах;
// - имя отдельного регистра ключей в формате КлючиДоступаКРегистру&lt;ОстатокИмени&gt;,
// например, КлючиДоступаКРегиструОстаткиНаСкладах.
// Поле1 - имя первого поля (измерения, ресурса, реквизита), которое будет соединяться с полем Поле1
// регистра сведений КлючиДоступаКРегистр*
// Поле2 - аналогично предыдущему параметру, если используется в ограничении доступа к регистру.
// ...
// Поле5 - аналогично предыдущему параметру, если используется в ограничении доступа к регистру.
#Если &amp;СпискиСОтключеннымОграничениемЧтения = "Неопределено" #Тогда
// Информационная база заблокирована для обновления.
ГДЕ ЛОЖЬ
#ИначеЕсли Не СтрСодержит(&amp;ВерсииШаблоновОграниченияДоступа, ",ДляРегистра1,") #Тогда
И Не СтрСодержит(&amp;ВерсииШаблоновОграниченияДоступа, ",ДляРегистра1ТребуетсяПерезапуститьСеанс,") #Тогда
Ошибка: Требуется обновить шаблон на актуальную версию, поставляемую в роли ИзменениеУчастниковГруппДоступа по причине: Используется устаревшая версия 1 шаблона ограничения доступа ДляРегистра. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
#ИначеЕсли &amp;СпискиСОтключеннымОграничениемЧтения = "Все" #Тогда
// У пользователя отключены все виды доступа или
// ограничение на уровне записей не используется.
#ИначеЕсли СтрСодержит(&amp;СпискиСОтключеннымОграничениемЧтения, #ИмяТекущейТаблицы) #Тогда
// У пользователя отключено ограничение для текущей таблицы.
#ИначеЕсли СтрСодержит(&amp;ВерсииШаблоновОграниченияДоступа, ",ДляРегистра1ТребуетсяПерезапуститьСеанс,") #Тогда
Ошибка: Версия программы обновлена, требуется перезапустить сеанс. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
#ИначеЕсли #ИмяТекущегоПраваДоступа &lt;&gt; "Чтение" #Тогда
// Проверка прав Добавление, Изменение, Удаление выполняется ПередЗаписью / ПриЗаписи.
ГДЕ ИСТИНА
#ИначеЕсли Не СтрСодержит(&amp;СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":[#Регистр]:#Поле1:#Поле2:#Поле3:#Поле4:#Поле5;")
И Не СтрСодержит(&amp;СпискиСОграничениемЧерезКлючиДоступаГруппДоступа, #ИмяТекущейТаблицы + ":[#Регистр]:#Поле1:#Поле2:#Поле3:#Поле4:#Поле5;") #Тогда
Ошибка: Требуется актуализировать ограничение доступа по причине: Не удалось определить вариант ограничения доступа в параметрах сеанса для шаблона ДляРегистра со значениями параметров "#Регистр", "#Поле1", "#Поле2", "#Поле3", "#Поле4", "#Поле5". Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
#Иначе
ТекущаяТаблица ГДЕ ИСТИНА В
(
ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА
#Если Не СтрСодержит("#Регистр", "КлючиДоступаКРегистру") #Тогда
ИЗ РегистрСведений.КлючиДоступаКРегистрам КАК КлючиДоступаКРегистрам
#Иначе
ИЗ РегистрСведений.#Регистр КАК КлючиДоступаКРегистрам
#КонецЕсли
#Если Не СтрСодержит(&amp;СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":[#Регистр]:#Поле1:#Поле2:#Поле3:#Поле4:#Поле5;") #Тогда
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КлючиДоступаГруппДоступа КАК РазрешенныеКлючиДоступа
#ИначеЕсли &amp;ТекущийВнешнийПользователь = Значение(Справочник.ВнешниеПользователи.ПустаяСсылка) #Тогда
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КлючиДоступаПользователей КАК РазрешенныеКлючиДоступа
#Иначе
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КлючиДоступаВнешнихПользователей КАК РазрешенныеКлючиДоступа
#КонецЕсли
ПО
#Если Не СтрСодержит("#Регистр", "КлючиДоступаКРегистру") #Тогда
КлючиДоступаКРегистрам.Регистр = Значение(Справочник.#Регистр)
#Иначе
ИСТИНА
#КонецЕсли
#Если &amp;ТекущийВнешнийПользователь = Значение(Справочник.ВнешниеПользователи.ПустаяСсылка) #Тогда
И КлючиДоступаКРегистрам.ДляВнешнихПользователей = ЛОЖЬ
#Иначе
И КлючиДоступаКРегистрам.ДляВнешнихПользователей = ИСТИНА
#КонецЕсли
#Если Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле1
#КонецЕсли
#Если "#Поле2" &lt;&gt; "" И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
#Если Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле2
#Иначе
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле2
#КонецЕсли
#КонецЕсли
#Если "#Поле3" &lt;&gt; "" И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
#Если Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле3
#ИначеЕсли Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле3
#Иначе
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле3
#КонецЕсли
#КонецЕсли
#Если "#Поле4" &lt;&gt; "" И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле4;") #Тогда
#Если Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле4
#ИначеЕсли Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле4
#ИначеЕсли Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле4
#Иначе
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле4
#КонецЕсли
#КонецЕсли
#Если "#Поле5" &lt;&gt; "" И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
#Если Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;")
И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле4;") #Тогда
И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5
#ИначеЕсли Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5
#ИначеЕсли Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5
#ИначеЕсли Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле5
#Иначе
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле5
#КонецЕсли
#КонецЕсли
#Если Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;")
И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле4;") #Тогда
#Если "#Поле5" &lt;&gt; "" И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5
#ИначеЕсли "#Поле5" &lt;&gt; "" Или Не СтрСодержит(&amp;СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
#КонецЕсли
#ИначеЕсли Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
#Если "#Поле5" &lt;&gt; "" И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5
#ИначеЕсли "#Поле4" &lt;&gt; "" Или Не СтрСодержит(&amp;СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
#КонецЕсли
#Если "#Поле5" &lt;&gt; "" Или Не СтрСодержит(&amp;СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
#КонецЕсли
#ИначеЕсли Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
#Если "#Поле5" &lt;&gt; "" И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5
#ИначеЕсли "#Поле3" &lt;&gt; "" Или Не СтрСодержит(&amp;СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле3;") #Тогда
И КлючиДоступаКРегистрам.Поле3 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
#КонецЕсли
#Если "#Поле4" &lt;&gt; "" Или Не СтрСодержит(&amp;СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
#КонецЕсли
#Если "#Поле5" &lt;&gt; "" Или Не СтрСодержит(&amp;СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
#КонецЕсли
#ИначеЕсли Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
#Если "#Поле5" &lt;&gt; "" И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле5
#ИначеЕсли "#Поле2" &lt;&gt; "" Или Не СтрСодержит(&amp;СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле2;") #Тогда
И КлючиДоступаКРегистрам.Поле2 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
#КонецЕсли
#Если "#Поле3" &lt;&gt; "" Или Не СтрСодержит(&amp;СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле3;") #Тогда
И КлючиДоступаКРегистрам.Поле3 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
#КонецЕсли
#Если "#Поле4" &lt;&gt; "" Или Не СтрСодержит(&amp;СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
#КонецЕсли
#Если "#Поле5" &lt;&gt; "" Или Не СтрСодержит(&amp;СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
#КонецЕсли
#Иначе
#Если "#Поле5" &lt;&gt; "" И Не СтрСодержит(&amp;СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле5
#Иначе
И КлючиДоступаКРегистрам.Поле1 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
#КонецЕсли
#Если "#Поле2" &lt;&gt; "" Или Не СтрСодержит(&amp;СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле2;") #Тогда
И КлючиДоступаКРегистрам.Поле2 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
#КонецЕсли
#Если "#Поле3" &lt;&gt; "" Или Не СтрСодержит(&amp;СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле3;") #Тогда
И КлючиДоступаКРегистрам.Поле3 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
#КонецЕсли
#Если "#Поле4" &lt;&gt; "" Или Не СтрСодержит(&amp;СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
#КонецЕсли
#Если "#Поле5" &lt;&gt; "" Или Не СтрСодержит(&amp;СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
#КонецЕсли
#КонецЕсли
#Если Не СтрСодержит(&amp;СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":[#Регистр]:#Поле1:#Поле2:#Поле3:#Поле4:#Поле5;") #Тогда
И РазрешенныеКлючиДоступа.КлючДоступа = КлючиДоступаКРегистрам.КлючДоступа
И РазрешенныеКлючиДоступа.ГруппаДоступа В (&amp;ГруппыДоступаАвторизованногоПользователя)
#ИначеЕсли &amp;ТекущийВнешнийПользователь = Значение(Справочник.ВнешниеПользователи.ПустаяСсылка) #Тогда
И РазрешенныеКлючиДоступа.КлючДоступа = КлючиДоступаКРегистрам.КлючДоступа
И РазрешенныеКлючиДоступа.Пользователь = &amp;ТекущийПользователь
#Иначе
И РазрешенныеКлючиДоступа.КлючДоступа = КлючиДоступаКРегистрам.КлючДоступа
И РазрешенныеКлючиДоступа.ВнешнийПользователь = &amp;ТекущийВнешнийПользователь
#КонецЕсли
)
#КонецЕсли
</condition>
</restrictionTemplate>
<restrictionTemplate>
<name>ПоЗначениям</name>
<condition>// ПоЗначениям(Таблица, -, Модификатор, В1,П1, В2,П2, ..., В(n), П(n)).
@@ -110,100 +352,52 @@
( Истина
И ("#Параметр(4)" = "" И "#Параметр(5)" = ""
Или Не &amp;ОграничениеДоступаНаУровнеЗаписейВключено
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(4),")
Или &amp;ВидыДоступаСОтключеннымИспользованием = "Все"
И Не СтрСодержит(",Условие,,НастройкиПрав,Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(4),")
Или СтрСодержит(&amp;ВидыДоступаСОтключеннымИспользованием, ",#Параметр(4),"))
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(4),"))
И ("#Параметр(6)" = "" И "#Параметр(7)" = ""
Или Не &amp;ОграничениеДоступаНаУровнеЗаписейВключено
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(6),")
Или &amp;ВидыДоступаСОтключеннымИспользованием = "Все"
И Не СтрСодержит(",Условие,,НастройкиПрав,Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(6),")
Или СтрСодержит(&amp;ВидыДоступаСОтключеннымИспользованием, ",#Параметр(6),"))
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(6),"))
И ("#Параметр(8)" = "" И "#Параметр(9)" = ""
Или Не &amp;ОграничениеДоступаНаУровнеЗаписейВключено
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(8),")
Или &amp;ВидыДоступаСОтключеннымИспользованием = "Все"
И Не СтрСодержит(",Условие,,НастройкиПрав,Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(8),")
Или СтрСодержит(&amp;ВидыДоступаСОтключеннымИспользованием, ",#Параметр(8),"))
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(8),"))
И ("#Параметр(10)" = "" И "#Параметр(11)" = ""
Или Не &amp;ОграничениеДоступаНаУровнеЗаписейВключено
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(10),")
Или &amp;ВидыДоступаСОтключеннымИспользованием = "Все"
И Не СтрСодержит(",Условие,,НастройкиПрав,Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(10),")
Или СтрСодержит(&amp;ВидыДоступаСОтключеннымИспользованием, ",#Параметр(10),"))
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(10),"))
И ("#Параметр(12)" = "" И "#Параметр(13)" = ""
Или Не &amp;ОграничениеДоступаНаУровнеЗаписейВключено
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(12),")
Или &amp;ВидыДоступаСОтключеннымИспользованием = "Все"
И Не СтрСодержит(",Условие,,НастройкиПрав,Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(12),")
Или СтрСодержит(&amp;ВидыДоступаСОтключеннымИспользованием, ",#Параметр(12),"))
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(12),"))
И ("#Параметр(14)" = "" И "#Параметр(15)" = ""
Или Не &amp;ОграничениеДоступаНаУровнеЗаписейВключено
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(14),")
Или &amp;ВидыДоступаСОтключеннымИспользованием = "Все"
И Не СтрСодержит(",Условие,,НастройкиПрав,Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(14),")
Или СтрСодержит(&amp;ВидыДоступаСОтключеннымИспользованием, ",#Параметр(14),"))
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(14),"))
И ("#Параметр(16)" = "" И "#Параметр(17)" = ""
Или Не &amp;ОграничениеДоступаНаУровнеЗаписейВключено
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(16),")
Или &amp;ВидыДоступаСОтключеннымИспользованием = "Все"
И Не СтрСодержит(",Условие,,НастройкиПрав,Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(16),")
Или СтрСодержит(&amp;ВидыДоступаСОтключеннымИспользованием, ",#Параметр(16),"))
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(16),"))
И ("#Параметр(18)" = "" И "#Параметр(19)" = ""
Или Не &amp;ОграничениеДоступаНаУровнеЗаписейВключено
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(18),")
Или &amp;ВидыДоступаСОтключеннымИспользованием = "Все"
И Не СтрСодержит(",Условие,,НастройкиПрав,Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(18),")
Или СтрСодержит(&amp;ВидыДоступаСОтключеннымИспользованием, ",#Параметр(18),"))
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(18),"))
И ("#Параметр(20)" = "" И "#Параметр(21)" = ""
Или Не &amp;ОграничениеДоступаНаУровнеЗаписейВключено
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(20),")
Или &amp;ВидыДоступаСОтключеннымИспользованием = "Все"
И Не СтрСодержит(",Условие,,НастройкиПрав,Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(20),")
Или СтрСодержит(&amp;ВидыДоступаСОтключеннымИспользованием, ",#Параметр(20),"))
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(20),"))
И ("#Параметр(22)" = "" И "#Параметр(23)" = ""
Или Не &amp;ОграничениеДоступаНаУровнеЗаписейВключено
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(22),")
Или &amp;ВидыДоступаСОтключеннымИспользованием = "Все"
И Не СтрСодержит(",Условие,,НастройкиПрав,Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(22),")
Или СтрСодержит(&amp;ВидыДоступаСОтключеннымИспользованием, ",#Параметр(22),"))
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(22),"))
И ("#Параметр(24)" = "" И "#Параметр(25)" = ""
Или Не &amp;ОграничениеДоступаНаУровнеЗаписейВключено
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(24),")
Или &amp;ВидыДоступаСОтключеннымИспользованием = "Все"
И Не СтрСодержит(",Условие,,НастройкиПрав,Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(24),")
Или СтрСодержит(&amp;ВидыДоступаСОтключеннымИспользованием, ",#Параметр(24),"))
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(24),"))
И ("#Параметр(26)" = "" И "#Параметр(27)" = ""
Или Не &amp;ОграничениеДоступаНаУровнеЗаписейВключено
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(26),")
Или &amp;ВидыДоступаСОтключеннымИспользованием = "Все"
И Не СтрСодержит(",Условие,,НастройкиПрав,Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(26),")
Или СтрСодержит(&amp;ВидыДоступаСОтключеннымИспользованием, ",#Параметр(26),"))
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(26),"))
И ("#Параметр(28)" = "" И "#Параметр(29)" = ""
Или Не &amp;ОграничениеДоступаНаУровнеЗаписейВключено
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(28),")
Или &amp;ВидыДоступаСОтключеннымИспользованием = "Все"
И Не СтрСодержит(",Условие,,НастройкиПрав,Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(28),")
Или СтрСодержит(&amp;ВидыДоступаСОтключеннымИспользованием, ",#Параметр(28),"))
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(28),"))
И ("#Параметр(30)" = "" И "#Параметр(31)" = ""
Или Не &amp;ОграничениеДоступаНаУровнеЗаписейВключено
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(30),")
Или &amp;ВидыДоступаСОтключеннымИспользованием = "Все"
И Не СтрСодержит(",Условие,,НастройкиПрав,Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(30),")
Или СтрСодержит(&amp;ВидыДоступаСОтключеннымИспользованием, ",#Параметр(30),"))
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(30),"))
И ("#Параметр(32)" = "" И "#Параметр(33)" = ""
Или Не &amp;ОграничениеДоступаНаУровнеЗаписейВключено
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(32),")
Или &amp;ВидыДоступаСОтключеннымИспользованием = "Все"
И Не СтрСодержит(",Условие,,НастройкиПрав,Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(32),")
Или СтрСодержит(&amp;ВидыДоступаСОтключеннымИспользованием, ",#Параметр(32),"))
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(32),"))
И ("#Параметр(34)" = "" И "#Параметр(35)" = ""
Или Не &amp;ОграничениеДоступаНаУровнеЗаписейВключено
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(34),")
Или &amp;ВидыДоступаСОтключеннымИспользованием = "Все"
И Не СтрСодержит(",Условие,,НастройкиПрав,Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(34),")
Или СтрСодержит(&amp;ВидыДоступаСОтключеннымИспользованием, ",#Параметр(34),"))
И Не СтрСодержит(",Объект, ,ПравоЧтения,ПравоИзменения,ПравоЧтенияПоИдентификатору,ПравоИзмененияПоИдентификатору,", ",#Параметр(34),"))
) #Тогда
Т ГДЕ // Т - псевдоним текущей таблицы (выбран коротким, чтобы сократить количество символов в тексте параметра-условия на языке запросов).
@@ -225,8 +419,10 @@
ГДЕ
ТаблицыГруппДоступа.Таблица = СвойстваТекущейТаблицы.Ссылка
И ТаблицыГруппДоступа.ГруппаДоступа = ГруппыДоступа.Ссылка
#Если Не #ИмяТекущегоПраваДоступа = "Чтение" #Тогда
#Если #ИмяТекущегоПраваДоступа = "Изменение" #Тогда
И ТаблицыГруппДоступа.Изменение
#ИначеЕсли #ИмяТекущегоПраваДоступа = "Добавление" #Тогда
И ТаблицыГруппДоступа.Добавление
#КонецЕсли
)
И ГруппыДоступа.Ссылка В
@@ -419,7 +615,7 @@
)
)
#Иначе
ИСТИНА
ЕСТЬNULL(Т.#Параметр(5), НЕОПРЕДЕЛЕНО) &lt;&gt; НЕОПРЕДЕЛЕНО
#КонецЕсли
//// Проверка значения поля группы параметров 2.
@@ -593,6 +789,8 @@
КОНЕЦ
)
)
#Иначе
И ЕСТЬNULL(Т.#Параметр(7), НЕОПРЕДЕЛЕНО) &lt;&gt; НЕОПРЕДЕЛЕНО
#КонецЕсли
//// Проверка значения поля группы параметров 3.
@@ -766,6 +964,8 @@
КОНЕЦ
)
)
#Иначе
И ЕСТЬNULL(Т.#Параметр(9), НЕОПРЕДЕЛЕНО) &lt;&gt; НЕОПРЕДЕЛЕНО
#КонецЕсли
//// Проверка значения поля группы параметров 4.
@@ -939,6 +1139,8 @@
КОНЕЦ
)
)
#Иначе
И ЕСТЬNULL(Т.#Параметр(11), НЕОПРЕДЕЛЕНО) &lt;&gt; НЕОПРЕДЕЛЕНО
#КонецЕсли
//// Проверка значения поля группы параметров 5.
@@ -1112,6 +1314,8 @@
КОНЕЦ
)
)
#Иначе
И ЕСТЬNULL(Т.#Параметр(13), НЕОПРЕДЕЛЕНО) &lt;&gt; НЕОПРЕДЕЛЕНО
#КонецЕсли
//// Проверка значения поля группы параметров 6.
@@ -1285,6 +1489,8 @@
КОНЕЦ
)
)
#Иначе
И ЕСТЬNULL(Т.#Параметр(15), НЕОПРЕДЕЛЕНО) &lt;&gt; НЕОПРЕДЕЛЕНО
#КонецЕсли
//// Проверка значения поля группы параметров 7.
@@ -1458,6 +1664,8 @@
КОНЕЦ
)
)
#Иначе
И ЕСТЬNULL(Т.#Параметр(17), НЕОПРЕДЕЛЕНО) &lt;&gt; НЕОПРЕДЕЛЕНО
#КонецЕсли
//// Проверка значения поля группы параметров 8.
@@ -1631,6 +1839,8 @@
КОНЕЦ
)
)
#Иначе
И ЕСТЬNULL(Т.#Параметр(19), НЕОПРЕДЕЛЕНО) &lt;&gt; НЕОПРЕДЕЛЕНО
#КонецЕсли
//// Проверка значения поля группы параметров 9.
@@ -1804,6 +2014,8 @@
КОНЕЦ
)
)
#Иначе
И ЕСТЬNULL(Т.#Параметр(21), НЕОПРЕДЕЛЕНО) &lt;&gt; НЕОПРЕДЕЛЕНО
#КонецЕсли
//// Проверка значения поля группы параметров 10.
@@ -1977,6 +2189,8 @@
КОНЕЦ
)
)
#Иначе
И ЕСТЬNULL(Т.#Параметр(23), НЕОПРЕДЕЛЕНО) &lt;&gt; НЕОПРЕДЕЛЕНО
#КонецЕсли
//// Проверка значения поля группы параметров 11.
@@ -2150,6 +2364,8 @@
КОНЕЦ
)
)
#Иначе
И ЕСТЬNULL(Т.#Параметр(25), НЕОПРЕДЕЛЕНО) &lt;&gt; НЕОПРЕДЕЛЕНО
#КонецЕсли
//// Проверка значения поля группы параметров 12.
@@ -2323,6 +2539,8 @@
КОНЕЦ
)
)
#Иначе
И ЕСТЬNULL(Т.#Параметр(27), НЕОПРЕДЕЛЕНО) &lt;&gt; НЕОПРЕДЕЛЕНО
#КонецЕсли
//// Проверка значения поля группы параметров 13.
@@ -2496,6 +2714,8 @@
КОНЕЦ
)
)
#Иначе
И ЕСТЬNULL(Т.#Параметр(29), НЕОПРЕДЕЛЕНО) &lt;&gt; НЕОПРЕДЕЛЕНО
#КонецЕсли
//// Проверка значения поля группы параметров 14.
@@ -2669,6 +2889,8 @@
КОНЕЦ
)
)
#Иначе
И ЕСТЬNULL(Т.#Параметр(31), НЕОПРЕДЕЛЕНО) &lt;&gt; НЕОПРЕДЕЛЕНО
#КонецЕсли
//// Проверка значения поля группы параметров 15.
@@ -2842,6 +3064,8 @@
КОНЕЦ
)
)
#Иначе
И ЕСТЬNULL(Т.#Параметр(33), НЕОПРЕДЕЛЕНО) &lt;&gt; НЕОПРЕДЕЛЕНО
#КонецЕсли
//// Проверка значения поля группы параметров 16.
@@ -3015,6 +3239,8 @@
КОНЕЦ
)
)
#Иначе
И ЕСТЬNULL(Т.#Параметр(35), НЕОПРЕДЕЛЕНО) &lt;&gt; НЕОПРЕДЕЛЕНО
#КонецЕсли
)