3_0_3_241
This commit is contained in:
1 parent
6a42a9487c
commit
7736b99c06
15 files changed
+637
-622
No files matched your search
+4
-3
@@ -422,8 +422,9 @@
|
||||
Контекст = Новый Структура("Оповещение", Оповещение);
|
||||
|
||||
Если СтандартныеПроверки Тогда
|
||||
НачатьПодключениеРасширенияРаботыСКриптографией(Новый ОписаниеОповещения(
|
||||
"ПроверитьНаСторонеКлиентаПослеПодключенияРасширенияРаботыСКриптографией", ЭтотОбъект, Контекст));
|
||||
ЭлектроннаяПодписьКлиент.УстановитьРасширение(Ложь, Новый ОписаниеОповещения(
|
||||
"ПроверитьНаСторонеКлиентаПослеПодключенияРасширенияРаботыСКриптографией", ЭтотОбъект, Контекст),
|
||||
НСтр("ru = 'Для продолжения необходимо установить расширение для работы с криптографией.'"));
|
||||
Иначе
|
||||
Контекст.Вставить("МенеджерКриптографии", Неопределено);
|
||||
ПроверитьНаСторонеКлиентаДополнительныеПроверки(Контекст);
|
||||
@@ -435,7 +436,7 @@
|
||||
&НаКлиенте
|
||||
Процедура ПроверитьНаСторонеКлиентаПослеПодключенияРасширенияРаботыСКриптографией(Подключено, Контекст) Экспорт
|
||||
|
||||
Если Не Подключено Тогда
|
||||
Если Подключено <> Истина Тогда
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.СоздатьМенеджерКриптографии(Новый ОписаниеОповещения(
|
||||
"ПроверитьНаСторонеКлиентаПослеПопыткиСозданияМенеджераКриптографии", ЭтотОбъект, Контекст),
|
||||
"ПроверкаСертификата", Ложь);
|
||||
|
||||
BIN
Binary file not shown.
@@ -305,199 +305,13 @@
|
||||
ОписаниеОшибки = Null,
|
||||
УзелПроверкиЗапретаЗагрузки = Неопределено) Экспорт
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
Если ТипЗнч(ДанныеДляПроверки) = Тип("Структура") Тогда
|
||||
ДействующиеДаты = ДанныеДляПроверки.ДействующиеДаты;
|
||||
ДанныеДляПроверки = ДанныеДляПроверки.ДанныеДляПроверки;
|
||||
Иначе
|
||||
ДействующиеДаты = ДатыЗапретаИзмененияСлужебный.ДействующиеДатыЗапрета();
|
||||
КонецЕсли;
|
||||
|
||||
ЗапретИспользуется = ?(УзелПроверкиЗапретаЗагрузки = Неопределено,
|
||||
ДействующиеДаты.ЗапретИзмененияИспользуется,
|
||||
ДействующиеДаты.ЗапретЗагрузкиИспользуется);
|
||||
|
||||
Если Не ЗапретИспользуется Тогда
|
||||
Если ДатыЗапретаИзмененияСлужебный.ПроверкаДатЗапретаОтключена(
|
||||
УзелПроверкиЗапретаЗагрузки = Неопределено, УзелПроверкиЗапретаЗагрузки) Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
СвойстваРазделов = ДействующиеДаты.СвойстваРазделов;
|
||||
ПустойРаздел = ДатыЗапретаИзмененияСлужебный.ПустаяСсылка(
|
||||
Тип("ПланВидовХарактеристикСсылка.РазделыДатЗапретаИзменения"));
|
||||
|
||||
ЗаголовокОшибки =
|
||||
НСтр("ru = 'Ошибка в функции НайденЗапретИзмененияДанных общего модуля ДатыЗапретаИзменения.'")
|
||||
+ Символы.ПС
|
||||
+ Символы.ПС;
|
||||
|
||||
// Приведение данных в соответствие варианту встраивания.
|
||||
Для Каждого Строка Из ДанныеДляПроверки Цикл
|
||||
|
||||
Если Строка.Раздел = Неопределено Тогда
|
||||
Строка.Раздел = ПустойРаздел;
|
||||
КонецЕсли;
|
||||
|
||||
СвойстваРаздела = СвойстваРазделов.Разделы.Получить(Строка.Раздел);
|
||||
Если СвойстваРаздела = Неопределено Тогда
|
||||
ВызватьИсключение ЗаголовокОшибки + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'В параметре ДанныеДляПроверки указан несуществующий раздел ""%1"".'"),
|
||||
Строка.Раздел);
|
||||
КонецЕсли;
|
||||
|
||||
Если СвойстваРазделов.БезРазделовИОбъектов Тогда
|
||||
Строка.Раздел = ПустойРаздел;
|
||||
Строка.Объект = ПустойРаздел;
|
||||
Иначе
|
||||
Если ЗначениеЗаполнено(СвойстваРазделов.ЕдинственныйРаздел) Тогда
|
||||
Строка.Раздел = СвойстваРазделов.ЕдинственныйРаздел;
|
||||
Иначе
|
||||
Строка.Раздел = СвойстваРаздела.Ссылка;
|
||||
КонецЕсли;
|
||||
|
||||
Если СвойстваРазделов.ВсеРазделыБезОбъектов
|
||||
Или Не ЗначениеЗаполнено(Строка.Объект) Тогда
|
||||
|
||||
Строка.Объект = Строка.Раздел;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
// Свертка лишних строк, чтобы сократить число проверок и сообщений.
|
||||
РазделыИОбъекты = ДанныеДляПроверки.Скопировать();
|
||||
РазделыИОбъекты.Свернуть("Раздел, Объект");
|
||||
Отбор = Новый Структура("Раздел, Объект");
|
||||
РазделыИОбъекты.Колонки.Добавить("Дата",
|
||||
Новый ОписаниеТипов("Дата", , , Новый КвалификаторыДаты(ЧастиДаты.Дата)));
|
||||
|
||||
Для Каждого РазделИОбъект Из РазделыИОбъекты Цикл
|
||||
ЗаполнитьЗначенияСвойств(Отбор, РазделИОбъект);
|
||||
Строки = ДанныеДляПроверки.НайтиСтроки(Отбор);
|
||||
МинимальнаяДата = Неопределено;
|
||||
Для Каждого Строка Из Строки Цикл
|
||||
ТекущаяДата = НачалоДня(Строка.Дата);
|
||||
Если МинимальнаяДата = Неопределено Тогда
|
||||
МинимальнаяДата = ТекущаяДата;
|
||||
КонецЕсли;
|
||||
Если ТекущаяДата < МинимальнаяДата Тогда
|
||||
МинимальнаяДата = ТекущаяДата;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
РазделИОбъект.Дата = МинимальнаяДата;
|
||||
КонецЦикла;
|
||||
ДанныеДляПроверки = РазделыИОбъекты;
|
||||
|
||||
// Приоритеты дат запрета изменения.
|
||||
// 1. Для раздела, объекта и пользователя.
|
||||
// 2. Для раздела, объекта и группы пользователей.
|
||||
// 3. Для раздела, объекта и любого пользователя.
|
||||
// 4. Для раздела, любого объекта (объект = раздел) и пользователя.
|
||||
// 5. Для раздела, любого объекта (объект = раздел) и группы пользователей.
|
||||
// 6. Для раздела, любого объекта (объект = раздел) и любого пользователя.
|
||||
// 7. Для любого раздела (пустой раздел), любого объекта (объект = раздел) и пользователя.
|
||||
// 8. Для любого раздела (пустой раздел), любого объекта (объект = раздел) и группы пользователей.
|
||||
// 9. Для любого раздела (пустой раздел), любого объекта (объект = раздел) и любого пользователя.
|
||||
|
||||
// Приоритеты дат запрета загрузки.
|
||||
// 1. Для раздела, объекта и узла.
|
||||
// 2. Для раздела, объекта и любого узла.
|
||||
// 3. Для раздела, любого объекта (объект = раздел) и узла.
|
||||
// 4. Для раздела, любого объекта (объект = раздел) и любого узла.
|
||||
// 5. Для любого раздела (пустой раздел), любого объекта (объект = раздел) и узла.
|
||||
// 6. Для любого раздела (пустой раздел), любого объекта (объект = раздел) и любого узла.
|
||||
|
||||
ЗапретыИзменения = ДанныеДляПроверки.Скопировать(Новый Массив);
|
||||
ЗапретыИзменения.Колонки.Добавить("Адресат");
|
||||
ЗапретыИзменения.Колонки.Добавить("Данные");
|
||||
|
||||
ДополнительныеПараметры = Новый Структура;
|
||||
ДополнительныеПараметры.Вставить("УзелПроверкиЗапретаЗагрузки", УзелПроверкиЗапретаЗагрузки);
|
||||
|
||||
// Поиск запретов изменения данных.
|
||||
Если УзелПроверкиЗапретаЗагрузки = Неопределено Тогда
|
||||
Разделы = ДействующиеДаты.ДляПользователей.Разделы;
|
||||
Пользователь = Пользователи.АвторизованныйПользователь();
|
||||
ГруппыПользователя = ДействующиеДаты.ГруппыПользователей.Получить(Пользователь);
|
||||
Если ГруппыПользователя = Неопределено Тогда
|
||||
ГруппыПользователя = Новый Массив;
|
||||
КонецЕсли;
|
||||
ДополнительныеПараметры.Вставить("Пользователь", Пользователь);
|
||||
ДополнительныеПараметры.Вставить("ГруппыПользователя", ГруппыПользователя);
|
||||
Иначе
|
||||
Разделы = ДействующиеДаты.ДляИнформационныхБаз.Разделы;
|
||||
ДополнительныеПараметры.Вставить("ПустойУзелПланаОбмена",
|
||||
ОбщегоНазначения.МенеджерОбъектаПоСсылке(УзелПроверкиЗапретаЗагрузки).ПустаяСсылка());
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Данные Из ДанныеДляПроверки Цикл
|
||||
РазделЗапрета = Данные.Раздел;
|
||||
ОбъектЗапрета = Данные.Объект;
|
||||
|
||||
Объекты = Разделы.Получить(РазделЗапрета);
|
||||
Адресаты = Неопределено;
|
||||
ДатаЗапрета = Неопределено;
|
||||
|
||||
Если Объекты <> Неопределено Тогда
|
||||
Адресаты = Объекты.Получить(ОбъектЗапрета);
|
||||
Если Адресаты <> Неопределено Тогда
|
||||
// Поиск для раздела и объекта.
|
||||
ДатаЗапрета = НайтиДатуЗапрета(Адресаты, РазделЗапрета, ОбъектЗапрета, ДополнительныеПараметры);
|
||||
КонецЕсли;
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
ОбъектЗапрета = РазделЗапрета;
|
||||
Адресаты = Объекты.Получить(ОбъектЗапрета);
|
||||
Если Адресаты <> Неопределено Тогда
|
||||
// Поиск для раздела и любого объекта.
|
||||
ДатаЗапрета = НайтиДатуЗапрета(Адресаты, РазделЗапрета, ОбъектЗапрета, ДополнительныеПараметры);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
РазделЗапрета = ПустойРаздел;
|
||||
ОбъектЗапрета = РазделЗапрета;
|
||||
Объекты = Разделы.Получить(РазделЗапрета);
|
||||
Если Объекты = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Адресаты = Объекты.Получить(ОбъектЗапрета);
|
||||
Если Адресаты = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
// Поиск для любого раздела и любого объекта (общая дата).
|
||||
ДатаЗапрета = НайтиДатуЗапрета(Адресаты, РазделЗапрета, ОбъектЗапрета, ДополнительныеПараметры);
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ДатаЗапрета < Данные.Дата Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если УзелПроверкиЗапретаЗагрузки = Неопределено Тогда
|
||||
Адресат = Пользователь;
|
||||
Иначе
|
||||
Адресат = УзелПроверкиЗапретаЗагрузки;
|
||||
КонецЕсли;
|
||||
|
||||
Строка = ЗапретыИзменения.Добавить();
|
||||
Строка.Данные = Данные;
|
||||
Строка.Раздел = РазделЗапрета;
|
||||
Строка.Объект = ОбъектЗапрета;
|
||||
Строка.Адресат = Адресат;
|
||||
Строка.Дата = ДатаЗапрета;
|
||||
КонецЦикла;
|
||||
|
||||
Если ТипЗнч(ОписаниеДанных) = Тип("Структура")
|
||||
И ТипЗнч(ОписаниеОшибки) <> Тип("Null")
|
||||
И ЗапретыИзменения.Количество() > 0 Тогда
|
||||
|
||||
ОписаниеОшибки = СообщениеОЗапретах(ЗапретыИзменения, ОписаниеДанных, СвойстваРазделов,
|
||||
УзелПроверкиЗапретаЗагрузки <> Неопределено, ТипЗнч(ОписаниеОшибки) = Тип("Структура"));
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ЗапретыИзменения.Количество() > 0;
|
||||
Возврат ДатыЗапретаИзмененияСлужебный.НайденЗапретИзмененияДанных(ДанныеДляПроверки,
|
||||
ОписаниеДанных, ОписаниеОшибки, УзелПроверкиЗапретаЗагрузки);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -697,232 +511,4 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для функции НайденЗапретИзмененияДанных.
|
||||
Функция НайтиДатуЗапрета(Адресаты, РазделЗапрета, ОбъектЗапрета, ДополнительныеПараметры)
|
||||
|
||||
ДатаЗапрета = Неопределено;
|
||||
|
||||
Если ДополнительныеПараметры.УзелПроверкиЗапретаЗагрузки = Неопределено Тогда
|
||||
Адресат = ДополнительныеПараметры.Пользователь;
|
||||
ДатаЗапрета = Адресаты.Получить(Адресат);
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
Для Каждого Группа Из ДополнительныеПараметры.ГруппыПользователя Цикл
|
||||
Дата = Адресаты.Получить(Группа);
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
ДатаЗапрета = Дата;
|
||||
Адресат = Группа;
|
||||
ИначеЕсли Дата <> Неопределено И ДатаЗапрета < Дата Тогда
|
||||
ДатаЗапрета = Дата;
|
||||
Адресат = Группа;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
Адресат = Перечисления.ВидыНазначенияДатЗапрета.ДляВсехПользователей;
|
||||
ДатаЗапрета = Адресаты.Получить(Адресат);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Адресат = ДополнительныеПараметры.УзелПроверкиЗапретаЗагрузки;
|
||||
ДатаЗапрета = Адресаты.Получить(Адресат);
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
Адресат = ДополнительныеПараметры.ПустойУзелПланаОбмена;
|
||||
ДатаЗапрета = Адресаты.Получить(Адресат);
|
||||
КонецЕсли;
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
Адресат = Перечисления.ВидыНазначенияДатЗапрета.ДляВсехИнформационныхБаз;
|
||||
ДатаЗапрета = Адресаты.Получить(Адресат);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ДатаЗапрета;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Для функции НайденЗапретИзмененияДанных.
|
||||
Функция СообщениеОЗапретах(Запреты,
|
||||
ОписаниеДанных,
|
||||
СвойстваРазделов,
|
||||
ПоискЗапретовЗагрузки,
|
||||
СтруктурноеОписание)
|
||||
|
||||
НоваяВерсия = ОписаниеДанных.НоваяВерсия;
|
||||
Текст = ПредставлениеДанных(ОписаниеДанных.Данные);
|
||||
|
||||
Если СтруктурноеОписание Тогда
|
||||
ОписаниеОшибки = Новый Структура;
|
||||
ОписаниеОшибки.Вставить("ПредставлениеДанных", Текст);
|
||||
ОписаниеОшибки.Вставить("Запреты", Новый ТаблицаЗначений);
|
||||
Колонки = ОписаниеОшибки.Запреты.Колонки;
|
||||
Колонки.Добавить("Дата", Новый ОписаниеТипов("Дата",,,,,Новый КвалификаторыДаты(ЧастиДаты.Дата)));
|
||||
Колонки.Добавить("Раздел", Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(100, ДопустимаяДлина.Переменная)));
|
||||
Колонки.Добавить("Объект", Метаданные.ПланыВидовХарактеристик.РазделыДатЗапретаИзменения.Тип);
|
||||
Колонки.Добавить("ДатаЗапрета", Новый ОписаниеТипов("Дата",,,,,Новый КвалификаторыДаты(ЧастиДаты.Дата)));
|
||||
Колонки.Добавить("ОбщаяДата", Новый ОписаниеТипов("Булево"));
|
||||
Колонки.Добавить("ДляВсехОбъектов", Новый ОписаниеТипов("Булево"));
|
||||
Колонки.Добавить("Адресат", Метаданные.ОпределяемыеТипы.АдресатЗапретаИзменения.Тип);
|
||||
Колонки.Добавить("Описание", Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(1000,ДопустимаяДлина.Переменная)));
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Текст) Тогда
|
||||
Если ПоискЗапретовЗагрузки Тогда
|
||||
Если НоваяВерсия Тогда
|
||||
Шаблон = НСтр("ru = '%1 невозможно загрузить в запрещенный период.'");
|
||||
Иначе
|
||||
Шаблон = НСтр("ru = '%1 в запрещенном периоде невозможно заменить загружаемыми данными.'");
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Если НоваяВерсия Тогда
|
||||
Шаблон = НСтр("ru = '%1 невозможно поместить в запрещенный период.'");
|
||||
Иначе
|
||||
Шаблон = НСтр("ru = '%1 в запрещенном периоде невозможно изменить.'");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, Текст) + Символы.ПС + Символы.ПС;
|
||||
КонецЕсли;
|
||||
|
||||
ПустойРаздел = ДатыЗапретаИзмененияСлужебный.ПустаяСсылка(
|
||||
Тип("ПланВидовХарактеристикСсылка.РазделыДатЗапретаИзменения"));
|
||||
|
||||
Если СтруктурноеОписание Тогда
|
||||
ОписаниеОшибки.Вставить("ЗаголовокОшибки", СокрЛП(Текст));
|
||||
КонецЕсли;
|
||||
ТекстОшибки = Текст;
|
||||
|
||||
Для Каждого Запрет Из Запреты Цикл
|
||||
Текст = "";
|
||||
Проверка = Запрет.Данные;
|
||||
Если Запрет.Раздел = Запрет.Объект Тогда
|
||||
Если Запрет.Раздел = ПустойРаздел Тогда
|
||||
Текст = Текст + НСтр("ru = 'Дате %1'");
|
||||
Иначе
|
||||
Текст = Текст + НСтр("ru = 'Дате %1 по разделу ""%2""'");
|
||||
КонецЕсли;
|
||||
ИначеЕсли ЗначениеЗаполнено(СвойстваРазделов.ЕдинственныйРаздел) Тогда
|
||||
Текст = Текст + НСтр("ru = 'Дате %1 по объекту ""%3""'");
|
||||
Иначе
|
||||
Текст = Текст + НСтр("ru = 'Дате %1 по объекту ""%3"" раздела ""%2""'");
|
||||
КонецЕсли;
|
||||
Если ПоискЗапретовЗагрузки Тогда
|
||||
Текст = Текст + " " + НСтр("ru = 'соответствует запрет загрузки данных'") + " ";
|
||||
Иначе
|
||||
Текст = Текст + " " + НСтр("ru = 'соответствует запрет изменения данных'") + " ";
|
||||
КонецЕсли;
|
||||
Если Запрет.Адресат = Перечисления.ВидыНазначенияДатЗапрета.ДляВсехПользователей Тогда
|
||||
Текст = Текст + НСтр("ru = 'для всех пользователей'");
|
||||
|
||||
ИначеЕсли Запрет.Адресат = Перечисления.ВидыНазначенияДатЗапрета.ДляВсехИнформационныхБаз Тогда
|
||||
Текст = Текст + НСтр("ru = 'для всех информационных баз'");
|
||||
|
||||
ИначеЕсли ТипЗнч(Запрет.Адресат) = Тип("СправочникСсылка.ГруппыПользователей")
|
||||
ИЛИ ТипЗнч(Запрет.Адресат) = Тип("СправочникСсылка.ГруппыВнешнихПользователей") Тогда
|
||||
Текст = Текст + НСтр("ru = 'для группы пользователей ""%4""'");
|
||||
|
||||
ИначеЕсли ТипЗнч(Запрет.Адресат) = Тип("СправочникСсылка.Пользователи")
|
||||
ИЛИ ТипЗнч(Запрет.Адресат) = Тип("СправочникСсылка.ВнешниеПользователи") Тогда
|
||||
Текст = Текст + НСтр("ru = 'для пользователя ""%4""'");
|
||||
|
||||
ИначеЕсли ЗначениеЗаполнено(Запрет.Адресат) Тогда
|
||||
Текст = Текст + НСтр("ru = 'для информационной базы ""%4""'");
|
||||
Иначе
|
||||
Текст = Текст + НСтр("ru = 'для всех информационных баз ""%6""'");
|
||||
КонецЕсли;
|
||||
Текст = Текст + " " + НСтр("ru = 'по %5'");
|
||||
Если Не СвойстваРазделов.БезРазделовИОбъектов Тогда
|
||||
Если ЗначениеЗаполнено(Запрет.Раздел) Тогда
|
||||
Если Запрет.Объект = Запрет.Раздел Тогда
|
||||
Текст = Текст + " " + НСтр("ru = '(запрет установлен на раздел ""%2"")'");
|
||||
ИначеЕсли ЗначениеЗаполнено(СвойстваРазделов.ЕдинственныйРаздел) Тогда
|
||||
Текст = Текст + " " + НСтр("ru = '(запрет установлен на объект ""%3"")'");
|
||||
Иначе
|
||||
Текст = Текст + " " + НСтр("ru = '(запрет установлен на объект ""%3"" раздела ""%2"")'");
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Текст = Текст + " " + НСтр("ru = '(установлена общая дата запрета)'");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Текст = СтрЗаменить(Текст, "%1", Формат(Проверка.Дата, "ДЛФ=Д"));
|
||||
Текст = СтрЗаменить(Текст, "%2", Проверка.Раздел);
|
||||
Текст = СтрЗаменить(Текст, "%3", Проверка.Объект);
|
||||
Текст = СтрЗаменить(Текст, "%4", Запрет.Адресат);
|
||||
Текст = СтрЗаменить(Текст, "%5", Формат(Запрет.Дата, "ДЛФ=Д"));
|
||||
Текст = СтрЗаменить(Текст, "%6", Запрет.Адресат.Метаданные().Представление());
|
||||
|
||||
ТекстОшибки = ТекстОшибки + Текст + Символы.ПС + Символы.ПС;
|
||||
|
||||
Если СтруктурноеОписание Тогда
|
||||
СтрокаОписанияОшибки = ОписаниеОшибки.Запреты.Добавить();
|
||||
СтрокаОписанияОшибки.Дата = Проверка.Дата;
|
||||
СтрокаОписанияОшибки.Раздел = СвойстваРазделов.Разделы.Получить(Проверка.Раздел).Имя;
|
||||
СтрокаОписанияОшибки.Объект = ?(Проверка.Объект = Проверка.Раздел, Неопределено, Проверка.Объект);
|
||||
СтрокаОписанияОшибки.ДатаЗапрета = Запрет.Дата;
|
||||
СтрокаОписанияОшибки.ОбщаяДата = ?(ЗначениеЗаполнено(Запрет.Раздел), Ложь, Истина);
|
||||
Если Запрет.Раздел = Запрет.Объект Тогда
|
||||
СтрокаОписанияОшибки.ДляВсехОбъектов = Истина;
|
||||
Иначе
|
||||
СтрокаОписанияОшибки.ДляВсехОбъектов = Ложь;
|
||||
КонецЕсли;
|
||||
СтрокаОписанияОшибки.Адресат = Запрет.Адресат;
|
||||
СтрокаОписанияОшибки.Описание = Текст;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если Не СтруктурноеОписание Тогда
|
||||
ОписаниеОшибки = СокрП(ТекстОшибки);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ОписаниеОшибки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Для функции СообщениеОЗапретах.
|
||||
Функция ПредставлениеДанных(Данные)
|
||||
|
||||
Если ТипЗнч(Данные) = Тип("Строка") Тогда
|
||||
Возврат СокрЛП(Данные);
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(Данные) = Тип("Структура") Тогда
|
||||
ЭтоРегистр = Истина;
|
||||
Если ТипЗнч(Данные.Регистр) = Тип("Строка") Тогда
|
||||
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(Данные.Регистр);
|
||||
Иначе
|
||||
ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗнч(Данные.Регистр));
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗнч(Данные));
|
||||
ЭтоРегистр = ОбщегоНазначения.ЭтоРегистр(ОбъектМетаданных);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбъектМетаданных = Неопределено Тогда
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
|
||||
Если ЭтоРегистр Тогда
|
||||
ПредставлениеДанных = ОбъектМетаданных.Представление();
|
||||
|
||||
КоличествоПолей = 0;
|
||||
Для каждого ЭлементОтбора Из Данные.Отбор Цикл
|
||||
Если ЭлементОтбора.Использование Тогда
|
||||
КоличествоПолей = КоличествоПолей + 1;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если КоличествоПолей = 1 Тогда
|
||||
ПредставлениеДанных = ПредставлениеДанных
|
||||
+ " " + НСтр("ru = 'с полем'") + " " + Строка(Данные.Отбор);
|
||||
|
||||
ИначеЕсли КоличествоПолей > 1 Тогда
|
||||
ПредставлениеДанных = ПредставлениеДанных
|
||||
+ " " + НСтр("ru = 'с полями'") + " " + Строка(Данные.Отбор);
|
||||
КонецЕсли;
|
||||
ИначеЕсли Метаданные.Документы.Содержит(ОбъектМетаданных) Тогда
|
||||
ПредставлениеДанных = Строка(Данные);
|
||||
Иначе
|
||||
ПредставлениеДанных = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1 (%2)", Строка(Данные), ОбъектМетаданных.Представление());
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ПредставлениеДанных;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -467,6 +467,20 @@
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПроверкаДатЗапретаОтключена(ПроверкаЗапретаИзменения, УзелПроверкиЗапретаЗагрузки) Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
ДатыЗапретаИзмененияПереопределяемый.ПередПроверкойЗапретаИзменения(
|
||||
Объект, ПроверкаЗапретаИзменения, УзелПроверкиЗапретаЗагрузки, ВерсияОбъекта);
|
||||
|
||||
Возврат ПроверкаЗапретаИзменения = Ложь // НЕ проверять запрет изменения.
|
||||
И УзелПроверкиЗапретаЗагрузки = Неопределено; // НЕ проверять запрет загрузки.
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПроверкаДатЗапретаОтключена(ПроверкаЗапретаИзменения, УзелПроверкиЗапретаЗагрузки) Экспорт
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
Если ПараметрыСеанса.ПропуститьПроверкуЗапретаИзменения Тогда
|
||||
Возврат Истина;
|
||||
@@ -483,11 +497,7 @@
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
ДатыЗапретаИзмененияПереопределяемый.ПередПроверкойЗапретаИзменения(
|
||||
Объект, ПроверкаЗапретаИзменения, УзелПроверкиЗапретаЗагрузки, ВерсияОбъекта);
|
||||
|
||||
Возврат ПроверкаЗапретаИзменения = Ложь // НЕ проверять запрет изменения.
|
||||
И УзелПроверкиЗапретаЗагрузки = Неопределено; // НЕ проверять запрет загрузки.
|
||||
Возврат Ложь;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -526,7 +536,7 @@
|
||||
ДанныеИДаты.Вставить("ДействующиеДаты", ДействующиеДаты);
|
||||
ДанныеИДаты.Вставить("ДанныеДляПроверки", ДанныеДляПроверки);
|
||||
|
||||
ЗапретНайден = ДатыЗапретаИзменения.НайденЗапретИзмененияДанных(ДанныеИДаты,
|
||||
ЗапретНайден = НайденЗапретИзмененияДанных(ДанныеИДаты,
|
||||
ОписаниеДанных, ОписаниеОшибки, УзелПроверкиЗапретаЗагрузки);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -544,7 +554,7 @@
|
||||
ДанныеИДаты.Вставить("ДействующиеДаты", ДействующиеДаты);
|
||||
ДанныеИДаты.Вставить("ДанныеДляПроверки", ДанныеДляПроверки);
|
||||
|
||||
ЗапретНайден = ДатыЗапретаИзменения.НайденЗапретИзмененияДанных(ДанныеИДаты,
|
||||
ЗапретНайден = НайденЗапретИзмененияДанных(ДанныеИДаты,
|
||||
ОписаниеДанных, ОписаниеОшибки, УзелПроверкиЗапретаЗагрузки);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -552,6 +562,208 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// См. ДатыЗапретаИзменения.НайденЗапретИзмененияДанных.
|
||||
Функция НайденЗапретИзмененияДанных(Знач ДанныеДляПроверки,
|
||||
ОписаниеДанных = Неопределено,
|
||||
ОписаниеОшибки = Null,
|
||||
УзелПроверкиЗапретаЗагрузки = Неопределено) Экспорт
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
Если ТипЗнч(ДанныеДляПроверки) = Тип("Структура") Тогда
|
||||
ДействующиеДаты = ДанныеДляПроверки.ДействующиеДаты;
|
||||
ДанныеДляПроверки = ДанныеДляПроверки.ДанныеДляПроверки;
|
||||
Иначе
|
||||
ДействующиеДаты = ДатыЗапретаИзмененияСлужебный.ДействующиеДатыЗапрета();
|
||||
КонецЕсли;
|
||||
|
||||
ЗапретИспользуется = ?(УзелПроверкиЗапретаЗагрузки = Неопределено,
|
||||
ДействующиеДаты.ЗапретИзмененияИспользуется,
|
||||
ДействующиеДаты.ЗапретЗагрузкиИспользуется);
|
||||
|
||||
Если Не ЗапретИспользуется Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
СвойстваРазделов = ДействующиеДаты.СвойстваРазделов;
|
||||
ПустойРаздел = ДатыЗапретаИзмененияСлужебный.ПустаяСсылка(
|
||||
Тип("ПланВидовХарактеристикСсылка.РазделыДатЗапретаИзменения"));
|
||||
|
||||
ЗаголовокОшибки =
|
||||
НСтр("ru = 'Ошибка в функции НайденЗапретИзмененияДанных общего модуля ДатыЗапретаИзменения.'")
|
||||
+ Символы.ПС
|
||||
+ Символы.ПС;
|
||||
|
||||
// Приведение данных в соответствие варианту встраивания.
|
||||
Для Каждого Строка Из ДанныеДляПроверки Цикл
|
||||
|
||||
Если Строка.Раздел = Неопределено Тогда
|
||||
Строка.Раздел = ПустойРаздел;
|
||||
КонецЕсли;
|
||||
|
||||
СвойстваРаздела = СвойстваРазделов.Разделы.Получить(Строка.Раздел);
|
||||
Если СвойстваРаздела = Неопределено Тогда
|
||||
ВызватьИсключение ЗаголовокОшибки + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'В параметре ДанныеДляПроверки указан несуществующий раздел ""%1"".'"),
|
||||
Строка.Раздел);
|
||||
КонецЕсли;
|
||||
|
||||
Если СвойстваРазделов.БезРазделовИОбъектов Тогда
|
||||
Строка.Раздел = ПустойРаздел;
|
||||
Строка.Объект = ПустойРаздел;
|
||||
Иначе
|
||||
Если ЗначениеЗаполнено(СвойстваРазделов.ЕдинственныйРаздел) Тогда
|
||||
Строка.Раздел = СвойстваРазделов.ЕдинственныйРаздел;
|
||||
Иначе
|
||||
Строка.Раздел = СвойстваРаздела.Ссылка;
|
||||
КонецЕсли;
|
||||
|
||||
Если СвойстваРазделов.ВсеРазделыБезОбъектов
|
||||
Или Не ЗначениеЗаполнено(Строка.Объект) Тогда
|
||||
|
||||
Строка.Объект = Строка.Раздел;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
// Свертка лишних строк, чтобы сократить число проверок и сообщений.
|
||||
РазделыИОбъекты = ДанныеДляПроверки.Скопировать();
|
||||
РазделыИОбъекты.Свернуть("Раздел, Объект");
|
||||
Отбор = Новый Структура("Раздел, Объект");
|
||||
РазделыИОбъекты.Колонки.Добавить("Дата",
|
||||
Новый ОписаниеТипов("Дата", , , Новый КвалификаторыДаты(ЧастиДаты.Дата)));
|
||||
|
||||
Для Каждого РазделИОбъект Из РазделыИОбъекты Цикл
|
||||
ЗаполнитьЗначенияСвойств(Отбор, РазделИОбъект);
|
||||
Строки = ДанныеДляПроверки.НайтиСтроки(Отбор);
|
||||
МинимальнаяДата = Неопределено;
|
||||
Для Каждого Строка Из Строки Цикл
|
||||
ТекущаяДата = НачалоДня(Строка.Дата);
|
||||
Если МинимальнаяДата = Неопределено Тогда
|
||||
МинимальнаяДата = ТекущаяДата;
|
||||
КонецЕсли;
|
||||
Если ТекущаяДата < МинимальнаяДата Тогда
|
||||
МинимальнаяДата = ТекущаяДата;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
РазделИОбъект.Дата = МинимальнаяДата;
|
||||
КонецЦикла;
|
||||
ДанныеДляПроверки = РазделыИОбъекты;
|
||||
|
||||
// Приоритеты дат запрета изменения.
|
||||
// 1. Для раздела, объекта и пользователя.
|
||||
// 2. Для раздела, объекта и группы пользователей.
|
||||
// 3. Для раздела, объекта и любого пользователя.
|
||||
// 4. Для раздела, любого объекта (объект = раздел) и пользователя.
|
||||
// 5. Для раздела, любого объекта (объект = раздел) и группы пользователей.
|
||||
// 6. Для раздела, любого объекта (объект = раздел) и любого пользователя.
|
||||
// 7. Для любого раздела (пустой раздел), любого объекта (объект = раздел) и пользователя.
|
||||
// 8. Для любого раздела (пустой раздел), любого объекта (объект = раздел) и группы пользователей.
|
||||
// 9. Для любого раздела (пустой раздел), любого объекта (объект = раздел) и любого пользователя.
|
||||
|
||||
// Приоритеты дат запрета загрузки.
|
||||
// 1. Для раздела, объекта и узла.
|
||||
// 2. Для раздела, объекта и любого узла.
|
||||
// 3. Для раздела, любого объекта (объект = раздел) и узла.
|
||||
// 4. Для раздела, любого объекта (объект = раздел) и любого узла.
|
||||
// 5. Для любого раздела (пустой раздел), любого объекта (объект = раздел) и узла.
|
||||
// 6. Для любого раздела (пустой раздел), любого объекта (объект = раздел) и любого узла.
|
||||
|
||||
ЗапретыИзменения = ДанныеДляПроверки.Скопировать(Новый Массив);
|
||||
ЗапретыИзменения.Колонки.Добавить("Адресат");
|
||||
ЗапретыИзменения.Колонки.Добавить("Данные");
|
||||
|
||||
ДополнительныеПараметры = Новый Структура;
|
||||
ДополнительныеПараметры.Вставить("УзелПроверкиЗапретаЗагрузки", УзелПроверкиЗапретаЗагрузки);
|
||||
|
||||
// Поиск запретов изменения данных.
|
||||
Если УзелПроверкиЗапретаЗагрузки = Неопределено Тогда
|
||||
Разделы = ДействующиеДаты.ДляПользователей.Разделы;
|
||||
Пользователь = Пользователи.АвторизованныйПользователь();
|
||||
ГруппыПользователя = ДействующиеДаты.ГруппыПользователей.Получить(Пользователь);
|
||||
Если ГруппыПользователя = Неопределено Тогда
|
||||
ГруппыПользователя = Новый Массив;
|
||||
КонецЕсли;
|
||||
ДополнительныеПараметры.Вставить("Пользователь", Пользователь);
|
||||
ДополнительныеПараметры.Вставить("ГруппыПользователя", ГруппыПользователя);
|
||||
Иначе
|
||||
Разделы = ДействующиеДаты.ДляИнформационныхБаз.Разделы;
|
||||
ДополнительныеПараметры.Вставить("ПустойУзелПланаОбмена",
|
||||
ОбщегоНазначения.МенеджерОбъектаПоСсылке(УзелПроверкиЗапретаЗагрузки).ПустаяСсылка());
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Данные Из ДанныеДляПроверки Цикл
|
||||
РазделЗапрета = Данные.Раздел;
|
||||
ОбъектЗапрета = Данные.Объект;
|
||||
|
||||
Объекты = Разделы.Получить(РазделЗапрета);
|
||||
Адресаты = Неопределено;
|
||||
ДатаЗапрета = Неопределено;
|
||||
|
||||
Если Объекты <> Неопределено Тогда
|
||||
Адресаты = Объекты.Получить(ОбъектЗапрета);
|
||||
Если Адресаты <> Неопределено Тогда
|
||||
// Поиск для раздела и объекта.
|
||||
ДатаЗапрета = НайтиДатуЗапрета(Адресаты, РазделЗапрета, ОбъектЗапрета, ДополнительныеПараметры);
|
||||
КонецЕсли;
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
ОбъектЗапрета = РазделЗапрета;
|
||||
Адресаты = Объекты.Получить(ОбъектЗапрета);
|
||||
Если Адресаты <> Неопределено Тогда
|
||||
// Поиск для раздела и любого объекта.
|
||||
ДатаЗапрета = НайтиДатуЗапрета(Адресаты, РазделЗапрета, ОбъектЗапрета, ДополнительныеПараметры);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
РазделЗапрета = ПустойРаздел;
|
||||
ОбъектЗапрета = РазделЗапрета;
|
||||
Объекты = Разделы.Получить(РазделЗапрета);
|
||||
Если Объекты = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Адресаты = Объекты.Получить(ОбъектЗапрета);
|
||||
Если Адресаты = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
// Поиск для любого раздела и любого объекта (общая дата).
|
||||
ДатаЗапрета = НайтиДатуЗапрета(Адресаты, РазделЗапрета, ОбъектЗапрета, ДополнительныеПараметры);
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ДатаЗапрета < Данные.Дата Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если УзелПроверкиЗапретаЗагрузки = Неопределено Тогда
|
||||
Адресат = Пользователь;
|
||||
Иначе
|
||||
Адресат = УзелПроверкиЗапретаЗагрузки;
|
||||
КонецЕсли;
|
||||
|
||||
Строка = ЗапретыИзменения.Добавить();
|
||||
Строка.Данные = Данные;
|
||||
Строка.Раздел = РазделЗапрета;
|
||||
Строка.Объект = ОбъектЗапрета;
|
||||
Строка.Адресат = Адресат;
|
||||
Строка.Дата = ДатаЗапрета;
|
||||
КонецЦикла;
|
||||
|
||||
Если ТипЗнч(ОписаниеДанных) = Тип("Структура")
|
||||
И ТипЗнч(ОписаниеОшибки) <> Тип("Null")
|
||||
И ЗапретыИзменения.Количество() > 0 Тогда
|
||||
|
||||
ОписаниеОшибки = СообщениеОЗапретах(ЗапретыИзменения, ОписаниеДанных, СвойстваРазделов,
|
||||
УзелПроверкиЗапретаЗагрузки <> Неопределено, ТипЗнч(ОписаниеОшибки) = Тип("Структура"));
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ЗапретыИзменения.Количество() > 0;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает действующие даты запрета с учетом последней версии после изменений.
|
||||
Функция ДействующиеДатыЗапрета() Экспорт
|
||||
|
||||
@@ -1039,7 +1251,7 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Вспомогательные процедуры и функции.
|
||||
|
||||
// Для процедуры ПропуститьПроверкуДатЗапрета.
|
||||
// Для функции ПроверкаДатЗапретаОтключена.
|
||||
Функция ЗапретИзмененияДанныхНеИспользуется(ПроверкаЗапретаИзменения, УзелПроверкиЗапретаЗагрузки)
|
||||
|
||||
Если ОбновлениеИнформационнойБазы.НеобходимоОбновлениеИнформационнойБазы() Тогда
|
||||
@@ -1404,6 +1616,234 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Для функции НайденЗапретИзмененияДанных.
|
||||
|
||||
Функция НайтиДатуЗапрета(Адресаты, РазделЗапрета, ОбъектЗапрета, ДополнительныеПараметры)
|
||||
|
||||
ДатаЗапрета = Неопределено;
|
||||
|
||||
Если ДополнительныеПараметры.УзелПроверкиЗапретаЗагрузки = Неопределено Тогда
|
||||
Адресат = ДополнительныеПараметры.Пользователь;
|
||||
ДатаЗапрета = Адресаты.Получить(Адресат);
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
Для Каждого Группа Из ДополнительныеПараметры.ГруппыПользователя Цикл
|
||||
Дата = Адресаты.Получить(Группа);
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
ДатаЗапрета = Дата;
|
||||
Адресат = Группа;
|
||||
ИначеЕсли Дата <> Неопределено И ДатаЗапрета < Дата Тогда
|
||||
ДатаЗапрета = Дата;
|
||||
Адресат = Группа;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
Адресат = Перечисления.ВидыНазначенияДатЗапрета.ДляВсехПользователей;
|
||||
ДатаЗапрета = Адресаты.Получить(Адресат);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Адресат = ДополнительныеПараметры.УзелПроверкиЗапретаЗагрузки;
|
||||
ДатаЗапрета = Адресаты.Получить(Адресат);
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
Адресат = ДополнительныеПараметры.ПустойУзелПланаОбмена;
|
||||
ДатаЗапрета = Адресаты.Получить(Адресат);
|
||||
КонецЕсли;
|
||||
Если ДатаЗапрета = Неопределено Тогда
|
||||
Адресат = Перечисления.ВидыНазначенияДатЗапрета.ДляВсехИнформационныхБаз;
|
||||
ДатаЗапрета = Адресаты.Получить(Адресат);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ДатаЗапрета;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СообщениеОЗапретах(Запреты,
|
||||
ОписаниеДанных,
|
||||
СвойстваРазделов,
|
||||
ПоискЗапретовЗагрузки,
|
||||
СтруктурноеОписание)
|
||||
|
||||
НоваяВерсия = ОписаниеДанных.НоваяВерсия;
|
||||
Текст = ПредставлениеДанных(ОписаниеДанных.Данные);
|
||||
|
||||
Если СтруктурноеОписание Тогда
|
||||
ОписаниеОшибки = Новый Структура;
|
||||
ОписаниеОшибки.Вставить("ПредставлениеДанных", Текст);
|
||||
ОписаниеОшибки.Вставить("Запреты", Новый ТаблицаЗначений);
|
||||
Колонки = ОписаниеОшибки.Запреты.Колонки;
|
||||
Колонки.Добавить("Дата", Новый ОписаниеТипов("Дата",,,,,Новый КвалификаторыДаты(ЧастиДаты.Дата)));
|
||||
Колонки.Добавить("Раздел", Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(100, ДопустимаяДлина.Переменная)));
|
||||
Колонки.Добавить("Объект", Метаданные.ПланыВидовХарактеристик.РазделыДатЗапретаИзменения.Тип);
|
||||
Колонки.Добавить("ДатаЗапрета", Новый ОписаниеТипов("Дата",,,,,Новый КвалификаторыДаты(ЧастиДаты.Дата)));
|
||||
Колонки.Добавить("ОбщаяДата", Новый ОписаниеТипов("Булево"));
|
||||
Колонки.Добавить("ДляВсехОбъектов", Новый ОписаниеТипов("Булево"));
|
||||
Колонки.Добавить("Адресат", Метаданные.ОпределяемыеТипы.АдресатЗапретаИзменения.Тип);
|
||||
Колонки.Добавить("Описание", Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(1000,ДопустимаяДлина.Переменная)));
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Текст) Тогда
|
||||
Если ПоискЗапретовЗагрузки Тогда
|
||||
Если НоваяВерсия Тогда
|
||||
Шаблон = НСтр("ru = '%1 невозможно загрузить в запрещенный период.'");
|
||||
Иначе
|
||||
Шаблон = НСтр("ru = '%1 в запрещенном периоде невозможно заменить загружаемыми данными.'");
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Если НоваяВерсия Тогда
|
||||
Шаблон = НСтр("ru = '%1 невозможно поместить в запрещенный период.'");
|
||||
Иначе
|
||||
Шаблон = НСтр("ru = '%1 в запрещенном периоде невозможно изменить.'");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, Текст) + Символы.ПС + Символы.ПС;
|
||||
КонецЕсли;
|
||||
|
||||
ПустойРаздел = ДатыЗапретаИзмененияСлужебный.ПустаяСсылка(
|
||||
Тип("ПланВидовХарактеристикСсылка.РазделыДатЗапретаИзменения"));
|
||||
|
||||
Если СтруктурноеОписание Тогда
|
||||
ОписаниеОшибки.Вставить("ЗаголовокОшибки", СокрЛП(Текст));
|
||||
КонецЕсли;
|
||||
ТекстОшибки = Текст;
|
||||
|
||||
Для Каждого Запрет Из Запреты Цикл
|
||||
Текст = "";
|
||||
Проверка = Запрет.Данные;
|
||||
Если Запрет.Раздел = Запрет.Объект Тогда
|
||||
Если Запрет.Раздел = ПустойРаздел Тогда
|
||||
Текст = Текст + НСтр("ru = 'Дате %1'");
|
||||
Иначе
|
||||
Текст = Текст + НСтр("ru = 'Дате %1 по разделу ""%2""'");
|
||||
КонецЕсли;
|
||||
ИначеЕсли ЗначениеЗаполнено(СвойстваРазделов.ЕдинственныйРаздел) Тогда
|
||||
Текст = Текст + НСтр("ru = 'Дате %1 по объекту ""%3""'");
|
||||
Иначе
|
||||
Текст = Текст + НСтр("ru = 'Дате %1 по объекту ""%3"" раздела ""%2""'");
|
||||
КонецЕсли;
|
||||
Если ПоискЗапретовЗагрузки Тогда
|
||||
Текст = Текст + " " + НСтр("ru = 'соответствует запрет загрузки данных'") + " ";
|
||||
Иначе
|
||||
Текст = Текст + " " + НСтр("ru = 'соответствует запрет изменения данных'") + " ";
|
||||
КонецЕсли;
|
||||
Если Запрет.Адресат = Перечисления.ВидыНазначенияДатЗапрета.ДляВсехПользователей Тогда
|
||||
Текст = Текст + НСтр("ru = 'для всех пользователей'");
|
||||
|
||||
ИначеЕсли Запрет.Адресат = Перечисления.ВидыНазначенияДатЗапрета.ДляВсехИнформационныхБаз Тогда
|
||||
Текст = Текст + НСтр("ru = 'для всех информационных баз'");
|
||||
|
||||
ИначеЕсли ТипЗнч(Запрет.Адресат) = Тип("СправочникСсылка.ГруппыПользователей")
|
||||
ИЛИ ТипЗнч(Запрет.Адресат) = Тип("СправочникСсылка.ГруппыВнешнихПользователей") Тогда
|
||||
Текст = Текст + НСтр("ru = 'для группы пользователей ""%4""'");
|
||||
|
||||
ИначеЕсли ТипЗнч(Запрет.Адресат) = Тип("СправочникСсылка.Пользователи")
|
||||
ИЛИ ТипЗнч(Запрет.Адресат) = Тип("СправочникСсылка.ВнешниеПользователи") Тогда
|
||||
Текст = Текст + НСтр("ru = 'для пользователя ""%4""'");
|
||||
|
||||
ИначеЕсли ЗначениеЗаполнено(Запрет.Адресат) Тогда
|
||||
Текст = Текст + НСтр("ru = 'для информационной базы ""%4""'");
|
||||
Иначе
|
||||
Текст = Текст + НСтр("ru = 'для всех информационных баз ""%6""'");
|
||||
КонецЕсли;
|
||||
Текст = Текст + " " + НСтр("ru = 'по %5'");
|
||||
Если Не СвойстваРазделов.БезРазделовИОбъектов Тогда
|
||||
Если ЗначениеЗаполнено(Запрет.Раздел) Тогда
|
||||
Если Запрет.Объект = Запрет.Раздел Тогда
|
||||
Текст = Текст + " " + НСтр("ru = '(запрет установлен на раздел ""%2"")'");
|
||||
ИначеЕсли ЗначениеЗаполнено(СвойстваРазделов.ЕдинственныйРаздел) Тогда
|
||||
Текст = Текст + " " + НСтр("ru = '(запрет установлен на объект ""%3"")'");
|
||||
Иначе
|
||||
Текст = Текст + " " + НСтр("ru = '(запрет установлен на объект ""%3"" раздела ""%2"")'");
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Текст = Текст + " " + НСтр("ru = '(установлена общая дата запрета)'");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Текст = СтрЗаменить(Текст, "%1", Формат(Проверка.Дата, "ДЛФ=Д"));
|
||||
Текст = СтрЗаменить(Текст, "%2", Проверка.Раздел);
|
||||
Текст = СтрЗаменить(Текст, "%3", Проверка.Объект);
|
||||
Текст = СтрЗаменить(Текст, "%4", Запрет.Адресат);
|
||||
Текст = СтрЗаменить(Текст, "%5", Формат(Запрет.Дата, "ДЛФ=Д"));
|
||||
Текст = СтрЗаменить(Текст, "%6", Запрет.Адресат.Метаданные().Представление());
|
||||
|
||||
ТекстОшибки = ТекстОшибки + Текст + Символы.ПС + Символы.ПС;
|
||||
|
||||
Если СтруктурноеОписание Тогда
|
||||
СтрокаОписанияОшибки = ОписаниеОшибки.Запреты.Добавить();
|
||||
СтрокаОписанияОшибки.Дата = Проверка.Дата;
|
||||
СтрокаОписанияОшибки.Раздел = СвойстваРазделов.Разделы.Получить(Проверка.Раздел).Имя;
|
||||
СтрокаОписанияОшибки.Объект = ?(Проверка.Объект = Проверка.Раздел, Неопределено, Проверка.Объект);
|
||||
СтрокаОписанияОшибки.ДатаЗапрета = Запрет.Дата;
|
||||
СтрокаОписанияОшибки.ОбщаяДата = ?(ЗначениеЗаполнено(Запрет.Раздел), Ложь, Истина);
|
||||
Если Запрет.Раздел = Запрет.Объект Тогда
|
||||
СтрокаОписанияОшибки.ДляВсехОбъектов = Истина;
|
||||
Иначе
|
||||
СтрокаОписанияОшибки.ДляВсехОбъектов = Ложь;
|
||||
КонецЕсли;
|
||||
СтрокаОписанияОшибки.Адресат = Запрет.Адресат;
|
||||
СтрокаОписанияОшибки.Описание = Текст;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если Не СтруктурноеОписание Тогда
|
||||
ОписаниеОшибки = СокрП(ТекстОшибки);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ОписаниеОшибки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Для функции СообщениеОЗапретах.
|
||||
Функция ПредставлениеДанных(Данные)
|
||||
|
||||
Если ТипЗнч(Данные) = Тип("Строка") Тогда
|
||||
Возврат СокрЛП(Данные);
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(Данные) = Тип("Структура") Тогда
|
||||
ЭтоРегистр = Истина;
|
||||
Если ТипЗнч(Данные.Регистр) = Тип("Строка") Тогда
|
||||
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(Данные.Регистр);
|
||||
Иначе
|
||||
ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗнч(Данные.Регистр));
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗнч(Данные));
|
||||
ЭтоРегистр = ОбщегоНазначения.ЭтоРегистр(ОбъектМетаданных);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбъектМетаданных = Неопределено Тогда
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
|
||||
Если ЭтоРегистр Тогда
|
||||
ПредставлениеДанных = ОбъектМетаданных.Представление();
|
||||
|
||||
КоличествоПолей = 0;
|
||||
Для каждого ЭлементОтбора Из Данные.Отбор Цикл
|
||||
Если ЭлементОтбора.Использование Тогда
|
||||
КоличествоПолей = КоличествоПолей + 1;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если КоличествоПолей = 1 Тогда
|
||||
ПредставлениеДанных = ПредставлениеДанных
|
||||
+ " " + НСтр("ru = 'с полем'") + " " + Строка(Данные.Отбор);
|
||||
|
||||
ИначеЕсли КоличествоПолей > 1 Тогда
|
||||
ПредставлениеДанных = ПредставлениеДанных
|
||||
+ " " + НСтр("ru = 'с полями'") + " " + Строка(Данные.Отбор);
|
||||
КонецЕсли;
|
||||
ИначеЕсли Метаданные.Документы.Содержит(ОбъектМетаданных) Тогда
|
||||
ПредставлениеДанных = Строка(Данные);
|
||||
Иначе
|
||||
ПредставлениеДанных = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1 (%2)", Строка(Данные), ОбъектМетаданных.Представление());
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ПредставлениеДанных;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Для процедуры ЗначениеПараметраСеансаДействующиеДатыЗапретаИзменения.
|
||||
|
||||
Функция ЗапросДатЗапретаИзменения()
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||
|
||||
Описание.Имя = "СтандартныеПодсистемы";
|
||||
Описание.Версия = "3.0.3.229";
|
||||
Описание.Версия = "3.0.3.241";
|
||||
Описание.ИдентификаторИнтернетПоддержки = "SSL";
|
||||
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
||||
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
||||
|
||||
@@ -412,12 +412,6 @@
|
||||
СсылкаЗадания = СправочникДляЗадания.ПолучитьСсылку();
|
||||
Задание.УстановитьСсылкуНового(СсылкаЗадания);
|
||||
|
||||
Если ТранзакцияАктивна() Тогда
|
||||
|
||||
ЗаблокироватьДанныеДляРедактирования(СсылкаЗадания);
|
||||
// Блокировка будет автоматически снята при завершении транзакции.
|
||||
КонецЕсли;
|
||||
|
||||
РаботаВМоделиСервиса.ЗаписатьВспомогательныеДанные(Задание);
|
||||
|
||||
Возврат Задание.Ссылка;
|
||||
@@ -546,9 +540,6 @@
|
||||
ПараметрыЗадания.Вставить("ЗапланированныйМоментЗапуска", ЗапланированныйМоментЗапуска);
|
||||
КонецЕсли;
|
||||
|
||||
// Блокировка записи задания
|
||||
ЗаблокироватьДанныеДляРедактирования(Идентификатор);
|
||||
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
@@ -592,10 +583,6 @@
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
Если НЕ ТранзакцияАктивна() Тогда // Иначе блокировка будет снята при завершении транзакции.
|
||||
РазблокироватьДанныеДляРедактирования(Идентификатор);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Удаляет задание из очереди заданий.
|
||||
@@ -620,15 +607,9 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ЗаблокироватьДанныеДляРедактирования(Идентификатор);
|
||||
|
||||
Задание.ОбменДанными.Загрузка = Истина;
|
||||
РаботаВМоделиСервиса.УдалитьВспомогательныеДанные(Задание);
|
||||
|
||||
Если НЕ ТранзакцияАктивна() Тогда // Иначе блокировка снимется при завершении транзакции.
|
||||
РазблокироватьДанныеДляРедактирования(Идентификатор);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Возвращает шаблон задания очереди по имени предопределенного
|
||||
|
||||
@@ -381,7 +381,7 @@
|
||||
Обработчик.Версия = "*";
|
||||
Обработчик.Процедура = "ОчередьЗаданийСлужебныйРазделениеДанных.ОбновитьЗаданияОчередиПоШаблонам";
|
||||
Обработчик.ОбщиеДанные = Истина;
|
||||
Обработчик.МонопольныйРежим = Истина;
|
||||
Обработчик.МонопольныйРежим = Ложь;
|
||||
Обработчик.Приоритет = 63;
|
||||
|
||||
Обработчик = Обработчики.Добавить();
|
||||
|
||||
@@ -3800,8 +3800,7 @@
|
||||
|
||||
ОбщегоНазначенияКлиент.ПодключитьКомпонентуИзМакета(
|
||||
Новый ОписаниеОповещения("ПослеПодключенияКомпоненты", ЭтотОбъект, Контекст),
|
||||
"XMLDSignAddIn",
|
||||
"Справочник.СертификатыКлючейЭлектроннойПодписиИШифрования.Макет.КомпонентаXMLDSig",
|
||||
"XMLDSignAddIn", "Справочник.СертификатыКлючейЭлектроннойПодписиИШифрования.Макет.КомпонентаXMLDSig",
|
||||
ПараметрыПодключения);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="ba2c3cbf-ebdb-4886-ba82-7b69a4fd3312">
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="3cfe921c-9d05-42ba-895d-5c507bcd517e">
|
||||
<name>БиблиотекаСтандартныхПодсистем</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Библиотека стандартных подсистем, редакция 3.0</value>
|
||||
</synonym>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="39e99319-b2ca-47bb-a039-a292ed2501a5"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="b9414a3a-66b3-4fbe-8112-a0c0bb59d2c2"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="e445ef27-933f-4aab-a115-7ad1dc3640d7"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="bca81099-eb5a-4a4a-a71f-a154d6332528"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="237adc78-cf29-409d-8aad-5fa3a4ae3dde"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="01b976a0-2e5b-40cb-8be5-d202942a5712"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="67241a37-1c9c-45f0-982a-120c81776a87"/>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="729cacc7-23f8-42b7-b6ec-682f5801f76b"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="bfca0f0d-2940-42a2-8977-460f9d443672"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="6c275073-110f-4318-af8a-44672a2d6072"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="9537802b-d7bf-4c63-9124-9fde62052457"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="d906ccac-253d-4ee5-ac62-faa4596c5e7f"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="a32c5ec5-b2c2-4647-8705-b22c802fa300"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="ee9072c4-8bca-4128-b4c5-a07724e821cb"/>
|
||||
<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.3.229</version>
|
||||
<version>3.0.3.241</version>
|
||||
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
|
||||
<includeHelpInContents>true</includeHelpInContents>
|
||||
<usedMobileApplicationFunctionalities>
|
||||
|
||||
@@ -1 +1 @@
|
||||
{6,1,1,c5103072-a286-4de3-bb9d-ad9bc94bf677,1,27d8d0b2-dd2f-49b9-b902-82731be2ad0d,"3.0.3.229","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6043,1,0,ba2c3cbf-ebdb-4886-ba82-7b69a4fd3312,ba2c3cbf-ebdb-4886-ba82-7b69a4fd3312,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,8e318341-2bf3-4cae-b005-30a8d7c1ac32,1,f7822c2b-1286-4004-99c5-bcce86466643,"3.0.3.241","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6043,1,0,3cfe921c-9d05-42ba-895d-5c507bcd517e,3cfe921c-9d05-42ba-895d-5c507bcd517e,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
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
Функция ВерсияКалендарей() Экспорт
|
||||
|
||||
Возврат 38;
|
||||
Возврат 40;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт
|
||||
|
||||
Возврат "3.0.3.218";
|
||||
Возврат "3.0.3.241";
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
+9
-1
@@ -519,7 +519,6 @@
|
||||
<Item Calendar="92" Year="2018" DayType="Праздник" Date="20180318" SwapDate="20180319"/>
|
||||
<Item Calendar="92" Year="2018" DayType="Воскресенье" Date="20180319" SwapDate="20180318"/>
|
||||
<Item Calendar="92" Year="2019" DayType="Праздник" Date="20190318" SwapDate=""/>
|
||||
<Item Calendar="92" Year="2020" DayType="Праздник" Date="20200101" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2001" DayType="Праздник" Date="20010101" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2001" DayType="Праздник" Date="20010102" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2001" DayType="Праздник" Date="20010107" SwapDate="20010108"/>
|
||||
@@ -979,6 +978,15 @@
|
||||
<Item Calendar="РФ" Year="2020" DayType="Воскресенье" Date="20200224" SwapDate="20200223"/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Праздник" Date="20200308" SwapDate="20200309"/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Воскресенье" Date="20200309" SwapDate="20200308"/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200328" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200329" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200330" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200331" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200401" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200402" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200403" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200404" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Предпраздничный" Date="20200430" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Праздник" Date="20200501" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Суббота" Date="20200504" SwapDate="20200104"/>
|
||||
|
||||
@@ -1474,6 +1474,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>Catalog.СценарииОбменовДанными</name>
|
||||
<right>
|
||||
@@ -4502,93 +4589,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.УдалитьЗамерыВремени2</name>
|
||||
<right>
|
||||
|
||||
@@ -14,6 +14,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>
|
||||
<object>
|
||||
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
|
||||
<right>
|
||||
@@ -76,37 +107,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>
|
||||
<restrictionTemplate>
|
||||
<name>ДляОбъекта(ПолеОбъекта)</name>
|
||||
<condition>// ДляОбъекта(ПолеОбъекта = "")
|
||||
|
||||
@@ -1998,6 +1998,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>Document.НазначениеОпросов</name>
|
||||
<right>
|
||||
@@ -6030,45 +6069,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>InformationRegister.УдалитьЗамерыВремени2</name>
|
||||
<right>
|
||||
|
||||
Reference in new issue
Block a user