3_0_1_240

This commit is contained in:
Компания 1С committed 2018-08-17 13:11:00 +03:00
1 parent 27fe290aea
commit 85f0ddf04f
174 files changed
+9933 -2488

No files matched your search

@@ -227,8 +227,8 @@
// Информационная база заблокирована для обновления.
ГДЕ ЛОЖЬ
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта1,")
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта1ТребуетсяПерезапуститьСеанс,") #Тогда
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2,")
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2ТребуетсяПерезапуститьСеанс,") #Тогда
Ошибка: Требуется обновить шаблон на актуальную версию, поставляемую в роли ИзменениеУчастниковГруппДоступа по причине: Используется устаревшая версия 1 шаблона ограничения доступа ДляОбъекта. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
#ИначеЕсли &СпискиСОтключеннымОграничениемЧтения = "Все" #Тогда
@@ -238,15 +238,14 @@
#ИначеЕсли СтрСодержит(&СпискиСОтключеннымОграничениемЧтения, #ИмяТекущейТаблицы) #Тогда
// У пользователя отключено ограничение для текущей таблицы.
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта1ТребуетсяПерезапуститьСеанс,") #Тогда
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2ТребуетсяПерезапуститьСеанс,") #Тогда
Ошибка: Версия программы обновлена, требуется перезапустить сеанс. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
#ИначеЕсли #ИмяТекущегоПраваДоступа <> "Чтение" #Тогда
// Проверка прав Добавление, Изменение, Удаление выполняется ПередЗаписью / ПриЗаписи.
ГДЕ ИСТИНА
#ИначеЕсли "#ПолеОбъекта" = "" И СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":;")
Или "#ПолеОбъекта" <> "" И СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":#ПолеОбъекта;") #Тогда
#ИначеЕсли СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":#ПолеОбъекта;") #Тогда
ТекущаяТаблица ГДЕ ИСТИНА В
(
@@ -258,27 +257,35 @@
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КлючиДоступаВнешнихПользователей КАК РазрешенныеКлючиДоступа
#КонецЕсли
ПО
#Если "#ПолеОбъекта" = "" #Тогда
#Если "#ПолеОбъекта" = "" #Тогда
КлючиДоступаКОбъектам.Объект = ТекущаяТаблица.Ссылка
#Иначе
КлючиДоступаКОбъектам.Объект = ТекущаяТаблица.#ПолеОбъекта
#КонецЕсли
#Если &ТекущийВнешнийПользователь = Значение(Справочник.ВнешниеПользователи.ПустаяСсылка) #Тогда
И РазрешенныеКлючиДоступа.КлючДоступа = КлючиДоступаКОбъектам.КлючДоступаПользователей
И РазрешенныеКлючиДоступа.Пользователь = &ТекущийПользователь
И РазрешенныеКлючиДоступа.Пользователь В (&РазрешенныйПользователь, &РазрешенныйНаборГруппДоступа
#Иначе
И РазрешенныеКлючиДоступа.КлючДоступа = КлючиДоступаКОбъектам.КлючДоступаВнешнихПользователей
И РазрешенныеКлючиДоступа.ВнешнийПользователь = &ТекущийВнешнийПользователь
И РазрешенныеКлючиДоступа.ВнешнийПользователь В (&РазрешенныйПользователь, &РазрешенныйНаборГруппДоступа
#КонецЕсли
#Если СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":#ПолеОбъекта;*+")
Или СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":#ПолеОбъекта;+") #Тогда
, &РазрешенныйНаборГруппПользователей
#КонецЕсли
#Если СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":#ПолеОбъекта;*+")
Или СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":#ПолеОбъекта;*") #Тогда
, &РазрешенныйПустойНаборГруппДоступа
#КонецЕсли
)
)
#ИначеЕсли "#ПолеОбъекта" = "" И СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаГруппДоступа, #ИмяТекущейТаблицы + ":;")
Или "#ПолеОбъекта" <> "" И СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаГруппДоступа, #ИмяТекущейТаблицы + ":#ПолеОбъекта;") #Тогда
#ИначеЕсли СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаГруппДоступа, #ИмяТекущейТаблицы + ":#ПолеОбъекта;") #Тогда
ТекущаяТаблица ГДЕ ИСТИНА В
(
ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА
ИЗ РегистрСведений.КлючиДоступаКОбъектам КАК КлючиДоступаКОбъектам
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КлючиДоступаГруппДоступа КАК РазрешенныеКлючиДоступа
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КлючиДоступаНаборовГруппДоступа КАК РазрешенныеКлючиДоступа
ПО
#Если "#ПолеОбъекта" = "" #Тогда
КлючиДоступаКОбъектам.Объект = ТекущаяТаблица.Ссылка
@@ -290,10 +297,14 @@
#Иначе
И РазрешенныеКлючиДоступа.КлючДоступа = КлючиДоступаКОбъектам.КлючДоступаВнешнихПользователей
#КонецЕсли
И РазрешенныеКлючиДоступа.ГруппаДоступа В (&ГруппыДоступаАвторизованногоПользователя)
И РазрешенныеКлючиДоступа.НаборГруппДоступа В (&РазрешенныйНаборГруппДоступа
#Если СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаГруппДоступа, #ИмяТекущейТаблицы + ":#ПолеОбъекта;*+")
Или СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаГруппДоступа, #ИмяТекущейТаблицы + ":#ПолеОбъекта;*") #Тогда
, &РазрешенныйПустойНаборГруппДоступа
#КонецЕсли
)
)
#ИначеЕсли "#ПолеОбъекта" = "" И СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователейИГруппДоступа, #ИмяТекущейТаблицы + ":;")
Или "#ПолеОбъекта" <> "" И СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователейИГруппДоступа, #ИмяТекущейТаблицы + ":#ПолеОбъекта;") #Тогда
#ИначеЕсли СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователейИГруппДоступа, #ИмяТекущейТаблицы + ":#ПолеОбъекта;") #Тогда
ТекущаяТаблица ГДЕ ИСТИНА В
(
@@ -306,34 +317,49 @@
КлючиДоступаКОбъектам.Объект = ТекущаяТаблица.#ПолеОбъекта
#КонецЕсли
И (
ИСТИНА В (
ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА
#Если &ТекущийВнешнийПользователь = Значение(Справочник.ВнешниеПользователи.ПустаяСсылка) #Тогда
ИЗ РегистрСведений.КлючиДоступаПользователей КАК РазрешенныеКлючиДоступа
#Иначе
ИЗ РегистрСведений.КлючиДоступаВнешнихПользователей КАК РазрешенныеКлючиДоступа
#КонецЕсли
ГДЕ
#Если &ТекущийВнешнийПользователь = Значение(Справочник.ВнешниеПользователи.ПустаяСсылка) #Тогда
РазрешенныеКлючиДоступа.КлючДоступа = КлючиДоступаКОбъектам.КлючДоступаПользователей
И РазрешенныеКлючиДоступа.Пользователь = &ТекущийПользователь
#Иначе
РазрешенныеКлючиДоступа.КлючДоступа = КлючиДоступаКОбъектам.КлючДоступаВнешнихПользователей
И РазрешенныеКлючиДоступа.ВнешнийПользователь = &ТекущийВнешнийПользователь
#КонецЕсли
)
ИЛИ
ИСТИНА В (
ИСТИНА В
(
ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА
ИЗ РегистрСведений.КлючиДоступаГруппДоступа КАК РазрешенныеКлючиДоступа
#Если &ТекущийВнешнийПользователь = Значение(Справочник.ВнешниеПользователи.ПустаяСсылка) #Тогда
ИЗ РегистрСведений.КлючиДоступаПользователей КАК РазрешенныеКлючиДоступа
#Иначе
ИЗ РегистрСведений.КлючиДоступаВнешнихПользователей КАК РазрешенныеКлючиДоступа
#КонецЕсли
ГДЕ
#Если &ТекущийВнешнийПользователь = Значение(Справочник.ВнешниеПользователи.ПустаяСсылка) #Тогда
РазрешенныеКлючиДоступа.КлючДоступа = КлючиДоступаКОбъектам.КлючДоступаПользователей
РазрешенныеКлючиДоступа.КлючДоступа = КлючиДоступаКОбъектам.КлючДоступаПользователей
И РазрешенныеКлючиДоступа.Пользователь В (&РазрешенныйПользователь, &РазрешенныйНаборГруппДоступа
#Иначе
РазрешенныеКлючиДоступа.КлючДоступа = КлючиДоступаКОбъектам.КлючДоступаВнешнихПользователей
РазрешенныеКлючиДоступа.КлючДоступа = КлючиДоступаКОбъектам.КлючДоступаВнешнихПользователей
И РазрешенныеКлючиДоступа.ВнешнийПользователь В (&РазрешенныйПользователь, &РазрешенныйНаборГруппДоступа
#КонецЕсли
И РазрешенныеКлючиДоступа.ГруппаДоступа В (&ГруппыДоступаАвторизованногоПользователя)
)
#Если СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователейИГруппДоступа, #ИмяТекущейТаблицы + ":#ПолеОбъекта;*+")
Или СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователейИГруппДоступа, #ИмяТекущейТаблицы + ":#ПолеОбъекта;+") #Тогда
, &РазрешенныйНаборГруппПользователей
#КонецЕсли
#Если СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователейИГруппДоступа, #ИмяТекущейТаблицы + ":#ПолеОбъекта;*+")
Или СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователейИГруппДоступа, #ИмяТекущейТаблицы + ":#ПолеОбъекта;*") #Тогда
, &РазрешенныйПустойНаборГруппДоступа
#КонецЕсли
)
)
ИЛИ ИСТИНА В
(
ВЫБРАТЬ ПЕРВЫЕ 1 ИСТИНА
ИЗ РегистрСведений.КлючиДоступаНаборовГруппДоступа КАК РазрешенныеКлючиДоступа
ГДЕ
#Если &ТекущийВнешнийПользователь = Значение(Справочник.ВнешниеПользователи.ПустаяСсылка) #Тогда
РазрешенныеКлючиДоступа.КлючДоступа = КлючиДоступаКОбъектам.КлючДоступаПользователей
#Иначе
РазрешенныеКлючиДоступа.КлючДоступа = КлючиДоступаКОбъектам.КлючДоступаВнешнихПользователей
#КонецЕсли
И РазрешенныеКлючиДоступа.НаборГруппДоступа В (&РазрешенныйНаборГруппДоступа
#Если СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователейИГруппДоступа, #ИмяТекущейТаблицы + ":#ПолеОбъекта;*+")
Или СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователейИГруппДоступа, #ИмяТекущейТаблицы + ":#ПолеОбъекта;*") #Тогда
, &РазрешенныйПустойНаборГруппДоступа
#КонецЕсли
)
)
)
)