3_0_1_311
This commit is contained in:
1 parent
9672edb6d0
commit
ee99d385fe
63 files changed
+7935
-4145
No files matched your search
@@ -1293,6 +1293,9 @@
|
||||
Если ЭтоГлобальнаяОбработка Тогда
|
||||
Для Каждого СтрокаРаздел Из Объект.Разделы Цикл
|
||||
ПредставлениеРаздела = ДополнительныеОтчетыИОбработки.ПредставлениеРаздела(СтрокаРаздел.Раздел);
|
||||
Если ПредставлениеРаздела = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если ПредставлениеНазначения = "" Тогда
|
||||
ПредставлениеНазначения = ПредставлениеРаздела;
|
||||
Иначе
|
||||
|
||||
@@ -33,9 +33,11 @@
|
||||
ТолькоПросмотр = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Если Объект.Ссылка <> Пользователи.АвторизованныйПользователь() Тогда
|
||||
Элементы.Отступ.Видимость = Ложь;
|
||||
Элементы.НадписьНаличиеПароля.Видимость = Ложь;
|
||||
Элементы.СменитьПароль.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
Элементы.ПользовательИБАутентификацияOpenID.Видимость = Ложь;
|
||||
Элементы.ПользовательИБАутентификацияСтандартная.Видимость = Ложь;
|
||||
Элементы.ПотребоватьСменуПароляПриВходе.Видимость = Ложь;
|
||||
|
||||
+1
-1
@@ -744,7 +744,7 @@
|
||||
МодульСервисКриптографииКлиент.ПроверитьПодпись(Новый ОписаниеОповещения(
|
||||
"ПроверитьНаСторонеКлиентаПослеПроверкиПодписиВМоделиСервиса", ЭтотОбъект, Контекст,
|
||||
"ПроверитьНаСторонеКлиентаПослеОшибкиПроверкиПодписи", ЭтотОбъект),
|
||||
Контекст.ДанныеСертификата, ДанныеПодписи);
|
||||
ДанныеПодписи, Контекст.ДанныеСертификата);
|
||||
Иначе
|
||||
ПроверитьНаСторонеКлиентаПослеПроверкиПодписиВМоделиСервиса(Null, Контекст);
|
||||
КонецЕсли;
|
||||
|
||||
+1
-1
@@ -159,7 +159,7 @@
|
||||
Или ПараметрыЗаписи.Свойство("КогдаИмяУжеИспользуется") Тогда
|
||||
ТекущийОбъект.Имя = "";
|
||||
ЗаголовокОбъекта = ТекущийОбъект.Заголовок;
|
||||
ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыВИмениФайла(ЗаголовокОбъекта, "");
|
||||
УправлениеСвойствамиСлужебный.УдалитьНедопустимыеСимволы(ЗаголовокОбъекта);
|
||||
ЗаголовокОбъектаЧастями = СтрРазделить(ЗаголовокОбъекта, " ", Ложь);
|
||||
Для Каждого ЧастьЗаголовка Из ЗаголовокОбъектаЧастями Цикл
|
||||
ТекущийОбъект.Имя = ТекущийОбъект.Имя + ВРег(Лев(ЧастьЗаголовка, 1)) + Сред(ЧастьЗаголовка, 2);
|
||||
|
||||
+1
-6
@@ -544,7 +544,7 @@
|
||||
Объект = Выборка.Ссылка.ПолучитьОбъект();
|
||||
|
||||
ЗаголовокОбъекта = Объект.Заголовок;
|
||||
УдалитьНедопустимыеСимволы(ЗаголовокОбъекта);
|
||||
УправлениеСвойствамиСлужебный.УдалитьНедопустимыеСимволы(ЗаголовокОбъекта);
|
||||
ЗаголовокОбъектаЧастями = СтрРазделить(ЗаголовокОбъекта, " ", Ложь);
|
||||
Для Каждого ЧастьЗаголовка Из ЗаголовокОбъектаЧастями Цикл
|
||||
Объект.Имя = Объект.Имя + ВРег(Лев(ЧастьЗаголовка, 1)) + Сред(ЧастьЗаголовка, 2);
|
||||
@@ -609,11 +609,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура УдалитьНедопустимыеСимволы(Строка)
|
||||
НедопустимыеСимволы = """/\[]:;|=?*<>,.()+№@!%^&~";
|
||||
Строка = СтрСоединить(СтрРазделить(Строка, НедопустимыеСимволы, Истина));
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецЕсли
|
||||
@@ -235,8 +235,11 @@
|
||||
И ТипЗнч(ЗагруженныеАдресныеСведения.Получить(КодРегиона)) = Тип("Структура")
|
||||
И ЗагруженныеАдресныеСведения.Получить(КодРегиона).ИспользоватьЗагруженные Тогда
|
||||
Адрес = РаспознатьАдресЗагруженныеДанные(ЧастиАдреса);
|
||||
Иначе
|
||||
ИначеЕсли ЗагруженныеАдресныеСведения.Получить("КлассификаторДоступен") = Истина Тогда
|
||||
Адрес = РаспознатьАдресВебСервис(ЧастиАдреса, Представление);
|
||||
Возврат Адрес;
|
||||
Иначе
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Если СтрСравнить(Адрес.addressType, АдресВСвободнойФорме()) = 0 Тогда
|
||||
@@ -314,10 +317,18 @@
|
||||
КонецЕсли;
|
||||
|
||||
ИмяПоля = ?(ЭтоМуниципальныйАдрес(ТипАдреса), "munName", "name");
|
||||
ИмяИдентификатора = ?(ЭтоМуниципальныйАдрес(ТипАдреса), "munId", "id");
|
||||
Для каждого СтрокаРезультатаВебСервис Из РезультатВебСервис.Данные Цикл
|
||||
НоваяСтрока = Результат.Данные.Добавить();
|
||||
НоваяСтрока.Идентификатор = СтрокаРезультатаВебСервис.id;
|
||||
Если ЗначениеЗаполнено(СтрокаРезультатаВебСервис[ИмяПоля]) Тогда
|
||||
НоваяСтрока.Идентификатор = СтрокаРезультатаВебСервис[ИмяИдентификатора];
|
||||
НоваяСтрока.Представление = СтрокаРезультатаВебСервис[ИмяПоля];
|
||||
Иначе
|
||||
ИмяПоляПодбора = ?(ИмяПоля = "munName", "name", "munName");
|
||||
ИмяИдентификатораПодбора = ?(ИмяПоля = "munName", "id", "munId");
|
||||
НоваяСтрока.Идентификатор = СтрокаРезультатаВебСервис[ИмяИдентификатораПодбора];
|
||||
НоваяСтрока.Представление = СтрокаРезультатаВебСервис[ИмяПоляПодбора];
|
||||
КонецЕсли;
|
||||
НоваяСтрока.РегионЗагружен = Ложь;
|
||||
НоваяСтрока.Неактуален = Ложь;
|
||||
КонецЦикла;
|
||||
@@ -443,7 +454,15 @@
|
||||
ИмяПоля = ?(ЭтоМуниципальныйАдрес(ТипАдреса), "munName", "name");
|
||||
ИмяПоляИдентификатор = ?(ЭтоМуниципальныйАдрес(ТипАдреса), "munId", "id");
|
||||
Для каждого СтрокаДанных Из РезультатВебСервис.Данные Цикл
|
||||
Если ЗначениеЗаполнено(СтрокаДанных[ИмяПоляИдентификатор]) Тогда
|
||||
ДанныеВыбора.Данные.Добавить(СтрокаДанных[ИмяПоляИдентификатор], СтрокаДанных[ИмяПоля]);
|
||||
Иначе
|
||||
ИмяПоляПодбора = ?(ИмяПоля = "munName", "name", "munName");
|
||||
ИмяПоляИдентификаторПодбора = ?(ИмяПоля = "munName", "id", "munId");
|
||||
Если ЗначениеЗаполнено(СтрокаДанных[ИмяПоляИдентификаторПодбора]) Тогда
|
||||
ДанныеВыбора.Данные.Добавить(СтрокаДанных[ИмяПоляИдентификаторПодбора], СтрокаДанных[ИмяПоляПодбора]);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если РезультатВебСервис.Отказ Тогда
|
||||
@@ -571,7 +590,6 @@
|
||||
НаименованиеЗданийИСтроений = НаименованиеВладенийИСтроений();
|
||||
|
||||
Для каждого СведенияОДоме Из РезультатВебСервис.Данные Цикл
|
||||
ДомЧислом = Формат(НомерДомаЧислом(СведенияОДоме.number), "ЧЦ=4; ЧН=; ЧВН=; ЧГ=0; ЧФ=1Ч");
|
||||
|
||||
ОписаниеДома = ОписаниеДома();
|
||||
Если СведенияОДоме.buildings.Количество() > 0 Тогда
|
||||
@@ -1598,7 +1616,7 @@
|
||||
|
||||
Текст = СтрСоединить(АдресДляПроверки, ", ");
|
||||
|
||||
ТекстGETЗапроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("autocomplete?text=%1&limit=20",
|
||||
ТекстGETЗапроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("recognize?text=%1&limit=20",
|
||||
КодироватьСтроку(Текст, СпособКодированияСтроки.КодировкаURL));
|
||||
|
||||
РезультатВебСервис = ВыполнитьЗапросЧерезВебСервис(ТекстGETЗапроса);
|
||||
@@ -1606,40 +1624,28 @@
|
||||
Возврат Адрес;
|
||||
КонецЕсли;
|
||||
|
||||
Для каждого Данные Из РезультатВебСервис.Данные Цикл
|
||||
|
||||
НайденныйАдрес = ОпределитьСоответствиеАдреса(Данные, Текст, Истина);
|
||||
Если НайденныйАдрес = Неопределено Тогда
|
||||
НайденныйАдрес = ОпределитьСоответствиеАдреса(Данные, Текст, Ложь);
|
||||
Если РезультатВебСервис.Данные.status = "PARTIALLY_RECOGNIZED" Тогда
|
||||
Адрес = АдресДляСохраненияВБазе(РезультатВебСервис.Данные.value, Ложь);
|
||||
Адрес.comment = РезультатВебСервис.Данные.unrecognizedPart;
|
||||
ИначеЕсли РезультатВебСервис.Данные.status = "COMPLETELY_RECOGNIZED" Тогда
|
||||
Адрес = АдресДляСохраненияВБазе(РезультатВебСервис.Данные.value, Ложь);
|
||||
Иначе
|
||||
Адрес = ОписаниеНовойКонтактнойИнформации();
|
||||
Адрес.value = РезультатВебСервис.Данные.unrecognizedPart;
|
||||
Адрес.country = ОсновнаяСтрана();
|
||||
Возврат Адрес;
|
||||
КонецЕсли;
|
||||
|
||||
Если НайденныйАдрес <> Неопределено Тогда
|
||||
НайденныйАдрес.apartments = Помещения;
|
||||
Возврат НайденныйАдрес;
|
||||
Если СтрСравнить(РезультатВебСервис.Данные.addressType, "MUNICIPAL") = 0 Тогда
|
||||
Адрес.addressType = МуниципальныйАдрес();
|
||||
Иначе
|
||||
Адрес.addressType = АдминистративноТерриториальныйАдрес();
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Адрес;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОпределитьСоответствиеАдреса(Знач Данные, Знач Текст, Муниципальный)
|
||||
|
||||
ПредставлениеАдреса = ?(Муниципальный, Данные.munValue, Данные.value);
|
||||
|
||||
ПозицияИндекса = СтрНайти(ПредставлениеАдреса, "(");
|
||||
Если ПозицияИндекса > 0 Тогда
|
||||
Представление = СокрЛП(Лев(ПредставлениеАдреса, ПозицияИндекса - 1));
|
||||
Если СтрСравнить(Текст, Представление) = 0 Тогда
|
||||
Возврат АдресДляСохраненияВБазе(Данные, Муниципальный);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СписокТиповЗданий()
|
||||
|
||||
ТипыЗданий = Новый Соответствие();
|
||||
@@ -3599,12 +3605,14 @@
|
||||
ПредставлениеТерриториальное = СтрокаДанных.valueReversed;
|
||||
ПредставлениеМуниципальное = СтрокаДанных.munValueReversed;
|
||||
|
||||
Если ЗначениеЗаполнено(ПредставлениеМуниципальное) Тогда
|
||||
НоваяСтрока = Результат.Данные.Добавить();
|
||||
НоваяСтрока.Представление = ПредставлениеМуниципальное;
|
||||
НоваяСтрока.Муниципальный = Истина;
|
||||
НоваяСтрока.Идентификатор = СтрокаДанных.id;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПредставлениеТерриториальное <> ПредставлениеМуниципальное Тогда
|
||||
Если ПредставлениеТерриториальное <> ПредставлениеМуниципальное И ЗначениеЗаполнено(ПредставлениеТерриториальное) Тогда
|
||||
НоваяСтрока = Результат.Данные.Добавить();
|
||||
НоваяСтрока.Представление = ПредставлениеТерриториальное;
|
||||
НоваяСтрока.Муниципальный = Ложь;
|
||||
@@ -4094,6 +4102,8 @@
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Результат.Ошибки.Очистить(); // Найден корректный адрес. Ошибок нет.
|
||||
|
||||
// Проверяем дома
|
||||
НомерДомаАдрес = Адрес.HouseNumber;
|
||||
ТипДомаАдрес = ?(ЗначениеЗаполнено(НомерДомаАдрес), Адрес.HouseType, "");
|
||||
@@ -7062,6 +7072,10 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОсновнаяСтрана()
|
||||
Возврат "Россия";
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
@@ -2180,7 +2180,10 @@
|
||||
// Возвращает имя рабочего места команды.
|
||||
Функция ПредставлениеОбъектаМетаданных(Объект) Экспорт
|
||||
Если ТипЗнч(Объект) = Тип("СправочникСсылка.ИдентификаторыОбъектовМетаданных") Тогда
|
||||
ОбъектМетаданных = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(Объект);
|
||||
ОбъектМетаданных = Справочники.ИдентификаторыОбъектовМетаданных.ОбъектМетаданныхПоИдентификатору(Объект, Истина);
|
||||
Если ТипЗнч(ОбъектМетаданных) <> Тип("ОбъектМетаданных") Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
ИначеЕсли ТипЗнч(Объект) = Тип("ОбъектМетаданных") Тогда
|
||||
ОбъектМетаданных = Объект;
|
||||
Иначе
|
||||
|
||||
@@ -476,6 +476,8 @@
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
ВалютыОбластейСтрокой = ОбщегоНазначения.ЗначениеВСтрокуXML(ВалютыОбластей);
|
||||
|
||||
НачатьТранзакцию();
|
||||
|
||||
Попытка
|
||||
@@ -489,11 +491,16 @@
|
||||
Исключение
|
||||
|
||||
ОтменитьТранзакцию();
|
||||
РаботаВМоделиСервиса.УстановитьРазделениеСеанса(Ложь);
|
||||
|
||||
ВалютыОбластей = ОбщегоНазначения.ЗначениеИзСтрокиXML(ВалютыОбластейСтрокой);
|
||||
РаботаВМоделиСервиса.УстановитьРазделениеСеанса(Ложь);
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Не удалось обновить курсы валют в области %1 по причине:
|
||||
|%2'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()),
|
||||
Формат(ОбластьДанных, "ЧН=0; ЧГ=0"),
|
||||
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Поставляемые данные.Распространение курсов валют по областям данных'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка,,,
|
||||
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
ТекстОшибки);
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
|
||||
@@ -2719,6 +2719,10 @@
|
||||
|
||||
Иначе
|
||||
|
||||
Если Не ОбменДаннымиСервер.НастройкаСинхронизацииЗавершена(УзелОбмена) Тогда
|
||||
Возврат ТаблицаОбъекты;
|
||||
КонецЕсли;
|
||||
|
||||
ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелОбмена);
|
||||
|
||||
ТаблицаОбъектыБазы = ПоддерживаемыеОбъектыФормата(ИмяПланаОбмена,
|
||||
|
||||
@@ -673,20 +673,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Получает предопределенный узел плана обмена по ссылке на узел плана обмена.
|
||||
//
|
||||
// Параметры:
|
||||
// УзелПланаОбмена - ПланОбменаСсылка - любой узел плана обмена.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ЭтотУзел - ПланОбменаСсылка - предопределенный узел плана обмена.
|
||||
//
|
||||
Функция ПолучитьЭтотУзелПланаОбменаПоСсылке(УзелПланаОбмена) Экспорт
|
||||
|
||||
Возврат ПолучитьЭтотУзелПланаОбмена(ПолучитьИмяПланаОбмена(УзелПланаОбмена));
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает признак принадлежности узла к плану обмена РИБ.
|
||||
//
|
||||
// Параметры:
|
||||
|
||||
@@ -11467,10 +11467,10 @@
|
||||
|
||||
WSПрокси = Неопределено;
|
||||
|
||||
Если ВерсияКорреспондента_2_1_1_7 Тогда
|
||||
WSПрокси = ПолучитьWSПрокси_2_1_1_7(СтруктураНастроек, , СообщениеПользователю, 5);
|
||||
ИначеЕсли ВерсияКорреспондента_3_0_1_1 Тогда
|
||||
Если ВерсияКорреспондента_3_0_1_1 Тогда
|
||||
WSПрокси = ПолучитьWSПрокси_3_0_1_1(СтруктураНастроек, , СообщениеПользователю, 5);
|
||||
ИначеЕсли ВерсияКорреспондента_2_1_1_7 Тогда
|
||||
WSПрокси = ПолучитьWSПрокси_2_1_1_7(СтруктураНастроек, , СообщениеПользователю, 5);
|
||||
КонецЕсли;
|
||||
|
||||
Если WSПрокси = Неопределено Тогда
|
||||
@@ -11480,8 +11480,7 @@
|
||||
|
||||
Попытка
|
||||
|
||||
КодКорреспондента = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(
|
||||
ОбменДаннымиПовтИсп.ПолучитьЭтотУзелПланаОбменаПоСсылке(Корреспондент), "Код");
|
||||
КодКорреспондента = ИдентификаторЭтогоУзлаДляОбмена(Корреспондент);
|
||||
ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(Корреспондент);
|
||||
|
||||
ЕстьПодключение = WSПрокси.TestConnection(
|
||||
@@ -11489,6 +11488,21 @@
|
||||
КодКорреспондента,
|
||||
СообщениеПользователю);
|
||||
|
||||
Если Не ЕстьПодключение
|
||||
И ЭтоПланОбменаXDTO(Корреспондент) Тогда
|
||||
|
||||
Псевдоним = ПсевдонимПредопределенногоУзла(Корреспондент);
|
||||
|
||||
Если ЗначениеЗаполнено(Псевдоним) Тогда
|
||||
КодКорреспондента = Псевдоним;
|
||||
|
||||
ЕстьПодключение = WSПрокси.TestConnection(
|
||||
ИмяПланаОбмена,
|
||||
КодКорреспондента,
|
||||
СообщениеПользователю);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЕстьПодключение
|
||||
И ЭтоПланОбменаXDTO(Корреспондент) Тогда
|
||||
|
||||
@@ -11497,6 +11511,7 @@
|
||||
ВариантНастройки = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Корреспондент, "ВариантНастройки");
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(ВариантНастройки) Тогда
|
||||
Для Каждого ИмяСтарогоПланаОбмена Из ОбменДаннымиПовтИсп.ПланыОбменаБСП() Цикл
|
||||
Если ИмяСтарогоПланаОбмена = ИмяПланаОбмена Тогда
|
||||
Продолжить;
|
||||
@@ -11505,20 +11520,30 @@
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ИмяНовогоПланаОбмена = ЗначениеНастройкиПланаОбмена(ИмяСтарогоПланаОбмена,
|
||||
"ИмяПланаОбменаДляПереходаНаНовыйОбмен", ВариантНастройки);
|
||||
НастройкиСтарогоПланаОбмена = ЗначениеНастройкиПланаОбмена(ИмяСтарогоПланаОбмена,
|
||||
"ИмяПланаОбменаДляПереходаНаНовыйОбмен,ВариантыНастроекОбмена");
|
||||
|
||||
Если ИмяНовогоПланаОбмена = ИмяПланаОбмена Тогда
|
||||
ЕстьПодключение = WSПрокси.TestConnection(
|
||||
Если НастройкиСтарогоПланаОбмена.ИмяПланаОбменаДляПереходаНаНовыйОбмен = ИмяПланаОбмена Тогда
|
||||
ВариантНастроек = НастройкиСтарогоПланаОбмена.ВариантыНастроекОбмена.Найти(ВариантНастройки, "ИдентификаторНастройки");
|
||||
Если Не ВариантНастроек = Неопределено Тогда
|
||||
|
||||
ПараметрыКорреспондентаXDTO = WSПрокси.GetIBParameters(
|
||||
ИмяСтарогоПланаОбмена,
|
||||
КодКорреспондента,
|
||||
СообщениеПользователю);
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыКорреспондента = СериализаторXDTO.ПрочитатьXDTO(ПараметрыКорреспондентаXDTO);
|
||||
|
||||
ЕстьПодключение = ПараметрыКорреспондента.ПланОбменаСуществует И ПараметрыКорреспондента.УзелСуществует;
|
||||
|
||||
Если ЕстьПодключение Тогда
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||
|
||||
Описание.Имя = "СтандартныеПодсистемы";
|
||||
Описание.Версия = "3.0.1.298";
|
||||
Описание.Версия = "3.0.1.311";
|
||||
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
||||
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
||||
|
||||
|
||||
@@ -556,10 +556,6 @@
|
||||
Возврат УправлениеКонтактнойИнформациейКлиентСервер.СтруктураЗначенийПолей(
|
||||
ПредыдущийФорматКонтактнойИнформацииXML(Данные));
|
||||
|
||||
ИначеЕсли ПустаяСтрока(Данные) И ВидКонтактнойИнформации <> Неопределено Тогда
|
||||
// Генерируем по виду
|
||||
Возврат УправлениеКонтактнойИнформациейКлиентСервер.СтруктураКонтактнойИнформацииПоТипу(
|
||||
ВидКонтактнойИнформации.Тип);
|
||||
КонецЕсли;
|
||||
|
||||
Если ВидКонтактнойИнформации <> Неопределено
|
||||
@@ -570,6 +566,12 @@
|
||||
ТипКонтактнойИнформации = Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПустаяСтрока(Данные) Тогда
|
||||
// Генерируем по типу
|
||||
Возврат РаботаСАдресамиКлиентСервер.СтруктураКонтактнойИнформацииПоТипу(ТипКонтактнойИнформации);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
// Возвращаем полную структуру для данного вида с заполненными полями.
|
||||
Результат = РаботаСАдресамиКлиентСервер.СтруктураКонтактнойИнформацииПоТипу(ТипКонтактнойИнформации);
|
||||
СтруктураЗначенийПолей = УправлениеКонтактнойИнформациейКлиентСервер.СтруктураЗначенийПолей(Данные, ВидКонтактнойИнформации);
|
||||
|
||||
@@ -619,7 +619,8 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
ПараметрыВыполнения.ДанныеФайла =
|
||||
РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляПечати(ПараметрыВыполнения.ДанныеФайлов[ПараметрыВыполнения.НомерФайла]);
|
||||
РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляПечати(ПараметрыВыполнения.ДанныеФайлов[ПараметрыВыполнения.НомерФайла],
|
||||
ПараметрыВыполнения.УникальныйИдентификатор);
|
||||
|
||||
#Если ВебКлиент Тогда
|
||||
Если ПараметрыВыполнения.ДанныеФайла.Расширение <> "mxl" Тогда
|
||||
|
||||
@@ -606,9 +606,9 @@
|
||||
ДляРедактирования);
|
||||
КонецФункции
|
||||
|
||||
Функция ДанныеФайлаДляПечати(Знач ПрисоединенныйФайл) Экспорт
|
||||
Функция ДанныеФайлаДляПечати(Знач ПрисоединенныйФайл, Знач ИдентификаторФормы = Неопределено) Экспорт
|
||||
|
||||
ДанныеФайла = ПолучитьДанныеФайла(ПрисоединенныйФайл);
|
||||
ДанныеФайла = ПолучитьДанныеФайла(ПрисоединенныйФайл, ИдентификаторФормы);
|
||||
Расширение = НРег(ДанныеФайла.Расширение);
|
||||
Если Расширение = "mxl" Тогда
|
||||
ДвоичныеДанныеФайла = ПолучитьИзВременногоХранилища(ДанныеФайла.СсылкаНаДвоичныеДанныеФайла);
|
||||
|
||||
@@ -743,6 +743,8 @@
|
||||
ИдентификаторыРазрешенных = Новый Массив;
|
||||
|
||||
Если Списки = Неопределено Тогда
|
||||
ОчиститьКэшЗначенийГруппДоступаДляРасчетаПрав();
|
||||
|
||||
Если ПараметрыПланирования.ВерсииОграниченийСписков = Неопределено Тогда
|
||||
ДействующиеПараметры = ДействующиеПараметрыОграниченияДоступа(Неопределено, Неопределено);
|
||||
ВерсииОграниченийСписков = Новый Соответствие(ДействующиеПараметры.ВерсииОграниченийСписков);
|
||||
@@ -1021,13 +1023,13 @@
|
||||
Обработчики.Вставить("РазрешенныйПользователь",
|
||||
"УправлениеДоступомСлужебный.УстановкаПараметровСеанса");
|
||||
|
||||
Обработчики.Вставить("СпискиСОграничениемПоПолям",
|
||||
"УправлениеДоступомСлужебный.УстановкаПараметровСеанса");
|
||||
|
||||
Обработчики.Вставить("СпискиСОграничениемЧерезКлючиДоступа*",
|
||||
"УправлениеДоступомСлужебный.УстановкаПараметровСеанса");
|
||||
|
||||
Обработчики.Вставить("СпискиСОтключеннымОграничением*",
|
||||
"УправлениеДоступомСлужебный.УстановкаПараметровСеанса");
|
||||
|
||||
Обработчики.Вставить("СпискиССокращеннымНаборомПолейВРегистрахКлючей",
|
||||
Обработчики.Вставить("СпискиСОтключеннымОграничениемЧтения",
|
||||
"УправлениеДоступомСлужебный.УстановкаПараметровСеанса");
|
||||
|
||||
Обработчики.Вставить("ПараметрыОграниченияДоступа",
|
||||
@@ -1280,8 +1282,22 @@
|
||||
Обработчик.Комментарий = НСтр("ru = 'Планирование частичного обновления доступа по изменениям программы.'");
|
||||
Обработчик.Идентификатор = Новый УникальныйИдентификатор("2721d667-858d-48ed-8736-f7ece8218697");
|
||||
Обработчик.ПроцедураЗаполненияДанныхОбновления = "РегистрыСведений.ПараметрыОграниченияДоступа.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию1";
|
||||
Обработчик.ОчередьОтложеннойОбработки = 1;
|
||||
Обработчик.ЧитаемыеОбъекты = "РегистрСведений.ПараметрыОграниченияДоступа";
|
||||
Обработчик.ИзменяемыеОбъекты = "РегистрСведений.ПараметрыОграниченияДоступа";
|
||||
КонецЕсли;
|
||||
|
||||
Обработчик = Обработчики.Добавить();
|
||||
Обработчик.Версия = "3.0.1.304";
|
||||
Обработчик.Процедура = "РегистрыСведений.ГруппыЗначенийДоступа.ОбработатьДанныеДляПереходаНаНовуюВерсию";
|
||||
Обработчик.РежимВыполнения = "Отложенно";
|
||||
Обработчик.Комментарий = НСтр("ru = 'Обновление данных по изменениям программы.'");
|
||||
Обработчик.Идентификатор = Новый УникальныйИдентификатор("b3cb643e-d5cf-40b7-9db3-6315a88c063d");
|
||||
Обработчик.ПроцедураЗаполненияДанныхОбновления = "РегистрыСведений.ГруппыЗначенийДоступа.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
|
||||
Обработчик.ОчередьОтложеннойОбработки = 1;
|
||||
Обработчик.ЧитаемыеОбъекты = "РегистрСведений.ГруппыЗначенийДоступа";
|
||||
Обработчик.ИзменяемыеОбъекты = "РегистрСведений.ГруппыЗначенийДоступа";
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. ОбновлениеИнформационнойБазыБСП.ПослеОбновленияИнформационнойБазы.
|
||||
@@ -1976,8 +1992,7 @@
|
||||
ПараметрыСеанса.СпискиСОграничениемЧерезКлючиДоступаГруппДоступа = "";
|
||||
ПараметрыСеанса.СпискиСОграничениемЧерезКлючиДоступаПользователей = "";
|
||||
ПараметрыСеанса.СпискиСОграничениемЧерезКлючиДоступаПользователейИГруппДоступа = "";
|
||||
ПараметрыСеанса.СпискиСОтключеннымОграничениемПоПолям = "";
|
||||
ПараметрыСеанса.СпискиССокращеннымНаборомПолейВРегистрахКлючей = "";
|
||||
ПараметрыСеанса.СпискиСОграничениемПоПолям = "";
|
||||
|
||||
УстановленныеПараметры.Добавить("СпискиСОтключеннымОграничениемЧтения");
|
||||
УстановленныеПараметры.Добавить("ВерсииШаблоновОграниченияДоступа");
|
||||
@@ -1988,8 +2003,7 @@
|
||||
УстановленныеПараметры.Добавить("СпискиСОграничениемЧерезКлючиДоступаГруппДоступа");
|
||||
УстановленныеПараметры.Добавить("СпискиСОграничениемЧерезКлючиДоступаПользователей");
|
||||
УстановленныеПараметры.Добавить("СпискиСОграничениемЧерезКлючиДоступаПользователейИГруппДоступа");
|
||||
УстановленныеПараметры.Добавить("СпискиСОтключеннымОграничениемПоПолям");
|
||||
УстановленныеПараметры.Добавить("СпискиССокращеннымНаборомПолейВРегистрахКлючей");
|
||||
УстановленныеПараметры.Добавить("СпискиСОграничениемПоПолям");
|
||||
КонецЕсли;
|
||||
#КонецОбласти
|
||||
|
||||
@@ -2544,7 +2558,7 @@
|
||||
СвойстваВидовДоступа = УправлениеДоступомСлужебныйПовтИсп.СвойстваВидовДоступа();
|
||||
ЗначенияДоступаСГруппами = СвойстваВидовДоступа.ЗначенияДоступаСГруппами;
|
||||
|
||||
Если ЗначенияДоступаСГруппами.ПоТипам.Получить(ТипЗнч(Объект)) <> Неопределено Тогда
|
||||
Если ЗначенияДоступаСГруппами.ПоТипамДляОбновления.Получить(ТипЗнч(Объект)) <> Неопределено Тогда
|
||||
РегистрыСведений.ГруппыЗначенийДоступа.ОбновитьГруппыЗначенийДоступа(Объект);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -2667,7 +2681,7 @@
|
||||
Если УправлениеДоступом.ОграничиватьДоступНаУровнеЗаписей() И НЕ ТолькоКэшРеквизиты Тогда
|
||||
|
||||
// Заполнение групп значений доступа в регистре сведений ГруппыЗначенийДоступа.
|
||||
Для каждого ИмяТаблицы Из ЗначенияДоступаСГруппами.ИменаТаблиц Цикл
|
||||
Для Каждого ИмяТаблицы Из ЗначенияДоступаСГруппами.ИменаТаблицДляОбновления Цикл
|
||||
|
||||
Если КоличествоДанных < 10000 Тогда
|
||||
|
||||
@@ -6505,25 +6519,22 @@
|
||||
ЗначенияДоступаСГруппами = Новый Структура;
|
||||
ЗначенияДоступаСГруппами.Вставить("ПоТипам", Новый Соответствие);
|
||||
ЗначенияДоступаСГруппами.Вставить("ПоТипамСсылок", Новый Соответствие);
|
||||
ЗначенияДоступаСГруппами.Вставить("ИменаТаблиц", Новый Массив);
|
||||
ЗначенияДоступаСГруппами.Вставить("ТипыГруппЗначений", Новый Соответствие);
|
||||
ЗначенияДоступаСГруппами.Вставить("ИменаТаблицДляОбновления", Новый Массив);
|
||||
ЗначенияДоступаСГруппами.Вставить("ТипыГруппЗначенийДляОбновления", Новый Соответствие);
|
||||
ЗначенияДоступаСГруппами.Вставить("ПоТипамДляОбновления", Новый Соответствие);
|
||||
ЗначенияДоступаСГруппами.Вставить("ПоТипамСсылокДляОбновления", Новый Соответствие);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
Параметры.Вставить("ОпределяемыеТипыЗначенийДоступа",
|
||||
УправлениеДоступомСлужебныйПовтИсп.ТипыПоляТаблицы("ОпределяемыйТип.ЗначениеДоступа"));
|
||||
|
||||
ЗаголовокОшибки =
|
||||
НСтр("ru = 'Ошибка в процедуре ЗаполнитьСвойстваВидаДоступа
|
||||
|общего модуля УправлениеДоступомПереопределяемый.'")
|
||||
НСтр("ru = 'Ошибка в процедуре ПриЗаполненииВидовДоступа общего модуля УправлениеДоступомПереопределяемый.'")
|
||||
+ Символы.ПС
|
||||
+ Символы.ПС;
|
||||
|
||||
Параметры.Вставить("ЗаголовокОшибки", ЗаголовокОшибки);
|
||||
|
||||
Параметры.Вставить("ТипыПодпискиОбновитьГруппыЗначенийДоступа",
|
||||
УправлениеДоступомСлужебныйПовтИсп.ТипыПоляТаблицы(
|
||||
"ОпределяемыйТип.ЗначениеДоступаСГруппамиЗначенийДоступаОбъект"));
|
||||
|
||||
ВсеИменаВидовДоступа = Новый Соответствие;
|
||||
ВсеИменаВидовДоступа.Вставить(ВРег("Объект"), Истина);
|
||||
ВсеИменаВидовДоступа.Вставить(ВРег("Условие"), Истина);
|
||||
@@ -6651,6 +6662,8 @@
|
||||
СвойстваВидовДоступа.Вставить("БезГруппДляЗначенияДоступа", БезГруппДляЗначенияДоступа);
|
||||
СвойстваВидовДоступа.Вставить("СОднойГруппойДляЗначенияДоступа", СОднойГруппойДляЗначенияДоступа);
|
||||
СвойстваВидовДоступа.Вставить("ТипыЗначенийДоступаСГруппами", ТипыЗначенийДоступаСГруппами);
|
||||
СвойстваВидовДоступа.Вставить("ВладелецНаборовЗначенийДоступа",
|
||||
СтрокаДанныхДляХеширования(Метаданные.ОпределяемыеТипы.ВладелецНаборовЗначенийДоступаОбъект.Тип));
|
||||
|
||||
// Проверка совместимости перехода на новые версии программы.
|
||||
Если Параметры.ОпределяемыеТипыЗначенийДоступа.Получить(
|
||||
@@ -6665,6 +6678,8 @@
|
||||
ВызватьИсключение ТекстОшибки;
|
||||
КонецЕсли;
|
||||
|
||||
ПроверитьТипыПодпискиОбновитьГруппыЗначенийДоступа(ЗначенияДоступаСГруппами);
|
||||
|
||||
Возврат ОбщегоНазначения.ФиксированныеДанные(СвойстваВидовДоступа);
|
||||
|
||||
КонецФункции
|
||||
@@ -6684,11 +6699,6 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Строка.ТипГруппЗначений = Тип("Неопределено") Тогда
|
||||
ДобавитьВМассив(Свойства.ТипыВыбираемыхЗначений, Строка.ТипЗначений);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ТипСсылки = Строка.ТипЗначений;
|
||||
|
||||
МетаданныеТипаЗначений = Метаданные.НайтиПоТипу(Строка.ТипЗначений);
|
||||
@@ -6699,6 +6709,13 @@
|
||||
МетаданныеТипаЗначений);
|
||||
КонецЕсли;
|
||||
|
||||
Если Строка.ТипГруппЗначений = Тип("Неопределено") Тогда
|
||||
ДобавитьТипыПодпискиОбновитьГруппыЗначенийДоступа(ТипСсылки,
|
||||
ТипОбъекта, МетаданныеТипаЗначений, ЗначенияДоступаСГруппами, Свойства, Неопределено);
|
||||
ДобавитьВМассив(Свойства.ТипыВыбираемыхЗначений, Строка.ТипЗначений);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Строка.ТипГруппЗначений <> Тип("Неопределено") Тогда
|
||||
ДобавитьВМассив(Свойства.ТипыВыбираемыхЗначений, Строка.ТипГруппЗначений);
|
||||
КонецЕсли;
|
||||
@@ -6706,26 +6723,76 @@
|
||||
ЗначенияДоступаСГруппами.ПоТипам.Вставить(ТипСсылки, Свойства);
|
||||
ЗначенияДоступаСГруппами.ПоТипам.Вставить(ТипОбъекта, Свойства);
|
||||
ЗначенияДоступаСГруппами.ПоТипамСсылок.Вставить(ТипСсылки, Свойства);
|
||||
ЗначенияДоступаСГруппами.ИменаТаблиц.Добавить(МетаданныеТипаЗначений.ПолноеИмя());
|
||||
|
||||
МетаданныеТипаГруппЗначений = Метаданные.НайтиПоТипу(Строка.ТипГруппЗначений);
|
||||
|
||||
ДобавитьТипыПодпискиОбновитьГруппыЗначенийДоступа(ТипСсылки,
|
||||
ТипОбъекта, МетаданныеТипаЗначений, ЗначенияДоступаСГруппами, Свойства, МетаданныеТипаГруппЗначений);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для функции СвойстваВидовДоступа и процедуры ЗаполнитьЗначенияДоступаСГруппами.
|
||||
Процедура ДобавитьТипыПодпискиОбновитьГруппыЗначенийДоступа(ТипСсылки, ТипОбъекта,
|
||||
МетаданныеТипаЗначений, ЗначенияДоступаСГруппами, Свойства, МетаданныеТипаГруппЗначений)
|
||||
|
||||
ПустаяСсылкаТипаЗначений = ПредопределенноеЗначение(МетаданныеТипаЗначений.ПолноеИмя() + ".ПустаяСсылка");
|
||||
|
||||
Если МетаданныеТипаГруппЗначений = Неопределено Тогда
|
||||
ПустаяСсылкаТипаГруппЗначений = ПустаяСсылкаТипаЗначений;
|
||||
Иначе
|
||||
ПустаяСсылкаТипаГруппЗначений = ПустаяСсылкаОбъектаМетаданных(МетаданныеТипаГруппЗначений);
|
||||
|
||||
ЗначенияДоступаСГруппами.ТипыГруппЗначений.Вставить(ТипСсылки, ПустаяСсылкаТипаГруппЗначений);
|
||||
ЗначенияДоступаСГруппами.ТипыГруппЗначений.Вставить(
|
||||
ПустаяСсылкаОбъектаМетаданных(МетаданныеТипаЗначений), ПустаяСсылкаТипаГруппЗначений);
|
||||
|
||||
// Проверка наличия типа ссылки в соответствующих объектах метаданных.
|
||||
Если Параметры.ТипыПодпискиОбновитьГруппыЗначенийДоступа.Получить(ТипОбъекта) = Неопределено
|
||||
И НЕ ОбщегоНазначения.ЭтоПеречисление(МетаданныеТипаЗначений) Тогда
|
||||
|
||||
ТекстОшибки = Параметры.ЗаголовокОшибки + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Тип значения доступа ""%1"", использующий группы значений, не указан
|
||||
|в определяемом типе ""Значение доступа с группами значений доступа объект"".'"),
|
||||
Строка(ТипОбъекта));
|
||||
ВызватьИсключение ТекстОшибки;
|
||||
КонецЕсли;
|
||||
|
||||
ЗначенияДоступаСГруппами.ИменаТаблицДляОбновления.Добавить(МетаданныеТипаЗначений.ПолноеИмя());
|
||||
|
||||
ЗначенияДоступаСГруппами.ТипыГруппЗначенийДляОбновления.Вставить(ТипСсылки,
|
||||
ПустаяСсылкаТипаГруппЗначений);
|
||||
|
||||
ЗначенияДоступаСГруппами.ТипыГруппЗначенийДляОбновления.Вставить(ПустаяСсылкаТипаЗначений,
|
||||
ПустаяСсылкаТипаГруппЗначений);
|
||||
|
||||
ЗначенияДоступаСГруппами.ПоТипамСсылокДляОбновления.Вставить(ТипСсылки, Свойства);
|
||||
ЗначенияДоступаСГруппами.ПоТипамДляОбновления.Вставить(ТипСсылки, Свойства);
|
||||
ЗначенияДоступаСГруппами.ПоТипамДляОбновления.Вставить(ТипОбъекта, Свойства);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для функции СвойстваВидовДоступа.
|
||||
Процедура ПроверитьТипыПодпискиОбновитьГруппыЗначенийДоступа(ЗначенияДоступаСГруппами)
|
||||
|
||||
ТекущиеТипыПодписки = УправлениеДоступомСлужебныйПовтИсп.ТипыПоляТаблицы(
|
||||
"ОпределяемыйТип.ЗначениеДоступаСГруппамиЗначенийДоступаОбъект");
|
||||
|
||||
ТребуемыеТипыПодписки = Новый Соответствие;
|
||||
Для Каждого КлючИЗначение Из ЗначенияДоступаСГруппами.ПоТипамДляОбновления Цикл
|
||||
Если ЗначенияДоступаСГруппами.ПоТипамСсылокДляОбновления.Получить(КлючИЗначение.Ключ) <> Неопределено
|
||||
Или ЗначенияДоступаСГруппами.ПоТипам.Получить(КлючИЗначение.Ключ) = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
ТребуемыеТипыПодписки.Вставить(КлючИЗначение.Ключ, Истина);
|
||||
КонецЦикла;
|
||||
|
||||
НедостающиеТипы = Новый Массив;
|
||||
|
||||
Для Каждого КлючИЗначение Из ТребуемыеТипыПодписки Цикл
|
||||
Если ТекущиеТипыПодписки.Получить(КлючИЗначение.Ключ) = Неопределено Тогда
|
||||
НедостающиеТипы.Добавить(КлючИЗначение.Ключ);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если НедостающиеТипы.Количество() = 0 Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'По данным, полученным из процедуры ПриЗаполненииВидовДоступа
|
||||
|общего модуля УправлениеДоступомПереопределяемый, в определяемом типе
|
||||
|""Значение доступа с группами значений доступа объект"" не указаны требуемые типы:
|
||||
|- %1'"),
|
||||
СтрСоединить(НедостающиеТипы, "," + Символы.ПС + "- "));
|
||||
|
||||
ВызватьИсключение ТекстОшибки;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для функции СвойстваВидовДоступа.
|
||||
@@ -6830,12 +6897,24 @@
|
||||
Если НЕ ТипЗнч(Сохраненные) = Тип("ФиксированнаяСтруктура")
|
||||
ИЛИ НЕ Сохраненные.Свойство("ПоТипамЗначений")
|
||||
ИЛИ НЕ Сохраненные.Свойство("ТипыЗначенийДоступаСГруппами")
|
||||
ИЛИ НЕ Сохраненные.Свойство("ЗначенияДоступаСГруппами")
|
||||
ИЛИ НЕ Сохраненные.Свойство("ВладелецНаборовЗначенийДоступа")
|
||||
ИЛИ НЕ ТипЗнч(Сохраненные.ПоТипамЗначений) = Тип("ФиксированноеСоответствие")
|
||||
ИЛИ НЕ ТипЗнч(Сохраненные.ТипыЗначенийДоступаСГруппами) = Тип("ФиксированноеСоответствие")
|
||||
ИЛИ НЕ ТипЗнч(Сохраненные.ЗначенияДоступаСГруппами) = Тип("ФиксированнаяСтруктура")
|
||||
ИЛИ НЕ ТипЗнч(Сохраненные.ВладелецНаборовЗначенийДоступа) = Тип("Строка")
|
||||
ИЛИ НЕ Сохраненные.ЗначенияДоступаСГруппами.Свойство("ИменаТаблицДляОбновления")
|
||||
ИЛИ НЕ ТипЗнч(Сохраненные.ЗначенияДоступаСГруппами.ИменаТаблицДляОбновления) = Тип("ФиксированныйМассив")
|
||||
ИЛИ НЕ СвойстваВидовДоступа.Свойство("ПоТипамЗначений")
|
||||
ИЛИ НЕ СвойстваВидовДоступа.Свойство("ТипыЗначенийДоступаСГруппами")
|
||||
ИЛИ НЕ СвойстваВидовДоступа.Свойство("ЗначенияДоступаСГруппами")
|
||||
ИЛИ НЕ СвойстваВидовДоступа.Свойство("ВладелецНаборовЗначенийДоступа")
|
||||
ИЛИ НЕ ТипЗнч(СвойстваВидовДоступа.ПоТипамЗначений) = Тип("ФиксированноеСоответствие")
|
||||
ИЛИ НЕ ТипЗнч(СвойстваВидовДоступа.ТипыЗначенийДоступаСГруппами) = Тип("ФиксированноеСоответствие") Тогда
|
||||
ИЛИ НЕ ТипЗнч(СвойстваВидовДоступа.ТипыЗначенийДоступаСГруппами) = Тип("ФиксированноеСоответствие")
|
||||
ИЛИ НЕ ТипЗнч(СвойстваВидовДоступа.ЗначенияДоступаСГруппами) = Тип("ФиксированнаяСтруктура")
|
||||
ИЛИ НЕ ТипЗнч(СвойстваВидовДоступа.ВладелецНаборовЗначенийДоступа) = Тип("Строка")
|
||||
ИЛИ НЕ СвойстваВидовДоступа.ЗначенияДоступаСГруппами.Свойство("ИменаТаблицДляОбновления")
|
||||
ИЛИ НЕ ТипЗнч(СвойстваВидовДоступа.ЗначенияДоступаСГруппами.ИменаТаблицДляОбновления) = Тип("ФиксированныйМассив") Тогда
|
||||
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
@@ -6849,6 +6928,16 @@
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ОбщегоНазначения.ДанныеСовпадают(СвойстваВидовДоступа.ЗначенияДоступаСГруппами.ИменаТаблицДляОбновления,
|
||||
Сохраненные.ЗначенияДоступаСГруппами.ИменаТаблицДляОбновления) Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Если СвойстваВидовДоступа.ВладелецНаборовЗначенийДоступа
|
||||
<> Сохраненные.ВладелецНаборовЗначенийДоступа Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Ложь;
|
||||
|
||||
КонецФункции
|
||||
@@ -8299,11 +8388,7 @@
|
||||
// Для вызова из модуля менеджера регистра ЗначенияГруппДоступа.
|
||||
Процедура ЗапланироватьОбновлениеДоступаПриИзмененииРазрешенныхЗначений(ГруппыДоступаИТипыЗначений) Экспорт
|
||||
|
||||
ИмяПараметраВерсии = "СтандартныеПодсистемы.УправлениеДоступом.ЗначенияГруппДоступаВерсия";
|
||||
СтандартныеПодсистемыСервер.УстановитьПараметрРаботыРасширения(ИмяПараметраВерсии, Новый УникальныйИдентификатор, Истина);
|
||||
|
||||
ИмяПараметра = "СтандартныеПодсистемы.УправлениеДоступом.ЗначенияГруппДоступа";
|
||||
СтандартныеПодсистемыСервер.УстановитьПараметрРаботыРасширения(ИмяПараметра, Неопределено, Истина);
|
||||
ОчиститьКэшЗначенийГруппДоступаДляРасчетаПрав();
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("ГруппыДоступаИТипыЗначений", ГруппыДоступаИТипыЗначений);
|
||||
@@ -8333,6 +8418,25 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для процедур ЗапланироватьОбновлениеДоступаПриИзмененииРазрешенныхЗначений,
|
||||
// ЗапланироватьОбновлениеДоступа и вызова из модуля формы ОбновлениеДоступаРучноеУправление.
|
||||
//
|
||||
Процедура ОчиститьКэшЗначенийГруппДоступаДляРасчетаПрав() Экспорт
|
||||
|
||||
УстановитьОтключениеБезопасногоРежима(Истина);
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
ИмяПараметраВерсии = "СтандартныеПодсистемы.УправлениеДоступом.ЗначенияГруппДоступаВерсия";
|
||||
СтандартныеПодсистемыСервер.УстановитьПараметрРаботыРасширения(ИмяПараметраВерсии, Новый УникальныйИдентификатор, Истина);
|
||||
|
||||
ИмяПараметра = "СтандартныеПодсистемы.УправлениеДоступом.ЗначенияГруппДоступа";
|
||||
СтандартныеПодсистемыСервер.УстановитьПараметрРаботыРасширения(ИмяПараметра, Неопределено, Истина);
|
||||
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
УстановитьОтключениеБезопасногоРежима(Ложь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для процедур ЗапланироватьОбновлениеДоступаПриИзмененииУчастниковГруппыДоступа,
|
||||
// ЗапланироватьОбновлениеДоступаПослеОбновленияСоставовГруппПользователей,
|
||||
// ЗапланироватьОбновлениеДоступаПриИзмененииТаблицГруппДоступа,
|
||||
@@ -16277,8 +16381,8 @@
|
||||
Функция ВерсияСтруктурыКэша()
|
||||
|
||||
// Число нужно увеличивать при внесении изменений в состав параметров кэша
|
||||
// (в том числе изменение версии шаблонов).
|
||||
Возврат "6";
|
||||
// (в том числе при изменении версии шаблонов).
|
||||
Возврат "7";
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -16286,7 +16390,7 @@
|
||||
// для функции СтруктураХранимыхПараметровШаблонов.
|
||||
Функция ВерсииШаблоновОграниченияДоступа()
|
||||
|
||||
Возврат ",ДляОбъекта2,ДляРегистра2,";
|
||||
Возврат ",ДляОбъекта3,ДляРегистра3,";
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -17251,23 +17355,25 @@
|
||||
СвойстваСписка.ПолноеИмя);
|
||||
КонецЕсли;
|
||||
Поля = ":[" + Поля + "]";
|
||||
Номер = 1;
|
||||
НомерИспользуемого = 1;
|
||||
Для Каждого ИмяПоля Из ОпорныеПоля.Все Цикл
|
||||
Поля = Поля + ":" + ИмяПоля;
|
||||
Если ОпорныеПоля.Используемые.Найти(ИмяПоля) = Неопределено Тогда
|
||||
ПараметрыШаблонов.СпискиСОтключеннымОграничениемПоПолям =
|
||||
ПараметрыШаблонов.СпискиСОтключеннымОграничениемПоПолям
|
||||
+ СвойстваСписка.ПолноеИмя + ":" + ИмяПоля + ";" + Символы.ПС;
|
||||
Если ОпорныеПоля.Используемые.Найти(ИмяПоля) <> Неопределено Тогда
|
||||
ПараметрыШаблонов.СпискиСОграничениемПоПолям = ПараметрыШаблонов.СпискиСОграничениемПоПолям
|
||||
+ СвойстваСписка.ПолноеИмя + ":Поле" + НомерИспользуемого + "=Поле" + Номер + ";" + Символы.ПС;
|
||||
НомерИспользуемого = НомерИспользуемого + 1;
|
||||
КонецЕсли;
|
||||
Номер = Номер + 1;
|
||||
КонецЦикла;
|
||||
Для Номер = НомерИспользуемого По ОпорныеПоля.МаксимальноеКоличество Цикл
|
||||
ПараметрыШаблонов.СпискиСОграничениемПоПолям = ПараметрыШаблонов.СпискиСОграничениемПоПолям
|
||||
+ СвойстваСписка.ПолноеИмя + ":Поле" + Номер + "=Null;" + Символы.ПС;
|
||||
КонецЦикла;
|
||||
НомерПустогоПоля = ОпорныеПоля.Все.Количество() + 1;
|
||||
Для Номер = НомерПустогоПоля По ОпорныеПоля.МаксимальноДопустимоеКоличество Цикл
|
||||
Поля = Поля + ":";
|
||||
КонецЦикла;
|
||||
Для Номер = ОпорныеПоля.МаксимальноеКоличество + 1 По ОпорныеПоля.МаксимальноДопустимоеКоличество Цикл
|
||||
ПараметрыШаблонов.СпискиССокращеннымНаборомПолейВРегистрахКлючей =
|
||||
ПараметрыШаблонов.СпискиССокращеннымНаборомПолейВРегистрахКлючей
|
||||
+ СвойстваСписка.ПолноеИмя + ":Поле" + Номер + ";" + Символы.ПС;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Если СвойстваСписка.КлючиДоступаПользователейИГруппДоступа Тогда
|
||||
@@ -17312,9 +17418,8 @@
|
||||
ПараметрыШаблонов.Вставить("СпискиСОграничениемЧерезКлючиДоступаГруппДоступа", "");
|
||||
ПараметрыШаблонов.Вставить("СпискиСОграничениемЧерезКлючиДоступаПользователей", "");
|
||||
ПараметрыШаблонов.Вставить("СпискиСОграничениемЧерезКлючиДоступаПользователейИГруппДоступа", "");
|
||||
ПараметрыШаблонов.Вставить("СпискиСОтключеннымОграничениемПоПолям", "");
|
||||
ПараметрыШаблонов.Вставить("СпискиСОграничениемПоПолям", "");
|
||||
ПараметрыШаблонов.Вставить("СпискиСОтключеннымОграничениемЧтения", "");
|
||||
ПараметрыШаблонов.Вставить("СпискиССокращеннымНаборомПолейВРегистрахКлючей", "");
|
||||
|
||||
Если ТипЗнч(Значения) <> Тип("ФиксированнаяСтруктура")
|
||||
Или Значения.Количество() <> ПараметрыШаблонов.Количество() Тогда
|
||||
|
||||
@@ -2391,8 +2391,8 @@
|
||||
|
||||
// Собирает список команд печати из нескольких объектов.
|
||||
Процедура ЗаполнитьКомандыПечатиДляСпискаОбъектов(СписокОбъектов, КомандыПечати)
|
||||
Для Каждого ОбъектМетаданных Из СписокОбъектов Цикл
|
||||
ИсточникиКомандПечати = ИсточникиКомандПечати();
|
||||
Для Каждого ОбъектМетаданных Из СписокОбъектов Цикл
|
||||
Если ИсточникиКомандПечати.Найти(ОбъектМетаданных) = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1155,6 +1155,11 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура УдалитьНедопустимыеСимволы(Строка) Экспорт
|
||||
НедопустимыеСимволы = """'`/\[]{}:;|=?*<>,.()+#№@!%^&~";
|
||||
Строка = СтрСоединить(СтрРазделить(Строка, НедопустимыеСимволы, Истина));
|
||||
КонецПроцедуры
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Вспомогательные процедуры и функции.
|
||||
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="8c9b684c-3d4e-4f43-b95d-c7c4add4b47e">
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="9fca02dd-4c3c-4c9a-875c-4f956b2428d0">
|
||||
<name>БиблиотекаСтандартныхПодсистем</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Библиотека стандартных подсистем, редакция 3.0</value>
|
||||
</synonym>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="2a2f7260-d3df-4624-8804-50d6c6021a4c"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="6329d81b-04d4-496b-9554-4f3a33e97abc"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="040daacc-d091-4aab-a236-3d7c92b756ae"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="929d8405-df3e-49f5-b1d2-6a207a80c1d5"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="308c06e9-28d3-4319-952c-91b16b0777e1"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="88dcf112-03ef-45b4-bd8b-d3d8e1662abf"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="52f9cf44-2860-4aa7-9854-24c78e7a0925"/>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="c2f6e085-89d5-4081-a83d-e578734b5fed"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="35de9de6-9e96-44f8-8f39-4f7c0a8f801d"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="e4208372-65ea-448a-a0f9-e44b1a518439"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="5e128d5e-b139-43a7-a276-18b39431e7ff"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="230094b0-46c7-4577-9ea2-e89653a03a21"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="13316658-41a0-430b-af4e-62f50729bfba"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="451d4bb4-0242-45ce-9b5a-18096dd0bda9"/>
|
||||
<defaultRunMode>ManagedApplication</defaultRunMode>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<scriptVariant>Russian</scriptVariant>
|
||||
@@ -19,7 +19,7 @@
|
||||
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
|
||||
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
|
||||
<vendor>Фирма "1С"</vendor>
|
||||
<version>3.0.1.298</version>
|
||||
<version>3.0.1.311</version>
|
||||
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
|
||||
<includeHelpInContents>true</includeHelpInContents>
|
||||
<usedMobileApplicationFunctionalities>
|
||||
@@ -444,12 +444,11 @@
|
||||
<sessionParameters>SessionParameter.РазрешенныйПользователь</sessionParameters>
|
||||
<sessionParameters>SessionParameter.РазрешенныйПустойНаборГруппДоступа</sessionParameters>
|
||||
<sessionParameters>SessionParameter.РежимЗагрузкиСообщенияОбменаДаннымиПередЗапуском</sessionParameters>
|
||||
<sessionParameters>SessionParameter.СпискиСОграничениемПоПолям</sessionParameters>
|
||||
<sessionParameters>SessionParameter.СпискиСОграничениемЧерезКлючиДоступаГруппДоступа</sessionParameters>
|
||||
<sessionParameters>SessionParameter.СпискиСОграничениемЧерезКлючиДоступаПользователей</sessionParameters>
|
||||
<sessionParameters>SessionParameter.СпискиСОграничениемЧерезКлючиДоступаПользователейИГруппДоступа</sessionParameters>
|
||||
<sessionParameters>SessionParameter.СпискиСОтключеннымОграничениемПоПолям</sessionParameters>
|
||||
<sessionParameters>SessionParameter.СпискиСОтключеннымОграничениемЧтения</sessionParameters>
|
||||
<sessionParameters>SessionParameter.СпискиССокращеннымНаборомПолейВРегистрахКлючей</sessionParameters>
|
||||
<sessionParameters>SessionParameter.ТаблицыСОтдельнымиНастройкамиПрав</sessionParameters>
|
||||
<sessionParameters>SessionParameter.ТекущийВнешнийПользователь</sessionParameters>
|
||||
<sessionParameters>SessionParameter.ТекущийПользователь</sessionParameters>
|
||||
|
||||
@@ -1 +1 @@
|
||||
{6,1,1,9f2aa679-0be8-4706-8801-f822aded5374,1,4d649df2-7a6d-4bb2-9d8c-09efc8da7773,"3.0.1.298","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5876,1,0,8c9b684c-3d4e-4f43-b95d-c7c4add4b47e,8c9b684c-3d4e-4f43-b95d-c7c4add4b47e,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8Line truncated
|
||||
{6,1,1,752a2b16-0e30-4e5e-862f-69886236eacc,1,910b2002-0269-4a57-84f0-51543aadc280,"3.0.1.311","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5875,1,0,9fca02dd-4c3c-4c9a-875c-4f956b2428d0,9fca02dd-4c3c-4c9a-875c-4f956b2428d0,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8Line truncated
|
||||
+1
-1
@@ -8,7 +8,7 @@
|
||||
<name>ОграничиватьДоступНаУровнеЗаписейУниверсально</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Ограничивать доступ на уровне записей универсально</value>
|
||||
<value>Ограничивать доступ на уровне записей универсально (ознакомительная версия)</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>Boolean</types>
|
||||
|
||||
@@ -1404,7 +1404,7 @@
|
||||
ПараметрыЗадания.Вставить("ТипОперации", ОбработкаОбъект.ТипОперации);
|
||||
ПараметрыЗадания.Вставить("КодАлгоритма", КодАлгоритма);
|
||||
ПараметрыЗадания.Вставить("РежимВыполнения", ОбработкаОбъект.РежимВыполнения);
|
||||
ПараметрыЗадания.Вставить("ВариантЗаписиОбъекта", ОбработкаОбъект.ВариантЗаписиОбъекта);
|
||||
ПараметрыЗадания.Вставить("ВариантЗаписиОбъекта", ?(ОбработкаОбъект.ВариантЗаписиОбъекта = 1, "НеЗаписывать", "Записывать"));
|
||||
ПараметрыЗадания.Вставить("ИспользуютсяДопРеквизиты", ОбработкаОбъект.ИспользуютсяДопРеквизиты);
|
||||
ПараметрыЗадания.Вставить("ИспользуютсяДопСведения", ОбработкаОбъект.ИспользуютсяДопСведения);
|
||||
ПараметрыЗадания.Вставить("ИзменяемыеРеквизиты", ИзменяемыеРеквизиты());
|
||||
|
||||
@@ -293,12 +293,16 @@
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
ЗаписыватьОбъект = (Параметры.ВариантЗаписиОбъекта <> "НеЗаписывать");
|
||||
|
||||
// Запись объекта.
|
||||
Если ЗаписыватьОбъект Тогда
|
||||
Если РежимЗаписи <> Неопределено Тогда
|
||||
ИзменяемыйОбъект.Записать(РежимЗаписи);
|
||||
Иначе
|
||||
ИзменяемыйОбъект.Записать();
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьРезультатИзмененияДополнительныхСвойств(РезультатИзменения, Ссылка, ИзменяемыйОбъект, Изменения);
|
||||
|
||||
|
||||
+1
-2
@@ -8782,8 +8782,7 @@
|
||||
<parameters>
|
||||
<name>Организация</name>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
<types>AnyRef</types>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<commandInterface>
|
||||
|
||||
@@ -1999,6 +1999,10 @@
|
||||
|
||||
ЗаполнитьЗначенияСвойств(ПараметрыПодключения, СохраненныеПараметры);
|
||||
|
||||
Если Не ПропускатьСтраницуТранспорта Тогда
|
||||
ПараметрыПодключения.WSПароль = WSПароль;
|
||||
КонецЕсли;
|
||||
|
||||
СообщениеПользователю = "";
|
||||
WSПрокси = ОбменДаннымиСервер.ПолучитьWSПрокси(ПараметрыПодключения, , СообщениеПользователю);
|
||||
|
||||
@@ -2007,7 +2011,8 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если WSЗапомнитьПароль Тогда
|
||||
Если Не ПропускатьСтраницуТранспорта
|
||||
И WSЗапомнитьПароль Тогда
|
||||
|
||||
Попытка
|
||||
|
||||
@@ -2065,7 +2070,7 @@
|
||||
ПараметрыМетода.Вставить("УзелИнформационнойБазы", Объект.УзелИнформационнойБазы);
|
||||
ПараметрыМетода.Вставить("ИмяВременногоКаталогаСообщенийОбмена", Объект.ИмяВременногоКаталогаСообщенийОбмена);
|
||||
ПараметрыМетода.Вставить("ВидТранспортаСообщенийОбмена", Объект.ВидТранспортаСообщенийОбмена);
|
||||
ПараметрыМетода.Вставить("WSПароль", WSПароль);
|
||||
ПараметрыМетода.Вставить("WSПароль", Неопределено);
|
||||
|
||||
ПараметрыМетода.Вставить("ПолученоСообщениеДляСопоставленияДанных", ПолученоСообщениеДляСопоставленияДанных);
|
||||
|
||||
@@ -2128,7 +2133,7 @@
|
||||
ПараметрыМетода.Вставить("УзелИнформационнойБазы", Объект.УзелИнформационнойБазы);
|
||||
ПараметрыМетода.Вставить("ИмяФайлаСообщенияОбмена", Объект.ИмяФайлаСообщенияОбмена);
|
||||
ПараметрыМетода.Вставить("ИмяВременногоКаталогаСообщенийОбмена", Объект.ИмяВременногоКаталогаСообщенийОбмена);
|
||||
ПараметрыМетода.Вставить("WSПароль", WSПароль);
|
||||
ПараметрыМетода.Вставить("WSПароль", Неопределено);
|
||||
|
||||
ПараметрыЗадания = ПараметрыФоновогоЗадания();
|
||||
ПараметрыЗадания.ВыполняемыйМетод = "Обработки.ПомощникИнтерактивногоОбменаДанными.ПолучитьСообщениеОбменаОтКорреспондентаВоВременныйКаталог";
|
||||
@@ -2691,7 +2696,7 @@
|
||||
ПараметрыМетода.Вставить("ДлительнаяОперация", ДлительнаяОперация);
|
||||
ПараметрыМетода.Вставить("ИдентификаторОперации", ИдентификаторОперации);
|
||||
ПараметрыМетода.Вставить("ИдентификаторФайла", ИдентификаторФайла);
|
||||
ПараметрыМетода.Вставить("WSПароль", WSПароль);
|
||||
ПараметрыМетода.Вставить("WSПароль", Неопределено);
|
||||
ПараметрыМетода.Вставить("Отказ", Ложь);
|
||||
|
||||
ПараметрыЗадания = ПараметрыФоновогоЗадания();
|
||||
@@ -2845,7 +2850,7 @@
|
||||
РезультатВыполненияМетода = Новый Структура("Отказ", Истина);
|
||||
Иначе
|
||||
ЗаполнитьЗначенияСвойств(ЭтотОбъект, РезультатВыполненияМетода,
|
||||
"ДлительнаяОперация, ИдентификаторОперации, ИдентификаторФайла, WSПароль");
|
||||
"ДлительнаяОперация, ИдентификаторОперации, ИдентификаторФайла");
|
||||
КонецЕсли;
|
||||
|
||||
Если РезультатВыполненияМетода.Отказ
|
||||
|
||||
@@ -641,8 +641,21 @@
|
||||
ПараметрыИнформационнойБазы = ВнешнееСоединение.ОбменДаннымиВнешнееСоединение.ПолучитьПараметрыИнформационнойБазы_2_0_1_6(
|
||||
НастройкиПодключения.ИмяПланаОбмена, "", СообщениеОбОшибке);
|
||||
|
||||
ПараметрыКорреспондента = ОбщегоНазначения.ЗначениеИзСтрокиXML(ПараметрыИнформационнойБазы);
|
||||
Если Не ПараметрыКорреспондента.ПланОбменаСуществует Тогда
|
||||
РезультатПроверки.СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'В корреспонденте не найден план обмена ""%1"".
|
||||
|Убедитесь, что
|
||||
| - выбран правильный вид приложения для настройки обмена;
|
||||
| - корректно указано расположение программы, к которой выполняется подключение.'"),
|
||||
НастройкиПодключения.ИмяПланаОбмена);
|
||||
|
||||
ПоместитьВоВременноеХранилище(РезультатПроверки, АдресРезультата);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
РезультатПроверки.ПараметрыКорреспондентаПолучены = Истина;
|
||||
РезультатПроверки.ПараметрыКорреспондента = ОбщегоНазначения.ЗначениеИзСтрокиXML(ПараметрыИнформационнойБазы);
|
||||
РезультатПроверки.ПараметрыКорреспондента = ПараметрыКорреспондента;
|
||||
|
||||
Иначе
|
||||
|
||||
@@ -724,8 +737,21 @@
|
||||
СообщениеОбОшибке = "";
|
||||
ПараметрыИнформационнойБазы = WSПрокси.GetIBParameters(НастройкиПодключения.ИмяПланаОбмена, "", СообщениеОбОшибке);
|
||||
|
||||
ПараметрыКорреспондента = СериализаторXDTO.ПрочитатьXDTO(ПараметрыИнформационнойБазы);
|
||||
Если Не ПараметрыКорреспондента.ПланОбменаСуществует Тогда
|
||||
РезультатПроверки.СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'В корреспонденте не найден план обмена ""%1"".
|
||||
|Убедитесь, что
|
||||
| - выбран правильный вид приложения для настройки обмена;
|
||||
| - указан правильный адрес приложения в Интернете.'"),
|
||||
НастройкиПодключения.ИмяПланаОбмена);
|
||||
|
||||
ПоместитьВоВременноеХранилище(РезультатПроверки, АдресРезультата);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
РезультатПроверки.ПараметрыКорреспондентаПолучены = Истина;
|
||||
РезультатПроверки.ПараметрыКорреспондента = СериализаторXDTO.ПрочитатьXDTO(ПараметрыИнформационнойБазы);
|
||||
РезультатПроверки.ПараметрыКорреспондента = ПараметрыКорреспондента;
|
||||
|
||||
Иначе
|
||||
|
||||
@@ -1532,7 +1558,7 @@
|
||||
// Общие данные узлов.
|
||||
РегистрыСведений.ОбщиеНастройкиУзловИнформационныхБаз.ОбновитьПрефиксы(
|
||||
НастройкиПодключения.УзелИнформационнойБазы,
|
||||
НастройкиПодключения.ПрефиксИнформационнойБазыИсточника,
|
||||
?(НастройкиПодключения.ИспользоватьПрефиксыДляНастройкиОбмена, НастройкиПодключения.ПрефиксИнформационнойБазыИсточника, ""),
|
||||
НастройкиПодключения.ПрефиксИнформационнойБазыПриемника);
|
||||
|
||||
Если СоздаватьНовыйУзел
|
||||
|
||||
@@ -533,7 +533,7 @@
|
||||
// Общие данные узлов.
|
||||
РегистрыСведений.ОбщиеНастройкиУзловИнформационныхБаз.ОбновитьПрефиксы(
|
||||
НовыйУзел.Ссылка,
|
||||
ПрефиксИнформационнойБазыИсточника,
|
||||
?(ИспользоватьПрефиксыДляНастройкиОбмена, ПрефиксИнформационнойБазыИсточника, ""),
|
||||
ПрефиксИнформационнойБазыПриемника);
|
||||
|
||||
Если Не ОбменДаннымиСервер.НастройкаСинхронизацииЗавершена(НовыйУзел.Ссылка) Тогда
|
||||
|
||||
+1
-1
@@ -753,7 +753,7 @@
|
||||
ДанныеВыбора = Новый СписокЗначений;
|
||||
|
||||
ИдентификаторНаселенногоПункта = РаботаСАдресамиКлиентСервер.ИдентификаторАдреса(НаселенныйПунктДетально, Ложь);
|
||||
АдаптацияИдентификатораНаселенногоПункта(ИдентификаторНаселенногоПункта);
|
||||
|
||||
Если СтрДлина(Текст) < 2 Или Не ЗначениеЗаполнено(ИдентификаторНаселенногоПункта)Тогда
|
||||
// Нет вариантов, список пуст, стандартную обработку не надо трогать.
|
||||
Возврат;
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
Параметры.Свойство("СкрыватьНеактуальные", СкрыватьНеактуальные);
|
||||
|
||||
ПараметрыПоиска = Новый Структура;
|
||||
ПараметрыПоиска.Вставить("КоличествоЗаписей", 3000);
|
||||
ПараметрыПоиска.Вставить("КоличествоЗаписей", 7000);
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Родитель) И Уровень > 1 Тогда
|
||||
// поиск адреса без родителя
|
||||
|
||||
+11
-2
@@ -419,7 +419,6 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбработкаВыбора(Элемент, Знач ВыбранноеЗначение, СтандартнаяОбработка)
|
||||
|
||||
Если ПустаяСтрока(ВыбранноеЗначение) Тогда
|
||||
ТекстПредупреждения = НСтр("ru = 'Выбор из списка недоступен, т.к в адресном классификаторе отсутствует информация о адресных сведениях.'");
|
||||
ПоказатьПредупреждение(, ТекстПредупреждения );
|
||||
@@ -438,7 +437,17 @@
|
||||
|
||||
СведенияОбАдресе = Новый Структура();
|
||||
СведенияОбАдресе.Вставить("Муниципальный", РаботаСАдресамиКлиентСервер.ЭтоМуниципальныйАдрес(ТипАдреса));
|
||||
СведенияОбАдресе.Вставить("Идентификатор", ВыбранноеЗначение.Идентификатор);
|
||||
Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда
|
||||
Если ВыбранноеЗначение.Отказ Или ПустаяСтрока(ВыбранноеЗначение.Идентификатор) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Идентификатор = ВыбранноеЗначение.Идентификатор;
|
||||
|
||||
Иначе
|
||||
Идентификатор = ВыбранноеЗначение;
|
||||
КонецЕсли;
|
||||
СведенияОбАдресе.Вставить("Идентификатор", Идентификатор);
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
НаселенныйПунктДетально = НаселенныйПунктДетальноПоИдентификатору(СведенияОбАдресе);
|
||||
|
||||
@@ -260,6 +260,35 @@
|
||||
КонецЕсли;
|
||||
ТекПараметры.Вставить("ПланОбмена", ПланОбмена);
|
||||
|
||||
// Для планов обмена РИБ из доступных к регистрации должны быть исключены
|
||||
// объекты метаданных, не входящие в соответствующие подписки МРО
|
||||
// (т.е. объекты, которые выгружаются только в составе начального образа).
|
||||
Если ПланОбмена <> Неопределено
|
||||
И ПланОбмена.РаспределеннаяИнформационнаяБаза
|
||||
И КонфигурацияПоддерживаетБСП Тогда
|
||||
|
||||
СоставПодписокМРО = Новый Массив;
|
||||
|
||||
ПрефиксИмениПодписки = ПланОбмена.Имя + "Регистрация";
|
||||
|
||||
Для Каждого Подписка Из Метаданные.ПодпискиНаСобытия Цикл
|
||||
|
||||
Если Не СтрНачинаетсяС(Подписка.Имя, ПрефиксИмениПодписки) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого ТипИсточника Из Подписка.Источник.Типы() Цикл
|
||||
МетаданныеИсточника = Метаданные.НайтиПоТипу(ТипИсточника);
|
||||
Если СоставПодписокМРО.Найти(МетаданныеИсточника) = Неопределено Тогда
|
||||
СоставПодписокМРО.Добавить(МетаданныеИсточника);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ТекПараметры.Вставить("СоставПодписокМРО", СоставПодписокМРО);
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Новый Структура();
|
||||
Результат.Вставить("Дерево", Дерево);
|
||||
Результат.Вставить("СтруктураИмен", ТекПараметры.СтруктураИмен);
|
||||
@@ -1538,6 +1567,9 @@
|
||||
ВсеСтроки = Параметры.Строки;
|
||||
МетаПлан = Параметры.ПланОбмена;
|
||||
|
||||
СоставПодписокМРО = Неопределено;
|
||||
ПроверятьСоставПодписокМРО = Параметры.Свойство("СоставПодписокМРО", СоставПодписокМРО);
|
||||
|
||||
СтрокаГруппа = ВсеСтроки.Добавить();
|
||||
СтрокаГруппа.ИдентификаторСтроки = ТекущийНомерСтроки;
|
||||
|
||||
@@ -1582,6 +1614,12 @@
|
||||
|
||||
Если Элемент <> Неопределено И ПравоДоступа("Чтение", Мета) Тогда
|
||||
|
||||
Если КонфигурацияПоддерживаетБСП
|
||||
И ПроверятьСоставПодписокМРО
|
||||
И СоставПодписокМРО.Найти(Мета) = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ОбъектМетаданныхДоступенПоФункциональнымОпциям(Мета) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
+3
@@ -9,6 +9,9 @@
|
||||
<value>Значение доступа с группами значений доступа объект</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogObject.УчетныеЗаписиЭлектроннойПочты</types>
|
||||
<types>ChartOfCharacteristicTypesObject.ДополнительныеРеквизитыИСведения</types>
|
||||
<types>CatalogObject.ДополнительныеОтчетыИОбработки</types>
|
||||
<types>CatalogObject.ИдентификаторыОбъектовМетаданных</types>
|
||||
</type>
|
||||
</mdclass:DefinedType>
|
||||
@@ -171,6 +171,44 @@
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ТипЗначенияДоступа</name>
|
||||
<id>56</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Тип значения доступа</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible/>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Список.ТипЗначенияДоступа</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ТипЗначенияДоступаРасширеннаяПодсказка</name>
|
||||
<id>58</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ТипЗначенияДоступаКонтекстноеМеню</name>
|
||||
<id>57</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>LabelField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:LabelFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>СписокГруппаЗначениеДоступаСКартинкой</name>
|
||||
<id>22</id>
|
||||
@@ -596,6 +634,7 @@
|
||||
КОНЕЦ
|
||||
ИНАЧЕ -1
|
||||
КОНЕЦ КАК НомерКартинкиЗначенияДоступа,
|
||||
ТипЗначения(ГруппыЗначенийДоступа.ЗначениеДоступа) КАК ТипЗначенияДоступа,
|
||||
ГруппыЗначенийДоступа.ЗначениеДоступа,
|
||||
ВЫБОР
|
||||
КОГДА ТИПЗНАЧЕНИЯ(ГруппыЗначенийДоступа.ГруппаЗначенийДоступа) = ТИП(Справочник.Пользователи)
|
||||
|
||||
@@ -197,7 +197,7 @@
|
||||
|ИЗ
|
||||
| &ТекущаяТаблица КАК ТекущаяТаблица";
|
||||
|
||||
Для каждого ИмяТаблицы Из ЗначенияДоступаСГруппами.ИменаТаблиц Цикл
|
||||
Для Каждого ИмяТаблицы Из ЗначенияДоступаСГруппами.ИменаТаблицДляОбновления Цикл
|
||||
|
||||
Запрос.Текст = СтрЗаменить(ТекстЗапроса, "&ТекущаяТаблица", ИмяТаблицы);
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
@@ -232,9 +232,9 @@
|
||||
|
||||
ТипыЗначенийСИзменениями = Новый Соответствие;
|
||||
|
||||
Для каждого ИмяТаблицы Из ЗначенияДоступаСГруппами.ИменаТаблиц Цикл
|
||||
МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ИмяТаблицы);
|
||||
ОбновитьГруппыЗначенияДоступа(МенеджерОбъекта.ПустаяСсылка(), Неопределено, ТипыЗначенийСИзменениями);
|
||||
Для Каждого ИмяТаблицы Из ЗначенияДоступаСГруппами.ИменаТаблицДляОбновления Цикл
|
||||
ПустаяСсылка = ПредопределенноеЗначение(ИмяТаблицы + ".ПустаяСсылка");
|
||||
ОбновитьГруппыЗначенияДоступа(ПустаяСсылка, Неопределено, ТипыЗначенийСИзменениями);
|
||||
КонецЦикла;
|
||||
|
||||
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеЗависимыхСписковПоЗначениямСГруппами(
|
||||
@@ -242,20 +242,37 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Обновление информационной базы.
|
||||
|
||||
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт
|
||||
|
||||
// Регистрация данных не требуется.
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
|
||||
|
||||
ОбновитьДанныеРегистра();
|
||||
|
||||
Параметры.ОбработкаЗавершена = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Вспомогательные процедуры и функции.
|
||||
|
||||
// Удаляет строки, которых не должно быть, если они добавлены каким-либо способом.
|
||||
Функция УдалитьЛишниеЗаписи(ЕстьИзменения = Неопределено)
|
||||
Процедура УдалитьЛишниеЗаписи(ЕстьИзменения = Неопределено)
|
||||
|
||||
СвойстваВидовДоступа = УправлениеДоступомСлужебныйПовтИсп.СвойстваВидовДоступа();
|
||||
ТипыГруппИЗначенийДоступа = СвойстваВидовДоступа.ЗначенияДоступаСГруппами.ТипыГруппЗначений;
|
||||
ТипыГруппЗначений = СвойстваВидовДоступа.ЗначенияДоступаСГруппами.ТипыГруппЗначенийДляОбновления;
|
||||
|
||||
ТаблицаТиповГруппИЗначений = Новый ТаблицаЗначений;
|
||||
ТаблицаТиповГруппИЗначений.Колонки.Добавить("ТипЗначений", Метаданные.ОпределяемыеТипы.ЗначениеДоступа.Тип);
|
||||
ТаблицаТиповГруппИЗначений.Колонки.Добавить("ТипГруппЗначений", Метаданные.ОпределяемыеТипы.ЗначениеДоступа.Тип);
|
||||
|
||||
Для каждого КлючИЗначение Из ТипыГруппИЗначенийДоступа Цикл
|
||||
Для каждого КлючИЗначение Из ТипыГруппЗначений Цикл
|
||||
Если ТипЗнч(КлючИЗначение.Ключ) = Тип("Тип") Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
@@ -487,7 +504,7 @@
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
КонецПроцедуры
|
||||
|
||||
// Обновляет группы значения доступа в РегистрСведений.ГруппыЗначенийДоступа.
|
||||
//
|
||||
@@ -508,7 +525,7 @@
|
||||
СвойстваВидовДоступа = УправлениеДоступомСлужебныйПовтИсп.СвойстваВидовДоступа();
|
||||
ЗначенияДоступаСГруппами = СвойстваВидовДоступа.ЗначенияДоступаСГруппами;
|
||||
|
||||
СвойстваВидаДоступа = ЗначенияДоступаСГруппами.ПоТипам.Получить(ТипЗначенияДоступа);
|
||||
СвойстваВидаДоступа = ЗначенияДоступаСГруппами.ПоТипамДляОбновления.Получить(ТипЗначенияДоступа);
|
||||
|
||||
ЗаголовокОшибки =
|
||||
НСтр("ru = 'Ошибка при обновлении групп значений доступа.'")
|
||||
@@ -522,7 +539,7 @@
|
||||
Строка(ТипЗначенияДоступа));
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначенияДоступаСГруппами.ПоТипамСсылок.Получить(ТипЗначенияДоступа) = Неопределено Тогда
|
||||
Если ЗначенияДоступаСГруппами.ПоТипамСсылокДляОбновления.Получить(ТипЗначенияДоступа) = Неопределено Тогда
|
||||
Ссылка = ПользователиСлужебный.СсылкаОбъекта(ЗначениеДоступа);
|
||||
Объект = ЗначениеДоступа;
|
||||
Иначе
|
||||
@@ -533,7 +550,10 @@
|
||||
// Подготовка старых значений полей.
|
||||
ИмяРеквизита = "ГруппаДоступа";
|
||||
ИмяТабличнойЧасти = "ГруппыДоступа";
|
||||
Если СвойстваВидаДоступа.НесколькоГруппЗначений Тогда
|
||||
|
||||
Если СвойстваВидаДоступа.ТипГруппЗначений = Тип("Неопределено") Тогда
|
||||
ПолеДляЗапроса = "Ссылка";
|
||||
ИначеЕсли СвойстваВидаДоступа.НесколькоГруппЗначений Тогда
|
||||
ПолеДляЗапроса = ИмяТабличнойЧасти;
|
||||
Иначе
|
||||
ПолеДляЗапроса = ИмяРеквизита;
|
||||
@@ -545,7 +565,17 @@
|
||||
Ошибка = ИнформацияОбОшибке();
|
||||
МетаданныеТипа = Метаданные.НайтиПоТипу(ТипЗначенияДоступа);
|
||||
|
||||
Если СвойстваВидаДоступа.НесколькоГруппЗначений Тогда
|
||||
Если СвойстваВидаДоступа.ТипГруппЗначений = Тип("Неопределено") Тогда
|
||||
ВызватьИсключение ЗаголовокОшибки + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'У значения доступа ""%1""
|
||||
|типа ""%2""
|
||||
|не удалось прочитать реквизит Ссылка по причине:
|
||||
|%3'"),
|
||||
Строка(ЗначениеДоступа),
|
||||
Строка(ТипЗначенияДоступа),
|
||||
КраткоеПредставлениеОшибки(Ошибка));
|
||||
|
||||
ИначеЕсли СвойстваВидаДоступа.НесколькоГруппЗначений Тогда
|
||||
ТабличнаяЧастьМетаданные = МетаданныеТипа.ТабличныеЧасти.Найти("ГруппыДоступа");
|
||||
|
||||
Если ТабличнаяЧастьМетаданные = Неопределено
|
||||
@@ -561,7 +591,7 @@
|
||||
НСтр("ru = 'У значения доступа ""%1""
|
||||
|типа ""%2""
|
||||
|не удалось прочитать табличную часть ГруппаДоступа
|
||||
|с реквизитом ГруппаДоступа по ошибке:
|
||||
|с реквизитом ГруппаДоступа по причине:
|
||||
|%3'"),
|
||||
Строка(ЗначениеДоступа),
|
||||
Строка(ТипЗначенияДоступа),
|
||||
@@ -577,7 +607,7 @@
|
||||
ВызватьИсключение ЗаголовокОшибки + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'У значения доступа ""%1""
|
||||
|типа ""%2""
|
||||
|не удалось прочитать реквизит ГруппаДоступа по ошибке:
|
||||
|не удалось прочитать реквизит ГруппаДоступа по причине:
|
||||
|%3'"),
|
||||
Строка(ЗначениеДоступа),
|
||||
Строка(ТипЗначенияДоступа),
|
||||
@@ -589,9 +619,12 @@
|
||||
// Проверка изменения объекта.
|
||||
ТребуетсяОбновление = Ложь;
|
||||
Если Объект <> Неопределено Тогда
|
||||
|
||||
Если Объект.ЭтоНовый() Тогда
|
||||
ТребуетсяОбновление = Истина;
|
||||
Иначе
|
||||
|
||||
ИначеЕсли СвойстваВидаДоступа.ТипГруппЗначений <> Тип("Неопределено") Тогда
|
||||
|
||||
Если СвойстваВидаДоступа.НесколькоГруппЗначений Тогда
|
||||
Значение = Объект[ИмяТабличнойЧасти].Выгрузить();
|
||||
Значение.Сортировать(ИмяРеквизита);
|
||||
@@ -617,7 +650,9 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Объект = Неопределено Или Не Объект.ЭтоНовый() Тогда
|
||||
Если СвойстваВидаДоступа.ТипГруппЗначений <> Тип("Неопределено")
|
||||
И (Объект = Неопределено Или Не Объект.ЭтоНовый()) Тогда
|
||||
|
||||
ТипыЗначенийСИзменениями.Вставить(ТипЗначенияДоступа, Истина);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -626,12 +661,17 @@
|
||||
|
||||
Если УправлениеДоступом.ОграничиватьДоступНаУровнеЗаписей() Тогда
|
||||
|
||||
// Добавление групп значений.
|
||||
Если СвойстваВидаДоступа.ТипГруппЗначений = Тип("Неопределено") Тогда
|
||||
Запись = НовыеЗаписи.Добавить();
|
||||
Запись.ЗначениеДоступа = Ссылка;
|
||||
Запись.ГруппаЗначенийДоступа = Ссылка;
|
||||
Иначе
|
||||
СвойстваВидовДоступа = УправлениеДоступомСлужебныйПовтИсп.СвойстваВидовДоступа();
|
||||
ТипыГруппЗначений = СвойстваВидовДоступа.ЗначенияДоступаСГруппами.ТипыГруппЗначений;
|
||||
ТипыГруппЗначений = СвойстваВидовДоступа.ЗначенияДоступаСГруппами.ТипыГруппЗначенийДляОбновления;
|
||||
|
||||
ПустаяСсылкаГруппыЗначенийДоступа = ТипыГруппЗначений.Получить(ТипЗнч(Ссылка));
|
||||
|
||||
// Добавление групп значений.
|
||||
Если СвойстваВидаДоступа.НесколькоГруппЗначений Тогда
|
||||
Если НовыеЗначения[ИмяТабличнойЧасти] = Неопределено Тогда
|
||||
ГруппыЗначенийДоступа = Новый ТаблицаЗначений;
|
||||
@@ -660,6 +700,7 @@
|
||||
Запись.ГруппаЗначенийДоступа = ПустаяСсылкаГруппыЗначенийДоступа;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -267,10 +267,6 @@
|
||||
Если ЕстьТекущиеИзменения
|
||||
И УправлениеДоступомСлужебный.ОграничиватьДоступНаУровнеЗаписейУниверсально() Тогда
|
||||
|
||||
// Сброс кэша.
|
||||
СтандартныеПодсистемыСервер.УстановитьПараметрРаботыРасширения(
|
||||
"УправлениеДоступом.ЗначенияГруппДоступаВерсия", Неопределено, Истина);
|
||||
|
||||
// Планирование обновления доступа.
|
||||
ПустыеСсылкиТиповГруппИЗначений = УправлениеДоступомСлужебныйПовтИсп.ПустыеСсылкиТиповГруппИЗначений();
|
||||
СоставИзменений = Новый ТаблицаЗначений;
|
||||
@@ -535,10 +531,6 @@
|
||||
Если ЕстьТекущиеИзменения
|
||||
И УправлениеДоступомСлужебный.ОграничиватьДоступНаУровнеЗаписейУниверсально() Тогда
|
||||
|
||||
// Сброс кэша.
|
||||
СтандартныеПодсистемыСервер.УстановитьПараметрРаботыРасширения(
|
||||
"УправлениеДоступом.ЗначенияГруппДоступаВерсия", Неопределено, Истина);
|
||||
|
||||
// Планирование обновления доступа.
|
||||
СоставИзменений = Данные.ИзмененияСоставаСтрок.Скопировать(, "ГруппаДоступа, ТипЗначенийДоступа");
|
||||
СоставИзменений.Свернуть("ГруппаДоступа, ТипЗначенийДоступа");
|
||||
|
||||
@@ -355,8 +355,11 @@
|
||||
НоваяСтрока.ВладелецФайла = ТипВладельца;
|
||||
НоваяСтрока.ТипВладельцаФайла = Справочник;
|
||||
МетаданныеВладельца = Метаданные.НайтиПоТипу(ТипВладельца);
|
||||
Если МетаданныеСправочники.Найти(МетаданныеВладельца.Имя) <> Неопределено И МетаданныеВладельца.Иерархический Тогда
|
||||
Если Метаданные.Справочники.Содержит(МетаданныеВладельца)
|
||||
И МетаданныеВладельца.Иерархический Тогда
|
||||
|
||||
НоваяСтрока.ВозможностьДетализации = Истина;
|
||||
|
||||
КонецЕсли;
|
||||
Если Не СтрЗаканчиваетсяНа(Справочник.Имя, "ПрисоединенныеФайлы") Тогда
|
||||
НоваяСтрока.ЭтоФайл = Истина;
|
||||
|
||||
+5
-5
@@ -35,8 +35,8 @@
|
||||
|
||||
Элементы.ЗабылиПароль.Видимость = Не ПустаяСтрока(АдресДляВосстановленияПароляУчетнойЗаписи);
|
||||
|
||||
Если ЗначениеЗаполнено(Запись.Узел) Тогда
|
||||
Пароль = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(Запись.Узел, "WSПароль", Истина);
|
||||
Если ЗначениеЗаполнено(Запись.Корреспондент) Тогда
|
||||
Пароль = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(Запись.Корреспондент, "WSПароль", Истина);
|
||||
WSПароль = ?(ЗначениеЗаполнено(Пароль), ЭтотОбъект.УникальныйИдентификатор, "");
|
||||
КонецЕсли;
|
||||
|
||||
@@ -116,16 +116,16 @@
|
||||
Если WSПарольИзменен Тогда
|
||||
ПараметрыПодключения.WSПароль = WSПароль;
|
||||
Иначе
|
||||
ПараметрыПодключения.WSПароль = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(Запись.Узел, "WSПароль", Истина);
|
||||
ПараметрыПодключения.WSПароль = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(Запись.Корреспондент, "WSПароль", Истина);
|
||||
КонецЕсли;
|
||||
|
||||
СообщениеПользователю = "";
|
||||
Если Не ОбменДаннымиСервер.ЕстьПодключениеККорреспонденту(Запись.Узел, ПараметрыПодключения, СообщениеПользователю) Тогда
|
||||
Если Не ОбменДаннымиСервер.ЕстьПодключениеККорреспонденту(Запись.Корреспондент, ПараметрыПодключения, СообщениеПользователю) Тогда
|
||||
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СообщениеПользователю,, "WSПароль",, Отказ);
|
||||
Иначе
|
||||
// Проверка подключения прошла успешно, записываем пароль, если он был изменен
|
||||
Если WSПарольИзменен Тогда
|
||||
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(Запись.Узел, WSПароль, "WSПароль");
|
||||
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(Запись.Корреспондент, WSПароль, "WSПароль");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
+3
@@ -104,6 +104,8 @@
|
||||
Возврат НСтр("ru = 'Выберите объект.'");
|
||||
КонецЕсли;
|
||||
|
||||
УправлениеДоступомСлужебный.ОчиститьКэшЗначенийГруппДоступаДляРасчетаПрав();
|
||||
|
||||
ПолноеИмя = ОбъектОбновленияДоступа.Метаданные().ПолноеИмя();
|
||||
ИдентификаторТранзакции = Новый УникальныйИдентификатор;
|
||||
|
||||
@@ -235,6 +237,7 @@
|
||||
Списки = Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
УправлениеДоступомСлужебный.ОчиститьКэшЗначенийГруппДоступаДляРасчетаПрав();
|
||||
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеДоступа(Списки);
|
||||
|
||||
УправлениеДоступомСлужебный.УстановитьОбновлениеДоступа(Ложь);
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (c) 2018, ООО 1С-Софт
|
||||
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
|
||||
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
|
||||
// Текст лицензии доступен по ссылке:
|
||||
// https://creativecommons.org/licenses/by/4.0/legalcode
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||||
|
||||
@@ -22,7 +29,7 @@
|
||||
|
||||
Настройки.РазрешеноВыбиратьИНастраиватьВариантыБезСохранения = Истина;
|
||||
Настройки.СкрытьКомандыРассылки = Истина;
|
||||
Настройки.ПараметрыРасположенияЭлементовУправления = ОпределитьРасположениеЭлементовУправления();
|
||||
Настройки.ПараметрыРасположенияЭлементовУправления = ПараметрыРасположенияЭлементовУправления();
|
||||
|
||||
Настройки.События.ПриСозданииНаСервере = Истина;
|
||||
Настройки.События.ПередЗагрузкойНастроекВКомпоновщик = Истина;
|
||||
@@ -148,7 +155,7 @@
|
||||
|
||||
СвойстваНастройки.ЗначенияДляВыбора.Очистить();
|
||||
СвойстваНастройки.ОграничиватьВыборУказаннымиЗначениями = Истина;
|
||||
ГлобальныеНастройки = ПерехватитьГлобальныеНастройки();
|
||||
ГлобальныеНастройки = ГлобальныеНастройки();
|
||||
Для Каждого ГлобальнаяНастройка Из ГлобальныеНастройки Цикл
|
||||
ЗначениеДляВыбора = "Регистр" + ГлобальнаяНастройка.ВидРегистра + "_" + ГлобальнаяНастройка.ИмяРегистра;
|
||||
Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Регистр %1 %2'"),
|
||||
@@ -225,10 +232,8 @@
|
||||
НастройкиКД = КомпоновщикНастроек.ПолучитьНастройки();
|
||||
|
||||
СкрытьНеактуальныеГруппировки(НастройкиКД, ДокументОтбор);
|
||||
|
||||
ВосстановитьОтборПоГруппировкамРегистров(НастройкиКД);
|
||||
|
||||
ПользовательскоеОформление(СхемаКомпоновкиДанных, НастройкиКД);
|
||||
НастроитьУсловноеОформление(СхемаКомпоновкиДанных, НастройкиКД);
|
||||
|
||||
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
|
||||
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКД, ДанныеРасшифровки);
|
||||
@@ -567,7 +572,7 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ФормированиеНаборовДанных_Горизонталь
|
||||
#Область ГоризонтальныйВариант
|
||||
|
||||
Функция ПодготовитьГоризонтальныйВариант(ДокументОтбор, НастройкиКД)
|
||||
|
||||
@@ -586,7 +591,7 @@
|
||||
НаборыДанных = НаборыДанныхДляОтчета(ДокументОтбор, ДвиженияДокумента, ТаблицаРегистров);
|
||||
НаборыДанныхСКД = СхемаКомпоновкиДанных.НаборыДанных["Main"].Элементы;
|
||||
|
||||
ГлобальныеНастройки = ПерехватитьГлобальныеНастройки();
|
||||
ГлобальныеНастройки = ГлобальныеНастройки();
|
||||
|
||||
ИндексНабора = 0;
|
||||
Для Каждого НаборДанных Из НаборыДанных Цикл
|
||||
@@ -608,29 +613,28 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
НастроитьСтруктурыНабора_Горизонталь(НастройкиКД, НаборДанных, НаборДанныхСКД);
|
||||
ПодготовитьГоризонтальныйВариантНабораДанных(НастройкиКД, НаборДанных, НаборДанныхСКД);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
СкрытьПараметрыИОтборы(НастройкиКД);
|
||||
Возврат СхемаКомпоновкиДанных;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура НастроитьСтруктурыНабора_Горизонталь(НастройкиКД, ЭлементДанных, НаборДанныхКД)
|
||||
Процедура ПодготовитьГоризонтальныйВариантНабораДанных(НастройкиКД, ЭлементДанных, НаборДанныхКД)
|
||||
|
||||
Если ЭлементДанных.ВидРегистра = "Накопления" Или ЭлементДанных.ВидРегистра = "Сведений" Тогда
|
||||
НастроитьСтруктурыРегистровНакопленияИСведений_Горизонталь(НастройкиКД, НаборДанныхКД, ЭлементДанных);
|
||||
ПодготовитьГоризонтальныйВариантРегистровНакопленияИСведений_Горизонталь(НастройкиКД, НаборДанныхКД, ЭлементДанных);
|
||||
ИначеЕсли ЭлементДанных.ВидРегистра = "Бухгалтерии" Тогда
|
||||
НастроитьСтруктурыРегистровБухгалтерии(НастройкиКД, НаборДанныхКД, ЭлементДанных);
|
||||
ПодготовитьГоризонтальныйВариантРегистровБухгалтерии(НастройкиКД, НаборДанныхКД, ЭлементДанных);
|
||||
ИначеЕсли ЭлементДанных.ВидРегистра = "Расчета" Тогда
|
||||
НастроитьСтруктурыРегистровРасчета_Горизонталь(НастройкиКД, НаборДанныхКД, ЭлементДанных);
|
||||
ПодготовитьГоризонтальныйВариантРегистровРасчета(НастройкиКД, НаборДанныхКД, ЭлементДанных);
|
||||
КонецЕсли;
|
||||
|
||||
ОформитьОтчет(НастройкиКД);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура НастроитьСтруктурыРегистровНакопленияИСведений_Горизонталь(НастройкиКД, НаборДанныхКД, ЭлементДанных)
|
||||
Процедура ПодготовитьГоризонтальныйВариантРегистровНакопленияИСведений_Горизонталь(НастройкиКД, НаборДанныхКД, ЭлементДанных)
|
||||
|
||||
ВидРегистра = ЭлементДанных.ВидРегистра;
|
||||
ПредставлениеВидаРегистра = ЭлементДанных.ПредставлениеВидаРегистра;
|
||||
@@ -698,7 +702,7 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура НастроитьСтруктурыРегистровРасчета_Горизонталь(НастройкиКД, НаборДанныхКД, ЭлементДанных)
|
||||
Процедура ПодготовитьГоризонтальныйВариантРегистровРасчета(НастройкиКД, НаборДанныхКД, ЭлементДанных)
|
||||
|
||||
ВидРегистра = "Расчета";
|
||||
ПредставлениеВидаРегистра = НСтр("ru = 'Расчета'");
|
||||
@@ -768,7 +772,7 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ФормированиеНаборовДанных_Вертикаль
|
||||
#Область ВертикальныйВариант
|
||||
|
||||
Функция ПодготовитьВертикальныйВариант(ДокументОтбор, НастройкиКД, ДополнительнаяНумерация = Ложь)
|
||||
|
||||
@@ -787,7 +791,7 @@
|
||||
|
||||
НаборыДанныхСКД = СхемаКомпоновкиДанных.НаборыДанных["Main"].Элементы;
|
||||
|
||||
ГлобальныеНастройки = ПерехватитьГлобальныеНастройки();
|
||||
ГлобальныеНастройки = ГлобальныеНастройки();
|
||||
|
||||
ИндексНабора = 0;
|
||||
Для Каждого НаборДанных Из НаборыДанных Цикл
|
||||
@@ -809,35 +813,34 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
НастройкаСтруктурыНабора_Вертикаль(НастройкиКД, НаборДанных, НаборДанныхСКД);
|
||||
ПодготовитьВертикальныйВариантНабораДанных(НастройкиКД, НаборДанных, НаборДанныхСКД);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
СкрытьПараметрыИОтборы(НастройкиКД);
|
||||
Возврат СхемаКомпоновкиДанных;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура НастройкаСтруктурыНабора_Вертикаль(НастройкиКД, НаборДанных, НаборДанныхКД)
|
||||
Процедура ПодготовитьВертикальныйВариантНабораДанных(НастройкиКД, НаборДанных, НаборДанныхКД)
|
||||
|
||||
Если НаборДанных.ВидРегистра = "Накопления" Или НаборДанных.ВидРегистра = "Сведений" Тогда
|
||||
|
||||
НастройкаСтруктурыРегистровНакопленияИСведений_Вертикаль(НастройкиКД, НаборДанныхКД, НаборДанных);
|
||||
ПодготовитьВертикальныйВариантРегистровНакопленияИСведений(НастройкиКД, НаборДанныхКД, НаборДанных);
|
||||
|
||||
ИначеЕсли НаборДанных.ВидРегистра = "Бухгалтерии" Тогда
|
||||
|
||||
НастроитьСтруктурыРегистровБухгалтерии(НастройкиКД, НаборДанныхКД, НаборДанных);
|
||||
ПодготовитьГоризонтальныйВариантРегистровБухгалтерии(НастройкиКД, НаборДанныхКД, НаборДанных);
|
||||
|
||||
ИначеЕсли НаборДанных.ВидРегистра = "Расчета" Тогда
|
||||
|
||||
НастройкаСтруктурыРегистровРасчета_Вертикаль(НастройкиКД, НаборДанныхКД, НаборДанных);
|
||||
ПодготовитьВертикальныйВариантРегистровРасчета(НастройкиКД, НаборДанныхКД, НаборДанных);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ОформитьОтчет(НастройкиКД);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура НастройкаСтруктурыРегистровНакопленияИСведений_Вертикаль(НастройкиКД, НаборДанныхКД, ЭлементДанных)
|
||||
Процедура ПодготовитьВертикальныйВариантРегистровНакопленияИСведений(НастройкиКД, НаборДанныхКД, ЭлементДанных)
|
||||
|
||||
ВидРегистра = ЭлементДанных.ВидРегистра;
|
||||
ПредставлениеВидаРегистра = ЭлементДанных.ПредставлениеВидаРегистра;
|
||||
@@ -916,7 +919,7 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура НастройкаСтруктурыРегистровРасчета_Вертикаль(НастройкиКД, НаборДанныхКД, ЭлементДанных)
|
||||
Процедура ПодготовитьВертикальныйВариантРегистровРасчета(НастройкиКД, НаборДанныхКД, ЭлементДанных)
|
||||
|
||||
ВидРегистра = "Расчета";
|
||||
ПредставлениеВидаРегистра = НСтр("ru = 'Расчета'");
|
||||
@@ -1001,7 +1004,7 @@
|
||||
|
||||
#Область ФормированиеСтруктурыОтчета
|
||||
|
||||
Процедура НастроитьСтруктурыРегистровБухгалтерии(НастройкиКД, НаборДанныхКД, ЭлементДанных)
|
||||
Процедура ПодготовитьГоризонтальныйВариантРегистровБухгалтерии(НастройкиКД, НаборДанныхКД, ЭлементДанных)
|
||||
|
||||
ВидРегистра = "Бухгалтерии";
|
||||
ПредставлениеВидаРегистра = НСтр("ru = 'Бухгалтерии'");
|
||||
@@ -1248,9 +1251,9 @@
|
||||
|
||||
#Область Прочее
|
||||
|
||||
Процедура ДополнительнаяОбщаяНастройкаГруппировки(Группировка, СтруктураНастроек)
|
||||
Процедура УстановитьНастройки(Группировка, Настройки)
|
||||
|
||||
Для Каждого ЭлементНастройки Из СтруктураНастроек Цикл
|
||||
Для Каждого ЭлементНастройки Из Настройки Цикл
|
||||
|
||||
Настройка = Группировка.ПараметрыВывода.Элементы.Найти(ЭлементНастройки.Ключ);
|
||||
Если Настройка <> Неопределено Тогда
|
||||
@@ -1272,7 +1275,7 @@
|
||||
ГруппировкаПоРегистру.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
|
||||
ГруппировкаПоРегистру.Порядок.Элементы.Добавить(Тип("АвтоЭлементПорядкаКомпоновкиДанных"));
|
||||
|
||||
ОформитьГруппировкуПоРегистру(ГруппировкаПоРегистру);
|
||||
СкрытьОтборВТаблицеДвижений(ГруппировкаПоРегистру);
|
||||
|
||||
ПолеГруппировкиРегистр = ГруппировкаПоРегистру.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
|
||||
|
||||
@@ -1396,51 +1399,43 @@
|
||||
|
||||
Процедура ОформитьРезультат(ДокументРезультат, ДокументРегистратор)
|
||||
|
||||
ТаблицаГлобальныхНастроек = ПерехватитьГлобальныеНастройки();
|
||||
ТаблицаГлобальныхНастроек.Колонки.Добавить("ТаблицаПримечаний", Новый ОписаниеТипов("ТаблицаЗначений"));
|
||||
ГлобальныеНастройки = ГлобальныеНастройки();
|
||||
ГлобальныеНастройки.Колонки.Добавить("ТаблицаПримечаний", Новый ОписаниеТипов("ТаблицаЗначений"));
|
||||
|
||||
НастройкиКД = КомпоновщикНастроек.ПолучитьНастройки();
|
||||
|
||||
Для Каждого Строка Из ТаблицаГлобальныхНастроек Цикл
|
||||
Строка.ТаблицаПримечаний = ФормированиеСтрокиПримечания("Регистр" + Строка.ВидРегистра + "_" + Строка.ИмяРегистра, НастройкиКД);
|
||||
Для Каждого Строка Из ГлобальныеНастройки Цикл
|
||||
Строка.ТаблицаПримечаний = ТаблицаПримечаний("Регистр" + Строка.ВидРегистра + "_" + Строка.ИмяРегистра, НастройкиКД);
|
||||
КонецЦикла;
|
||||
|
||||
ШиринаТаблицы = ДокументРезультат.ШиринаТаблицы;
|
||||
ВысотаТаблицы = ДокументРезультат.ВысотаТаблицы;
|
||||
|
||||
ТаблицаПримечаний = Новый ТаблицаЗначений;
|
||||
Для НомерСтроки = 1 По ДокументРезультат.ВысотаТаблицы Цикл
|
||||
|
||||
Для ИндексСтрок = 1 По ВысотаТаблицы Цикл
|
||||
Для НомерКолонки = 1 По 2 Цикл // поиск заголовка таблицы в первых двух колонках
|
||||
|
||||
Для ИндексКолонок = 1 По ШиринаТаблицы Цикл
|
||||
|
||||
ИмяОбласти = "R" + Формат(ИндексСтрок, "ЧГ=0") + "C" + Формат(ИндексКолонок, "ЧГ=0");
|
||||
ИмяОбласти = "R" + Формат(НомерСтроки, "ЧГ=0") + "C" + Формат(НомерКолонки, "ЧГ=0");
|
||||
Область = ДокументРезультат.Область(ИмяОбласти);
|
||||
|
||||
СтрокаГлобальныхНастроек = НайтиНадписьРегистраНаДокументе(ТаблицаГлобальныхНастроек, Область.Текст);
|
||||
Если СтрокаГлобальныхНастроек <> Неопределено Тогда
|
||||
НастройкаРегистра = НайтиЗаголовокТаблицы(ГлобальныеНастройки, Область.Текст);
|
||||
Если НастройкаРегистра <> Неопределено Тогда
|
||||
|
||||
СтруктураРасшифровки = Новый Структура;
|
||||
СтруктураРасшифровки.Вставить("ВидРегистра", СтрокаГлобальныхНастроек.ПредставлениеВидаРегистра);
|
||||
СтруктураРасшифровки.Вставить("ИмяРегистра", СтрокаГлобальныхНастроек.ИмяРегистра);
|
||||
СтруктураРасшифровки.Вставить("Регистратор", ДокументРегистратор);
|
||||
СтруктураРасшифровки.Вставить("ИмяПоляРегистратора", СтрокаГлобальныхНастроек.ИмяПоляРегистратора);
|
||||
|
||||
Область.Расшифровка = СтруктураРасшифровки;
|
||||
|
||||
ОтчетыСервер.ВывестиГиперссылку(Область, СтруктураРасшифровки, Область.Текст);
|
||||
|
||||
ТаблицаПримечаний = СтрокаГлобальныхНастроек.ТаблицаПримечаний;
|
||||
РасшифровкаЗаголовка = Новый Структура;
|
||||
РасшифровкаЗаголовка.Вставить("ВидРегистра", НастройкаРегистра.ПредставлениеВидаРегистра);
|
||||
РасшифровкаЗаголовка.Вставить("ИмяРегистра", НастройкаРегистра.ИмяРегистра);
|
||||
РасшифровкаЗаголовка.Вставить("Регистратор", ДокументРегистратор);
|
||||
РасшифровкаЗаголовка.Вставить("ИмяПоляРегистратора", НастройкаРегистра.ИмяПоляРегистратора);
|
||||
|
||||
Область.Расшифровка = РасшифровкаЗаголовка;
|
||||
ОтчетыСервер.ВывестиГиперссылку(Область, РасшифровкаЗаголовка, Область.Текст);
|
||||
ТаблицаПримечаний = НастройкаРегистра.ТаблицаПримечаний;
|
||||
ГраницаПримечаний = 1;
|
||||
|
||||
Прервать;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ИмяОбластиНумератора = "R" + Формат(ИндексСтрок, "ЧГ=0") + "C1";
|
||||
ИмяОбластиНумератора = "R" + Формат(НомерСтроки, "ЧГ=0") + "C1";
|
||||
ОбластьНумератора = ДокументРезультат.Область(ИмяОбластиНумератора);
|
||||
|
||||
Если Не ЭтоЧисло(ОбластьНумератора.Текст) Тогда
|
||||
@@ -1449,8 +1444,9 @@
|
||||
ОбластьНумератора.Текст = "№";
|
||||
ОбластьНумератора.ШиринаКолонки = 5;
|
||||
КонецЕсли;
|
||||
Продолжить;
|
||||
|
||||
Иначе
|
||||
КонецЕсли;
|
||||
|
||||
ОбластьНумератора.Отступ = 0;
|
||||
ОбластьНумератора.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Лево;
|
||||
@@ -1472,8 +1468,6 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -1482,24 +1476,24 @@
|
||||
|
||||
#Область РазделОформления
|
||||
|
||||
Процедура ОформитьОтчет(НастройкиКД)
|
||||
Процедура СкрытьПараметрыИОтборы(НастройкиКД)
|
||||
|
||||
СтруктураНастроек = Новый Структура;
|
||||
СтруктураНастроек.Вставить("ВыводитьОтбор", ТипВыводаТекстаКомпоновкиДанных.НеВыводить);
|
||||
СтруктураНастроек.Вставить("ВыводитьПараметрыДанных", ТипВыводаТекстаКомпоновкиДанных.НеВыводить);
|
||||
ДополнительнаяОбщаяНастройкаГруппировки(НастройкиКД, СтруктураНастроек);
|
||||
Настройки = Новый Структура;
|
||||
Настройки.Вставить("ВыводитьОтбор", ТипВыводаТекстаКомпоновкиДанных.НеВыводить);
|
||||
Настройки.Вставить("ВыводитьПараметрыДанных", ТипВыводаТекстаКомпоновкиДанных.НеВыводить);
|
||||
УстановитьНастройки(НастройкиКД, Настройки);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОформитьГруппировкуПоРегистру(ГруппировкаПоРегистру)
|
||||
Процедура СкрытьОтборВТаблицеДвижений(ГруппировкаПоРегистру)
|
||||
|
||||
СтруктураНастроек = Новый Структура;
|
||||
СтруктураНастроек.Вставить("ВыводитьОтбор", ТипВыводаТекстаКомпоновкиДанных.НеВыводить);
|
||||
ДополнительнаяОбщаяНастройкаГруппировки(ГруппировкаПоРегистру, СтруктураНастроек);
|
||||
Настройки = Новый Структура;
|
||||
Настройки.Вставить("ВыводитьОтбор", ТипВыводаТекстаКомпоновкиДанных.НеВыводить);
|
||||
УстановитьНастройки(ГруппировкаПоРегистру, Настройки);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПользовательскоеОформление(СхемаКД, НастройкиКД)
|
||||
Процедура НастроитьУсловноеОформление(СхемаКД, НастройкиКД)
|
||||
|
||||
УсловноеОформление = НастройкиКД.УсловноеОформление.Элементы;
|
||||
ОформитьОтрицательныеЧисла(УсловноеОформление);
|
||||
@@ -1518,55 +1512,46 @@
|
||||
|
||||
Процедура ОформитьОтрицательныеЧисла(УсловноеОформление)
|
||||
|
||||
ЕдиницаУсловногоОформления = УсловноеОформление.Добавить();
|
||||
ОтборУсловногоОформления = ЕдиницаУсловногоОформления.Отбор;
|
||||
|
||||
ЭлементОтбора = ОтборУсловногоОформления.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
|
||||
Элемент = УсловноеОформление.Добавить();
|
||||
|
||||
ЭлементОтбора = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
|
||||
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПараметрыДанных.ОтрицательноеКрасным");
|
||||
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
|
||||
ЭлементОтбора.ПравоеЗначение = Истина;
|
||||
ЭлементОтбора.Использование = Истина;
|
||||
|
||||
ЕдиницаУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ВыделятьОтрицательные", Истина);
|
||||
Элемент.Оформление.УстановитьЗначениеПараметра("ВыделятьОтрицательные", Истина);
|
||||
|
||||
ЕдиницаУсловногоОформления.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
|
||||
ЕдиницаУсловногоОформления.Использование = Истина;
|
||||
Элемент.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
|
||||
Элемент.Использование = Ложь;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОформитьВидДвижения(УсловноеОформление, ВидДвижения)
|
||||
|
||||
ЦелевоеПоле = Новый ПолеКомпоновкиДанных("ВидДвижения");
|
||||
ПолеВидДвижения = Новый ПолеКомпоновкиДанных("ВидДвижения");
|
||||
|
||||
ЕдиницаУсловногоОформления = УсловноеОформление.Добавить();
|
||||
ОтборУсловногоОформления = ЕдиницаУсловногоОформления.Отбор;
|
||||
|
||||
ЭлементОтбора = ОтборУсловногоОформления.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
|
||||
Элемент = УсловноеОформление.Добавить();
|
||||
|
||||
ЭлементОтбора = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
|
||||
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПараметрыДанных.ВыделятьВидДвиженияНакопления");
|
||||
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
|
||||
ЭлементОтбора.ПравоеЗначение = Истина;
|
||||
ЭлементОтбора.Использование = Истина;
|
||||
|
||||
ЭлементОтбора = ОтборУсловногоОформления.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
|
||||
|
||||
ЭлементОтбора.ЛевоеЗначение = ЦелевоеПоле;
|
||||
ЭлементОтбора = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
|
||||
ЭлементОтбора.ЛевоеЗначение = ПолеВидДвижения;
|
||||
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
|
||||
ЭлементОтбора.ПравоеЗначение = ВидДвижения;
|
||||
ЭлементОтбора.Использование = Истина;
|
||||
|
||||
ОформляемыеПоля = ЕдиницаУсловногоОформления.Поля.Элементы;
|
||||
ОформляемыеПоля = Элемент.Поля.Элементы;
|
||||
ОформляемоеПоле = ОформляемыеПоля.Добавить();
|
||||
ОформляемоеПоле.Поле = ЦелевоеПоле;
|
||||
ОформляемоеПоле.Использование = Истина;
|
||||
ОформляемоеПоле.Поле = ПолеВидДвижения;
|
||||
|
||||
ЕдиницаУсловногоОформления.ИспользоватьВЗаголовке = ИспользованиеУсловногоОформленияКомпоновкиДанных.НеИспользовать;
|
||||
ЕдиницаУсловногоОформления.ИспользоватьВЗаголовкеПолей = ИспользованиеУсловногоОформленияКомпоновкиДанных.НеИспользовать;
|
||||
Элемент.ИспользоватьВЗаголовке = ИспользованиеУсловногоОформленияКомпоновкиДанных.НеИспользовать;
|
||||
Элемент.ИспользоватьВЗаголовкеПолей = ИспользованиеУсловногоОформленияКомпоновкиДанных.НеИспользовать;
|
||||
|
||||
ЕдиницаУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста",
|
||||
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста",
|
||||
?(ВидДвижения = ВидДвиженияНакопления.Приход, ЦветаСтиля.РезультатУспехЦвет, ЦветаСтиля.ЦветОтрицательногоЧисла));
|
||||
ЕдиницаУсловногоОформления.Использование = Истина;
|
||||
Элемент.Использование = Ложь;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -1593,13 +1578,12 @@
|
||||
|
||||
#Область ФормированиеПримечаний
|
||||
|
||||
Функция ФормированиеСтрокиПримечания(ИмяРегистра, НастройкиКД)
|
||||
Функция ТаблицаПримечаний(ИмяРегистра, НастройкиКД)
|
||||
|
||||
ЭтажиСтроки = Новый ТаблицаЗначений;
|
||||
КолонкиЭтажей = ЭтажиСтроки.Колонки;
|
||||
КолонкиЭтажей.Добавить("Этаж", Новый ОписаниеТипов("Строка"));
|
||||
КолонкиЭтажей.Добавить("Примечание", Новый ОписаниеТипов("Строка"));
|
||||
КолонкиЭтажей.Добавить("Этажность", Новый ОписаниеТипов("Число"));
|
||||
Результат = Новый ТаблицаЗначений;
|
||||
Результат.Колонки.Добавить("Этаж", Новый ОписаниеТипов("Строка"));
|
||||
Результат.Колонки.Добавить("Примечание", Новый ОписаниеТипов("Строка"));
|
||||
Результат.Колонки.Добавить("Этажность", Новый ОписаниеТипов("Число"));
|
||||
|
||||
МассивВыбранныхПолей = Новый Массив;
|
||||
СтруктураГруппировок = НастройкиКД.Структура;
|
||||
@@ -1641,16 +1625,14 @@
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
СтруктураЭтажа = Новый Структура;
|
||||
СтруктураЭтажа.Вставить("Этаж", Формат(Индекс + 1, "ЧГ=0"));
|
||||
СтруктураЭтажа.Вставить("Примечание", СтрокаПримечания);
|
||||
СтруктураЭтажа.Вставить("Этажность", ЭтажностьСтроки);
|
||||
|
||||
ЗаполнитьЗначенияСвойств(ЭтажиСтроки.Добавить(), СтруктураЭтажа);
|
||||
Примечание = Результат.Добавить();
|
||||
Примечание.Этаж = Формат(Индекс + 1, "ЧГ=0");
|
||||
Примечание.Примечание = СтрокаПримечания;
|
||||
Примечание.Этажность = ЭтажностьСтроки;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ЭтажиСтроки;
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -1727,21 +1709,33 @@
|
||||
|
||||
Результат = Новый Соответствие;
|
||||
Для Каждого ОбъектМетаданныхРегистр Из Движения Цикл
|
||||
Если Не ПравоДоступа("Просмотр", ОбъектМетаданныхРегистр) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Результат.Вставить(ОбъектМетаданныхРегистр, "Регистратор");
|
||||
КонецЦикла;
|
||||
|
||||
ОтчетОДвиженияхДокументаПереопределяемый.ПриОпределенииРегистровСДвижениями(Регистратор, Результат);
|
||||
ДополнительныеРегистры = Новый Соответствие;
|
||||
ОтчетОДвиженияхДокументаПереопределяемый.ПриОпределенииРегистровСДвижениями(Регистратор, ДополнительныеРегистры);
|
||||
|
||||
Для Каждого ДополнительныйРегистр Из ДополнительныеРегистры Цикл
|
||||
Если Не ПравоДоступа("Просмотр", ДополнительныйРегистр.Ключ) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Результат.Вставить(ДополнительныйРегистр.Ключ, ДополнительныйРегистр.Значение);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура УстановитьГлобальныеНастройки(Регистратор, МассивИспользуемыхРегистров)
|
||||
Процедура УстановитьГлобальныеНастройки(Регистратор, ДвиженияДокумента)
|
||||
|
||||
ГлобальныеНастройки = Новый Массив;
|
||||
КоличествоЗаписей = КоличествоЗаписейПоРегистратору(Регистратор, МассивИспользуемыхРегистров);
|
||||
КоличествоЗаписей = КоличествоЗаписейПоРегистратору(Регистратор, ДвиженияДокумента);
|
||||
|
||||
Для Каждого ИспользуемыйРегистр Из МассивИспользуемыхРегистров Цикл
|
||||
Для Каждого ИспользуемыйРегистр Из ДвиженияДокумента Цикл
|
||||
|
||||
ИспользуемыйРегистр = ИспользуемыйРегистр.Ключ;
|
||||
ИмяРегистра = ИспользуемыйРегистр.Имя;
|
||||
@@ -1776,9 +1770,46 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ГлобальныеНастройки()
|
||||
|
||||
Результат = Новый ТаблицаЗначений;
|
||||
Результат.Колонки.Добавить("ИмяРегистра",
|
||||
Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(128)));
|
||||
Результат.Колонки.Добавить("ИмяПоляРегистратора",
|
||||
Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(128)));
|
||||
Результат.Колонки.Добавить("ПредставлениеРегистра",
|
||||
Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(128)));
|
||||
Результат.Колонки.Добавить("ВидРегистра",
|
||||
Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(32)));
|
||||
Результат.Колонки.Добавить("ПредставлениеВидаРегистра",
|
||||
Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(32)));
|
||||
Результат.Колонки.Добавить("КоличествоЗаписей", Новый ОписаниеТипов("Число"));
|
||||
Результат.Колонки.Добавить("ЗаголовокТаблицы",
|
||||
Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(256)));
|
||||
|
||||
ГлобальныеНастройки = КомпоновщикНастроек.Настройки.ДополнительныеСвойства.ГлобальныеНастройки;
|
||||
Для Каждого Настройка Из ГлобальныеНастройки Цикл
|
||||
|
||||
НоваяСтрока = Результат.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, Настройка);
|
||||
|
||||
ЗаголовокТаблицы = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Регистр %1 ""%2""'"),
|
||||
СокрЛП(НРег(Настройка.ПредставлениеВидаРегистра)), Настройка.ПредставлениеРегистра);
|
||||
НоваяСтрока.ЗаголовокТаблицы = ВРег(ЗаголовокТаблицы);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Результат.Индексы.Добавить("ИмяРегистра, ВидРегистра");
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция КоличествоЗаписейПоРегистратору(Регистратор, ДвиженияДокумента)
|
||||
|
||||
РассчитанноеКоличество = Новый Соответствие;
|
||||
Если ДвиженияДокумента.Количество() = 0 Тогда
|
||||
Возврат РассчитанноеКоличество;
|
||||
КонецЕсли;
|
||||
|
||||
ТекстЗапроса = "";
|
||||
Для Каждого ИспользуемыйРегистр Из ДвиженияДокумента Цикл
|
||||
@@ -1787,7 +1818,7 @@
|
||||
ПолноеИмя = ИспользуемыйРегистрМетаданные.ПолноеИмя();
|
||||
|
||||
ТекстЗапросаШаблон =
|
||||
"ВЫБРАТЬ
|
||||
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
|
||||
| ""&ПолноеИмяРегистра"" КАК ПолноеИмяРегистра,
|
||||
| КОЛИЧЕСТВО(*) КАК Количество
|
||||
|ИЗ
|
||||
@@ -1800,7 +1831,11 @@
|
||||
ТекстЗапросаШаблон = СтрЗаменить(ТекстЗапросаШаблон, "&Условие", ТекстУсловия);
|
||||
ТекстЗапросаШаблон = СтрЗаменить(ТекстЗапросаШаблон, "&ТекущаяТаблица", ПолноеИмя);
|
||||
|
||||
ТекстЗапроса = ТекстЗапроса + ?(ЗначениеЗаполнено(ТекстЗапроса), " ОБЪЕДИНИТЬ ВСЕ ", "") + ТекстЗапросаШаблон;
|
||||
Если Не ЗначениеЗаполнено(ТекстЗапроса) Тогда
|
||||
ТекстЗапроса = ТекстЗапросаШаблон;
|
||||
Иначе
|
||||
ТекстЗапроса = ТекстЗапроса + " ОБЪЕДИНИТЬ ВСЕ " + СтрЗаменить(ТекстЗапросаШаблон, "ВЫБРАТЬ РАЗРЕШЕННЫЕ", "ВЫБРАТЬ");
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
@@ -1891,14 +1926,14 @@
|
||||
ГлобальныеНастройки)
|
||||
|
||||
СтруктураПоиска = Новый Структура("ВидРегистра, ИмяРегистра", ВидРегистра, ИмяРегистра);
|
||||
СтрокиГлобальныхНастроек = ГлобальныеНастройки.НайтиСтроки(СтруктураПоиска);
|
||||
|
||||
Если СтрокиГлобальныхНастроек.Количество() > 0 Тогда
|
||||
|
||||
СтрокаГлобальныхНастроек = СтрокиГлобальныхНастроек.Получить(0);
|
||||
НастройкиРегистра = ГлобальныеНастройки.НайтиСтроки(СтруктураПоиска);
|
||||
Если НастройкиРегистра.Количество() = 0 Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПредставлениеРегистра = НастройкиРегистра[0].ПредставлениеРегистра;
|
||||
ЗаголовокГруппировки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Регистр %1 ""%2""'"),
|
||||
НРег(ПредставлениеВидаРегистра), СтрокаГлобальныхНастроек.ПредставлениеРегистра);
|
||||
НРег(ПредставлениеВидаРегистра),ПредставлениеРегистра);
|
||||
|
||||
Макет = СхемаКД.Макеты.Добавить();
|
||||
Макет.Имя = "Макет" + Формат(ИндексНабора + 1, "ЧГ=0");
|
||||
@@ -1942,8 +1977,6 @@
|
||||
ОбластьКД = Ячейка.Элементы.Добавить(Тип("ПолеОбластиКомпоновкиДанных"));
|
||||
ОбластьКД.Значение = ")";
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция СформироватьСписокРегистров(ТаблицаРегистров)
|
||||
@@ -1996,66 +2029,28 @@
|
||||
|
||||
Если ПроверяемоеЗначение = "0" Тогда
|
||||
Возврат Истина;
|
||||
Иначе
|
||||
КонецЕсли;
|
||||
ОписаниеТипаЧисло = Новый ОписаниеТипов("Число");
|
||||
Возврат ОписаниеТипаЧисло.ПривестиЗначение(ПроверяемоеЗначение) <> 0;
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОпределитьРасположениеЭлементовУправления()
|
||||
Функция ПараметрыРасположенияЭлементовУправления()
|
||||
|
||||
МассивНастроек = Новый Массив;
|
||||
НастройкиЭлементаУправления = Новый Структура;
|
||||
Настройки = Новый Массив;
|
||||
ЭлементУправления = Новый Структура;
|
||||
|
||||
НастройкиЭлементаУправления.Вставить("Поле", "СписокРегистров");
|
||||
НастройкиЭлементаУправления.Вставить("РастягиватьПоГоризонтали", Ложь);
|
||||
НастройкиЭлементаУправления.Вставить("АвтоМаксимальнаяШирина", Истина);
|
||||
НастройкиЭлементаУправления.Вставить("Ширина", 40);
|
||||
ЭлементУправления.Вставить("Поле", "СписокРегистров");
|
||||
ЭлементУправления.Вставить("РастягиватьПоГоризонтали", Ложь);
|
||||
ЭлементУправления.Вставить("АвтоМаксимальнаяШирина", Истина);
|
||||
ЭлементУправления.Вставить("Ширина", 40);
|
||||
|
||||
МассивНастроек.Добавить(НастройкиЭлементаУправления);
|
||||
Настройки.Добавить(ЭлементУправления);
|
||||
|
||||
НастройкиЭлементовУправления = Новый Структура();
|
||||
НастройкиЭлементовУправления.Вставить("ПараметрыДанных", МассивНастроек);
|
||||
Результат = Новый Структура();
|
||||
Результат.Вставить("ПараметрыДанных", Настройки);
|
||||
|
||||
Возврат НастройкиЭлементовУправления;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПерехватитьГлобальныеНастройки()
|
||||
|
||||
ГлобальныеНастройки = КомпоновщикНастроек.Настройки.ДополнительныеСвойства.ГлобальныеНастройки;
|
||||
|
||||
ТаблицаГлобальныхНастроек = Новый ТаблицаЗначений;
|
||||
КолонкиГлобальныхНастроек = ТаблицаГлобальныхНастроек.Колонки;
|
||||
КолонкиГлобальныхНастроек.Добавить("ИмяРегистра",
|
||||
Новый ОписаниеТипов("Строка", , , , Новый КвалификаторыСтроки(128)));
|
||||
КолонкиГлобальныхНастроек.Добавить("ИмяПоляРегистратора",
|
||||
Новый ОписаниеТипов("Строка", , , , Новый КвалификаторыСтроки(128)));
|
||||
КолонкиГлобальныхНастроек.Добавить("ПредставлениеРегистра",
|
||||
Новый ОписаниеТипов("Строка", , , , Новый КвалификаторыСтроки(128)));
|
||||
КолонкиГлобальныхНастроек.Добавить("ВидРегистра",
|
||||
Новый ОписаниеТипов("Строка", , , , Новый КвалификаторыСтроки(32)));
|
||||
КолонкиГлобальныхНастроек.Добавить("ПредставлениеВидаРегистра",
|
||||
Новый ОписаниеТипов("Строка", , , , Новый КвалификаторыСтроки(32)));
|
||||
КолонкиГлобальныхНастроек.Добавить("КоличествоЗаписей" , Новый ОписаниеТипов("Число"));
|
||||
КолонкиГлобальныхНастроек.Добавить("НадписьРезультат" ,
|
||||
Новый ОписаниеТипов("Строка", , , , Новый КвалификаторыСтроки(256)));
|
||||
|
||||
Для Каждого ЭлементГлобальныхНастроек Из ГлобальныеНастройки Цикл
|
||||
|
||||
НоваяСтрока = ТаблицаГлобальныхНастроек.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, ЭлементГлобальныхНастроек);
|
||||
|
||||
НадписьРезультат = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Регистр %1 ""%2""'"),
|
||||
СокрЛП(НРег(ЭлементГлобальныхНастроек.ПредставлениеВидаРегистра)),
|
||||
ЭлементГлобальныхНастроек.ПредставлениеРегистра);
|
||||
|
||||
НоваяСтрока.НадписьРезультат = НадписьРезультат;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ТаблицаГлобальныхНастроек;
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -2347,17 +2342,16 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция НайтиНадписьРегистраНаДокументе(ТаблицаГлобальныхНастроек, Знач ТекстОбласти)
|
||||
Функция НайтиЗаголовокТаблицы(ГлобальныеНастройки, Знач ТекстОбласти)
|
||||
|
||||
ТекстОбласти = ВРег(СокрЛП(ТекстОбласти));
|
||||
Если Не ЗначениеЗаполнено(ТекстОбласти) Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого ГлобальнаяНастройка Из ТаблицаГлобальныхНастроек Цикл
|
||||
ЗначениеВТаблице = ВРег(СокрЛП(ГлобальнаяНастройка.НадписьРезультат));
|
||||
Если СтрНачинаетсяС(ТекстОбласти, ЗначениеВТаблице) Тогда
|
||||
Возврат ГлобальнаяНастройка;
|
||||
Для Каждого Настройка Из ГлобальныеНастройки Цикл
|
||||
Если СтрНачинаетсяС(ТекстОбласти, Настройка.ЗаголовокТаблицы) Тогда
|
||||
Возврат Настройка;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
@@ -2402,11 +2396,10 @@
|
||||
|
||||
Процедура СкрытьНеактуальныеГруппировки(НастройкиКД, ДокументОтбор)
|
||||
|
||||
ДополнительныеСвойства = НастройкиКД.ДополнительныеСвойства;
|
||||
Если Не ДополнительныеСвойства.Свойство("ГлобальныеНастройки") Тогда
|
||||
ГлобальныеНастройки = Неопределено;
|
||||
Если Не НастройкиКД.ДополнительныеСвойства.Свойство("ГлобальныеНастройки", ГлобальныеНастройки) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
ГлобальныеНастройки = ДополнительныеСвойства.ГлобальныеНастройки;
|
||||
|
||||
СписокРегистровПараметрСКД = НастройкиКД.ПараметрыДанных.Элементы.Найти("СписокРегистров");
|
||||
Если СписокРегистровПараметрСКД = Неопределено Тогда
|
||||
@@ -2416,16 +2409,15 @@
|
||||
|
||||
ПерерасчетКоличестваДвижений(СписокРегистров, ДокументОтбор, ГлобальныеНастройки);
|
||||
|
||||
СтруктураКД = НастройкиКД.Структура;
|
||||
Для Каждого Элемент Из СтруктураКД Цикл
|
||||
Для Каждого Элемент Из НастройкиКД.Структура Цикл
|
||||
|
||||
Для Каждого ГлобальнаяНастройка Из ГлобальныеНастройки Цикл
|
||||
Для Каждого НастройкаРегистра Из ГлобальныеНастройки Цикл
|
||||
|
||||
Если ВРег(СокрЛП("Регистр" + ГлобальнаяНастройка.ВидРегистра + "_" + ГлобальнаяНастройка.ИмяРегистра)) <> ВРег(СокрЛП(Элемент.Имя)) Тогда
|
||||
Если ВРег(СокрЛП("Регистр" + НастройкаРегистра.ВидРегистра + "_" + НастройкаРегистра.ИмяРегистра)) <> ВРег(СокрЛП(Элемент.Имя)) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если ГлобальнаяНастройка.КоличествоЗаписей = 0 Или (СписокРегистровПараметрСКД.Использование И Не ГлобальнаяНастройка.Использование) Тогда
|
||||
Если НастройкаРегистра.КоличествоЗаписей = 0 Или (СписокРегистровПараметрСКД.Использование И Не НастройкаРегистра.Использование) Тогда
|
||||
Элемент.Состояние = СостояниеЭлементаНастройкиКомпоновкиДанных.Отключен;
|
||||
Элемент.Структура.Получить(0).Состояние = СостояниеЭлементаНастройкиКомпоновкиДанных.Отключен;
|
||||
КонецЕсли;
|
||||
@@ -2440,4 +2432,6 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Иначе
|
||||
ВызватьИсключение НСтр("ru = 'Недопустимый вызов объекта на клиенте.'");
|
||||
#КонецЕсли
|
||||
@@ -3353,93 +3353,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>DataAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExclusiveMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ActiveUsers</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>EventLog</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThinClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>WebClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeNormal</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeEmbeddedWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeFullscreenWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeKiosk</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>AnalyticsSystemClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>SaveUserData</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Output</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>InformationRegister.УдалитьЗамерыВремени3</name>
|
||||
<right>
|
||||
@@ -3818,6 +3731,93 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>DataAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExclusiveMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ActiveUsers</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>EventLog</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThinClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>WebClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeNormal</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeEmbeddedWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeFullscreenWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeKiosk</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>AnalyticsSystemClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>SaveUserData</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Output</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Constant.ОценкаПроизводительностиПериодЗаписи</name>
|
||||
<right>
|
||||
|
||||
@@ -2345,18 +2345,20 @@
|
||||
// Информационная база заблокирована для обновления.
|
||||
ГДЕ ЛОЖЬ
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2,")
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3,")
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Требуется обновить шаблон на актуальную версию, поставляемую в роли ИзменениеУчастниковГруппДоступа по причине: Используется устаревшая версия 1 шаблона ограничения доступа ДляОбъекта. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли &СпискиСОтключеннымОграничениемЧтения = "Все" #Тогда
|
||||
// У пользователя отключены все виды доступа или
|
||||
// ограничение на уровне записей не используется.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОтключеннымОграничениемЧтения, #ИмяТекущейТаблицы) #Тогда
|
||||
// У пользователя отключено ограничение для текущей таблицы.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Версия программы обновлена, требуется перезапустить сеанс. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли #ИмяТекущегоПраваДоступа <> "Чтение" #Тогда
|
||||
@@ -2507,18 +2509,20 @@
|
||||
// Информационная база заблокирована для обновления.
|
||||
ГДЕ ЛОЖЬ
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра2,") #Тогда
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра3,") #Тогда
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Требуется обновить шаблон на актуальную версию, поставляемую в роли ИзменениеУчастниковГруппДоступа по причине: Используется устаревшая версия 1 шаблона ограничения доступа ДляРегистра. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли &СпискиСОтключеннымОграничениемЧтения = "Все" #Тогда
|
||||
// У пользователя отключены все виды доступа или
|
||||
// ограничение на уровне записей не используется.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОтключеннымОграничениемЧтения, #ИмяТекущейТаблицы) #Тогда
|
||||
// У пользователя отключено ограничение для текущей таблицы.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Версия программы обновлена, требуется перезапустить сеанс. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли #ИмяТекущегоПраваДоступа <> "Чтение" #Тогда
|
||||
@@ -2560,149 +2564,53 @@
|
||||
И КлючиДоступаКРегистрам.ДляВнешнихПользователей = ИСТИНА
|
||||
#КонецЕсли
|
||||
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле1
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле2" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле2
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле2;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле2
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле3" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле3
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле3
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле3
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле4" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле4;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле4
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле4
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле4
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле4
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле4;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле5
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле5
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле4;") #Тогда
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле3" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле2;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле2
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле3
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле4
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле2" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле2;") #Тогда
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле3" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле3;") #Тогда
|
||||
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле3
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле4
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле4=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле4
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле4=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле4=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле5=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле5=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Иначе
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле5
|
||||
#Иначе
|
||||
И КлючиДоступаКРегистрам.Поле1 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле2" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле2;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле3" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если Не СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":[#Регистр]:#Поле1:#Поле2:#Поле3:#Поле4:#Поле5;") #Тогда
|
||||
И РазрешенныеКлючиДоступа.КлючДоступа = КлючиДоступаКРегистрам.КлючДоступа
|
||||
|
||||
@@ -2093,18 +2093,20 @@
|
||||
// Информационная база заблокирована для обновления.
|
||||
ГДЕ ЛОЖЬ
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2,")
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3,")
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Требуется обновить шаблон на актуальную версию, поставляемую в роли ИзменениеУчастниковГруппДоступа по причине: Используется устаревшая версия 1 шаблона ограничения доступа ДляОбъекта. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли &СпискиСОтключеннымОграничениемЧтения = "Все" #Тогда
|
||||
// У пользователя отключены все виды доступа или
|
||||
// ограничение на уровне записей не используется.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОтключеннымОграничениемЧтения, #ИмяТекущейТаблицы) #Тогда
|
||||
// У пользователя отключено ограничение для текущей таблицы.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Версия программы обновлена, требуется перезапустить сеанс. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли #ИмяТекущегоПраваДоступа <> "Чтение" #Тогда
|
||||
@@ -2255,18 +2257,20 @@
|
||||
// Информационная база заблокирована для обновления.
|
||||
ГДЕ ЛОЖЬ
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра2,") #Тогда
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра3,") #Тогда
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Требуется обновить шаблон на актуальную версию, поставляемую в роли ИзменениеУчастниковГруппДоступа по причине: Используется устаревшая версия 1 шаблона ограничения доступа ДляРегистра. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли &СпискиСОтключеннымОграничениемЧтения = "Все" #Тогда
|
||||
// У пользователя отключены все виды доступа или
|
||||
// ограничение на уровне записей не используется.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОтключеннымОграничениемЧтения, #ИмяТекущейТаблицы) #Тогда
|
||||
// У пользователя отключено ограничение для текущей таблицы.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Версия программы обновлена, требуется перезапустить сеанс. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли #ИмяТекущегоПраваДоступа <> "Чтение" #Тогда
|
||||
@@ -2308,149 +2312,53 @@
|
||||
И КлючиДоступаКРегистрам.ДляВнешнихПользователей = ИСТИНА
|
||||
#КонецЕсли
|
||||
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле1
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле2" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле2
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле2;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле2
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле3" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле3
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле3
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле3
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле4" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле4;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле4
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле4
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле4
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле4
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле4;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле5
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле5
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле4;") #Тогда
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле3" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле2;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле2
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле3
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле4
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле2" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле2;") #Тогда
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле3" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле3;") #Тогда
|
||||
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле3
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле4
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле4=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле4
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле4=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле4=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле5=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле5=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Иначе
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле5
|
||||
#Иначе
|
||||
И КлючиДоступаКРегистрам.Поле1 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле2" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле2;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле3" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если Не СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":[#Регистр]:#Поле1:#Поле2:#Поле3:#Поле4:#Поле5;") #Тогда
|
||||
И РазрешенныеКлючиДоступа.КлючДоступа = КлючиДоступаКРегистрам.КлючДоступа
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -100,18 +100,20 @@
|
||||
// Информационная база заблокирована для обновления.
|
||||
ГДЕ ЛОЖЬ
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2,")
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3,")
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Требуется обновить шаблон на актуальную версию, поставляемую в роли ИзменениеУчастниковГруппДоступа по причине: Используется устаревшая версия 1 шаблона ограничения доступа ДляОбъекта. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли &СпискиСОтключеннымОграничениемЧтения = "Все" #Тогда
|
||||
// У пользователя отключены все виды доступа или
|
||||
// ограничение на уровне записей не используется.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОтключеннымОграничениемЧтения, #ИмяТекущейТаблицы) #Тогда
|
||||
// У пользователя отключено ограничение для текущей таблицы.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Версия программы обновлена, требуется перезапустить сеанс. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли #ИмяТекущегоПраваДоступа <> "Чтение" #Тогда
|
||||
|
||||
@@ -162,18 +162,20 @@
|
||||
// Информационная база заблокирована для обновления.
|
||||
ГДЕ ЛОЖЬ
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2,")
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3,")
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Требуется обновить шаблон на актуальную версию, поставляемую в роли ИзменениеУчастниковГруппДоступа по причине: Используется устаревшая версия 1 шаблона ограничения доступа ДляОбъекта. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли &СпискиСОтключеннымОграничениемЧтения = "Все" #Тогда
|
||||
// У пользователя отключены все виды доступа или
|
||||
// ограничение на уровне записей не используется.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОтключеннымОграничениемЧтения, #ИмяТекущейТаблицы) #Тогда
|
||||
// У пользователя отключено ограничение для текущей таблицы.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Версия программы обновлена, требуется перезапустить сеанс. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли #ИмяТекущегоПраваДоступа <> "Чтение" #Тогда
|
||||
|
||||
@@ -210,18 +210,20 @@
|
||||
// Информационная база заблокирована для обновления.
|
||||
ГДЕ ЛОЖЬ
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2,")
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3,")
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Требуется обновить шаблон на актуальную версию, поставляемую в роли ИзменениеУчастниковГруппДоступа по причине: Используется устаревшая версия 1 шаблона ограничения доступа ДляОбъекта. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли &СпискиСОтключеннымОграничениемЧтения = "Все" #Тогда
|
||||
// У пользователя отключены все виды доступа или
|
||||
// ограничение на уровне записей не используется.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОтключеннымОграничениемЧтения, #ИмяТекущейТаблицы) #Тогда
|
||||
// У пользователя отключено ограничение для текущей таблицы.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Версия программы обновлена, требуется перезапустить сеанс. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли #ИмяТекущегоПраваДоступа <> "Чтение" #Тогда
|
||||
|
||||
@@ -75,18 +75,20 @@
|
||||
// Информационная база заблокирована для обновления.
|
||||
ГДЕ ЛОЖЬ
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра2,") #Тогда
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра3,") #Тогда
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Требуется обновить шаблон на актуальную версию, поставляемую в роли ИзменениеУчастниковГруппДоступа по причине: Используется устаревшая версия 1 шаблона ограничения доступа ДляРегистра. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли &СпискиСОтключеннымОграничениемЧтения = "Все" #Тогда
|
||||
// У пользователя отключены все виды доступа или
|
||||
// ограничение на уровне записей не используется.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОтключеннымОграничениемЧтения, #ИмяТекущейТаблицы) #Тогда
|
||||
// У пользователя отключено ограничение для текущей таблицы.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Версия программы обновлена, требуется перезапустить сеанс. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли #ИмяТекущегоПраваДоступа <> "Чтение" #Тогда
|
||||
@@ -128,149 +130,53 @@
|
||||
И КлючиДоступаКРегистрам.ДляВнешнихПользователей = ИСТИНА
|
||||
#КонецЕсли
|
||||
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле1
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле2" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле2
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле2;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле2
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле3" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле3
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле3
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле3
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле4" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле4;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле4
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле4
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле4
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле4
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле4;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле5
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле5
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле4;") #Тогда
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле3" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле2;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле2
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле3
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле4
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле2" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле2;") #Тогда
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле3" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле3;") #Тогда
|
||||
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле3
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле4
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле4=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле4
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле4=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле4=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле5=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле5=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Иначе
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле5
|
||||
#Иначе
|
||||
И КлючиДоступаКРегистрам.Поле1 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле2" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле2;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле3" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если Не СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":[#Регистр]:#Поле1:#Поле2:#Поле3:#Поле4:#Поле5;") #Тогда
|
||||
И РазрешенныеКлючиДоступа.КлючДоступа = КлючиДоступаКРегистрам.КлючДоступа
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -28,37 +28,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>MainWindowModeNormal</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeEmbeddedWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeFullscreenWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeKiosk</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>AnalyticsSystemClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Output</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Catalog.РассылкиОтчетов</name>
|
||||
<right>
|
||||
@@ -107,6 +76,37 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>MainWindowModeNormal</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeEmbeddedWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeFullscreenWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeKiosk</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>AnalyticsSystemClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Output</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<restrictionTemplate>
|
||||
<name>ДляОбъекта(ПолеОбъекта)</name>
|
||||
<condition>// ДляОбъекта(ПолеОбъекта = "")
|
||||
@@ -123,18 +123,20 @@
|
||||
// Информационная база заблокирована для обновления.
|
||||
ГДЕ ЛОЖЬ
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2,")
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3,")
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Требуется обновить шаблон на актуальную версию, поставляемую в роли ИзменениеУчастниковГруппДоступа по причине: Используется устаревшая версия 1 шаблона ограничения доступа ДляОбъекта. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли &СпискиСОтключеннымОграничениемЧтения = "Все" #Тогда
|
||||
// У пользователя отключены все виды доступа или
|
||||
// ограничение на уровне записей не используется.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОтключеннымОграничениемЧтения, #ИмяТекущейТаблицы) #Тогда
|
||||
// У пользователя отключено ограничение для текущей таблицы.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Версия программы обновлена, требуется перезапустить сеанс. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли #ИмяТекущегоПраваДоступа <> "Чтение" #Тогда
|
||||
|
||||
@@ -107,18 +107,20 @@
|
||||
// Информационная база заблокирована для обновления.
|
||||
ГДЕ ЛОЖЬ
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2,")
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3,")
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Требуется обновить шаблон на актуальную версию, поставляемую в роли ИзменениеУчастниковГруппДоступа по причине: Используется устаревшая версия 1 шаблона ограничения доступа ДляОбъекта. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли &СпискиСОтключеннымОграничениемЧтения = "Все" #Тогда
|
||||
// У пользователя отключены все виды доступа или
|
||||
// ограничение на уровне записей не используется.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОтключеннымОграничениемЧтения, #ИмяТекущейТаблицы) #Тогда
|
||||
// У пользователя отключено ограничение для текущей таблицы.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Версия программы обновлена, требуется перезапустить сеанс. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли #ИмяТекущегоПраваДоступа <> "Чтение" #Тогда
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -75,18 +75,20 @@
|
||||
// Информационная база заблокирована для обновления.
|
||||
ГДЕ ЛОЖЬ
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра2,") #Тогда
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра3,") #Тогда
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Требуется обновить шаблон на актуальную версию, поставляемую в роли ИзменениеУчастниковГруппДоступа по причине: Используется устаревшая версия 1 шаблона ограничения доступа ДляРегистра. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли &СпискиСОтключеннымОграничениемЧтения = "Все" #Тогда
|
||||
// У пользователя отключены все виды доступа или
|
||||
// ограничение на уровне записей не используется.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОтключеннымОграничениемЧтения, #ИмяТекущейТаблицы) #Тогда
|
||||
// У пользователя отключено ограничение для текущей таблицы.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Версия программы обновлена, требуется перезапустить сеанс. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли #ИмяТекущегоПраваДоступа <> "Чтение" #Тогда
|
||||
@@ -128,149 +130,53 @@
|
||||
И КлючиДоступаКРегистрам.ДляВнешнихПользователей = ИСТИНА
|
||||
#КонецЕсли
|
||||
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле1
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле2" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле2
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле2;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле2
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле3" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле3
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле3
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле3
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле4" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле4;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле4
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле4
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле4
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле4
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле4;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле5
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле5
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле4;") #Тогда
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле3" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле2;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле2
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле3
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле4
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле2" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле2;") #Тогда
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле3" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле3;") #Тогда
|
||||
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле3
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле4
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле4=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле4
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле4=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле4=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле5=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле5=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Иначе
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле5
|
||||
#Иначе
|
||||
И КлючиДоступаКРегистрам.Поле1 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле2" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле2;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле3" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если Не СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":[#Регистр]:#Поле1:#Поле2:#Поле3:#Поле4:#Поле5;") #Тогда
|
||||
И РазрешенныеКлючиДоступа.КлючДоступа = КлючиДоступаКРегистрам.КлючДоступа
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -4480,45 +4480,6 @@
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtDataProcessors</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtReports</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Catalog.РассылкиОтчетов</name>
|
||||
<right>
|
||||
@@ -5054,6 +5015,45 @@
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtDataProcessors</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtReports</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Constant.ОценкаПроизводительностиПериодЗаписи</name>
|
||||
<right>
|
||||
|
||||
@@ -85,18 +85,20 @@
|
||||
// Информационная база заблокирована для обновления.
|
||||
ГДЕ ЛОЖЬ
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2,")
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3,")
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Требуется обновить шаблон на актуальную версию, поставляемую в роли ИзменениеУчастниковГруппДоступа по причине: Используется устаревшая версия 1 шаблона ограничения доступа ДляОбъекта. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли &СпискиСОтключеннымОграничениемЧтения = "Все" #Тогда
|
||||
// У пользователя отключены все виды доступа или
|
||||
// ограничение на уровне записей не используется.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОтключеннымОграничениемЧтения, #ИмяТекущейТаблицы) #Тогда
|
||||
// У пользователя отключено ограничение для текущей таблицы.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляОбъекта3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Версия программы обновлена, требуется перезапустить сеанс. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли #ИмяТекущегоПраваДоступа <> "Чтение" #Тогда
|
||||
|
||||
@@ -58,18 +58,20 @@
|
||||
// Информационная база заблокирована для обновления.
|
||||
ГДЕ ЛОЖЬ
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра2,") #Тогда
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра3,") #Тогда
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Требуется обновить шаблон на актуальную версию, поставляемую в роли ИзменениеУчастниковГруппДоступа по причине: Используется устаревшая версия 1 шаблона ограничения доступа ДляРегистра. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли &СпискиСОтключеннымОграничениемЧтения = "Все" #Тогда
|
||||
// У пользователя отключены все виды доступа или
|
||||
// ограничение на уровне записей не используется.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОтключеннымОграничениемЧтения, #ИмяТекущейТаблицы) #Тогда
|
||||
// У пользователя отключено ограничение для текущей таблицы.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Версия программы обновлена, требуется перезапустить сеанс. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли #ИмяТекущегоПраваДоступа <> "Чтение" #Тогда
|
||||
@@ -111,149 +113,53 @@
|
||||
И КлючиДоступаКРегистрам.ДляВнешнихПользователей = ИСТИНА
|
||||
#КонецЕсли
|
||||
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле1
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле2" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле2
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле2;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле2
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле3" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле3
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле3
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле3
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле4" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле4;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле4
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле4
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле4
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле4
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле4;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле5
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле5
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле4;") #Тогда
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле3" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле2;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле2
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле3
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле4
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле2" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле2;") #Тогда
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле3" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле3;") #Тогда
|
||||
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле3
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле4
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле4=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле4
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле4=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле4=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле5=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле5=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Иначе
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле5
|
||||
#Иначе
|
||||
И КлючиДоступаКРегистрам.Поле1 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле2" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле2;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле3" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если Не СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":[#Регистр]:#Поле1:#Поле2:#Поле3:#Поле4:#Поле5;") #Тогда
|
||||
И РазрешенныеКлючиДоступа.КлючДоступа = КлючиДоступаКРегистрам.КлючДоступа
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -94,18 +94,20 @@
|
||||
// Информационная база заблокирована для обновления.
|
||||
ГДЕ ЛОЖЬ
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра2,") #Тогда
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра3,") #Тогда
|
||||
И Не СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Требуется обновить шаблон на актуальную версию, поставляемую в роли ИзменениеУчастниковГруппДоступа по причине: Используется устаревшая версия 1 шаблона ограничения доступа ДляРегистра. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли &СпискиСОтключеннымОграничениемЧтения = "Все" #Тогда
|
||||
// У пользователя отключены все виды доступа или
|
||||
// ограничение на уровне записей не используется.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОтключеннымОграничениемЧтения, #ИмяТекущейТаблицы) #Тогда
|
||||
// У пользователя отключено ограничение для текущей таблицы.
|
||||
ГДЕ ИСТИНА
|
||||
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра2ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
#ИначеЕсли СтрСодержит(&ВерсииШаблоновОграниченияДоступа, ",ДляРегистра3ТребуетсяПерезапуститьСеанс,") #Тогда
|
||||
Ошибка: Версия программы обновлена, требуется перезапустить сеанс. Объект: #ИмяТекущейТаблицы, Право: #ИмяТекущегоПраваДоступа.
|
||||
|
||||
#ИначеЕсли #ИмяТекущегоПраваДоступа <> "Чтение" #Тогда
|
||||
@@ -147,149 +149,53 @@
|
||||
И КлючиДоступаКРегистрам.ДляВнешнихПользователей = ИСТИНА
|
||||
#КонецЕсли
|
||||
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле1
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле2" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле2
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле2;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле2
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле3" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле3
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле3
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле3
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле4" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле4;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле4
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле4
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле4
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле4
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле4;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле5
|
||||
#Иначе
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле1=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле5
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле4;") #Тогда
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле3;") #Тогда
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;")
|
||||
И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле2;") #Тогда
|
||||
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле3" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
|
||||
#ИначеЕсли Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле1;") #Тогда
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле2;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле2
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле3
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле4
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли "#Поле2" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле2;") #Тогда
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле2=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле3" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле3;") #Тогда
|
||||
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле3
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле4
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле3=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле4=Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле4
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле4=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле4=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
|
||||
#Если СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле5=Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = ТекущаяТаблица.#Поле5
|
||||
#ИначеЕсли СтрСодержит(&СпискиСОграничениемПоПолям, #ИмяТекущейТаблицы + ":Поле5=Null;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Иначе
|
||||
#Если "#Поле5" <> "" И Не СтрСодержит(&СпискиСОтключеннымОграничениемПоПолям, #ИмяТекущейТаблицы + ":#Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле1 = ТекущаяТаблица.#Поле5
|
||||
#Иначе
|
||||
И КлючиДоступаКРегистрам.Поле1 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле2" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле2;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле2 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле3" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле3;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле3 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле4" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле4;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле4 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#Если "#Поле5" <> "" Или Не СтрСодержит(&СпискиССокращеннымНаборомПолейВРегистрахКлючей, #ИмяТекущейТаблицы + ":Поле5;") #Тогда
|
||||
И КлючиДоступаКРегистрам.Поле5 = Значение(Перечисление.ДополнительныеЗначенияДоступа.Null)
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
#Если Не СтрСодержит(&СпискиСОграничениемЧерезКлючиДоступаПользователей, #ИмяТекущейТаблицы + ":[#Регистр]:#Поле1:#Поле2:#Поле3:#Поле4:#Поле5;") #Тогда
|
||||
И РазрешенныеКлючиДоступа.КлючДоступа = КлючиДоступаКРегистрам.КлючДоступа
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:SessionParameter xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="64837ad8-3055-4da3-a39c-0e7db38b6084">
|
||||
<name>СпискиСОтключеннымОграничениемПоПолям</name>
|
||||
<name>СпискиСОграничениемПоПолям</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Списки с отключенным ограничением по полям</value>
|
||||
<value>Списки с ограничением по полям</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
-12
@@ -1,12 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:SessionParameter xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="10620b9b-283c-4252-b839-5b71ce6e804b">
|
||||
<name>СпискиССокращеннымНаборомПолейВРегистрахКлючей</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Списки с сокращенным набором полей в регистрах ключей</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</type>
|
||||
</mdclass:SessionParameter>
|
||||
+1
-2
@@ -72,9 +72,8 @@
|
||||
<content>SessionParameter.СпискиСОграничениемЧерезКлючиДоступаГруппДоступа</content>
|
||||
<content>SessionParameter.СпискиСОграничениемЧерезКлючиДоступаПользователей</content>
|
||||
<content>SessionParameter.СпискиСОграничениемЧерезКлючиДоступаПользователейИГруппДоступа</content>
|
||||
<content>SessionParameter.СпискиСОтключеннымОграничениемПоПолям</content>
|
||||
<content>SessionParameter.СпискиСОграничениемПоПолям</content>
|
||||
<content>SessionParameter.СпискиСОтключеннымОграничениемЧтения</content>
|
||||
<content>SessionParameter.СпискиССокращеннымНаборомПолейВРегистрахКлючей</content>
|
||||
<content>EventSubscription.ПроверитьДоступПередЗаписью</content>
|
||||
<content>EventSubscription.ПроверитьДоступПередЗаписьюДокумента</content>
|
||||
<content>EventSubscription.ПроверитьДоступПередЗаписьюНабораЗаписей</content>
|
||||
|
||||
Reference in new issue
Block a user