3_1_6_245

This commit is contained in:
Компания 1С committed 2022-06-02 13:06:00 +03:00
1 parent 3b907f4106
commit d01d5b4bec
139 files changed
+3764 -2423

No files matched your search

@@ -54,8 +54,8 @@
// который требуется для анализа наличия расширений и контроля динамического обновления,
// а также из формы установки расширений конфигурации в режиме 1С:Предприятия.
//
// Для сеанса запущенного без разделителей возвращается только состав неразделенных (общих)
// расширений, независимо от установленных разделителей.
// Для сеанса запущенного без разделителей исключаются расширения, предназначенные
// только для неразделенного режима (инструменты администратора сервиса).
//
// Возвращаемое значение:
// ФиксированнаяСтруктура:
@@ -64,15 +64,6 @@
//
Функция УстановленныеРасширения(ПриЗапуске = Ложь) Экспорт
Если ОбщегоНазначения.РазделениеВключено()
И ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
Неразделенные = МодульРаботаВМоделиСервиса.СеансЗапущенБезРазделителей();
Иначе
Неразделенные = Ложь;
КонецЕсли;
РасширенияБазыДанных = РасширенияКонфигурации.Получить();
Если ПриЗапуске Тогда
РасширенияПриЗапуске = Новый Соответствие;
@@ -121,11 +112,19 @@
МодульОбновлениеКонфигурации = Неопределено;
КонецЕсли;
// Исключить из контроля расширения только для неразделенных пользователей,
// так как они не подключаются в областях и не вносят изменений
// в код конфигурации (это инструменты администратора сервиса).
НеразделенныйРежим = ОбщегоНазначения.РазделениеВключено()
И Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных();
Для Каждого Расширение Из Расширения Цикл
Если Неразделенные И Расширение.ОбластьДействия = ОбластьДействияРасширенияКонфигурации.РазделениеДанных Тогда
Если НеразделенныйРежим
И Расширение.ОбластьДействия = ОбластьДействияРасширенияКонфигурации.РазделениеДанных Тогда
Продолжить;
КонецЕсли;
Если МодульОбновлениеКонфигурации <> Неопределено И МодульОбновлениеКонфигурации.ЭтоИсправление(Расширение) Тогда
Если МодульОбновлениеКонфигурации <> Неопределено
И МодульОбновлениеКонфигурации.ЭтоИсправление(Расширение) Тогда
Исправления.Добавить(Расширение);
Иначе
Основные.Добавить(Расширение);
@@ -94,6 +94,16 @@
Процедура ПередЗаписью(Отказ)
// АПК:75-выкл проверка ОбменДанными.Загрузка должна быть после блокировки регистра.
// Блокировка всего регистра используется вместо установки разделяемой блокировки на справочник,
// которая приводит к взаимоблокировке при иерархическом обновлении составов групп пользователей,
// а также вместо последовательной исключительной блокировки регистра в разрезе групп,
// которая также приводит к взаимоблокировке в ряде случаев.
Блокировка = Новый БлокировкаДанных;
Блокировка.Добавить("РегистрСведений.СоставыГруппПользователей");
Блокировка.Заблокировать();
// АПК:75-вкл
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
@@ -75,6 +75,16 @@
// Блокирует недопустимые действия с предопределенной группой "Все пользователи".
Процедура ПередЗаписью(Отказ)
// АПК:75-выкл проверка ОбменДанными.Загрузка должна быть после блокировки регистра.
// Блокировка всего регистра используется вместо установки разделяемой блокировки на справочник,
// которая приводит к взаимоблокировке при иерархическом обновлении составов групп пользователей,
// а также вместо последовательной исключительной блокировки регистра в разрезе групп,
// которая также приводит к взаимоблокировке в ряде случаев.
Блокировка = Новый БлокировкаДанных;
Блокировка.Добавить("РегистрСведений.СоставыГруппПользователей");
Блокировка.Заблокировать();
// АПК:75-вкл
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
@@ -85,6 +85,30 @@
#Область СлужебныйПрограммныйИнтерфейс
// Параметры:
// ИмяПараметра - Строка
// УстановленныеПараметры - Массив из Строка
//
// Возвращаемое значение:
// Булево
//
Функция ВсеПараметрыСеансаУстановлены(ИменаПараметровСеанса, УстановленныеПараметры) Экспорт
Если ИменаПараметровСеанса.Найти("ОбновлениеСправочниковИдентификаторов") = Неопределено Тогда
Возврат Ложь;
КонецЕсли;
Результат = Новый Структура;
Результат.Вставить("ИдентификаторыОбъектовМетаданных", Ложь);
Результат.Вставить("ИдентификаторыОбъектовРасширений", Ложь);
ПараметрыСеанса.ОбновлениеСправочниковИдентификаторов = Новый ФиксированнаяСтруктура(Результат);
УстановленныеПараметры.Добавить("ОбновлениеСправочниковИдентификаторов");
Возврат ИменаПараметровСеанса.Количество() = 1;
КонецФункции
// Только для внутреннего использования.
Процедура ПроверкаИспользования(ОбъектыРасширений = Ложь) Экспорт
@@ -591,6 +615,7 @@
ПроверкаИспользования(ОбъектыРасширений);
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
ЕстьТекущиеИзменения = Ложь;
@@ -612,6 +637,16 @@
"СтандартныеПодсистемы.БазоваяФункциональность.ИдентификаторыОбъектовМетаданных", Истина);
КонецЕсли;
Если Не ТолькоПроверка И Не ТранзакцияАктивна() Тогда
ВыполненоОбновление = Новый Структура(ПараметрыСеанса.ОбновлениеСправочниковИдентификаторов);
Если ОбъектыРасширений Тогда
ВыполненоОбновление.ИдентификаторыОбъектовРасширений = Истина;
Иначе
ВыполненоОбновление.ИдентификаторыОбъектовМетаданных = Истина;
КонецЕсли;
ПараметрыСеанса.ОбновлениеСправочниковИдентификаторов = Новый ФиксированнаяСтруктура(ВыполненоОбновление);
КонецЕсли;
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
@@ -1279,6 +1314,20 @@
СтандартныеПодсистемыСервер.ЗарегистрироватьОбъектНаВсехУзлах(Объект, ПланОбмена, Ложь);
КонецЦикла;
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
ВыполненоОбновление = Новый Структура(ПараметрыСеанса.ОбновлениеСправочниковИдентификаторов);
Если ОбъектыРасширений Тогда
ВыполненоОбновление.ИдентификаторыОбъектовРасширений = Ложь;
Иначе
ВыполненоОбновление.ИдентификаторыОбъектовМетаданных = Ложь;
КонецЕсли;
ПараметрыСеанса.ОбновлениеСправочниковИдентификаторов = Новый ФиксированнаяСтруктура(ВыполненоОбновление);
УстановитьПривилегированныйРежим(Ложь);
УстановитьОтключениеБезопасногоРежима(Ложь);
Если Объект.ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
@@ -1403,11 +1452,13 @@
Если ОбъектыРасширений Тогда
СвойстваРасширений = Новый Структура;
ИдентификаторыКлючейРасширений = ИдентификаторыКлючейРасширений();
РасширенияБазыДанных = Новый Массив;
ИдентификаторыКлючейРасширений = ИдентификаторыКлючейРасширений(РасширенияБазыДанных);
СвойстваРасширений.Вставить("ИменаПодключенныхРасширений",
ИменаРасширений(ИсточникРасширенийКонфигурации.СеансАктивные, ИдентификаторыКлючейРасширений));
СвойстваРасширений.Вставить("ИменаНеподключенныхРасширений",
ИменаРасширений(ИсточникРасширенийКонфигурации.СеансОтключенные, ИдентификаторыКлючейРасширений));
ДополнитьИменаНеподключенныхРасширенийВСеансеБезРазделителей(СвойстваРасширений, РасширенияБазыДанных);
КонецЕсли;
СвойстваОбъектовМетаданных = СвойстваОбъектовМетаданных(ОбъектыРасширений,, ИдентификаторыКлючейРасширений);
@@ -1854,13 +1905,16 @@
КонецФункции
Функция ИдентификаторыКлючейРасширений()
Функция ИдентификаторыКлючейРасширений(РасширенияБазыДанных = Неопределено)
Расширения = РасширенияКонфигурации.Получить();
ИдентификаторыКлючейРасширений = Новый Соответствие;
Для Каждого Расширение Из Расширения Цикл
КлючРасширения = НРег(Расширение.Имя) + " " + Base64Строка(Расширение.ХешСумма);
ИдентификаторыКлючейРасширений.Вставить(КлючРасширения, НРег(Расширение.УникальныйИдентификатор));
Если ТипЗнч(РасширенияБазыДанных) = Тип("Массив") Тогда
РасширенияБазыДанных.Добавить(Расширение);
КонецЕсли;
КонецЦикла;
Возврат ИдентификаторыКлючейРасширений;
@@ -2975,6 +3029,31 @@
КонецФункции
// Для процедуры ОбновитьДанные.
Процедура ДополнитьИменаНеподключенныхРасширенийВСеансеБезРазделителей(СвойстваРасширений, РасширенияБазыДанных)
Если Не СтандартныеПодсистемыСервер.ЭтоРазделенныйРежимСеансаБезРазделителей() Тогда
Возврат;
КонецЕсли;
ИменаПодключенныхРасширений = СвойстваРасширений.ИменаПодключенныхРасширений;
ИменаНеподключенныхРасширений = СвойстваРасширений.ИменаНеподключенныхРасширений;
Для Каждого Расширение Из РасширенияБазыДанных Цикл
ИдентификаторРасширения = НРег(Расширение.УникальныйИдентификатор);
ИмяРасширенияДляПоиска = НРег(Расширение.Имя);
Если ИменаПодключенныхРасширений.Получить(ИдентификаторРасширения) <> Неопределено
Или ИменаПодключенныхРасширений.Получить(ИмяРасширенияДляПоиска) <> Неопределено
Или ИменаНеподключенныхРасширений.Получить(ИдентификаторРасширения) <> Неопределено
Или ИменаНеподключенныхРасширений.Получить(ИмяРасширенияДляПоиска) <> Неопределено Тогда
Продолжить;
КонецЕсли;
ИменаНеподключенныхРасширений.Вставить(ИмяРасширенияДляПоиска, Расширение.Имя);
ИменаНеподключенныхРасширений.Вставить(НРег(ИдентификаторРасширения), Расширение.Имя);
КонецЦикла;
КонецПроцедуры
// Для функций ИдентификаторОбъектаМетаданныхПоПолномуИмени, ИдентификаторыОбъектовМетаданных.
Функция ИдентификаторыОбъектовМетаданныхСПопыткойПовтора(ПолныеИменаОбъектовМетаданных, ВызыватьИсключение, ОдинЭлемент)
@@ -2989,16 +3068,21 @@
КонецПопытки;
Если Идентификаторы = Неопределено Тогда
ВыполненоОбновление = ОбновлениеСправочниковИдентификаторов();
Если Не ОбщегоНазначения.РазделениеВключено()
Или Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
Если Не ВыполненоОбновление.ИдентификаторыОбъектовМетаданных Тогда
ОбновитьДанныеСправочника();
КонецЕсли;
КонецЕсли;
Если ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
Если Не ВыполненоОбновление.ИдентификаторыОбъектовРасширений Тогда
Справочники.ИдентификаторыОбъектовРасширений.ОбновитьДанныеСправочника();
КонецЕсли;
КонецЕсли;
Идентификаторы = ИдентификаторыОбъектовМетаданныхБезПопыткиПовтора(
ПолныеИменаОбъектовМетаданных, ВызыватьИсключение, ОдинЭлемент, Не ВызыватьИсключение);
@@ -3292,6 +3376,23 @@
КонецФункции
// Для функций ИдентификаторыОбъектовМетаданныхСПопыткойПовтора,
// ОбъектыМетаданныхПоИдентификаторамСПопыткойПовтора.
//
Функция ОбновлениеСправочниковИдентификаторов()
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
Результат = ПараметрыСеанса.ОбновлениеСправочниковИдентификаторов;
УстановитьПривилегированныйРежим(Ложь);
УстановитьОтключениеБезопасногоРежима(Ложь);
Возврат Результат;
КонецФункции
// Для функций ОбъектМетаданныхПоИдентификатору, ОбъектыМетаданныхПоИдентификаторам.
Функция ОбъектыМетаданныхПоИдентификаторамСПопыткойПовтора(Идентификаторы, ВызыватьИсключение)
@@ -3374,7 +3475,10 @@
КонецЕсли;
Если ОбъектыМетаданных = Неопределено Тогда
ВыполненоОбновление = ОбновлениеСправочниковИдентификаторов();
Если Не ВыполненоОбновление.ИдентификаторыОбъектовМетаданных Тогда
ОбновитьДанныеСправочника();
КонецЕсли;
ОбъектыМетаданных = ОбъектыМетаданныхПоИдентификаторамБезПопыткиПовтора(Идентификаторы,
ИдентификаторыКонфигурации, ИдентификаторыРасширений, ВызыватьИсключение);
КонецЕсли;
@@ -3509,7 +3613,7 @@
КонецЕсли;
Если Свойства.ОбъектРасширений Тогда
ОбъектРасширенияНеСуществует = Не Свойства.ПометкаУдаления;
ОбъектРасширенияНеСуществует = Свойства.ПометкаУдаления;
ИмяРасширения = "";
ИдентификаторРасширения = ?(СтрНачинаетсяС(Свойства.ИдентификаторРасширения, "? "),
Сред(Свойства.ИдентификаторРасширения, 3), Свойства.ИдентификаторРасширения);
@@ -14,12 +14,17 @@
Сертификат = Параметры.Сертификат;
ЗаявлениеНаВыпускСертификатаДоступно = ЭлектроннаяПодпись.ОбщиеНастройки().ЗаявлениеНаВыпускСертификатаДоступно;
// Локализация
Если ЗаявлениеНаВыпускСертификатаДоступно И ЗначениеЗаполнено(Сертификат) Тогда
ОбработкаЗаявлениеНаВыпускНовогоКвалифицированногоСертификата = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(
"Обработка.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата");
ВыпущенныеСертификаты = ОбработкаЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.ВыпущенныеСертификаты(
Сертификат);
КонецЕсли;
// Конец Локализация
ЕстьПеревыпущенные = ВыпущенныеСертификаты.Количество() > 0;
Элементы.ДекорацияПеревыпущен.Видимость = ЕстьПеревыпущенные;
@@ -809,7 +809,7 @@
<usePurposes>MobileDevice</usePurposes>
</forms>
<templates uuid="5189beb9-b939-4f97-aca0-c2f3492ac8b9">
<name>КомпонентаExtraCryptoAPI_3_0_1_28</name>
<name>КомпонентаExtraCryptoAPI_3_0_1_29</name>
<synonym>
<key>ru</key>
<value>Компонента ExtraCryptoAPI</value>
@@ -2286,10 +2286,10 @@
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ПриПроверкеОбнаруженыОшибки</name>
<name>ТехническиеПодробностиОшибки</name>
<id>275</id>
<items xsi:type="form:Decoration">
<name>КартинкаПриПроверкеОбнаруженыОшибки</name>
<name>КартинкаТехническиеПодробностиОшибки</name>
<id>279</id>
<title>
<key>ru</key>
@@ -2301,7 +2301,7 @@
<common>true</common>
</userVisible>
<extendedTooltip>
<name>КартинкаПредупреждениеРасширеннаяПодсказка1</name>
<name>КартинкаТехническиеПодробностиОшибкиРасширеннаяПодсказка</name>
<id>281</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
@@ -2311,7 +2311,7 @@
</extInfo>
</extendedTooltip>
<contextMenu>
<name>КартинкаПредупреждениеКонтекстноеМеню1</name>
<name>КартинкаТехническиеПодробностиОшибкиКонтекстноеМеню</name>
<id>280</id>
<autoFill>true</autoFill>
</contextMenu>
@@ -2324,10 +2324,10 @@
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаПриПроверкеОбнаруженыОшибки</name>
<name>ГруппаТехническиеПодробностиОшибки</name>
<id>282</id>
<items xsi:type="form:FormField">
<name>ТекстПриПроверкеОбнаруженыОшибки</name>
<name>ТекстТехническиеПодробностиОшибки</name>
<id>284</id>
<visible>true</visible>
<enabled>true</enabled>
@@ -2339,7 +2339,7 @@
</dataPath>
<titleLocation>None</titleLocation>
<extendedTooltip>
<name>СообщенияОбОшибкахРасширеннаяПодсказка1</name>
<name>ТекстТехническиеПодробностиОшибкиРасширеннаяПодсказка</name>
<id>286</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
@@ -2349,7 +2349,7 @@
</extInfo>
</extendedTooltip>
<contextMenu>
<name>СообщенияОбОшибкахКонтекстноеМеню1</name>
<name>ТекстТехническиеПодробностиОшибкиКонтекстноеМеню</name>
<id>285</id>
<autoFill>true</autoFill>
</contextMenu>
@@ -2362,7 +2362,7 @@
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>Opening</event>
<name>ТекстПриПроверкеОбнаруженыОшибкиОткрытие</name>
<name>ТекстТехническиеПодробностиОшибкиОткрытие</name>
</handlers>
<height>7</height>
<horizontalStretch>true</horizontalStretch>
@@ -2383,7 +2383,7 @@
</extInfo>
</items>
<items xsi:type="form:Decoration">
<name>НужнаПомощьПриПроверкеОбнаруженыОшибки</name>
<name>НужнаПомощьТехническиеПодробностиОшибки</name>
<id>287</id>
<title>
<key>ru</key>
@@ -2395,7 +2395,7 @@
<common>true</common>
</userVisible>
<extendedTooltip>
<name>НужнаПомощьРасширеннаяПодсказка1</name>
<name>НужнаПомощьТехническиеПодробностиОшибкиРасширеннаяПодсказка</name>
<id>289</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
@@ -2405,7 +2405,7 @@
</extInfo>
</extendedTooltip>
<contextMenu>
<name>НужнаПомощьКонтекстноеМеню1</name>
<name>НужнаПомощьТехническиеПодробностиОшибкиКонтекстноеМеню</name>
<id>288</id>
<autoFill>true</autoFill>
</contextMenu>
@@ -2432,7 +2432,7 @@
<value>При проверке обнаружены ошибки</value>
</title>
<extendedTooltip>
<name>ГруппаСообщенияОбОшибкахРасширеннаяПодсказка1</name>
<name>ГруппаТехническиеПодробностиОшибкиРасширеннаяПодсказка</name>
<id>283</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
@@ -2458,10 +2458,10 @@
</userVisible>
<title>
<key>ru</key>
<value>При проверке обнаружены ошибки</value>
<value>Технические подробности ошибки</value>
</title>
<extendedTooltip>
<name>ПриПроверкеОбнаруженыОшибкиРасширеннаяПодсказка</name>
<name>ТехническиеПодробностиОшибкиРасширеннаяПодсказка</name>
<id>276</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
@@ -2648,6 +2648,367 @@ vasyapupkin@example.com завершена.</value>
<scrollOnCompress>false</scrollOnCompress>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ПриПроверкеОбнаруженыОшибки</name>
<id>393</id>
<items xsi:type="form:FormGroup">
<name>ГруппаОписаниеОшибки</name>
<id>395</id>
<items xsi:type="form:Decoration">
<name>КартинкаПриПроверкеОбнаруженыОшибки</name>
<id>397</id>
<title>
<key>ru</key>
<value>Картинка при проверке обнаружены ошибки</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>КартинкаПриПроверкеОбнаруженыОшибкиРасширеннаяПодсказка</name>
<id>399</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>КартинкаПриПроверкеОбнаруженыОшибкиКонтекстноеМеню</name>
<id>398</id>
<autoFill>true</autoFill>
</contextMenu>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:PictureDecorationExtInfo">
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.Предупреждение32</picture>
</picture>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ТекстСообщенияОбОшибках</name>
<id>402</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>СообщенияОбОшибках</segments>
</dataPath>
<titleLocation>None</titleLocation>
<extendedTooltip>
<name>ТекстСообщенияОбОшибкахРасширеннаяПодсказка</name>
<id>404</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ТекстСообщенияОбОшибкахКонтекстноеМеню</name>
<id>403</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<readOnly>true</readOnly>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<width>40</width>
<height>2</height>
<horizontalStretch>true</horizontalStretch>
<verticalStretch>false</verticalStretch>
<wrap>true</wrap>
<multiLine>true</multiLine>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<backColor xsi:type="core:ColorRef">
<color>Style.FormBackColor</color>
</backColor>
<borderColor xsi:type="core:ColorRef">
<color>Style.FormBackColor</color>
</borderColor>
<textSize>Normal</textSize>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Описание ошибки</value>
</title>
<extendedTooltip>
<name>ГруппаОписаниеОшибкиРасширеннаяПодсказка</name>
<id>396</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>AlwaysHorizontal</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаВозможныеПричины</name>
<id>405</id>
<items xsi:type="form:Decoration">
<name>ДекорацияВозможныеПричины</name>
<id>407</id>
<title>
<key>ru</key>
<value>Декорация возможные причины</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ДекорацияВозможныеПричиныРасширеннаяПодсказка</name>
<id>409</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ДекорацияВозможныеПричиныКонтекстноеМеню</name>
<id>408</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Возможные причины</value>
</title>
<extendedTooltip>
<name>ГруппаВозможныеПричиныРасширеннаяПодсказка</name>
<id>406</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group>
<behavior>Auto</behavior>
<controlRepresentation>Button</controlRepresentation>
<representation>NormalSeparation</representation>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<showTitle>auto</showTitle>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаСпособыУстранения</name>
<id>410</id>
<items xsi:type="form:Decoration">
<name>ДекорацияСпособыУстранения</name>
<id>412</id>
<title>
<key>ru</key>
<value>Декорация способы устранения</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ДекорацияСпособыУстраненияРасширеннаяПодсказка</name>
<id>414</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ДекорацияСпособыУстраненияКонтекстноеМеню</name>
<id>413</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Способы устранения</value>
</title>
<extendedTooltip>
<name>ГруппаСпособыУстраненияРасширеннаяПодсказка</name>
<id>411</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group>
<behavior>Auto</behavior>
<controlRepresentation>Button</controlRepresentation>
<representation>NormalSeparation</representation>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<showTitle>auto</showTitle>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаДополнительныеСсылки</name>
<id>415</id>
<items xsi:type="form:Decoration">
<name>РекомендацииПоРешениюТиповыхПроблем</name>
<id>417</id>
<title>
<key>ru</key>
<value>Рекомендации по решению типовых проблем</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>РекомендацииПоРешениюТиповыхПроблемРасширеннаяПодсказка</name>
<id>419</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>РекомендацииПоРешениюТиповыхПроблемКонтекстноеМеню</name>
<id>418</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<groupHorizontalAlign>Left</groupHorizontalAlign>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<handlers>
<event>Click</event>
<name>НужнаПомощьНажатие</name>
</handlers>
<hyperlink>true</hyperlink>
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Дополнительные ссылки</value>
</title>
<verticalStretch>true</verticalStretch>
<extendedTooltip>
<name>ГруппаДополнительныеСсылкиРасширеннаяПодсказка</name>
<id>416</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<verticalAlign>Bottom</verticalAlign>
<behavior>Auto</behavior>
<representation>NormalSeparation</representation>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>При проверке обнаружены ошибки</value>
</title>
<extendedTooltip>
<name>ПриПроверкеОбнаруженыОшибкиРасширеннаяПодсказка</name>
<id>394</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Page</type>
<extInfo xsi:type="form:PageGroupExtInfo">
<group>Vertical</group>
<showTitle>auto</showTitle>
<scrollOnCompress>false</scrollOnCompress>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -213,13 +213,13 @@
Процедура СообщенияОбОшибкахОткрытие(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Элементы.Страницы.ТекущаяСтраница = Элементы.ПриПроверкеОбнаруженыОшибки;
Элементы.Страницы.ТекущаяСтраница = Элементы.ТехническиеПодробностиОшибки;
НастроитьЭлементыТекущейСтраницы();
КонецПроцедуры
&НаКлиенте
Процедура ТекстПриПроверкеОбнаруженыОшибкиОткрытие(Элемент, СтандартнаяОбработка)
Процедура ТекстТехническиеПодробностиОшибкиОткрытие(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Элементы.Страницы.ТекущаяСтраница = Элементы.НастройкаУчетнойЗаписи;
@@ -252,8 +252,11 @@
ПредыдущаяСтраница = Неопределено;
Если ТекущаяСтраница = Элементы.НастройкаСервераИсходящейПочты Тогда
ПредыдущаяСтраница = Элементы.НастройкаУчетнойЗаписи;
ИначеЕсли ТекущаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи Или ТекущаяСтраница = Элементы.ПриПроверкеОбнаруженыОшибки Тогда
ИначеЕсли ТекущаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи Или ТекущаяСтраница = Элементы.ТехническиеПодробностиОшибки Тогда
ПредыдущаяСтраница = Элементы.НастройкаУчетнойЗаписи;
ИначеЕсли ТекущаяСтраница = Элементы.ПриПроверкеОбнаруженыОшибки Тогда
ПредыдущаяСтраница = Элементы.НастройкиАвторизацииПриложения;
ПроверкаЗавершиласьСОшибками = Ложь;
КонецЕсли;
Если ПредыдущаяСтраница <> Неопределено Тогда
@@ -305,7 +308,7 @@
ТекущаяСтраница = Элементы.Страницы.ТекущаяСтраница;
СледующаяСтраница = Неопределено;
Если ТекущаяСтраница = Элементы.НастройкаУчетнойЗаписи Или ТекущаяСтраница = Элементы.ПриПроверкеОбнаруженыОшибки Тогда
Если ТекущаяСтраница = Элементы.НастройкаУчетнойЗаписи Или ТекущаяСтраница = Элементы.ТехническиеПодробностиОшибки Тогда
ПроверитьЗаполнениеНаСтраницеНастройкаУчетнойЗаписи(Отказ);
Если Не Отказ И Не НастройкиЗаполнены Тогда
ЗаполнитьНастройкиУчетнойЗаписи();
@@ -380,7 +383,7 @@
КонецЕсли;
Если ПроверкаЗавершиласьСОшибками Тогда
СледующаяСтраница = Элементы.НастройкаУчетнойЗаписи;
СледующаяСтраница = Элементы.ПриПроверкеОбнаруженыОшибки;
Иначе
Если СпособНастройки = "Автоматически" Тогда
СледующаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи;
@@ -583,7 +586,7 @@
КонецЕсли;
Иначе
Если ТекущаяСтраница = Элементы.НастройкаУчетнойЗаписи
И ПроверкаЗавершиласьСОшибками Или ТекущаяСтраница = Элементы.ПриПроверкеОбнаруженыОшибки Тогда
И ПроверкаЗавершиласьСОшибками Или ТекущаяСтраница = Элементы.ТехническиеПодробностиОшибки Тогда
ЗаголовокКнопкиДалее = НСтр("ru = 'Повторить'");
ИначеЕсли ТекущаяСтраница = Элементы.НастройкаУчетнойЗаписи
И СпособНастройки = "Автоматически" Тогда
@@ -603,7 +606,8 @@
Элементы.КнопкаДалее.КнопкаПоУмолчанию =ТекущаяСтраница <> Элементы.ПроверкаНастроекУчетнойЗаписи;
Элементы.КнопкаДалее.Доступность = Не (ТекущаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи И ПроверкаПропущена);
Элементы.КнопкаДалее.Видимость = Не (ТекущаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи И СпособНастройки = "Вручную")
И Не (ТекущаяСтраница = Элементы.Авторизация И Не ЭтоВебКлиент());
И Не (ТекущаяСтраница = Элементы.Авторизация И Не ЭтоВебКлиент())
И Не ТекущаяСтраница = Элементы.ПриПроверкеОбнаруженыОшибки;
// КнопкаНазад
Элементы.КнопкаНазад.Видимость = ТекущаяСтраница <> Элементы.НастройкаУчетнойЗаписи
@@ -1111,15 +1115,23 @@
Если СтрНачинаетсяС(НРег(Элемент.Документ.URL), НРег(АдресПеренаправления)) Тогда
ПриПолученииОтветаПочтовогоСервера(Элемент.Документ.URL, НастройкиАвторизации.АдресПолученияКлюча);
ПерейтиНаСледующуюСтраницу();
ИначеЕсли СтрНачинаетсяС(ВебСтраница, "{") И СтрЗаканчиваетсяНа(ВебСтраница, "}") Тогда
ПриПолученииОтветаПочтовогоСервера(ВебСтраница, НастройкиАвторизации.АдресПолученияКлюча);
ПерейтиНаСледующуюСтраницу();
КонецЕсли;
#КонецЕсли
КонецПроцедуры
&НаСервере
Процедура ПриПолученииОтветаПочтовогоСервера(СтрокаURI, АдресПолученияКлюча)
Процедура ПриПолученииОтветаПочтовогоСервера(СтрокаПараметров, АдресПолученияКлюча)
Если СтрНачинаетсяС(СтрокаПараметров, "{") Тогда
Ответ = РаботаСПочтовымиСообщениямиСлужебный.JSONВЗначение(СтрокаПараметров);
Иначе
Ответ = ПараметрыИзСтрокиURI(СтрокаПараметров);
КонецЕсли;
Ответ = ПараметрыИзСтрокиURI(СтрокаURI);
КодАвторизации = Ответ["code"];
КодОшибки = Ответ["error"];
ТекстОшибки = Ответ["error_description"];
@@ -1128,21 +1140,18 @@
ТекстОшибки = РаскодироватьСтроку(ТекстОшибки, СпособКодированияСтроки.КодировкаURL);
КонецЕсли;
Если ИдентификаторЗапроса <> Ответ["state"] Тогда
СообщенияОбОшибках = НСтр("ru = 'Не удалось авторизоваться на сервере %1. Неверный идентификатор ответа.'");
ПроверкаЗавершиласьСОшибками = Истина;
Возврат;
КонецЕсли;
Если ЗначениеЗаполнено(КодОшибки) Тогда
СообщенияОбОшибках = ОписаниеОшибкиАвторизацииПочтовогоСервера(КодОшибки, ТекстОшибки);
ПроверкаЗавершиласьСОшибками = Истина;
Возврат;
ИначеЕсли ИдентификаторЗапроса <> Ответ["state"] Тогда
СообщенияОбОшибках = НСтр("ru = 'Не удалось авторизоваться на почтовом сервере. Неверный идентификатор ответа.'");
ПроверкаЗавершиласьСОшибками = Истина;
ИначеЕсли Не ПолучитьКлючиДоступаКПочтовомуСерверу(КодАвторизации, АдресПолученияКлюча) Тогда
ПроверкаЗавершиласьСОшибками = Истина;
КонецЕсли;
Если Не ПолучитьКлючиДоступаКПочтовомуСерверу(КодАвторизации, АдресПолученияКлюча) Тогда
ПроверкаЗавершиласьСОшибками = Истина;
Возврат;
Если ПроверкаЗавершиласьСОшибками Тогда
ЗаполнитьПояснения();
КонецЕсли;
КонецПроцедуры
@@ -1516,4 +1525,17 @@
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьПояснения()
ПоясненияПоОшибке = РаботаСПочтовымиСообщениямиСлужебный.ПоясненияПоОшибке(СообщенияОбОшибках, , Истина);
ВозможныеПричины = РаботаСПочтовымиСообщениямиСлужебный.ФорматированныйСписок(ПоясненияПоОшибке.ВозможныеПричины);
СпособыУстранения = РаботаСПочтовымиСообщениямиСлужебный.ФорматированныйСписок(ПоясненияПоОшибке.СпособыУстранения);
Элементы.ДекорацияВозможныеПричины.Заголовок = ВозможныеПричины;
Элементы.ДекорацияСпособыУстранения.Заголовок = СпособыУстранения;
КонецПроцедуры
#КонецОбласти
@@ -1472,13 +1472,10 @@
&НаКлиенте
Процедура СписокВыборПослеВыбораРежимаРедактирования(Результат, ПараметрыВыполнения) Экспорт
РезультатОткрыть = "Открыть";
РезультатРедактировать = "Редактировать";
Если Результат = РезультатРедактировать Тогда
Если Результат = "Редактировать" Тогда
Обработчик = Новый ОписаниеОповещения("СписокВыборПослеРедактированияФайла", ЭтотОбъект, ПараметрыВыполнения);
РаботаСФайламиСлужебныйКлиент.РедактироватьФайл(Обработчик, ПараметрыВыполнения.ДанныеФайла);
ИначеЕсли Результат = РезультатОткрыть Тогда
ИначеЕсли Результат = "Открыть" Тогда
РаботаСФайламиКлиент.ОткрытьФайл(ПараметрыВыполнения.ДанныеФайла, Ложь);
КонецЕсли;
КонецПроцедуры
@@ -401,6 +401,43 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</items>
<items xsi:type="form:Decoration">
<name>ПредупреждениеОписание2</name>
<id>222</id>
<title>
<key>ru</key>
<value>Чтобы использовать расширения области данных, требуется запустить сеанс с разделителями.
Изменения расширений для пользователей области данных вступят в силу при их следующем входе в программу.</value>
</title>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ПредупреждениеОписание2РасширеннаяПодсказка</name>
<id>224</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ПредупреждениеОписание2КонтекстноеМеню</name>
<id>223</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<handlers>
<event>URLProcessing</event>
<name>ПредупреждениеОписаниеОбработкаНавигационнойСсылки</name>
</handlers>
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -434,140 +471,6 @@
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаИнформация</name>
<id>184</id>
<items xsi:type="form:Decoration">
<name>ИнформацияКартинка</name>
<id>186</id>
<title>
<key>ru</key>
<value>Информация картинка</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ИнформацияКартинкаРасширеннаяПодсказка</name>
<id>188</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ИнформацияКартинкаКонтекстноеМеню</name>
<id>187</id>
<autoFill>true</autoFill>
</contextMenu>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:PictureDecorationExtInfo">
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.Информация32</picture>
</picture>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаИнформацияОписание</name>
<id>189</id>
<items xsi:type="form:Decoration">
<name>ИнформацияОписание</name>
<id>191</id>
<title>
<key>ru</key>
<value>Изменения расширений области данных, вступят в силу только для пользователей области данных и только при их следующем входе в программу.</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ИнформацияОписаниеРасширеннаяПодсказка</name>
<id>193</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ИнформацияОписаниеКонтекстноеМеню</name>
<id>192</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
<verticalAlign>Center</verticalAlign>
<titleHeight>2</titleHeight>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Информация описание</value>
</title>
<extendedTooltip>
<name>ГруппаИнформацияОписаниеРасширеннаяПодсказка</name>
<id>190</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Информация</value>
</title>
<extendedTooltip>
<name>ГруппаИнформацияРасширеннаяПодсказка</name>
<id>185</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:Table">
<name>СписокРасширений</name>
<id>19</id>
@@ -365,7 +365,8 @@
// Обновление реквизита формы для условного форматирования.
ЭтоНеразделенныйПользовательВОбласти = ЭтоНеразделенныйПользовательВОбласти();
Элементы.ГруппаИнформация.Видимость = ЭтоНеразделенныйПользовательВОбласти;
Элементы.ПредупреждениеОписание.Видимость = Не ЭтоНеразделенныйПользовательВОбласти;
Элементы.ПредупреждениеОписание2.Видимость = ЭтоНеразделенныйПользовательВОбласти;
КонецПроцедуры
@@ -1539,19 +1540,7 @@
&НаСервереБезКонтекста
Функция ЭтоНеразделенныйПользовательВОбласти()
СеансЗапущенБезРазделителей = Истина;
Если ОбщегоНазначения.РазделениеВключено()
И ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
СеансЗапущенБезРазделителей = МодульРаботаВМоделиСервиса.СеансЗапущенБезРазделителей();
КонецЕсли;
Возврат СеансЗапущенБезРазделителей
И ОбщегоНазначения.РазделениеВключено()
И ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных();
Возврат СтандартныеПодсистемыСервер.ЭтоРазделенныйРежимСеансаБезРазделителей();
КонецФункции
@@ -166,6 +166,10 @@
ИмяСтраницы = СвязиСтраниц[Параметры.ИмяСтраницы];
НайденнаяСтраница = Элементы.Найти(ИмяСтраницы);
Если НайденнаяСтраница = Неопределено Тогда
НайденнаяСтраница = Элементы.Найти(Параметры.ИмяСтраницы);
КонецЕсли;
Если НайденнаяСтраница <> Неопределено Тогда
Элементы.СтраницыНастроек.ТекущаяСтраница = НайденнаяСтраница;
КонецЕсли;
@@ -1186,6 +1186,14 @@
Возврат;
КонецЕсли;
Формула = ВариантыОтчетовСлужебныйКлиентСервер.ФормулаПоПутиКДанным(Отчет.КомпоновщикНастроек.Настройки, Строка(Строка.Поле));
Если ТипЗнч(Формула) <> Тип("ПользовательскоеПолеВыражениеКомпоновкиДанных") Тогда
ОписаниеОповещения = Новый ОписаниеОповещения("ПриЗакрытииФормыНастроекДляТехническогоСпециалиста", ЭтотОбъект);
ОткрытьФормуНастроекДляТехническогоСпециалиста("СтраницаПользовательскихПолей", ОписаниеОповещения);
Возврат;
КонецЕсли;
ВариантыОтчетовСлужебныйКлиент.ИзменитьФормулу(
ЭтотОбъект, Отчет.КомпоновщикНастроек.Настройки, Строка(Строка.Поле));
@@ -1853,24 +1861,9 @@
&НаКлиенте
Процедура ПерейтиКНастройкамДляТехническогоСпециалиста(Команда)
ПараметрыФормы = Новый Структура;
ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(ПараметрыФормы, ФормаПараметры, Истина);
ПараметрыФормы.Вставить("КлючВарианта", Строка(КлючТекущегоВарианта));
ПараметрыФормы.Вставить("Вариант", Отчет.КомпоновщикНастроек.Настройки);
ПараметрыФормы.Вставить("ПользовательскиеНастройки", Отчет.КомпоновщикНастроек.ПользовательскиеНастройки);
ПараметрыФормы.Вставить("НастройкиОтчета", НастройкиОтчета);
ПараметрыФормы.Вставить("ВариантНаименование", ВариантНаименование);
ПараметрыФормы.Вставить("ИдентификаторЭлементаСтруктурыНастроек", ИдентификаторЭлементаСтруктурыНастроек);
ПараметрыФормы.Вставить("ИмяСтраницы", Элементы.СтраницыНастроек.ТекущаяСтраница.Имя);
ПараметрыФормы.Вставить("ПредставлениеВарианта", ВариантНаименование);
ПараметрыФормы.Вставить("ВариантМодифицирован", ВариантИзменен);
ПараметрыФормы.Вставить("ПользовательскиеНастройкиМодифицированы",
ВариантИзменен Или ПользовательскиеНастройкиМодифицированы);
ОткрытьФорму(НастройкиОтчета.ПолноеИмя + ".ФормаВарианта", ПараметрыФормы, ВладелецФормы);
ОткрытьФормуНастроекДляТехническогоСпециалиста(Элементы.СтраницыНастроек.ТекущаяСтраница.Имя);
РезультатВыбораСформирован = Истина;
Закрыть();
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
@@ -7674,4 +7667,43 @@
#КонецОбласти
&НаКлиенте
Процедура ОткрытьФормуНастроекДляТехническогоСпециалиста(ИмяСтраницы, ОбработчикЗавершения = Неопределено)
ПараметрыФормы = Новый Структура;
ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(ПараметрыФормы, ФормаПараметры, Истина);
ПараметрыФормы.Вставить("КлючВарианта", Строка(КлючТекущегоВарианта));
ПараметрыФормы.Вставить("Вариант", Отчет.КомпоновщикНастроек.Настройки);
ПараметрыФормы.Вставить("ПользовательскиеНастройки", Отчет.КомпоновщикНастроек.ПользовательскиеНастройки);
ПараметрыФормы.Вставить("НастройкиОтчета", НастройкиОтчета);
ПараметрыФормы.Вставить("ВариантНаименование", ВариантНаименование);
ПараметрыФормы.Вставить("ИдентификаторЭлементаСтруктурыНастроек", ИдентификаторЭлементаСтруктурыНастроек);
ПараметрыФормы.Вставить("ИмяСтраницы", ИмяСтраницы);
ПараметрыФормы.Вставить("ПредставлениеВарианта", ВариантНаименование);
ПараметрыФормы.Вставить("ВариантМодифицирован", ВариантИзменен);
ПараметрыФормы.Вставить("ПользовательскиеНастройкиМодифицированы",
ВариантИзменен Или ПользовательскиеНастройкиМодифицированы);
Если ОбработчикЗавершения <> Неопределено Тогда
РежимОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;
КонецЕсли;
ОткрытьФорму(НастройкиОтчета.ПолноеИмя + ".ФормаВарианта", ПараметрыФормы, ВладелецФормы, , , , ОбработчикЗавершения, РежимОкна);
Если ОбработчикЗавершения = Неопределено Тогда
РезультатВыбораСформирован = Истина;
Закрыть();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПриЗакрытииФормыНастроекДляТехническогоСпециалиста(Результат, ДополнительныеПараметры) Экспорт
Если ТипЗнч(Результат) = Тип("Структура") Тогда
ОбновитьФорму(Результат);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
@@ -3070,6 +3070,38 @@
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаДляПоказателей</name>
<id>1127</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Показатели</value>
</title>
<extendedTooltip>
<name>ГруппаДляПоказателейРасширеннаяПодсказка</name>
<id>1128</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ОтчетТабличныйДокумент</name>
<id>7</id>
@@ -3709,6 +3709,10 @@
Элементы.ИзменитьСоставБыстрыхНастроек.Видимость = ПоказыватьКомандыИзмененияВарианта
И Не ОбщегоНазначения.ЭтоМобильныйКлиент();
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
Элементы.Переместить(Элементы.ГруппаПоказатель, Элементы.ГруппаДляПоказателей);
КонецЕсли;
ЭтоПредопределенныйВариант = Не НастройкиОтчета.Пользовательский
И ЗначениеЗаполнено(НастройкиОтчета.ПредопределенныйСсылка);
@@ -95,6 +95,14 @@
МодульВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.АналитическийОтчетПоАнкетированию);
КонецПроцедуры
// См. РассылкаОтчетовПереопределяемый.ОпределитьИсключаемыеОтчеты
Процедура ПриОпределенииИсключаемыхОтчетов(ИсключаемыеОтчеты) Экспорт
ИсключаемыеОтчеты.Добавить(Метаданные.Отчеты.АнализОпроса);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -3600,6 +3600,15 @@
Формула = ВариантыОтчетовСлужебныйКлиентСервер.ФормулаПоПутиКДанным(Настройки, ПутьКДанным);
Если ТипЗнч(Формула) <> Тип("ПользовательскоеПолеВыражениеКомпоновкиДанных") Тогда
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Редактирование поля ""%1""доступно в форме настроек для технического специалиста на закладке ""Пользовательские поля""'"),
Формула.Заголовок);
ПоказатьПредупреждение(Неопределено, ТекстСообщения);
Возврат;
КонецЕсли;
ПараметрыРедактированияФормулы = КонструкторФормулКлиент.ПараметрыРедактированияФормулы();
ПараметрыРедактированияФормулы.Операнды = Форма.НастройкиОтчета.АдресСхемы;
ПараметрыРедактированияФормулы.ИмяКоллекцииСКДОперандов = ИмяКоллекции;
@@ -561,6 +561,11 @@
Если ПараметрыВыполнения.БезРасширений Тогда
ПараметрыВыполнения.БезРасширений = ЗначениеЗаполнено(ПараметрыСеанса.ПодключенныеРасширения);
ИначеЕсли Не ПараметрыВыполнения.СРасширениямиБазыДанных
И СтандартныеПодсистемыСервер.ЭтоРазделенныйРежимСеансаБезРазделителей() Тогда
ПараметрыВыполнения.СРасширениямиБазыДанных = Истина;
КонецЕсли;
ПараметрыЭкспортнойПроцедуры = ПараметрыПроцедуры;
@@ -851,6 +851,12 @@
МодульРаботаСАдресами.ПриДобавленииКлассификаторов(Классификаторы);
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись")
И Метаданные.ОбщиеМодули.Найти("ЭлектроннаяПодписьСлужебныйЛокализация") <> Неопределено Тогда
МодульЭлектроннаяПодписьСлужебный = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебный");
МодульЭлектроннаяПодписьСлужебный.ПриДобавленииКлассификаторов(Классификаторы);
КонецЕсли;
КонецПроцедуры
// См. РаботаСКлассификаторамиПереопределяемый.ПриЗагрузкеКлассификатора.
@@ -881,6 +887,13 @@
ДополнительныеПараметры);
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись")
И Метаданные.ОбщиеМодули.Найти("ЭлектроннаяПодписьСлужебныйЛокализация") <> Неопределено Тогда
МодульЭлектроннаяПодписьСлужебный = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебный");
МодульЭлектроннаяПодписьСлужебный.ПриЗагрузкеКлассификатора(Идентификатор, Версия, Адрес, Обработан,
ДополнительныеПараметры);
КонецЕсли;
КонецПроцедуры
// См. РаботаСКлассификаторамиВМоделиСервисаПереопределяемый.ПриОбработкеОбластиДанных.
@@ -4305,6 +4318,25 @@
#КонецОбласти
#Область РассылкаОтчетов
// См. РассылкаОтчетовПереопределяемый.ОпределитьИсключаемыеОтчеты
Процедура ПриОпределенииИсключаемыхОтчетов(ИсключаемыеОтчеты) Экспорт
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступомСлужебный = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступомСлужебный");
МодульУправлениеДоступомСлужебный.ПриОпределенииИсключаемыхОтчетов(ИсключаемыеОтчеты);
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Анкетирование") Тогда
МодульАнкетирование = ОбщегоНазначения.ОбщийМодуль("Анкетирование");
МодульАнкетирование.ПриОпределенииИсключаемыхОтчетов(ИсключаемыеОтчеты);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область РаботаСФайлами
// См. РаботаСФайламиСлужебный.ПриОпределенииОбъектовИсключенияСинхронизацииФайлов.
@@ -3030,7 +3030,7 @@
// Строка - версия.
//
// Пример:
// ВерсияКонфигурацииИБ = ВерсияИБ(Метаданные.Имя);
// ВерсияКонфигурацииИБ = ОбновлениеИнформационнойБазы.ВерсияИБ(Метаданные.Имя);
//
Функция ВерсияИБ(Знач ИдентификаторБиблиотеки) Экспорт
@@ -45,7 +45,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.6.227";
Описание.Версия = "3.1.6.245";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -2385,8 +2385,8 @@
Попытка
Если РежимОбновленияДанных = "ПереходСДругойПрограммы" Тогда
ИтерацииОбновления = ИтерацииОбновления();
ПерейтиСДругойПрограммы(ИтерацииОбновления);
ИтерацииОбновления = ИтерацииОбновления();
РежимОбновленияДанных = РежимОбновленияДанных();
ОперативноеОбновление = Ложь;
@@ -532,8 +532,9 @@
// Параметры:
// ПолучателиПриемник - КоллекцияИдентификаторовПользователейСистемыВзаимодействия
// ПолучателиИсточник - Массив из СправочникСсылка.Пользователи
// ПолучателиИсточник - Соответствие - см. ПользователиСистемыВзаимодействия
// - Массив из ПользовательСистемыВзаимодействия
// - КоллекцияИдентификаторовПользователейСистемыВзаимодействия
//
Процедура ДобавитьПолучателей(ПолучателиПриемник, ПолучателиИсточник)
@@ -541,8 +542,7 @@
Возврат;
КонецЕсли;
ПолучателиПользователиИБ = (ТипЗнч(ПолучателиИсточник[0]) = Тип("СправочникСсылка.Пользователи"));
Если ПолучателиПользователиИБ Тогда
Если ТипЗнч(ПолучателиИсточник) = Тип("Соответствие") Тогда
Для каждого Получатель Из ПолучателиИсточник Цикл
Если Получатель.Значение <> Неопределено Тогда
@@ -555,7 +555,7 @@
Для каждого Получатель Из ПолучателиИсточник Цикл // ИдентификаторПользователяСистемыВзаимодействия, ПользовательСистемыВзаимодействия
Если ТипЗнч(Получатель) = Тип("ИдентификаторПользователяСистемыВзаимодействия") Тогда
ПолучателиПриемник.Добавить(Получатель);
Иначе
ИначеЕсли ТипЗнч(Получатель) = Тип("ПользовательСистемыВзаимодействия") Тогда
ПолучателиПриемник.Добавить(Получатель.Идентификатор);
КонецЕсли;
@@ -563,7 +563,6 @@
КонецЕсли;
КонецПроцедуры
Функция ЭлементСоответствия(Соответствие, Индекс)
Сч = 0;
@@ -1423,6 +1423,10 @@
СтруктураИмениФайла = Новый Структура("ПолноеИмя,Путь,Имя,Расширение,ИмяБезРасширения");
ЗаполнитьЗначенияСвойств(СтруктураИмениФайла, Новый Файл(ПолноеИмяФайла));
Если СтруктураИмениФайла.Путь = ПолучитьРазделительПути() Тогда
СтруктураИмениФайла.Путь = "";
КонецЕсли;
Возврат СтруктураИмениФайла;
КонецФункции
@@ -898,7 +898,7 @@
Если Не ЗначениеЗаполнено(КомандаФормы.Картинка) Тогда
КомандаФормы.Картинка = СведенияОПодменю.КартинкаПодменю;
конецЕсли;
КонецЕсли;
Если СтрДлина(КомандаФормы.Заголовок) <= 35 И Подменю.Отображение <> ОтображениеКнопки.Картинка Тогда
КомандаФормы.Отображение = ОтображениеКнопки.КартинкаИТекст;
@@ -1130,8 +1130,10 @@
ГруппаПоУмолчанию = Подменю;
Если Подменю.Вид = ВидГруппыФормы.Подменю Тогда
КартинкаПодменю = Подменю.Картинка;
Иначе
ИначеЕсли ШаблонНового <> Неопределено Тогда
КартинкаПодменю = ШаблонНового.Картинка;
ИначеЕсли ПодменюПоУмолчанию <> Неопределено Тогда
КартинкаПодменю = ПодменюПоУмолчанию.КартинкаПодменю;
КонецЕсли;
ВыведеноКоманд = КоличествоКомандВГруппе(ГруппаПоУмолчанию);
Для Каждого Группа Из Подменю.ПодчиненныеЭлементы Цикл
@@ -4941,9 +4941,12 @@
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
Метаданные.Справочники.Пользователи, ПользовательСсылка, ТекстСообщения);
Если ЗначениеЗаполнено(ПочтаДляВосстановленияПароля)
И СтрНайти(ТекстСообщения, ПочтаДляВосстановленияПароля) > 0 Тогда
Уточнение = НСтр("ru = 'Адрес электронной почты %1 занят другим пользователем и не может быть использован для восстановления пароля.'");
Уточнение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Уточнение, ПочтаДляВосстановленияПароля);
ОбновлениеИнформационнойБазы.ЗарегистрироватьПроблемуСДанными(ПользовательСсылка, Уточнение);
КонецЕсли;
КонецПопытки;
@@ -5999,16 +6002,33 @@
| СоставыГруппПользователей.Пользователь ЕСТЬ NULL ";
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.СоставыГруппПользователей");
ЭлементБлокировки.УстановитьЗначение("ГруппаПользователей", ГруппаВсеПользователи);
Если ОбновитьГруппуВнешнихПользователей Тогда
ЭлементБлокировки = Блокировка.Добавить("Справочник.ВнешниеПользователи");
ПолноеИмяСправочника = "Справочник.ВнешниеПользователи";
Запрос.Текст = СтрЗаменить(Запрос.Текст, "Справочник.Пользователи", "Справочник.ВнешниеПользователи");
Иначе
ЭлементБлокировки = Блокировка.Добавить("Справочник.Пользователи");
ПолноеИмяСправочника = "Справочник.Пользователи";
КонецЕсли;
Если ТипЗнч(Пользователь) = Тип("Массив") И Пользователь.Количество() <= 1000 Тогда
Для Каждого Ссылка Из Пользователь Цикл
ЭлементБлокировкиРегистра = Блокировка.Добавить("РегистрСведений.СоставыГруппПользователей");
ЭлементБлокировкиРегистра.УстановитьЗначение("ГруппаПользователей", ГруппаВсеПользователи);
ЭлементБлокировкиРегистра.УстановитьЗначение("Пользователь", Ссылка);
ЭлементБлокировкиСправочника = Блокировка.Добавить(ПолноеИмяСправочника);
ЭлементБлокировкиСправочника.Режим = РежимБлокировкиДанных.Разделяемый;
ЭлементБлокировкиСправочника.УстановитьЗначение("Ссылка", Ссылка);
КонецЦикла;
Иначе
ЭлементБлокировкиРегистра = Блокировка.Добавить("РегистрСведений.СоставыГруппПользователей");
ЭлементБлокировкиСправочника = Блокировка.Добавить(ПолноеИмяСправочника);
ЭлементБлокировкиСправочника.Режим = РежимБлокировкиДанных.Разделяемый;
Если Пользователь <> Неопределено И ТипЗнч(Пользователь) <> Тип("Массив") Тогда
ЭлементБлокировкиРегистра.УстановитьЗначение("ГруппаПользователей", ГруппаВсеПользователи);
ЭлементБлокировкиРегистра.УстановитьЗначение("Пользователь", Пользователь);
ЭлементБлокировкиСправочника.УстановитьЗначение("Ссылка", Пользователь);
КонецЕсли;
КонецЕсли;
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
Если Пользователь = Неопределено Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ОтборПользователя", "ИСТИНА");
@@ -6322,8 +6342,7 @@
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОтборПользователяВСправочнике", ОтборПользователяВСправочнике);
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.СоставыГруппПользователей");
ЭлементБлокировки.УстановитьЗначение("ГруппаПользователей", ГруппаПользователей);
Блокировка.Добавить("РегистрСведений.СоставыГруппПользователей");
Если ОбновитьГруппыВнешнихПользователей Тогда
@@ -6336,12 +6355,7 @@
ТекстЗапроса,
"ГруппыПользователейСостав.Пользователь",
"ГруппыПользователейСостав.ВнешнийПользователь");
ЭлементБлокировки = Блокировка.Добавить("Справочник.ГруппыВнешнихПользователей");
Иначе
ЭлементБлокировки = Блокировка.Добавить("Справочник.ГруппыПользователей");
КонецЕсли;
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
НачатьТранзакцию();
@@ -1709,7 +1709,7 @@
КонецФункции
Функция ПоясненияПоОшибке(ТекстОшибки, Знач КодЯзыка = Неопределено) Экспорт
Функция ПоясненияПоОшибке(ТекстОшибки, Знач КодЯзыка = Неопределено, ДляПомощникаНастройки = Ложь) Экспорт
Если КодЯзыка = Неопределено Тогда
КодЯзыка = ТекущийЯзык().КодЯзыка;
@@ -1773,9 +1773,14 @@
СпособыУстранения.Добавить(НСтр("ru = 'Проверьте подключение к Интернету.'"));
КонецЕсли;
Если ДляПомощникаНастройки Тогда
СпособыУстранения.Добавить(НСтр("ru = 'Проверьте введенные настройки.'"));
Иначе
СпособыУстранения.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
"ru = 'Попробуйте перенастроить почту (кнопка <a href=\""%1\"">Перенастроить</a> в настройках почты).'"),
"Перенастроить"));
КонецЕсли;
СпособыУстранения.Добавить(НСтр("ru = 'Обратитесь к администратору локальной сети.'"));
СпособыУстранения.Добавить(НСтр("ru = 'Обратитесь к администратору почтового сервера.'"));
КонецЕсли;
@@ -10503,7 +10503,8 @@
Процедура ВыбратьРежимИРедактироватьФайл(ОбработчикРезультата, ДанныеФайла, ДоступностьКомандыРедактировать) Экспорт
ПерсональныеНастройки = ПерсональныеНастройкиРаботыСФайлами();
РезультатОткрыть = ПерсональныеНастройки.ВариантОткрытияФайла;
РезультатОткрыть = ?(ДанныеФайла.ФайлРедактируетТекущийПользователь И ДоступностьКомандыРедактировать,
"Редактировать", ПерсональныеНастройки.ВариантОткрытияФайла);
СпособОткрытия = ПерсональныеНастройки.ТекстовыеФайлыСпособОткрытия;
Если СпособОткрытия = ПредопределенноеЗначение("Перечисление.СпособыОткрытияФайлаНаПросмотр.ВоВстроенномРедакторе") Тогда
@@ -57,7 +57,10 @@
// Исключаемые отчеты используются в качестве исключающего фильтра при выборе отчетов.
Функция ИсключаемыеОтчеты() Экспорт
МассивМетаданных = Новый Массив;
ИнтеграцияПодсистемБСП.ПриОпределенииИсключаемыхОтчетов(МассивМетаданных);
РассылкаОтчетовПереопределяемый.ОпределитьИсключаемыеОтчеты(МассивМетаданных);
Результат = Новый Массив;
@@ -68,6 +71,7 @@
ИсключаемыеОтчеты = Новый ФиксированныйМассив(Результат);
Возврат ИсключаемыеОтчеты;
КонецФункции
#КонецОбласти
@@ -58,6 +58,11 @@
Возврат УстановленныеПараметры;
КонецЕсли;
Если Справочники.ИдентификаторыОбъектовМетаданных.ВсеПараметрыСеансаУстановлены(
ИменаПараметровСеанса, УстановленныеПараметры) Тогда
Возврат УстановленныеПараметры;
КонецЕсли;
Если ИменаПараметровСеанса.Найти("КлючДанныхПовторногоИспользования") <> Неопределено Тогда
ПараметрыСеанса.КлючДанныхПовторногоИспользования = Новый УникальныйИдентификатор;
УстановленныеПараметры.Добавить("КлючДанныхПовторногоИспользования");
@@ -644,12 +649,38 @@
// Вызывает исключение с требованием перезапустить сеанс из-за обновления расширений программы.
Процедура ПотребоватьПерезапускСеансаПоПричинеДинамическогоОбновленияРасширенийПрограммы() Экспорт
Если ЭтоРазделенныйРежимСеансаБезРазделителей() Тогда
ТекстОшибки =
НСтр("ru = 'Для выполнения требуемых действий следует
|запустить сеанс с установленными разделителями.
|
|Расширения области данных не подключаются при входе
|в область данных в сеансе, запущенном без разделителей.'");
Иначе
ТекстОшибки = НСтр("ru = 'Расширения программы обновлены, требуется перезапустить сеанс.'");
КонецЕсли;
УстановитьТребуетсяПерезапускСеанса(ТекстОшибки);
ВызватьИсключение ТекстОшибки;
КонецПроцедуры
// Возвращаемое значение:
// Булево
//
Функция ЭтоРазделенныйРежимСеансаБезРазделителей() Экспорт
Если Не ОбщегоНазначения.РазделениеВключено()
Или Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных()
Или Не ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда
Возврат Ложь;
КонецЕсли;
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
Возврат МодульРаботаВМоделиСервиса.СеансЗапущенБезРазделителей();
КонецФункции
// Устанавливает параметр сеанса необходимости перезапуска с текстом
// краткого представления ошибки для проверки в исключении попытки.
//
@@ -895,10 +926,11 @@
// Для определения предопределенных элементов в подсистемах Свойства и КонтактнаяИнформация
// зачитываются реквизиты ИмяПредопределенногоНабора и ИмяПредопределенногоВида.
ЗначенияРеквизитов = Новый Структура("ИмяПредопределенногоНабора, ИмяПредопределенногоВида", "", "");
ЗначенияРеквизитов = Новый Структура("ИмяПредопределенногоНабора,ИмяПредопределенногоВида,ИмяПредопределенныхДанных",
"", "", "");
ЗаполнитьЗначенияСвойств(ЗначенияРеквизитов, Элемент);
Если (Элемент.ИмяПредопределенныхДанных = ""
Если (ЗначенияРеквизитов.ИмяПредопределенныхДанных = ""
И ЗначенияРеквизитов.ИмяПредопределенногоНабора = ""
И ЗначенияРеквизитов.ИмяПредопределенногоВида = "") Тогда
Возврат Ложь;
@@ -542,6 +542,8 @@
НовыеРолиПользователей = ТекущиеСвойстваПользователей.РолиПользователей;
Администраторы = ТекущиеСвойстваПользователей.Администраторы;
РазделениеВключено = ОбщегоНазначения.РазделениеВключено();
НеобходимоОбновлениеИБ = ОбновлениеИнформационнойБазы.НеобходимоОбновлениеИнформационнойБазы();
ИдентификаторТекущегоПользователяИБ = ПользователиИнформационнойБазы.ТекущийПользователь().УникальныйИдентификатор;
ОбязательныеРолиАдминистратора = Новый Соответствие;
ОбязательныеРолиАдминистратора.Вставить("ПолныеПрава", Истина);
@@ -562,12 +564,6 @@
ИдентификаторПользователяИБ = ОписаниеПользователя.ИдентификаторПользователяИБ;
НовыйАдминистраторИБ = Ложь;
Отказ = Ложь;
ИнтеграцияПодсистемБСП.ПриОбновленииРолейПользователяИБ(ИдентификаторПользователяИБ, Отказ);
Если Отказ Тогда
Продолжить;
КонецЕсли;
// Поиск пользователя ИБ.
Если ТипЗнч(ИдентификаторПользователяИБ) = Тип("УникальныйИдентификатор") Тогда
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(
@@ -581,6 +577,17 @@
Продолжить;
КонецЕсли;
Если НеобходимоОбновлениеИБ
И ИдентификаторПользователяИБ = ИдентификаторТекущегоПользователяИБ Тогда
Продолжить;
КонецЕсли;
Отказ = Ложь;
ИнтеграцияПодсистемБСП.ПриОбновленииРолейПользователяИБ(ИдентификаторПользователяИБ, Отказ);
Если Отказ Тогда
Продолжить;
КонецЕсли;
Отбор = Новый Структура("Пользователь", ТекущийПользователь);
НовыеРоли = НовыеРолиПользователей.Скопировать(
НовыеРолиПользователей.НайтиСтроки(Отбор), "Роль, РольСсылка");
@@ -795,7 +802,10 @@
Возврат;
КонецЕсли;
Если Не ТранзакцияАктивна() Или ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
Если МонопольныйРежим()
Или Не ТранзакцияАктивна()
Или ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
ИзменитьРегламентноеЗаданиеОбновленияДоступа(ВключитьЗадание);
ИначеЕсли ВключитьЗадание Тогда
@@ -2408,6 +2418,15 @@
КонецПроцедуры
// Обработчики событий подсистемы РассылкаОтчетов.
// См. РассылкаОтчетовПереопределяемый.ОпределитьИсключаемыеОтчеты
Процедура ПриОпределенииИсключаемыхОтчетов(ИсключаемыеОтчеты) Экспорт
ИсключаемыеОтчеты.Добавить(Метаданные.Отчеты.ПраваДоступа);
КонецПроцедуры
// Обработчики событий подсистемы КонтрольВеденияУчета.
// См. ИнтеграцияПодсистемБСП.ПриОпределенииОбъектовИсключаемыхИзПроверки
@@ -2906,33 +2925,18 @@
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийПользователь", Пользователи.АвторизованныйПользователь());
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ЗначенияПоУмолчанию.ТипЗначенийДоступа КАК ТипЗначений,
| ЗначенияПоУмолчанию.ВсеРазрешеныБезИсключений КАК ВсеРазрешеныБезИсключений
|ПОМЕСТИТЬ ЗначенияПоУмолчаниюДляПользователя
"ВЫБРАТЬ
| ЗначенияПоУмолчанию.ТипЗначенийДоступа КАК ТипЗначений
|ИЗ
| РегистрСведений.ЗначенияГруппДоступаПоУмолчанию КАК ЗначенияПоУмолчанию
|ГДЕ
| ИСТИНА В
| (ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
| ИЗ
| Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
| ПО (ГруппыДоступаПользователи.Ссылка = ЗначенияПоУмолчанию.ГруппаДоступа)
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
| ПО
| ГруппыДоступаПользователи.Ссылка = ЗначенияПоУмолчанию.ГруппаДоступа
| И ГруппыДоступаПользователи.Пользователь = СоставыГруппПользователей.ГруппаПользователей
| И СоставыГруппПользователей.Пользователь = &ТекущийПользователь)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ЗначенияПоУмолчанию.ТипЗначений
|ИЗ
| ЗначенияПоУмолчаниюДляПользователя КАК ЗначенияПоУмолчанию
| ПО (ГруппыДоступаПользователи.Пользователь = СоставыГруппПользователей.ГруппаПользователей)
| И (СоставыГруппПользователей.Пользователь = &ТекущийПользователь)
|
|СГРУППИРОВАТЬ ПО
| ЗначенияПоУмолчанию.ТипЗначений
| ЗначенияПоУмолчанию.ТипЗначенийДоступа
|
|ИМЕЮЩИЕ
| МИНИМУМ(ЗначенияПоУмолчанию.ВсеРазрешеныБезИсключений) = ИСТИНА";
@@ -11499,13 +11503,39 @@
// Для процедуры УстановитьОбновлениеДоступа.
Процедура ИзменитьРегламентноеЗаданиеОбновленияДоступа(ВключитьЗадание)
Блокировка = Новый БлокировкаДанных;
Блокировка.Добавить("Константа.КоличествоПотоковОбновленияДоступа");
Отбор = Новый Структура("Метаданные", Метаданные.РегламентныеЗадания.ОбновлениеДоступаНаУровнеЗаписей);
ТребуетсяИзменить = Ложь;
Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
ТребуетсяИзменить = Истина;
Иначе
УстановитьПривилегированныйРежим(Истина);
Задания = РегламентныеЗаданияСервер.НайтиЗадания(Отбор);
Для Каждого Задание Из Задания Цикл
Если ВключитьЗадание <> Задание.Использование Тогда
ТребуетсяИзменить = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
УстановитьПривилегированныйРежим(Ложь);
КонецЕсли;
Если Не ТребуетсяИзменить Тогда
Возврат;
КонецЕсли;
Блокировка = Новый БлокировкаДанных;
Блокировка.Добавить("Константа.КоличествоПотоковОбновленияДоступа");
ЭтоОшибкаБлокировки = Ложь;
НомерПопыткиБлокировки = 0;
Пока Истина Цикл
НомерПопыткиБлокировки = НомерПопыткиБлокировки + 1;
НачатьТранзакцию();
Попытка
ЭтоОшибкаБлокировки = Истина;
Блокировка.Заблокировать();
ЭтоОшибкаБлокировки = Ложь;
УстановитьПривилегированныйРежим(Истина);
Задания = РегламентныеЗаданияСервер.НайтиЗадания(Отбор);
Для Каждого Задание Из Задания Цикл
@@ -11519,8 +11549,15 @@
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
Если ЭтоОшибкаБлокировки
И НомерПопыткиБлокировки <= 3
И Не ТранзакцияАктивна() Тогда
Продолжить;
КонецЕсли;
ВызватьИсключение;
КонецПопытки;
Прервать;
КонецЦикла;
КонецПроцедуры
@@ -21023,19 +21060,19 @@
КонецПроцедуры
// Для функций ПраваНаКлючДоступаСписка и РассчитанноеУсловие.
Функция РассчитанноеУсловиеДляСтрок(Контекст, Условие, УзелРеквизитов = Неопределено, ДляЛюбойИзСтрок = Истина)
Функция РассчитанноеУсловиеДляСтрок(Контекст, Условие, УзелРеквизитов = Неопределено, ДляЛюбойИзСтрок = Истина, КорневойУзел = Истина)
Если УзелРеквизитов = Неопределено Тогда
Контекст.Вставить("ОписанияТребуемыхТаблицКлюча", Новый Массив);
Если Условие.Узел = "ДляВсехСтрок" Или Условие.Узел = "ДляОднойИзСтрок" Тогда
Возврат РассчитанноеУсловие(Контекст, Условие);
Возврат РассчитанноеУсловие(Контекст, Условие, КорневойУзел);
КонецЕсли;
УзелРеквизитов = Условие;
КонецЕсли;
Если Не ЗначениеЗаполнено(УзелРеквизитов.ТребуемыеРеквизитыТабличныхЧастейКлюча) Тогда
Контекст.Вставить("ТекущиеСтрокиТаблицКлюча", Контекст.ЗначенияТаблицКлюча);
Возврат РассчитанноеУсловие(Контекст, Условие);
Возврат РассчитанноеУсловие(Контекст, Условие, КорневойУзел);
КонецЕсли;
РеквизитыТаблиц = УзелРеквизитов.ТребуемыеРеквизитыТабличныхЧастейКлюча;
ЗначенияТаблиц = ТекущиеЗначенияТаблицКлюча(Контекст, РеквизитыТаблиц);
@@ -21085,18 +21122,26 @@
Результат = "Истина";
Прервать;
ИначеЕсли ТекущийРезультат = "Ложь" Тогда
Если Результат = "Неопределено" Тогда
Если Результат = "Неопределено" Или Результат = "Пусто" Тогда
Результат = "Ложь";
КонецЕсли;
ИначеЕсли ТекущийРезультат = "Пусто" Тогда
Если Результат = "Неопределено" Тогда
Результат = "Пусто";
КонецЕсли;
КонецЕсли;
Иначе
Если ТекущийРезультат = "Ложь" Тогда
Результат = "Ложь";
Прервать;
ИначеЕсли ТекущийРезультат = "Истина" Тогда
Если Результат = "Неопределено" Тогда
Если Результат = "Неопределено" Или Результат = "Пусто" Тогда
Результат = "Истина";
КонецЕсли;
ИначеЕсли ТекущийРезультат = "Пусто" Тогда
Если Результат = "Неопределено" Тогда
Результат = "Пусто";
КонецЕсли;
КонецЕсли;
КонецЕсли;
Иначе
@@ -21114,6 +21159,8 @@
Если Результат = "Неопределено" Тогда
Результат = "Ложь";
ИначеЕсли КорневойУзел И Результат = "Пусто" Тогда
Результат = "Истина";
КонецЕсли;
Контекст.ОписанияТребуемыхТаблицКлюча.Удалить(
@@ -21299,7 +21346,7 @@
КонецФункции
// Для функции РассчитанноеУсловиеДляСтрок.
Функция РассчитанноеУсловие(Контекст, Условие)
Функция РассчитанноеУсловие(Контекст, Условие, КорневойУзел = Ложь)
// Проверяемые типы уже учтены.
@@ -21309,7 +21356,8 @@
Или Значение = Null И Условие.Свойство("ПроверкаЕстьNull"), "Истина", "Ложь");
ИначеЕсли Условие.Узел = "Константа" Тогда
Результат = ?(Условие.Значение = Истина, "Истина", "Ложь");
Результат = ?(Условие.Значение = Истина, "Истина",
?(Условие.Значение = "Пусто", "Пусто", "Ложь"));
ИначеЕсли Условие.Узел = "И" Тогда
@@ -21321,9 +21369,13 @@
Прервать;
КонецЕсли;
Если ТекущийРезультат = "Истина" Тогда
Если Результат = "Неопределено" Тогда
Если Результат = "Неопределено" Или Результат = "Пусто" Тогда
Результат = "Истина";
КонецЕсли;
ИначеЕсли ТекущийРезультат = "Пусто" Тогда
Если Результат = "Неопределено" Тогда
Результат = "Пусто";
КонецЕсли;
ИначеЕсли ТипЗнч(ТекущийРезультат) = Тип("Соответствие") Тогда
Если ТекущийРезультат.Количество() = 0 Тогда
Результат = "Ложь";
@@ -21350,9 +21402,13 @@
Прервать;
КонецЕсли;
Если ТекущийРезультат = "Ложь" Тогда
Если Результат = "Неопределено" Тогда
Если Результат = "Неопределено" Или Результат = "Пусто" Тогда
Результат = "Ложь";
КонецЕсли;
ИначеЕсли ТекущийРезультат = "Пусто" Тогда
Если Результат = "Неопределено" Тогда
Результат = "Пусто";
КонецЕсли;
ИначеЕсли ТипЗнч(ТекущийРезультат) = Тип("Соответствие") Тогда
Если ТекущийРезультат.Количество() = 0 Тогда
Если Результат = "Неопределено" Тогда
@@ -21387,7 +21443,7 @@
Или Условие.Узел = "ДляОднойИзСтрок" Тогда
Результат = РассчитанноеУсловиеДляСтрок(Контекст,
Условие.Аргумент, Условие, Условие.Узел = "ДляОднойИзСтрок");
Условие.Аргумент, Условие, Условие.Узел = "ДляОднойИзСтрок", Ложь);
ИначеЕсли Условие.Узел = "Выбор" Тогда
Результат = Неопределено;
@@ -21412,12 +21468,21 @@
Если Значение = Null Тогда
Значение = Перечисления.ДополнительныеЗначенияДоступа.Null;
КонецЕсли;
ОтключеноКакЛожь = Условие.УточненияСравнения.Получить("Отключено") = "Ложь";
Если Значение = Перечисления.ДополнительныеЗначенияДоступа.ТипРазрешенный Тогда
Если ОтключеноКакЛожь Тогда
ТекущийРезультат = "Пусто";
Иначе
ТекущийРезультат = "Истина";
КонецЕсли;
ИначеЕсли Значение = Перечисления.ДополнительныеЗначенияДоступа.ТипЗапрещенный Тогда
Если ОтключеноКакЛожь Тогда
ТекущийРезультат = "Пусто";
Иначе
ТекущийРезультат = "Ложь";
КонецЕсли;
Иначе
ТекущийРезультат = Неопределено;
Для Каждого УточнениеСравнения Из Условие.УточненияСравнения Цикл
@@ -21446,7 +21511,11 @@
ИначеЕсли Условие.Узел = "ЗначениеРазрешено" Тогда
Если Значение = Перечисления.ДополнительныеЗначенияДоступа.Null
Или Значение = Перечисления.ДополнительныеЗначенияДоступа.Неопределено Тогда
Если ОтключеноКакЛожь Тогда
Результат = "Пусто";
Иначе
Результат = "Ложь";
КонецЕсли;
Иначе
Если Контекст.ЗначенияГруппыДоступа = Неопределено Тогда
ЗначенияОдногоТипа = Неопределено;
@@ -21455,8 +21524,8 @@
ЗначенияОдногоТипа = Контекст.ЗначенияГруппыДоступа.Получить(ТипЗначения);
КонецЕсли;
Если ЗначенияОдногоТипа = Неопределено Тогда
Если Условие.УточненияСравнения.Получить("Отключено") = "Ложь" Тогда
Результат = "Ложь";
Если ОтключеноКакЛожь Тогда
Результат = "Пусто";
Иначе
Результат = "Истина";
КонецЕсли;
@@ -21615,6 +21684,10 @@
ВызватьИсключение ТекстОшибки;
КонецЕсли;
Если КорневойУзел И Результат = "Пусто" Тогда
Результат = "Истина";
КонецЕсли;
Возврат Результат;
КонецФункции
@@ -23890,6 +23963,7 @@
Или Результат.ИспользуетсяОграничениеПоВладельцу Тогда
Если Результат.ИспользуетсяОграничениеПоВладельцу
Или Результат.Контекст.БезОбъектаМетаданных
Или Результат.Контекст.СпискиСЗаписьюКлючейДляЗависимыхСписковБезКлючей.Получить(
Результат.Список) = Неопределено Тогда
@@ -24759,7 +24833,8 @@
СтандартныеПодсистемыСервер.ПотребоватьПерезапускСеансаПоПричинеДинамическогоОбновленияРасширенийПрограммы();
КонецЕсли;
Исключение
Если ЭтоСеансФоновогоЗадания() Тогда
Если ЭтоСеансФоновогоЗадания()
Или СтандартныеПодсистемыСервер.ЭтоРазделенныйРежимСеансаБезРазделителей() Тогда
ВызватьИсключение;
КонецЕсли;
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
@@ -27708,6 +27783,8 @@
// Опорные поля не требуется для ссылочных типов данных (всегда Ссылка).
ЗаполнитьНовоеОписаниеОпорныхПолей(Результат, Контекст);
Контекст.Вставить("БезОбъектаМетаданных", Ложь);
Если Контекст.СпискиСЗаписьюКлючейДляЗависимыхСписковБезКлючей <> Неопределено Тогда
Свойства = СвойстваОграниченияСписка(Контекст.Список, Контекст);
Результат.РассчитыватьПраваПользователей = Свойства.РассчитыватьПраваПользователей;
@@ -27716,6 +27793,7 @@
Если Контекст.СпискиСЗаписьюКлючейДляЗависимыхСписковБезКлючей.Получить(Список) <> Неопределено Тогда
Результат.ЕстьЗависимыеСпискиБезЗаписиКлючейДоступа = Истина;
ОбъектМетаданных = ОбщегоНазначения.ОбъектМетаданныхПоПолномуИмени(Список);
Контекст.БезОбъектаМетаданных = ОбъектМетаданных = Неопределено;
Результат.ЧтениеРазрешеноДляВсехПользователей =
ПравоРазрешеноДляВсехПользователей("Чтение", ОбъектМетаданных, ДляВнешнихПользователей);
Результат.ИзменениеРазрешеноДляВсехПользователей =
@@ -27729,7 +27807,9 @@
Контекст.Вставить("ИзменениеРазрешеноДляВсехПользователей", Результат.ИзменениеРазрешеноДляВсехПользователей);
Если СтруктураОграничения = Неопределено Тогда
Если Не Результат.ЕстьЗависимыеСпискиБезЗаписиКлючейДоступа Или Результат.ДоступЗапрещен Тогда
Если Не Результат.ЕстьЗависимыеСпискиБезЗаписиКлючейДоступа
Или Результат.ДоступЗапрещен
Или Контекст.БезОбъектаМетаданных Тогда
Возврат Результат;
КонецЕсли;
СтруктураОграничения = РассчитаннаяСтруктураОграничения(Список,
@@ -27882,6 +27962,7 @@
// * ЕстьЗависимыеСпискиБезЗаписиКлючейДоступа - Булево
// * ЧтениеРазрешеноДляВсехПользователей - Булево
// * ИзменениеРазрешеноДляВсехПользователей - Булево
// * БезОбъектаМетаданных - Булево
// * СтруктураОграничения - см. СтруктураОграничения
// * ИсходнаяСтруктураОграничения - см. СтруктураОграничения
// * ВедущиеСпискиПоЗначениямПолей - см. ОписаниеВедущихСписковПоЗначениямПолей
@@ -30116,7 +30197,8 @@
ИначеЕсли Условие.Узел = "Не" Тогда
Аргумент = УпрощенноеУсловиеОграничения(Условие.Аргумент, Контекст);
Если Аргумент.Узел = "Константа" Тогда
Условие = Новый Структура("Узел, Значение", "Константа", Не Аргумент.Значение);
Условие = Новый Структура("Узел, Значение", "Константа",
?(Аргумент.Значение = "Пусто", "Пусто", Не Аргумент.Значение));
Иначе
Условие = Новый Структура("Узел, Аргумент", Условие.Узел, Аргумент);
КонецЕсли;
@@ -30159,6 +30241,7 @@
ИначеЕсли Условие.Узел = "Выбор" Тогда
ВсеЗначенияВыбораИстина = Истина;
ВсеЗначенияВыбораЛожь = Истина;
ВсеЗначенияВыбораПусто = Истина;
Выбор = Новый Структура("Узел, Выбор, Когда, Иначе", Условие.Узел, Условие.Выбор, Новый Массив);
НовоеУсловиеИначе = Неопределено;
Для Каждого Когда Из Условие.Когда Цикл
@@ -30175,15 +30258,18 @@
УсловиеКогда = Когда.Условие;
КонецЕсли;
ЗначениеКогда = УпрощенноеУсловиеОграничения(Когда.Значение, Контекст);
ОбработатьУпрощенноеЗначениеВыбора(ЗначениеКогда, ВсеЗначенияВыбораИстина, ВсеЗначенияВыбораЛожь);
ОбработатьУпрощенноеЗначениеВыбора(ЗначениеКогда,
ВсеЗначенияВыбораИстина, ВсеЗначенияВыбораЛожь, ВсеЗначенияВыбораПусто);
СтруктураКогда = Новый Структура("Условие, Значение", УсловиеКогда, ЗначениеКогда);
Выбор.Когда.Добавить(СтруктураКогда);
КонецЦикла;
УсловиеИначе = ?(НовоеУсловиеИначе = Неопределено, Условие.Иначе, НовоеУсловиеИначе);
Выбор.Иначе = УпрощенноеУсловиеОграничения(УсловиеИначе, Контекст);
ОбработатьУпрощенноеЗначениеВыбора(Выбор.Иначе, ВсеЗначенияВыбораИстина, ВсеЗначенияВыбораЛожь);
Если ВсеЗначенияВыбораИстина Или ВсеЗначенияВыбораЛожь Тогда
Условие = Новый Структура("Узел, Значение", "Константа", ВсеЗначенияВыбораИстина);
ОбработатьУпрощенноеЗначениеВыбора(Выбор.Иначе,
ВсеЗначенияВыбораИстина, ВсеЗначенияВыбораЛожь, ВсеЗначенияВыбораПусто);
Если ВсеЗначенияВыбораИстина Или ВсеЗначенияВыбораЛожь Или ВсеЗначенияВыбораПусто Тогда
Условие = Новый Структура("Узел, Значение", "Константа",
?(ВсеЗначенияВыбораПусто, "Пусто", ВсеЗначенияВыбораИстина));
ИначеЕсли Выбор.Когда.Количество() = 0 Тогда
Условие = Выбор.Иначе;
Иначе
@@ -30244,7 +30330,11 @@
ВызватьИсключение ТекстОшибки;
КонецЕсли;
Если Условие.Узел <> "Константа" И ДобавитьОставшиесяПоля Тогда
Если Условие.Узел = "Константа" Тогда
Если КореньУсловия И Условие.Значение = "Пусто" Тогда
Условие.Значение = Истина;
КонецЕсли;
ИначеЕсли ДобавитьОставшиесяПоля Тогда
Для Каждого КлючИЗначение Из Контекст.ОставшиесяПоляПослеУпрощения Цикл
Если Условие.Узел <> "Поле" Тогда
РодителиПоля = КлючИЗначение.Значение; // Массив Из см. ОписаниеУзла
@@ -30260,16 +30350,24 @@
КонецФункции
// Для функции УпрощенноеУсловиеОграничения.
Процедура ОбработатьУпрощенноеЗначениеВыбора(Условие, ВсеЗначенияВыбораИстина, ВсеЗначенияВыбораЛожь)
Процедура ОбработатьУпрощенноеЗначениеВыбора(Условие,
ВсеЗначенияВыбораИстина, ВсеЗначенияВыбораЛожь, ВсеЗначенияВыбораПусто)
Если Условие.Узел <> "Константа" Тогда
ВсеЗначенияВыбораИстина = Ложь;
ВсеЗначенияВыбораЛожь = Ложь;
ВсеЗначенияВыбораПусто = Ложь;
ИначеЕсли Условие.Значение = "Пусто" Тогда
ВсеЗначенияВыбораИстина = Ложь;
ВсеЗначенияВыбораЛожь = Ложь;
ИначеЕсли Условие.Значение Тогда
ВсеЗначенияВыбораЛожь = Ложь;
ВсеЗначенияВыбораПусто = Ложь;
Иначе
ВсеЗначенияВыбораИстина = Ложь;
ВсеЗначенияВыбораПусто = Ложь;
КонецЕсли;
КонецПроцедуры
@@ -30282,6 +30380,7 @@
РезультатВсегдаЛожь = Истина;
РезультатВсегдаИстина = Истина;
ЕстьРезультатПусто = Ложь;
Для Каждого Тип Из ТипыКонечногоПоля Цикл
ИмяТипа = ИмяТипаНаЯзыкеЗапросов(Тип);
@@ -30312,6 +30411,7 @@
КонецЕсли;
Если ОтключеноКакЛожь Тогда
РезультатВсегдаИстина = Ложь;
ЕстьРезультатПусто = Истина;
Иначе
РезультатВсегдаЛожь = Ложь;
КонецЕсли;
@@ -30324,8 +30424,12 @@
Если РезультатВсегдаИстина Тогда
Возврат Истина;
ИначеЕсли РезультатВсегдаЛожь Тогда
Если ЕстьРезультатПусто Тогда
Возврат "Пусто";
Иначе
Возврат Ложь;
КонецЕсли;
КонецЕсли;
Возврат Неопределено;
@@ -1717,6 +1717,10 @@
// Проверим, все ли макеты были сформированы.
Для Каждого ПечатнаяФорма Из КоллекцияПечатныхФорм Цикл
Если Не ПечатнаяФорма.ОфисныеДокументы = Неопределено Тогда
ПечатнаяФорма.ТабличныйДокумент = Новый ТабличныйДокумент;
КонецЕсли;
Если ПечатнаяФорма.ТабличныйДокумент = Неопределено Тогда
ТекстСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В обработчике печати не был сформирован табличный документ для: %1'"),
@@ -5597,12 +5601,12 @@
ЗначенияСвойствОбъектов = МодульУправлениеСвойствами.ЗначенияСвойств(Объекты, , , , КодЯзыка);
Для Каждого ЗначенияСвойствОбъекта Из ЗначенияСвойствОбъектов Цикл
ИмяСвойства = ЗначенияСвойствОбъекта.ИмяСвойства;
Свойство = ЗначенияСвойствОбъекта.Свойство;
Объект = ЗначенияСвойствОбъекта.ВладелецСвойств;
НайденныеСтроки = Данные.НайтиСтроки(Новый Структура("Ссылка", Объект));
Для Каждого СтрокаТаблицы Из НайденныеСтроки Цикл
СтрокаТаблицы[ИмяСвойства] = ЗначенияСвойствОбъекта.Значение;
СтрокаТаблицы[ИдентификаторыДляФормул[Свойство]] = ЗначенияСвойствОбъекта.Значение;
КонецЦикла;
КонецЦикла;
@@ -1837,19 +1837,10 @@
КлючНаборовСвойств = НачалоКлюча + Лев(КлючНазначения + "00000000000000000000000000000000", 32);
НовыйКлюч = НовыйКлючНазначения(Форма.КлючНазначенияИспользования, НачалоКлюча, КлючНаборовСвойств);
Если НовыйКлюч = Неопределено Тогда
// Ключ уже дополнен.
НовыйКлюч = Форма.КлючНазначенияИспользования;
Если НовыйКлюч <> Неопределено Тогда
Форма.КлючНазначенияИспользования = НовыйКлюч;
КонецЕсли;
НовыйКлючПоложения = НовыйКлючНазначения(Форма.КлючСохраненияПоложенияОкна, НачалоКлюча, КлючНаборовСвойств);
Если НовыйКлючПоложения = Неопределено Тогда
// Ключ уже дополнен.
НовыйКлючПоложения = Форма.КлючСохраненияПоложенияОкна;
КонецЕсли;
СтандартныеПодсистемыСервер.УстановитьКлючНазначенияФормы(Форма, НовыйКлюч, НовыйКлючПоложения);
КонецПроцедуры
Функция РезультатВычисленияУсловия(Форма, ОписаниеОбъекта, Параметры)
@@ -1936,8 +1927,13 @@
ТипОбъекта = ТипЗнч(ОписаниеОбъекта.Ссылка);
МетаданныеОбъекта = Метаданные.НайтиПоТипу(ТипОбъекта);
Если ОбщегоНазначения.ВидОбъектаПоТипу(ТипОбъекта) = "Справочник" Тогда
ТабличнаяЧасть = МетаданныеОбъекта.ТабличныеЧасти.Найти("ДополнительныеРеквизиты");
Если ТабличнаяЧасть = Неопределено Тогда
ОтключитьДополнительныеРеквизитыНаФорме(Форма, ДополнительныеПараметры);
Возврат Ложь;
КонецЕсли;
Если ОбщегоНазначения.ВидОбъектаПоТипу(ТипОбъекта) = "Справочник" Тогда
Если Не МетаданныеОбъекта.Иерархический
Или МетаданныеОбъекта.ВидИерархии <> Метаданные.СвойстваОбъектов.ВидИерархии.ИерархияГруппИЭлементов Тогда
ЭтоГруппа = Ложь;
@@ -205,6 +205,11 @@
НоваяСтрока.Порядок = "До";
КонецЕсли;
Обработчик = Обработчики.Добавить();
Обработчик.Версия = "3.1.6.231";
Обработчик.РежимВыполнения = "Оперативно";
Обработчик.Процедура = "УправлениеСвойствамиСлужебный.ОчиститьНеиспользуемыеНастройки";
Обработчик = Обработчики.Добавить();
Обработчик.Версия = "*";
Обработчик.РежимВыполнения = "Отложенно";
@@ -1788,6 +1793,68 @@
Строка = СтрСоединить(СтрРазделить(Строка, НедопустимыеСимволы, Истина));
КонецПроцедуры
Процедура ОчиститьНеиспользуемыеНастройки() Экспорт
Отбор = Новый Структура;
Отбор.Вставить("КлючНастроек", "КлючНазначенияИспользованияФормы");
УдалитьНастройкуИзХранилища(Отбор);
Отбор.КлючНастроек = "КлючСохраненияПоложенияОкнаФормы";
УдалитьНастройкуИзХранилища(Отбор);
КонецПроцедуры
Процедура УдалитьНастройкуИзХранилища(Отбор)
ВыборкаНастроек = ХранилищеСистемныхНастроек.Выбрать(Отбор);
Пока СледующаяНастройка(ВыборкаНастроек) Цикл
Попытка
КлючОбъекта = ВыборкаНастроек.КлючОбъекта;
Если СтрНачинаетсяС(КлючОбъекта, "КлючНаборовСвойств") Тогда
ОбщегоНазначения.ХранилищеСистемныхНастроекУдалить(ВыборкаНастроек.КлючОбъекта,
ВыборкаНастроек.КлючНастроек,
ВыборкаНастроек.Пользователь);
КонецЕсли;
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ТекстОшибки = НСтр("ru = 'При очистке настроек в обработчике %1
|возникла ошибка:
|%2'");
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОшибки,
"УправлениеСвойствамиСлужебный.ОчиститьНеиспользуемыеНастройки",
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
ЗаписьЖурналаРегистрации(
ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Предупреждение,,,
ТекстОшибки);
КонецПопытки;
КонецЦикла;
КонецПроцедуры
Функция СледующаяНастройка(Выборка)
ЕстьСледующий = Ложь;
Попытка
ЕстьСледующий = Выборка.Следующий();
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ТекстОшибки = НСтр("ru = 'При чтении настроек в обработчике %1
|возникла ошибка:
|%2'");
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОшибки,
"УправлениеСвойствамиСлужебный.ОчиститьНеиспользуемыеНастройки",
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
ЗаписьЖурналаРегистрации(
ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Предупреждение,,,
ТекстОшибки);
КонецПопытки;
Возврат ЕстьСледующий;
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Вспомогательные процедуры и функции.
@@ -1042,6 +1042,7 @@
| И (ИдентификаторыПисемКЗагрузке.ИдентификаторПисьма = ЭлектронноеПисьмоИсходящее.ИдентификаторСообщения
| ИЛИ ИдентификаторыПисемКЗагрузке.ИдентификаторПисьма = ЭлектронноеПисьмоИсходящее.ИдентификаторСообщенияОтправкаIMAP
| ИЛИ ИдентификаторыПисемКЗагрузке.ИдентификаторОригинальногоПисьмаMicrosoft = ЭлектронноеПисьмоИсходящее.ИдентификаторСообщения)
| И ЭлектронноеПисьмоИсходящее.СтатусПисьма = ЗНАЧЕНИЕ(Перечисление.СтатусыИсходящегоЭлектронногоПисьма.Отправлено)
|ГДЕ
| ЭлектронноеПисьмоВходящее.Ссылка ЕСТЬ NULL
| И ЭлектронноеПисьмоИсходящее.Ссылка ЕСТЬ NULL";
@@ -1440,7 +1440,10 @@
Возврат Ложь;
КонецЕсли;
ДатаПодписания = ДатаПодписания(ПодписьДляПроверки);
СвойстваПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.СвойстваПодписиИзДвоичныхДанных(ПодписьДляПроверки);
ДатаПодписания = ?(ЗначениеЗаполнено(СвойстваПодписи.ДатаШтампаВремени),
СвойстваПодписи.ДатаШтампаВремени, СвойстваПодписи.ДатаПодписания);
Если Не ЗначениеЗаполнено(ДатаПодписания) Тогда
ДатаПодписания = НаДату;
КонецЕсли;
@@ -1478,9 +1481,11 @@
КонецЕсли;
Иначе
ДатаПодписания = ДатаПодписания(ПодписьДляПроверки);
КонецЕсли;
СвойстваПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.СвойстваПодписиИзДвоичныхДанных(ПодписьДляПроверки);
ДатаПодписания = ?(ЗначениеЗаполнено(СвойстваПодписи.ДатаШтампаВремени),
СвойстваПодписи.ДатаШтампаВремени, СвойстваПодписи.ДатаПодписания);
КонецЕсли;
Если Не ЗначениеЗаполнено(ДатаПодписания) Тогда
ДатаПодписания = НаДату;
@@ -158,7 +158,7 @@
// **ДатаС - Дата
// **ДатаПо - Дата, Неопределено
// * ДатаОкончанияДействия - Неопределено, Дата
// * ДатаПроверкиОбновления - Неопределено, Дата
// * ДатаОбновления - Неопределено, Дата
//
Функция ДанныеУдостоверяющегоЦентра(ЗначенияПоиска, АккредитованныеУдостоверяющиеЦентры) Экспорт
@@ -200,7 +200,7 @@
Результат.Вставить("Государственный", Государственный);
Результат.Вставить("ПериодыДействия", НайденПериодДействия);
Результат.Вставить("ДатаОкончанияДействия", НайденаДатаОкончанияДействия);
Результат.Вставить("ДатаПроверкиОбновления", АккредитованныеУдостоверяющиеЦентры.ДатаПроверкиОбновления);
Результат.Вставить("ДатаОбновления", АккредитованныеУдостоверяющиеЦентры.ДатаОбновления);
// Конец Локализация
@@ -991,7 +991,8 @@
Возврат;
КонецЕсли;
ЗагрузитьДанныеАккредитованныхУЦ(Версия, Адрес, Обработан, ДополнительныеПараметры);
МодульЭлектроннаяПодписьСлужебныйЛокализация = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебныйЛокализация");
МодульЭлектроннаяПодписьСлужебныйЛокализация.ЗагрузитьДанныеАккредитованныхУЦ(Версия, Адрес, Обработан, ДополнительныеПараметры);
КонецПроцедуры
@@ -1006,14 +1007,14 @@
// Возвращаемое значение:
// Строка - идентификатор классификатора.
//
Функция ИдентификаторКлассификатора() Экспорт
Если Метаданные.ОбщиеМодули.Найти("ЭлектроннаяПодписьСлужебныйЛокализация") = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
Функция ИдентификаторКлассификатора()
МодульЭлектроннаяПодписьСлужебныйЛокализация = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебныйЛокализация");
Если МодульЭлектроннаяПодписьСлужебныйЛокализация <> Неопределено Тогда
Возврат МодульЭлектроннаяПодписьСлужебныйЛокализация.ИдентификаторКлассификатора();
КонецЕсли;
Возврат Неопределено;
КонецФункции
@@ -1030,17 +1031,6 @@
КонецФункции
Процедура ЗагрузитьДанныеАккредитованныхУЦ(Версия, Адрес, Обработан, ДополнительныеПараметры) Экспорт
Если Метаданные.ОбщиеМодули.Найти("ЭлектроннаяПодписьСлужебныйЛокализация") = Неопределено Тогда
Возврат;
КонецЕсли;
МодульЭлектроннаяПодписьСлужебныйЛокализация = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебныйЛокализация");
МодульЭлектроннаяПодписьСлужебныйЛокализация.ЗагрузитьДанныеАккредитованныхУЦ(Версия, Адрес, Обработан, ДополнительныеПараметры);
КонецПроцедуры
// Возвращает дополнительные параметры создания менеджера криптографии.
//
// Возвращаемое значение:
@@ -1457,7 +1447,7 @@
СписокВыбора.Очистить();
Если Операция <> "Усовершенствование"
И (ТипПодписи = Неопределено Или ТипПодписи = Перечисления.ТипыПодписиКриптографии.БазоваяCAdESBES) Тогда
И (Не ЗначениеЗаполнено(ТипПодписи) Или ТипПодписи = Перечисления.ТипыПодписиКриптографии.БазоваяCAdESBES) Тогда
СписокВыбора.Добавить(Перечисления.ТипыПодписиКриптографии.БазоваяCAdESBES, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Базовая подпись (%1)
@@ -1472,7 +1462,7 @@
ЭтоМодельСервисаСДоступнымУсовершенствованием = ЭлектроннаяПодпись.ОбщиеНастройки().ЭтоМодельСервисаСДоступнымУсовершенствованием;
ДобавитьТипПодписи = ЭтоМодельСервисаСДоступнымУсовершенствованием Или Не Операция = "Настройки";
Иначе
Если ТипПодписи = Неопределено Или ТипПодписи = Перечисления.ТипыПодписиКриптографии.СМеткойДоверенногоВремениCAdEST
Если Не ЗначениеЗаполнено(ТипПодписи) Или ТипПодписи = Перечисления.ТипыПодписиКриптографии.СМеткойДоверенногоВремениCAdEST
И Операция <> "Усовершенствование" Или ТипПодписи = Перечисления.ТипыПодписиКриптографии.БазоваяCAdESBES Тогда
ДобавитьТипПодписи = Истина;
КонецЕсли;
@@ -1585,8 +1575,8 @@
КонецЕсли;
Если ИспользоватьСервисОблачнойПодписи() Тогда
// Локализация
Если ИспользоватьСервисОблачнойПодписи() Тогда
МодульСервисКриптографииDSSСлужебный = ОбщегоНазначения.ОбщийМодуль("СервисКриптографииDSSСлужебный");
МассивСертификатов = МодульСервисКриптографииDSSСлужебный.ПолучитьДанныеСертификатов(Ложь);
@@ -1594,8 +1584,8 @@
ЭлектроннаяПодписьСлужебныйКлиентСервер.ДобавитьСвойстваСертификатов(ТаблицаСвойствСертификатов,
МассивСертификатов, БезОтбора, ДобавкаВремени(), ТекущаяДатаСеанса(), ПараметрыДобавленияСвойств);
// Конец Локализация
КонецЕсли;
// Конец Локализация
ОбработатьДобавленныеСертификаты(ТаблицаСвойствСертификатов, Не БезОтбора И КромеУжеДобавленных, ОтборПоОрганизации);
@@ -3628,9 +3618,9 @@
ОтпечаткиСертификатовНаКлиенте, МассивСертификатов, ДобавкаВремени(), ТекущаяДатаСеанса);
КонецЕсли;
// Локализация
Если ИспользоватьСервисОблачнойПодписи() Тогда
// Локализация
МодульСервисКриптографииDSSСлужебный = ОбщегоНазначения.ОбщийМодуль("СервисКриптографииDSSСлужебный");
ВсеСертификаты = МодульСервисКриптографииDSSСлужебный.ПолучитьВсеСертификаты(Ложь);
@@ -3647,9 +3637,9 @@
ЭлектроннаяПодписьСлужебныйКлиентСервер.ДобавитьОтпечаткиСертификатов(
ОтпечаткиСертификатовНаКлиенте, МассивСертификатов, ДобавкаВремени(), ТекущаяДатаСеанса());
// Конец Локализация
КонецЕсли;
// Конец Локализация
ОтборПоОрганизации = Ложь;
@@ -359,10 +359,14 @@
Если Параметры.Операция = "Подписание" Тогда
МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = Параметры.ЗначениеПароля;
Попытка
Если ЭлектроннаяПодпись.ДоступнаУсовершенствованнаяПодпись() И ЗначениеЗаполнено(Параметры.ТипПодписи) Тогда
МенеджерКриптографии.АдресаСерверовМетокВремени = ЭлектроннаяПодпись.ОбщиеНастройки().АдресаСерверовМетокВремени;
Если ЭлектроннаяПодпись.ДоступнаУсовершенствованнаяПодпись() Тогда
НастройкиПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.НастройкиСозданияПодписи(Параметры.ТипПодписи,
ЭлектроннаяПодпись.ОбщиеНастройки().АдресаСерверовМетокВремени);
Если ЗначениеЗаполнено(НастройкиПодписи.АдресаСерверовМетокВремени) Тогда
МенеджерКриптографии.АдресаСерверовМетокВремени = НастройкиПодписи.АдресаСерверовМетокВремени;
КонецЕсли;
ДвоичныеДанныеРезультата = МенеджерКриптографии.Подписать(Данные, СертификатКриптографии,
ЭлектроннаяПодписьСлужебныйКлиентСервер.ТипПодписиКриптографии(Параметры.ТипПодписи));
НастройкиПодписи.ТипПодписи);
Иначе
ДвоичныеДанныеРезультата = МенеджерКриптографии.Подписать(Данные, СертификатКриптографии);
КонецЕсли;
@@ -294,25 +294,6 @@
КонецПроцедуры
// Продолжение процедуры ДатаПодписания.
Процедура ДатаПодписанияПослеЧтенияВБуферДвоичныхДанных(БуферДанныхПодписи, Контекст) Экспорт
ДатаПодписания = ЭлектроннаяПодписьСлужебныйКлиентСервер.ДатаПодписанияУниверсальная(БуферДанныхПодписи);
Если ДатаПодписания = Неопределено Тогда
ВыполнитьОбработкуОповещения(Контекст.Оповещение, Неопределено);
Возврат;
КонецЕсли;
Если Контекст.ПривестиКЧасовомуПоясуСеанса Тогда
ДатаПодписания = ДатаПодписания + (ОбщегоНазначенияКлиент.ДатаСеанса()
- ОбщегоНазначенияКлиент.ДатаУниверсальная());
КонецЕсли;
ВыполнитьОбработкуОповещения(Контекст.Оповещение, ДатаПодписания);
КонецПроцедуры
// Продолжение процедуры НайтиДействительныеЛичныеСертификаты.
Процедура НайтиДействительныеЛичныеСертификаты(Оповещение, Отбор = Неопределено) Экспорт
@@ -1255,9 +1236,32 @@
"ПроверитьПодписьНаКлиентеПослеОшибкиПолученияКонтейнераПодписиНаКлиенте", ЭтотОбъект);
МенеджерДляПолученияДатыПодписи.НачатьПолучениеКонтейнераПодписейКриптографии(Оповещение, Контекст.ДанныеПодписи);
Иначе
ЭлектроннаяПодписьКлиент.ДатаПодписания(
Новый ОписаниеОповещения("ПроверитьПодписьНаКлиентеПослеПолученияДатыПодписания", ЭтотОбъект, Контекст),
Контекст.ДанныеПодписи);
СвойстваПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.СвойстваПодписиИзДвоичныхДанных(Контекст.ДанныеПодписи);
Если Не СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента().РазделениеВключено
И ТипЗнч(МенеджерДляПолученияДатыПодписи) = Тип("МенеджерКриптографии") Тогда
Если СвойстваПодписи.ТипПодписи <> ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.БазоваяCAdESBES")
И СвойстваПодписи.ТипПодписи <> ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.СМеткойДоверенногоВремениCAdEST")
И СвойстваПодписи.ТипПодписи <> ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.ОбычнаяCMS")
И СвойстваПодписи.ТипПодписи <> Неопределено Тогда
ТекстОповещения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '%1: Для проверки подписей этого типа требуется версия платформы 1С:Предприятие выше 8.3.20.1838 или 8.3.21.1302.'"),
СвойстваПодписи.ТипПодписи);
ПоказатьОповещениеПользователя(НСтр("ru = 'Для корректной проверки подписей требуется обновление платформы.'"),,
ТекстОповещения,БиблиотекаКартинок.Предупреждение32, СтатусОповещенияПользователя.Важное,
"ОбновлениеПлатформыДляПроверкиПодписей");
КонецЕсли;
КонецЕсли;
ДатаПодписания = ?(ЗначениеЗаполнено(СвойстваПодписи.ДатаШтампаВремени),
СвойстваПодписи.ДатаШтампаВремени, СвойстваПодписи.ДатаПодписания);
ПроверитьПодписьНаКлиентеПослеПолученияДатыПодписания(ДатаПодписания, Контекст);
КонецЕсли;
КонецПроцедуры
@@ -1285,7 +1289,7 @@
КонецПроцедуры
// Продолжение процедуры ПроверитьПодпись.
Процедура ПроверитьПодписьНаКлиентеПослеПолученияДатыПодписания(ДатаПодписания, Контекст) Экспорт
Процедура ПроверитьПодписьНаКлиентеПослеПолученияДатыПодписания(ДатаПодписания, Контекст)
Если Не ЗначениеЗаполнено(ДатаПодписания) Тогда
ДатаПодписания = Контекст.НаДату;
@@ -3004,12 +3008,8 @@
Контекст.Вставить("СоставИмениФайлаДанных",
ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(Контекст.ПолноеИмяФайла));
Если ЗначениеЗаполнено(Контекст.СоставИмениФайлаДанных.Путь) Тогда
ФайловаяСистемаКлиент.ПодключитьРасширениеДляРаботыСФайлами(Новый ОписаниеОповещения(
"СохранитьДанныеВместеСПодписьюПослеПодключенияРасширенияРаботыСФайлами", ЭтотОбъект, Контекст));
Иначе
СохранитьДанныеВместеСПодписьюПослеПодключенияРасширенияРаботыСФайлами(Ложь, Контекст);
КонецЕсли;
КонецПроцедуры
@@ -3023,8 +3023,12 @@
Если Контекст.Подключено Тогда
Контекст.Вставить("ПолучаемыеФайлы", Новый Массив);
Если ЗначениеЗаполнено(Контекст.СоставИмениФайлаДанных.Путь) Тогда
Контекст.Вставить("ПутьКФайлам", ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(
Контекст.СоставИмениФайлаДанных.Путь));
Иначе
Контекст.Вставить("ПутьКФайлам", "");
КонецЕсли;
КонецЕсли;
Контекст.Вставить("ИменаФайлов", Новый Соответствие);
@@ -3037,6 +3041,11 @@
КонецПроцедуры
// Продолжение процедуры ЭлектроннаяПодписьКлиент.СохранитьДанныеВместеСПодписью.
//
// Параметры:
// Контекст - Структура:
// * Индекс - Число
//
Процедура СохранитьДанныеВместеСПодписьюЦиклНачало(Контекст)
Если Контекст.КоллекцияПодписей.Количество() <= Контекст.Индекс + 1 Тогда
@@ -3109,6 +3118,11 @@
КонецПроцедуры
// Продолжение процедуры ЭлектроннаяПодписьКлиент.СохранитьДанныеВместеСПодписью.
//
// Параметры:
// Контекст - Структура:
// * ПолучаемыеФайлы - Массив
//
Процедура СохранитьДанныеВместеСПодписьюЦиклПослеВнутреннегоЦикла(Контекст)
СоставИмениФайлаПодписи = ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(Контекст.ПолноеИмяФайлаПодписи);
@@ -3191,6 +3205,11 @@
КонецПроцедуры
// Продолжение процедуры ЭлектроннаяПодписьКлиент.СохранитьДанныеВместеСПодписью.
//
// Параметры:
// Контекст - Структура:
// * ПолучаемыеФайлы - Массив
//
Процедура СохранитьДанныеСертификатаВместеСПодписьюЦиклПослеВнутреннегоЦикла(Контекст)
СоставИмениФайлаСертификата = ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(Контекст.ПолноеИмяФайлаСертификата);
@@ -3270,7 +3289,7 @@
ИначеЕсли РазрешенияПолучены Тогда
ПараметрыСохранения = ФайловаяСистемаКлиент.ПараметрыСохраненияФайлов();
ПараметрыСохранения.Интерактивно = Ложь;
ПараметрыСохранения.Интерактивно = Не ЗначениеЗаполнено(Контекст.ПутьКФайлам);
ПараметрыСохранения.Диалог.Каталог = Контекст.ПутьКФайлам;
ФайловаяСистемаКлиент.СохранитьФайлы(Новый ОписаниеОповещения(
"СохранитьДанныеВместеСПодписьюПослеПолученияФайлов", ЭтотОбъект, Контекст),
@@ -3293,8 +3312,11 @@
Если ТипЗнч(ПолученныеФайлы) = Тип("Массив") Тогда
Для каждого ПолученныйФайл Из ПолученныеФайлы Цикл
СоставИмениФайлаПодписи = ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(ПолученныйФайл.Имя);
СоставИмениФайлаПодписи = ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(ПолученныйФайл.ПолноеИмя);
ИменаПолученныхФайлов.Вставить(СоставИмениФайлаПодписи.Имя, Истина);
Если Не ЗначениеЗаполнено(Контекст.ПутьКФайлам) Тогда
Контекст.ПутьКФайлам = СоставИмениФайлаПодписи.Путь;
КонецЕсли;
КонецЦикла;
КонецЕсли;
@@ -3308,7 +3330,11 @@
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Текст", Текст);
Если Не ЗначениеЗаполнено(Контекст.СоставИмениФайлаДанных.Путь) Тогда
ПараметрыФормы.Вставить("КаталогСФайлами", Контекст.ПутьКФайлам);
Иначе
ПараметрыФормы.Вставить("КаталогСФайлами", Контекст.СоставИмениФайлаДанных.Путь);
КонецЕсли;
ОткрытьФорму("ОбщаяФорма.ОтчетОСохраненииФайловЭлектронныхПодписей", ПараметрыФормы,,,,,
Новый ОписаниеОповещения("СохранитьДанныеВместеСПодписьюПослеЗакрытияОтчета", ЭтотОбъект, Контекст));
@@ -4160,7 +4186,14 @@
МодульСервисКриптографииКлиент.Подписать(Оповещение, Данные, СертификатДляПодписи, , ПараметрыОперации);
Иначе
Если ЭлектроннаяПодписьКлиент.ОбщиеНастройки().ДоступнаУсовершенствованнаяПодпись Тогда
НастройкиПодписи = НастройкиПодписания(Контекст.ОписаниеДанных.ТипПодписи);
Попытка
НастройкиПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.НастройкиСозданияПодписи(
Контекст.ОписаниеДанных.ТипПодписи,
ЭлектроннаяПодписьКлиент.ОбщиеНастройки().АдресаСерверовМетокВремени);
Исключение
ВыполнитьНаСторонеЦиклПослеОшибкиОперацииНаКлиенте(ИнформацияОбОшибке(), Ложь, Контекст);
Возврат;
КонецПопытки;
Если ЗначениеЗаполнено(НастройкиПодписи.АдресаСерверовМетокВремени) Тогда
МенеджерКриптографии.АдресаСерверовМетокВремени = НастройкиПодписи.АдресаСерверовМетокВремени;
КонецЕсли;
@@ -4212,9 +4245,10 @@
АдресРезультата = Неопределено;
Если Контекст.Операция = "Подписание" Тогда
ПараметрыДляСервера.Вставить("ТипПодписи", Контекст.ОписаниеДанных.ТипПодписи);
ПараметрыДляСервера.Вставить("Комментарий", Контекст.Форма.Комментарий);
ПараметрыДляСервера.Вставить("ЗначениеПароля", Контекст.ЗначениеПароля);
ПараметрыДляСервера.Вставить("ТипПодписи", Контекст.ОписаниеДанных.ТипПодписи);
Если Контекст.ЭлементДанных.Свойство("Объект")
И Не ТипЗнч(Контекст.ЭлементДанных.Объект) = Тип("ОписаниеОповещения") Тогда
@@ -6860,39 +6894,6 @@
КонецФункции
Функция НастройкиПодписания(ТипПодписи)
Если Не ЗначениеЗаполнено(ТипПодписи) Тогда
Возврат Неопределено;
КонецЕсли;
Результат = Новый Структура("ТипПодписи, АдресаСерверовМетокВремени");
Результат.АдресаСерверовМетокВремени = Новый Массив;
Результат.ТипПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.ТипПодписиКриптографии(ТипПодписи);
Если ТипПодписи = ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.СМеткойДоверенногоВремениCAdEST")
Или ТипПодписи = ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.СПолнымНаборомПроверочныхДанныхCAdESC")
Или ТипПодписи = ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.РасширеннаяДолгосрочнаяCAdESXLongType2")
Или ТипПодписи = ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.АрхивнаяCAdESAv3") Тогда
АдресаСерверовМетокВремени = ЭлектроннаяПодписьКлиент.ОбщиеНастройки().АдресаСерверовМетокВремени;
Если АдресаСерверовМетокВремени.Количество() = 0 Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Для подписания в формате %1 заполните адреса серверов штампов времени.'"), ТипПодписи);
КонецЕсли;
Результат.АдресаСерверовМетокВремени = АдресаСерверовМетокВремени;
ИначеЕсли ТипПодписи <> ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.БазоваяCAdESBES")
И ТипПодписи <> ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.ОбычнаяCMS") Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Тип подписи криптографии %1 не поддерживается.'"), ТипПодписи);
КонецЕсли;
Возврат Результат;
КонецФункции
#Область ДобавлениеСертификата
// Продолжение процедуры ЭлектроннаяПодписьКлиент.ДобавитьСертификат.
@@ -1204,6 +1204,41 @@
КонецФункции
// Только для внутреннего использования.
Функция НастройкиСозданияПодписи(ТипПодписи, АдресаСерверовМетокВремени) Экспорт
Результат = Новый Структура("ТипПодписи, АдресаСерверовМетокВремени");
Результат.АдресаСерверовМетокВремени = АдресаСерверовМетокВремени;
Если Не ЗначениеЗаполнено(ТипПодписи) Тогда
Результат.ТипПодписи = ТипПодписиКриптографии(
ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.БазоваяCAdESBES"));
Возврат Результат;
КонецЕсли;
Если ТипПодписи = ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.СМеткойДоверенногоВремениCAdEST")
Или ТипПодписи = ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.СПолнымНаборомПроверочныхДанныхCAdESC")
Или ТипПодписи = ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.РасширеннаяДолгосрочнаяCAdESXLongType2")
Или ТипПодписи = ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.АрхивнаяCAdESAv3") Тогда
Если Результат.АдресаСерверовМетокВремени.Количество() = 0 Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Для создания подписи типа ""%1"" заполните адреса серверов штампов времени.'"), ТипПодписи);
КонецЕсли;
ИначеЕсли ТипПодписи <> ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.БазоваяCAdESBES")
И ТипПодписи <> ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.ОбычнаяCMS") Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Создание подписи типа ""%1"" не поддерживается.'"), ТипПодписи);
КонецЕсли;
Результат.ТипПодписи = ТипПодписиКриптографии(ТипПодписи);
Возврат Результат;
КонецФункции
// Только для внутреннего использования.
Функция ПодлежитУсовершенствованию(ТипПодписи, НовыйТипПодписи) Экспорт
@@ -1405,17 +1440,7 @@
СтрокаБуфера = ПолучитьHexСтрокуИзБуфераДвоичныхДанных(Буфер);
Если СтрокаБуфера = "2A864886F70D010905" Тогда // 1.2.840.113549.1.9.5 signingTime
ТипДаты = ПолучитьHexСтрокуИзБуфераДвоичныхДанных(АнализДанных.Буфер.Прочитать(АнализДанных.Смещение + 11, 2));
Если ТипДаты = "170D" Тогда // UTCTime
БуферДаты = АнализДанных.Буфер.Прочитать(АнализДанных.Смещение + 13, 12);
ПредставлениеДаты = "20" + ПолучитьСтрокуИзБуфераДвоичныхДанных(БуферДаты);
Иначе // GeneralizedTime
БуферДаты = АнализДанных.Буфер.Прочитать(АнализДанных.Смещение + 13, 14);
ПредставлениеДаты = ПолучитьСтрокуИзБуфераДвоичныхДанных(БуферДаты);
КонецЕсли;
ОписаниеТипа = Новый ОписаниеТипов("Дата");
ДатаПодписания = ОписаниеТипа.ПривестиЗначение(ПредставлениеДаты);
ДатаПодписания = ПрочитатьДатуПодписанияИзБуфера(АнализДанных.Буфер, АнализДанных.Смещение + 11);
Если ЗначениеЗаполнено(ДатаПодписания) Тогда
Возврат ДатаПодписания;
@@ -1433,6 +1458,288 @@
КонецФункции
// Только для внутреннего использования.
Функция СвойстваПодписиИзДвоичныхДанных(Данные) Экспорт
СвойстваПодписи = Новый Структура("ТипПодписи, ДатаПодписания, ДатаШтампаВремени",
ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.ОбычнаяCMS"), Неопределено, Неопределено);
ДвоичныеДанные = ДвоичныеДанныеИзДанных(Данные,
"ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмПодписи");
АнализДанных = НовыйАнализДанных(ДвоичныеДанные);
// SEQUENCE (PKCS #7 ContentInfo).
ПропуститьНачалоБлока(АнализДанных, 0, 16);
// OBJECT IDENTIFIER (contentType).
ПропуститьНачалоБлока(АнализДанных, 0, 6);
// 1.2.840.113549.1.7.2 signedData (PKCS #7).
ПроверитьДанныеБлока(АнализДанных, "2A864886F70D010702");
ПропуститьРодительскийБлок(АнализДанных);
// [0]CS (content [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL).
ПропуститьНачалоБлока(АнализДанных, 2, 0);
// SEQUENCE (content SignedData).
ПропуститьНачалоБлока(АнализДанных, 0, 16);
// INTEGER (version Version).
ПропуститьБлок(АнализДанных, 0, 2);
// SET (digestAlgorithms DigestAlgorithmIdentifiers).
ПропуститьБлок(АнализДанных, 0, 17);
// SEQUENCE (contentInfo ContentInfo).
ПропуститьБлок(АнализДанных, 0, 16);
// [0]CS (certificates [0] IMPLICIT ExtendedCertificatesAndCertificates OPTIONAL).
ПропуститьБлок(АнализДанных, 2, 0, Ложь);
// [1]CS (crls [1] IMPLICIT CertificateRevocationLists OPTIONAL).
ПропуститьБлок(АнализДанных, 2, 1, Ложь);
// SET (signerInfos SET OF SignerInfo).
ПропуститьНачалоБлока(АнализДанных, 0, 17);
// SEQUENCE (signerInfo SignerInfo).
ПропуститьНачалоБлока(АнализДанных, 0, 16);
// INTEGER (version Version).
ПропуститьБлок(АнализДанных, 0, 2);
// SEQUENCE (issuerAndSerialNumber IssuerAndSerialNumber).
ПропуститьБлок(АнализДанных, 0, 16);
// SEQUENCE (digestAlgorithm DigestAlgorithmIdentifier).
ПропуститьБлок(АнализДанных, 0, 16);
// [0]CS (authenticatedAttributes [0] IMPLICIT Attributes OPTIONAL).
ПропуститьНачалоБлока(АнализДанных, 2, 0);
Если АнализДанных.ЕстьОшибка Тогда
Возврат СвойстваПодписи;
КонецЕсли;
ЕстьДайджестСообщения = Ложь; // 1.2.840.113549.1.9.4
ЕстьТипКонтента = Ложь; // 1.2.840.113549.1.9.3
ЕстьВеткаСертификата = Ложь; // 1.2.840.113549.1.9.16.2.47 или 1.2.840.113549.1.9.16.2.12
СмещениеСледующего = АнализДанных.Родители[0].СмещениеСледующего;
Пока АнализДанных.Смещение < СмещениеСледующего И Не АнализДанных.ЕстьОшибка Цикл
// SEQUENCE (Attributes).
ПропуститьНачалоБлока(АнализДанных, 0, 16);
Если АнализДанных.ЕстьОшибка Тогда
Прервать;
КонецЕсли;
// OBJECT IDENTIFIER
ПропуститьНачалоБлока(АнализДанных, 0, 6);
РазмерДанных = АнализДанных.Родители[0].РазмерДанных;
Если РазмерДанных = 0 Тогда
ПриОшибкеСтруктурыДанных(АнализДанных);
Прервать;
КонецЕсли;
Если РазмерДанных = 9 Тогда
Буфер = АнализДанных.Буфер.Прочитать(АнализДанных.Смещение, РазмерДанных); // БуферДвоичныхДанных
СтрокаБуфера = ПолучитьHexСтрокуИзБуфераДвоичныхДанных(Буфер);
Если СтрокаБуфера = "2A864886F70D010904" Тогда // 1.2.840.113549.1.9.4 messageDigest
ЕстьДайджестСообщения = Истина;
ИначеЕсли СтрокаБуфера = "2A864886F70D010903" Тогда // 1.2.840.113549.1.9.3 contentType
ЕстьТипКонтента = Истина;
ИначеЕсли СтрокаБуфера = "2A864886F70D010905" Тогда // 1.2.840.113549.1.9.5 signingTime
ДатаПодписания = ПрочитатьДатуПодписанияИзБуфера(АнализДанных.Буфер, АнализДанных.Смещение + 11);
Если ЗначениеЗаполнено(ДатаПодписания) Тогда
СвойстваПодписи.ДатаПодписания = ДатаПодписания;
КонецЕсли;
КонецЕсли;
ИначеЕсли РазмерДанных = 11 Тогда
Буфер = АнализДанных.Буфер.Прочитать(АнализДанных.Смещение, РазмерДанных); // БуферДвоичныхДанных
СтрокаБуфера = ПолучитьHexСтрокуИзБуфераДвоичныхДанных(Буфер);
Если СтрокаБуфера = "2A864886F70D010910022F" Тогда // 1.2.840.113549.1.9.16.2.47 signingCertificateV2
ЕстьВеткаСертификата = Истина;
ИначеЕсли СтрокаБуфера = "2A864886F70D010910020C" Тогда // 1.2.840.113549.1.9.16.2.12 signingCertificate
ЕстьВеткаСертификата = Истина;
КонецЕсли;
КонецЕсли;
ПропуститьРодительскийБлок(АнализДанных); // OBJECT IDENTIFIER
ПропуститьРодительскийБлок(АнализДанных); // SEQUENCE
КонецЦикла;
Если ЕстьВеткаСертификата И ЕстьДайджестСообщения И ЕстьТипКонтента Тогда
СвойстваПодписи.ТипПодписи = ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.БазоваяCAdESBES");
Иначе
Возврат СвойстваПодписи;
КонецЕсли;
ПропуститьРодительскийБлок(АнализДанных); // [0]CS
// SEQUENCE (digestEncryptionAlgorithm AlgorithmIdentifier).
ПропуститьБлок(АнализДанных, 0, 16);
// signature SignatureValue
ПропуститьБлок(АнализДанных, 0, 4);
// [1]CS (unsignedAttrs [1] IMPLICIT UnsignedAttributes OPTIONAL).
ПропуститьНачалоБлока(АнализДанных, 2, 1);
ЕстьВеткаМеткиВремени = Ложь; // 1.2.840.113549.1.9.16.2.14
ЕстьВеткаОписаниеСертификатов = Ложь; // 1.2.840.113549.1.9.16.2.21
ЕстьВеткаОписаниеОтзыва = Ложь; // 1.2.840.113549.1.9.16.2.22
ЕстьВеткаЗначениеСертификатов = Ложь; // 1.2.840.113549.1.9.16.2.23
ЕстьВеткаЗначениеОтзыва = Ложь; // 1.2.840.113549.1.9.16.2.24
ЕстьВеткаСписокСерверовОтзыва = Ложь; // 1.2.840.113549.1.9.16.2.26
ЕстьВеткаАрхива = Ложь; // 0.4.0.1733.2.5
СмещениеСледующего = АнализДанных.Родители[0].СмещениеСледующего;
Пока АнализДанных.Смещение < СмещениеСледующего И Не АнализДанных.ЕстьОшибка Цикл
// SEQUENCE (Attributes).
ПропуститьНачалоБлока(АнализДанных, 0, 16);
Если АнализДанных.ЕстьОшибка Тогда
Прервать;
КонецЕсли;
// OBJECT IDENTIFIER
ПропуститьНачалоБлока(АнализДанных, 0, 6);
РазмерДанных = АнализДанных.Родители[0].РазмерДанных;
Если РазмерДанных = 0 Тогда
ПриОшибкеСтруктурыДанных(АнализДанных);
Прервать;
КонецЕсли;
Если РазмерДанных = 11 Тогда
Буфер = АнализДанных.Буфер.Прочитать(АнализДанных.Смещение, РазмерДанных); // БуферДвоичныхДанных
СтрокаБуфера = ПолучитьHexСтрокуИзБуфераДвоичныхДанных(Буфер);
Если СтрокаБуфера = "2A864886F70D010910020E" Тогда // 1.2.840.113549.1.9.16.2.14 timeStampToken
ЕстьВеткаМеткиВремени = Истина;
РазмерДанных = АнализДанных.Родители[1].РазмерДанных - 13;
// SET
Буфер = АнализДанных.Буфер.Прочитать(АнализДанных.Смещение + 11, РазмерДанных);
ДатаШтампаВремени = ПрочитатьДатуИзШтампаВремени(Буфер);
Если ЗначениеЗаполнено(ДатаШтампаВремени) Тогда
СвойстваПодписи.ДатаШтампаВремени = ДатаШтампаВремени;
КонецЕсли;
ИначеЕсли СтрокаБуфера = "2A864886F70D0109100215" Тогда // 1.2.840.113549.1.9.16.2.21 certificateRefs
ЕстьВеткаОписаниеСертификатов = Истина;
ИначеЕсли СтрокаБуфера = "2A864886F70D0109100216" Тогда // 1.2.840.113549.1.9.16.2.22 revocationRefs
ЕстьВеткаОписаниеОтзыва = Истина;
ИначеЕсли СтрокаБуфера = "2A864886F70D0109100217" Тогда // 1.2.840.113549.1.9.16.2.23 certValues
ЕстьВеткаЗначениеСертификатов = Истина;
ИначеЕсли СтрокаБуфера = "2A864886F70D0109100218" Тогда // 1.2.840.113549.1.9.16.2.24 revocationValues
ЕстьВеткаЗначениеОтзыва = Истина;
ИначеЕсли СтрокаБуфера = "2A864886F70D010910021A" Тогда // 1.2.840.113549.1.9.16.2.26 certCRLTimestamp
ЕстьВеткаСписокСерверовОтзыва = Истина;
КонецЕсли;
КонецЕсли;
Если РазмерДанных = 6 Тогда
Буфер = АнализДанных.Буфер.Прочитать(АнализДанных.Смещение, РазмерДанных); // БуферДвоичныхДанных
СтрокаБуфера = ПолучитьHexСтрокуИзБуфераДвоичныхДанных(Буфер);
Если СтрокаБуфера = "04008D450204" Тогда // 0.4.0.1733.2.4 archiveTimestampV3 attribute
ЕстьВеткаАрхива = Истина;
КонецЕсли;
КонецЕсли;
ПропуститьРодительскийБлок(АнализДанных); // OBJECT IDENTIFIER
ПропуститьРодительскийБлок(АнализДанных); // SEQUENCE
КонецЦикла;
Если ЕстьВеткаАрхива Тогда
ТипПодписи = ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.АрхивнаяCAdESAv3");
ИначеЕсли ЕстьВеткаМеткиВремени И ЕстьВеткаОписаниеСертификатов И ЕстьВеткаОписаниеОтзыва
И ЕстьВеткаЗначениеСертификатов И ЕстьВеткаЗначениеОтзыва И ЕстьВеткаСписокСерверовОтзыва Тогда
ТипПодписи = ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.РасширеннаяДолгосрочнаяCAdESXLongType2");
ИначеЕсли ЕстьВеткаМеткиВремени И ЕстьВеткаОписаниеСертификатов И ЕстьВеткаОписаниеОтзыва Тогда
ТипПодписи = ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.СПолнымНаборомПроверочныхДанныхCAdESC");
ИначеЕсли ЕстьВеткаМеткиВремени Тогда
ТипПодписи = ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.СМеткойДоверенногоВремениCAdEST");
КонецЕсли;
СвойстваПодписи.ТипПодписи = ТипПодписи;
Возврат СвойстваПодписи;
КонецФункции
Функция ПрочитатьДатуПодписанияИзБуфера(Буфер, Смещение)
ТипДаты = ПолучитьHexСтрокуИзБуфераДвоичныхДанных(Буфер.Прочитать(Смещение, 2));
Если ТипДаты = "170D" Тогда // UTCTime
БуферДаты = Буфер.Прочитать(Смещение + 2, 12);
ПредставлениеДаты = "20" + ПолучитьСтрокуИзБуфераДвоичныхДанных(БуферДаты);
Иначе // GeneralizedTime
БуферДаты = Буфер.Прочитать(Смещение + 2, 14);
ПредставлениеДаты = ПолучитьСтрокуИзБуфераДвоичныхДанных(БуферДаты);
КонецЕсли;
ОписаниеТипа = Новый ОписаниеТипов("Дата");
ДатаПодписания = ОписаниеТипа.ПривестиЗначение(ПредставлениеДаты);
Возврат ДатаПодписания;
КонецФункции
// Для функции СвойстваПодписиИзДвоичныхДанных.
Функция ПрочитатьДатуИзШтампаВремени(Буфер)
АнализДанных = Новый Структура;
АнализДанных.Вставить("ЕстьОшибка", Ложь);
АнализДанных.Вставить("ЭтоОшибкаКодированияASN1", Ложь); // Возможно данные повреждены.
АнализДанных.Вставить("ЭтоОшибкаСтруктурыДанных", Ложь); // Не найден ожидаемый элемент данных.
АнализДанных.Вставить("Смещение", 0);
АнализДанных.Вставить("Родители", Новый Массив);
АнализДанных.Вставить("Буфер", Буфер);
// SET
ПропуститьНачалоБлока(АнализДанных, 0, 17);
// SEQUENCE
ПропуститьНачалоБлока(АнализДанных, 0, 16);
// OBJECT IDENTIFIER signedData
ПропуститьБлок(АнализДанных, 0, 6);
// [0]
ПропуститьНачалоБлока(АнализДанных, 2, 0);
// SEQUENCE
ПропуститьНачалоБлока(АнализДанных, 0, 16);
// INTEGER (version Version).
ПропуститьБлок(АнализДанных, 0, 2);
// SET
ПропуститьБлок(АнализДанных, 0, 17);
// SEQUENCE
ПропуститьНачалоБлока(АнализДанных, 0, 16);
// OBJECT IDENTIFIER
ПропуститьБлок(АнализДанных, 0, 6);
// [0]
ПропуститьНачалоБлока(АнализДанных, 2, 0);
// OCTET STRING
ПропуститьНачалоБлока(АнализДанных, 0, 4);
// SEQUENCE
ПропуститьНачалоБлока(АнализДанных, 0, 16);
// INTEGER
ПропуститьБлок(АнализДанных, 0, 2);
// OBJECT IDENTIFIER
ПропуститьБлок(АнализДанных, 0, 6);
// SEQUENCE
ПропуститьБлок(АнализДанных, 0, 16);
// INTEGER
ПропуститьБлок(АнализДанных, 0, 2);
Если АнализДанных.ЕстьОшибка Тогда
ДатаШтампа = Неопределено;
Иначе
// GeneralizedTime
БуферДаты = АнализДанных.Буфер.Прочитать(АнализДанных.Смещение + 2, 14);
ПредставлениеДаты = ПолучитьСтрокуИзБуфераДвоичныхДанных(БуферДаты);
ОписаниеТипа = Новый ОписаниеТипов("Дата");
ДатаШтампа = ОписаниеТипа.ПривестиЗначение(ПредставлениеДаты);
КонецЕсли;
Возврат ДатаШтампа;
КонецФункции
// Находит в XML содержимое находящееся в теге.
//
// Параметры:
@@ -26,108 +26,12 @@
Возврат;
КонецЕсли;
ИмяАрхива = ПолучитьИмяВременногоФайла("zip");
ДвоичныеДанныеАрхива = ПолучитьИзВременногоХранилища(Адрес); // ДвоичныеДанные
ДвоичныеДанныеАрхива.Записать(ИмяАрхива);
КаталогОбновлений = ФайловаяСистема.СоздатьВременныйКаталог(
Строка(Новый УникальныйИдентификатор));
ЧтениеZipФайла = Новый ЧтениеZipФайла(ИмяАрхива);
ИмяФайлаПериодыДействия = Неопределено;
ИмяФайлаДатыОкончания = Неопределено;
Для Каждого ЭлементАрхива Из ЧтениеZipФайла.Элементы Цикл
Если СтрНачинаетсяС(ЭлементАрхива.Имя, "AccreditedCA") Тогда
ИмяФайлаПериодыДействия = ЭлементАрхива.Имя;
ЧтениеZipФайла.Извлечь(ЭлементАрхива, КаталогОбновлений);
Продолжить;
КонецЕсли;
Если СтрНачинаетсяС(ЭлементАрхива.Имя, "CAExpirationDateList") Тогда
ИмяФайлаДатыОкончания = ЭлементАрхива.Имя;
ЧтениеZipФайла.Извлечь(ЭлементАрхива, КаталогОбновлений);
Продолжить;
КонецЕсли;
КонецЦикла;
ЧтениеZipФайла.Закрыть();
ДанныеУЦ = Константы.АккредитованныеУдостоверяющиеЦентры.Получить().Получить();
Если ДанныеУЦ = Неопределено Тогда
ДанныеУЦ = Новый Структура;
ДанныеУЦ.Вставить("ПериодыДействия", Новый Структура("Данные, Версия, ДатаОбновления", Новый Соответствие, 0, Дата(1,1,1)));
ДанныеУЦ.Вставить("ДатыОкончанияДействия", Новый Структура("Данные, Версия, ДатаОбновления", Новый Соответствие, 0, Дата(1,1,1)));
ДанныеУЦ.Вставить("ГосударственныеУЦ", Новый Соответствие);
КонецЕсли;
Если ИмяФайлаДатыОкончания <> Неопределено Тогда
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.ОткрытьФайл(КаталогОбновлений + ИмяФайлаДатыОкончания);
ДатыОкончания = ПрочитатьJSON(ЧтениеJSON); // Структура
ЧтениеJSON.Закрыть();
// Подготовка соответствия для быстрого поиска.
Соответствие = Новый Соответствие;
Для Каждого УЦ Из ДатыОкончания Цикл
Соответствие.Вставить(УЦ.ОГРН, ПрочитатьДатуJSON(УЦ.ДатаОкончанияДействия, ФорматДатыJSON.ISO));
КонецЦикла;
ДанныеУЦ.ДатыОкончанияДействия.Данные = Соответствие;
ДанныеУЦ.ДатыОкончанияДействия.Версия = Версия;
ДанныеУЦ.ДатыОкончанияДействия.ДатаОбновления = ТекущаяДатаСеанса();
Иначе
ДанныеУЦ.ДатыОкончанияДействия.Данные = Новый Соответствие;
ДанныеУЦ.ДатыОкончанияДействия.Версия = Версия;
ДанныеУЦ.ДатыОкончанияДействия.ДатаОбновления = ТекущаяДатаСеанса();
КонецЕсли;
Если ИмяФайлаПериодыДействия <> Неопределено Тогда
СписокУЦ = ПрочитатьФайлПериодовДействияУЦ(КаталогОбновлений + ИмяФайлаПериодыДействия);
// Подготовка соответствия для быстрого поиска.
Соответствие = Новый Соответствие;
ГосударственныеУЦ = Новый Соответствие;
Для Каждого УЦ Из СписокУЦ Цикл
Наименование = ЭлектроннаяПодписьКлиентСерверЛокализация.ПодготовитьЗначениеПоиска(УЦ.Наименование);
КраткоеНаименование = ЭлектроннаяПодписьКлиентСерверЛокализация.ПодготовитьЗначениеПоиска(УЦ.КраткоеНаименование);
ПериодыДействияМассив = Новый Массив;
Для Каждого ТекущийПериод Из УЦ.ПериодыДействия Цикл
ПериодДействияСтруктура = Новый Структура("ДатаС, ДатаПо");
ПериодДействияСтруктура.ДатаС = ПрочитатьДатуJSON(ТекущийПериод.ДатаС, ФорматДатыJSON.ISO);
Если ЗначениеЗаполнено(ТекущийПериод.ДатаПо) Тогда
ПериодДействияСтруктура.ДатаПо = ПрочитатьДатуJSON(ТекущийПериод.ДатаПо, ФорматДатыJSON.ISO);
КонецЕсли;
ПериодыДействияМассив.Добавить(ПериодДействияСтруктура);
КонецЦикла;
Соответствие.Вставить(УЦ.ОГРН, ПериодыДействияМассив);
Соответствие.Вставить(Наименование, ПериодыДействияМассив);
Соответствие.Вставить(КраткоеНаименование, ПериодыДействияМассив);
Если УЦ.Государственный Тогда
ГосударственныеУЦ.Вставить(УЦ.ОГРН, Истина);
ГосударственныеУЦ.Вставить(Наименование, Истина);
ГосударственныеУЦ.Вставить(КраткоеНаименование, Истина);
КонецЕсли;
КонецЦикла;
ДанныеУЦ.ПериодыДействия.Данные = Соответствие;
ДанныеУЦ.ГосударственныеУЦ = ГосударственныеУЦ;
ДанныеУЦ.ПериодыДействия.Версия = Версия;
ДанныеУЦ.ПериодыДействия.ДатаОбновления = ТекущаяДатаСеанса();
КонецЕсли;
ДанныеУЦ = ПрочитатьАрхивКлассификатора(Адрес, Версия);
ХранилищеЗначения = Новый ХранилищеЗначения(ДанныеУЦ, Новый СжатиеДанных(6));
УстановитьПривилегированныйРежим(Истина);
Константы.АккредитованныеУдостоверяющиеЦентры.Установить(ХранилищеЗначения);
ФайловаяСистема.УдалитьВременныйКаталог(КаталогОбновлений);
ФайловаяСистема.УдалитьВременныйФайл(ИмяАрхива);
Обработан = Истина;
КонецПроцедуры
@@ -213,13 +117,18 @@
ДанныеУдостоверяющихЦентров = Константы.АккредитованныеУдостоверяющиеЦентры.Получить().Получить();
Если ДанныеУдостоверяющихЦентров = Неопределено Тогда
ДанныеУдостоверяющихЦентров = ДанныеУдостоверяющихЦентровИзМакета();
Если ДанныеУдостоверяющихЦентров = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
КонецЕсли;
Результат = Новый Структура;
Результат.Вставить("ПериодыДействия", ДанныеУдостоверяющихЦентров.ПериодыДействия.Данные);
Результат.Вставить("ДатаПроверкиОбновления", ДанныеУдостоверяющихЦентров.ПериодыДействия.ДатаОбновления);
Результат.Вставить("ДатаОбновления", ДанныеУдостоверяющихЦентров.ПериодыДействия.ДатаОбновления);
Результат.Вставить("ДатыОкончанияДействия", ДанныеУдостоверяющихЦентров.ДатыОкончанияДействия.Данные);
Результат.Вставить("ГосударственныеУЦ", ДанныеУдостоверяющихЦентров.ГосударственныеУЦ);
@@ -231,6 +140,162 @@
#Область СлужебныеПроцедурыИФункции
Функция ПрочитатьАрхивКлассификатора(Знач Архив, Версия = 0)
ИмяАрхива = ПолучитьИмяВременногоФайла("zip");
Если ТипЗнч(Архив) = Тип("Строка") Тогда
Архив = ПолучитьИзВременногоХранилища(Архив); // ДвоичныеДанные
КонецЕсли;
Архив.Записать(ИмяАрхива);
КаталогОбновлений = ФайловаяСистема.СоздатьВременныйКаталог(
Строка(Новый УникальныйИдентификатор));
ЧтениеZipФайла = Новый ЧтениеZipФайла(ИмяАрхива);
ИмяФайлаПериодыДействия = Неопределено;
ИмяФайлаДатыОкончания = Неопределено;
Для Каждого ЭлементАрхива Из ЧтениеZipФайла.Элементы Цикл
Если СтрНачинаетсяС(ЭлементАрхива.Имя, "AccreditedCA") Тогда
ИмяФайлаПериодыДействия = ЭлементАрхива.Имя;
ЧтениеZipФайла.Извлечь(ЭлементАрхива, КаталогОбновлений);
Продолжить;
КонецЕсли;
Если СтрНачинаетсяС(ЭлементАрхива.Имя, "CAExpirationDateList") Тогда
ИмяФайлаДатыОкончания = ЭлементАрхива.Имя;
ЧтениеZipФайла.Извлечь(ЭлементАрхива, КаталогОбновлений);
Продолжить;
КонецЕсли;
КонецЦикла;
ЧтениеZipФайла.Закрыть();
ДанныеУЦ = Новый Структура;
ДанныеУЦ.Вставить("ПериодыДействия", Новый Структура("Данные, Версия, ДатаОбновления", Новый Соответствие, 0, Дата(1,1,1)));
ДанныеУЦ.Вставить("ДатыОкончанияДействия", Новый Структура("Данные, Версия, ДатаОбновления", Новый Соответствие, 0, Дата(1,1,1)));
ДанныеУЦ.Вставить("ГосударственныеУЦ", Новый Соответствие);
Если ИмяФайлаДатыОкончания <> Неопределено Тогда
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.ОткрытьФайл(КаталогОбновлений + ИмяФайлаДатыОкончания);
ДатыОкончания = ПрочитатьJSON(ЧтениеJSON); // Структура
ЧтениеJSON.Закрыть();
// Подготовка соответствия для быстрого поиска.
Соответствие = Новый Соответствие;
Для Каждого УЦ Из ДатыОкончания Цикл
Соответствие.Вставить(УЦ.ОГРН, ПрочитатьДатуJSON(УЦ.ДатаОкончанияДействия, ФорматДатыJSON.ISO));
КонецЦикла;
ДанныеУЦ.ДатыОкончанияДействия.Данные = Соответствие;
Иначе
ДанныеУЦ.ДатыОкончанияДействия.Данные = Новый Соответствие;
КонецЕсли;
ДанныеУЦ.ДатыОкончанияДействия.Версия = Версия;
ДанныеУЦ.ДатыОкончанияДействия.ДатаОбновления = ТекущаяДатаСеанса();
Если ИмяФайлаПериодыДействия <> Неопределено Тогда
СписокУЦ = ПрочитатьФайлПериодовДействияУЦ(КаталогОбновлений + ИмяФайлаПериодыДействия);
// Подготовка соответствия для быстрого поиска.
Соответствие = Новый Соответствие;
ГосударственныеУЦ = Новый Соответствие;
Для Каждого УЦ Из СписокУЦ Цикл
Наименование = ЭлектроннаяПодписьКлиентСерверЛокализация.ПодготовитьЗначениеПоиска(УЦ.Наименование);
КраткоеНаименование = ЭлектроннаяПодписьКлиентСерверЛокализация.ПодготовитьЗначениеПоиска(УЦ.КраткоеНаименование);
ПериодыДействияМассив = Новый Массив;
Для Каждого ТекущийПериод Из УЦ.ПериодыДействия Цикл
ПериодДействияСтруктура = Новый Структура("ДатаС, ДатаПо");
ПериодДействияСтруктура.ДатаС = ПрочитатьДатуJSON(ТекущийПериод.ДатаС, ФорматДатыJSON.ISO);
Если ЗначениеЗаполнено(ТекущийПериод.ДатаПо) Тогда
ПериодДействияСтруктура.ДатаПо = ПрочитатьДатуJSON(ТекущийПериод.ДатаПо, ФорматДатыJSON.ISO);
КонецЕсли;
ПериодыДействияМассив.Добавить(ПериодДействияСтруктура);
КонецЦикла;
Соответствие.Вставить(УЦ.ОГРН, ПериодыДействияМассив);
Соответствие.Вставить(Наименование, ПериодыДействияМассив);
Соответствие.Вставить(КраткоеНаименование, ПериодыДействияМассив);
Если УЦ.Государственный Тогда
ГосударственныеУЦ.Вставить(УЦ.ОГРН, Истина);
ГосударственныеУЦ.Вставить(Наименование, Истина);
ГосударственныеУЦ.Вставить(КраткоеНаименование, Истина);
КонецЕсли;
КонецЦикла;
ДанныеУЦ.ПериодыДействия.Данные = Соответствие;
ДанныеУЦ.ГосударственныеУЦ = ГосударственныеУЦ;
ДанныеУЦ.ПериодыДействия.Версия = Версия;
ДанныеУЦ.ПериодыДействия.ДатаОбновления = ТекущаяДатаСеанса();
КонецЕсли;
ФайловаяСистема.УдалитьВременныйКаталог(КаталогОбновлений);
ФайловаяСистема.УдалитьВременныйФайл(ИмяАрхива);
Возврат ДанныеУЦ;
КонецФункции
Функция ДанныеУдостоверяющихЦентровИзМакета()
ОбработкаПрограммыЭлектроннойПодписиИШифрования = Метаданные.Обработки.Найти(
"ПрограммыЭлектроннойПодписиИШифрования");
Если ОбработкаПрограммыЭлектроннойПодписиИШифрования = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
ТаблицаВерсий = Новый ТаблицаЗначений;
ТаблицаВерсий.Колонки.Добавить("ИмяМакета");
ТаблицаВерсий.Колонки.Добавить("РасширеннаяВерсия", ОбщегоНазначения.ОписаниеТипаСтрока(23));
Для Каждого Макет Из ОбработкаПрограммыЭлектроннойПодписиИШифрования.Макеты Цикл
Если Макет.ТипМакета <> Метаданные.СвойстваОбъектов.ТипМакета.ДвоичныеДанные Тогда
Продолжить;
КонецЕсли;
ИмяМакета = Макет.Имя;
НачалоИмениМакета = "КлассификаторАУЦ";
Если СтрНачинаетсяС(ВРег(ИмяМакета), ВРег(НачалоИмениМакета)) Тогда
Если Сред(ИмяМакета, СтрДлина(НачалоИмениМакета) + 1, 1) <> "_" Тогда
Продолжить;
КонецЕсли;
Версия = Сред(ИмяМакета, СтрДлина(НачалоИмениМакета) + 1);
ЧастиВерсии = СтрРазделить(Версия, "_", Ложь);
Если ЧастиВерсии.Количество() <> 4 Тогда
Продолжить;
КонецЕсли;
РасширенныеЧастиВерсии = Новый Массив;
Для Каждого ЧастьВерсии Из ЧастиВерсии Цикл
РасширенныеЧастиВерсии.Добавить(ВРег(Прав("0000" + ЧастьВерсии, 5)));
КонецЦикла;
СтрокаТаблицыВерсий = ТаблицаВерсий.Добавить();
СтрокаТаблицыВерсий.ИмяМакета = ИмяМакета;
СтрокаТаблицыВерсий.РасширеннаяВерсия = СтрСоединить(РасширенныеЧастиВерсии, "_");
КонецЕсли;
КонецЦикла;
Если ТаблицаВерсий.Количество() = 0 Тогда
Возврат Неопределено;
КонецЕсли;
ТаблицаВерсий.Сортировать("РасширеннаяВерсия Убыв");
ДвоичныеДанныеКлассификатора = Обработки["ПрограммыЭлектроннойПодписиИШифрования"].ПолучитьМакет(
ТаблицаВерсий[0].ИмяМакета);
ДанныеУЦ = ПрочитатьАрхивКлассификатора(ДвоичныеДанныеКлассификатора);
Возврат ДанныеУЦ;
КонецФункции
// Прочитать файл периодов действия УЦ.
//
// Параметры:
@@ -117,8 +117,14 @@
ОбщиеНастройки.Вставить("ВерсияНастроек", Строка(Новый УникальныйИдентификатор));
ОбщиеНастройки.Вставить("ДоступнаУсовершенствованнаяПодпись", ДоступнаУсовершенствованнаяПодпись());
ОбщиеНастройки.Вставить("АдресаСерверовМетокВремени",
СтрРазделить(Константы.АдресаСерверовМетокВремени.Получить(), ", ;" + Символы.ПС));
АдресаСерверовМетокВремени = Константы.АдресаСерверовМетокВремени.Получить();
Если Не ПустаяСтрока(АдресаСерверовМетокВремени) Тогда
ОбщиеНастройки.Вставить("АдресаСерверовМетокВремени", СтрРазделить(АдресаСерверовМетокВремени, ", ;" + Символы.ПС));
Иначе
ОбщиеНастройки.Вставить("АдресаСерверовМетокВремени", Новый Массив);
КонецЕсли;
ОбщиеНастройки.Вставить("УсовершенствоватьПодписиАвтоматически", Константы.УсовершенствоватьПодписиАвтоматически.Получить());
ОбщиеНастройки.Вставить("ДобавлятьМеткиВремениАвтоматически", Константы.ДобавлятьМеткиВремениАвтоматически.Получить());
ОбщиеНастройки.Вставить("УсовершенствоватьПодписиСДаты", Константы.УсовершенствоватьПодписиСДаты.Получить());
+11 -10
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c9997719-b88a-4898-8eeb-bc5f0e030937">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="0479ec3a-155b-4805-9653-1f8eef47f6c2">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="3218c3af-a5d4-4659-806d-7bab18c60016"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="d360a007-9bb9-4116-ab52-7f91358c14c8"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="54410f05-a9e2-4ecb-9212-2d789dbc0169"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="577724c7-68c5-46eb-9dfb-1a695c8031b8"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="1decf264-403f-422a-b962-42d1eb917eac"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="9571e2df-4223-4bc2-820f-e58e9d0a4b70"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="af8d915e-17f3-42f9-9822-236257dc37bb"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="9bc06270-f0e9-43a9-8693-4f440cefe1b3"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="681db7ee-5861-42c5-9932-cd8574c8e36d"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="8241b7a6-8c06-4146-9e17-5766fa8372be"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="86974188-6379-4b9a-a893-327192ba1699"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="3718cbbb-5648-48fd-99bd-f3fe57df2310"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="db439ea0-3fae-496b-948d-f64f5949a813"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="017752df-8618-42c4-bf9d-09a5f65744e5"/>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor>
<version>3.1.6.227</version>
<version>3.1.6.245</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -654,6 +654,7 @@
<sessionParameters>SessionParameter.ОбластьДанныхЗначение</sessionParameters>
<sessionParameters>SessionParameter.ОбластьДанныхИспользование</sessionParameters>
<sessionParameters>SessionParameter.ОбновитьВерсиюДатЗапретаИзмененияПослеЗагрузкиДанных</sessionParameters>
<sessionParameters>SessionParameter.ОбновлениеСправочниковИдентификаторов</sessionParameters>
<sessionParameters>SessionParameter.ОбщиеПараметрыШаблоновОграниченияДоступа</sessionParameters>
<sessionParameters>SessionParameter.ОграничениеДоступаНаУровнеЗаписейИспользуется</sessionParameters>
<sessionParameters>SessionParameter.ОграничениеДоступаНаУровнеЗаписейУниверсально</sessionParameters>
@@ -1293,7 +1294,7 @@
<xDTOPackages>XDTOPackage.DataArtefacts_Files_1_0_0_1</xDTOPackages>
<xDTOPackages>XDTOPackage.DataArtefacts_ServiceUsers_1_0_0_1</xDTOPackages>
<xDTOPackages>XDTOPackage.DataDump_1_0_2_1</xDTOPackages>
<xDTOPackages>XDTOPackage.EnterpriseData_1_10_7</xDTOPackages>
<xDTOPackages>XDTOPackage.EnterpriseData_1_10_8</xDTOPackages>
<xDTOPackages>XDTOPackage.EnterpriseData_1_2_3</xDTOPackages>
<xDTOPackages>XDTOPackage.EnterpriseData_1_3_20</xDTOPackages>
<xDTOPackages>XDTOPackage.EnterpriseData_1_4_20</xDTOPackages>
@@ -1 +1 @@
{6,1,1,db756f6c-5067-49b6-b5b3-5f0c973d5c57,1,2a441f2d-0fb7-4513-b936-3d91a43811c9,"3.1.6.227","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6731,1,0,c9997719-b88a-4898-8eeb-bc5f0e030937,c9997719-b88a-4898-8eeb-bc5f0e030937,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,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,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,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,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,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,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,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,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,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7Line truncated
{6,1,1,c3ff1297-3a60-4438-9c34-109402d666a9,1,f7551921-a6e0-4955-85d9-65bb29121039,"3.1.6.245","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6733,1,0,0479ec3a-155b-4805-9653-1f8eef47f6c2,0479ec3a-155b-4805-9653-1f8eef47f6c2,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,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,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,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,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,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,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,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,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,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7Line truncated
@@ -45,7 +45,7 @@
Функция ВерсияКалендарей() Экспорт
Возврат 37;
Возврат 39;
КонецФункции
@@ -57,7 +57,7 @@
Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт
Возврат "3.1.6.215";
Возврат "3.1.6.235";
КонецФункции
@@ -28,7 +28,9 @@
<Item Calendar="01" Year="2021" DayType="Предпраздничный" Date="20211004" SwapDate=""/>
<Item Calendar="01" Year="2021" DayType="Праздник" Date="20211005" SwapDate=""/>
<Item Calendar="01" Year="2022" DayType="Праздник" Date="20220502" SwapDate="20220504"/>
<Item Calendar="01" Year="2022" DayType="Праздник" Date="20220503" SwapDate="20220505"/>
<Item Calendar="01" Year="2022" DayType="Воскресенье" Date="20220504" SwapDate="20220501"/>
<Item Calendar="01" Year="2022" DayType="Суббота" Date="20220505" SwapDate="20220101"/>
<Item Calendar="01" Year="2022" DayType="Предпраздничный" Date="20220708" SwapDate=""/>
<Item Calendar="01" Year="2022" DayType="Праздник" Date="20220709" SwapDate="20220711"/>
<Item Calendar="01" Year="2022" DayType="Суббота" Date="20220711" SwapDate="20220709"/>
@@ -256,8 +258,6 @@
<Item Calendar="07" Year="2021" DayType="Праздник" Date="20210901" SwapDate=""/>
<Item Calendar="07" Year="2021" DayType="Праздник" Date="20210920" SwapDate=""/>
<Item Calendar="07" Year="2022" DayType="Нерабочий" Date="20220328" SwapDate=""/>
<Item Calendar="07" Year="2022" DayType="Праздник" Date="20220502" SwapDate="20220504"/>
<Item Calendar="07" Year="2022" DayType="Воскресенье" Date="20220504" SwapDate="20220501"/>
<Item Calendar="07" Year="2022" DayType="Нерабочий" Date="20220521" SwapDate=""/>
<Item Calendar="07" Year="2022" DayType="Предпраздничный" Date="20220708" SwapDate=""/>
<Item Calendar="07" Year="2022" DayType="Праздник" Date="20220709" SwapDate="20220711"/>
@@ -320,8 +320,11 @@
<Item Calendar="08" Year="2021" DayType="Праздник" Date="20211229" SwapDate=""/>
<Item Calendar="08" Year="2022" DayType="Предпраздничный" Date="20220302" SwapDate=""/>
<Item Calendar="08" Year="2022" DayType="Праздник" Date="20220303" SwapDate=""/>
<Item Calendar="08" Year="2022" DayType="Праздник" Date="20220614" SwapDate=""/>
<Item Calendar="08" Year="2022" DayType="Предпраздничный" Date="20220704" SwapDate=""/>
<Item Calendar="08" Year="2022" DayType="Праздник" Date="20220705" SwapDate=""/>
<Item Calendar="08" Year="2022" DayType="Праздник" Date="20221218" SwapDate="20221219"/>
<Item Calendar="08" Year="2022" DayType="Воскресенье" Date="20221219" SwapDate="20221218"/>
<Item Calendar="08" Year="2022" DayType="Нерабочий" Date="20221228" SwapDate=""/>
<Item Calendar="09" Year="2016" DayType="Праздник" Date="20160503" SwapDate="20160504"/>
<Item Calendar="09" Year="2016" DayType="Суббота" Date="20160504" SwapDate="20160503"/>
@@ -358,9 +361,9 @@
<Item Calendar="09" Year="2021" DayType="Суббота" Date="20210504" SwapDate="20210503"/>
<Item Calendar="09" Year="2021" DayType="Нерабочий" Date="20210513" SwapDate=""/>
<Item Calendar="09" Year="2021" DayType="Нерабочий" Date="20210720" SwapDate=""/>
<Item Calendar="09" Year="2022" DayType="Нерабочий" Date="20220502" SwapDate="20220501"/>
<Item Calendar="09" Year="2022" DayType="Суббота" Date="20220502" SwapDate="20220503"/>
<Item Calendar="09" Year="2022" DayType="Праздник" Date="20220503" SwapDate="20220504"/>
<Item Calendar="09" Year="2022" DayType="Суббота" Date="20220504" SwapDate="20220503"/>
<Item Calendar="09" Year="2022" DayType="Рабочий" Date="20220504" SwapDate="20220501"/>
<Item Calendar="09" Year="2022" DayType="Нерабочий" Date="20220709" SwapDate=""/>
<Item Calendar="11" Year="2016" DayType="Праздник" Date="20160822" SwapDate=""/>
<Item Calendar="11" Year="2017" DayType="Предпраздничный" Date="20170821" SwapDate=""/>
@@ -4054,7 +4054,7 @@
КонецЕсли;
конецЕсли;
КонецЕсли;
ИначеЕсли ЧтениеJSON.ТипТекущегоЗначения = ТипЗначенияJSON.НачалоОбъекта
ИЛИ ЧтениеJSON.ТипТекущегоЗначения = ТипЗначенияJSON.НачалоМассива
@@ -1960,11 +1960,11 @@
// Возвращает время прошедшее между указанными датами в формате "00:00:00".
// Если задан параметр СтруктураВремени, то в нем возвращаются отдельные значения Часы, Минуты, Секунды.
// если ВремяНач = 0 преобразовывает дату в формат времени возвращает СтруктуруВремени если попросить.
// если ВремяНачала = 0 преобразовывает дату в формат времени возвращает СтруктуруВремени если попросить.
//
// Параметры:
// ВремяКон - Дата - время окончания.
// ВремяНач - Дата - время начала.
// ВремяОкончания - Дата - время окончания.
// ВремяНачала - Дата - время начала.
// СтруктураВремени - Структура - составляющие части в отдельности:
// * Часы - Число
// * Минуты - Число
@@ -1974,8 +1974,8 @@
// Возвращаемое значение:
// Строка
//
Функция РазностьВремени(ВремяКон, ВремяНач = 0, СтруктураВремени = Неопределено)
Разность = ВремяКон - ВремяНач;
Функция РазностьВремени(ВремяОкончания, ВремяНачала = 0, СтруктураВремени = Неопределено)
Разность = ВремяОкончания - ВремяНачала;
РазностьВремениСек = Макс(-Разность,Разность);
Часы = Цел(РазностьВремениСек/3600);
Минуты = Цел(РазностьВремениСек/60) - 60*Часы;
@@ -3907,6 +3907,9 @@
<items xsi:type="form:FormGroup">
<name>БИПГруппаИнтеграцияСПлатежнымиСистемами</name>
<id>1921</id>
<items xsi:type="form:FormGroup">
<name>БИПГруппаИнтеграцияСПлатежнымиСистемамиЛево</name>
<id>1995</id>
<items xsi:type="form:FormGroup">
<name>БИПГруппаНастройкиИнтеграции</name>
<id>1941</id>
@@ -3976,6 +3979,98 @@
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>БИПГруппаНастройкаШаблоновСБП</name>
<id>1999</id>
<items xsi:type="form:Button">
<name>БИПОткрытьШаблоныСообщенийСБП</name>
<id>2001</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>БИПОткрытьШаблоныСообщенийСБПРасширеннаяПодсказка</name>
<id>2002</id>
<title>
<key>ru</key>
<value>Шаблоны необходимы для отправки писем и SMS со счетами на оплату через СБП.</value>
</title>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Hyperlink</type>
<commandName>Form.Command.БИПОткрытьШаблоныСообщенийСБП</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<toolTipRepresentation>ShowBottom</toolTipRepresentation>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Группа настройка шаблонов СБП</value>
</title>
<extendedTooltip>
<name>БИПГруппаНастройкаШаблоновСБПРасширеннаяПодсказка</name>
<id>2000</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>AlwaysHorizontal</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>БИПГруппаИнтеграцияСПлатежнымиСистемамиЛевоРасширеннаяПодсказка</name>
<id>1996</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>БИПГруппаИнтеграцияСПлатежнымиСистемамиПраво</name>
<id>1997</id>
<items xsi:type="form:FormGroup">
<name>БИПГруппаДлительностьОперации</name>
<id>1943</id>
@@ -4104,6 +4199,31 @@
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>БИПГруппаИнтеграцияСПлатежнымиСистемамиПравоРасширеннаяПодсказка</name>
<id>1998</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Система быстрых платежей</value>
@@ -4320,7 +4440,7 @@
<name>БИПОнлайнОплатыЛево</name>
<id>1960</id>
<items xsi:type="form:FormField">
<name>ИспользоватьОнлайнОплаты</name>
<name>БИПИспользоватьОнлайнОплаты</name>
<id>1962</id>
<title>
<key>ru</key>
@@ -4342,10 +4462,10 @@
<toolTipRepresentation>ShowBottom</toolTipRepresentation>
<handlers>
<event>OnChange</event>
<name>ИспользоватьОнлайнОплатыПриИзменении</name>
<name>БИПИспользоватьОнлайнОплатыПриИзменении</name>
</handlers>
<extendedTooltip>
<name>ИспользоватьОнлайнОплатыРасширеннаяПодсказка</name>
<name>БИПИспользоватьОнлайнОплатыРасширеннаяПодсказка</name>
<id>1964</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
@@ -4355,7 +4475,7 @@
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ИспользоватьОнлайнОплатыКонтекстноеМеню</name>
<name>БИПИспользоватьОнлайнОплатыКонтекстноеМеню</name>
<id>1963</id>
<autoFill>true</autoFill>
</contextMenu>
@@ -4370,7 +4490,7 @@
<name>ГруппаПолучениеУведомлений</name>
<id>1965</id>
<items xsi:type="form:FormField">
<name>ИспользоватьАвтоматическоеПолучениеУведомленияОтОнлайнОплат</name>
<name>БИПИспользоватьАвтоматическоеПолучениеУведомленияОтОнлайнОплат</name>
<id>1967</id>
<title>
<key>ru</key>
@@ -4387,10 +4507,10 @@
<titleLocation>Right</titleLocation>
<handlers>
<event>OnChange</event>
<name>ИспользоватьАвтоматическоеПолучениеУведомленияОтОнлайнОплатПриИзменении</name>
<name>БИПИспользоватьАвтоматическоеПолучениеУведомленияОтОнлайнОплатПриИзменении</name>
</handlers>
<extendedTooltip>
<name>ИспользоватьАвтоматическоеПолучениеУведомленияОтОнлайнОплатРасширеннаяПодсказка</name>
<name>БИПИспользоватьАвтоматическоеПолучениеУведомленияОтОнлайнОплатРасширеннаяПодсказка</name>
<id>1969</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
@@ -4400,7 +4520,7 @@
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ИспользоватьАвтоматическоеПолучениеУведомленияОтОнлайнОплатКонтекстноеМеню</name>
<name>БИПИспользоватьАвтоматическоеПолучениеУведомленияОтОнлайнОплатКонтекстноеМеню</name>
<id>1968</id>
<autoFill>true</autoFill>
</contextMenu>
@@ -4516,7 +4636,7 @@
<name>ГруппаНастройкиОнлайнОплатыПраво</name>
<id>1975</id>
<items xsi:type="form:Button">
<name>ОткрытьНастройкиОнлайнОплат</name>
<name>БИПОткрытьНастройкиОнлайнОплат</name>
<id>1977</id>
<title>
<key>ru</key>
@@ -4528,7 +4648,7 @@
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ОткрытьНастройкиОнлайнОплатРасширеннаяПодсказка</name>
<name>БИПОткрытьНастройкиОнлайнОплатРасширеннаяПодсказка</name>
<id>1978</id>
<title>
<key>ru</key>
@@ -4542,7 +4662,7 @@
</extInfo>
</extendedTooltip>
<type>Hyperlink</type>
<commandName>Form.Command.ОткрытьНастройкиОнлайнОплат</commandName>
<commandName>Form.Command.БИПОткрытьНастройкиОнлайнОплат</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
@@ -4555,7 +4675,7 @@
<name>ГруппаНастройкаШаблоновОнлайнОплат</name>
<id>1982</id>
<items xsi:type="form:Button">
<name>ОткрытьШаблоныСообщений</name>
<name>БИПОткрытьШаблоныСообщенийОнлайнОплат</name>
<id>1984</id>
<visible>true</visible>
<enabled>true</enabled>
@@ -4563,7 +4683,7 @@
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ОткрытьШаблоныСообщенийРасширеннаяПодсказка</name>
<name>БИПОткрытьШаблоныСообщенийОнлайнОплатРасширеннаяПодсказка</name>
<id>1985</id>
<title>
<key>ru</key>
@@ -4577,7 +4697,7 @@
</extInfo>
</extendedTooltip>
<type>Hyperlink</type>
<commandName>Form.Command.ОткрытьШаблоныСообщений</commandName>
<commandName>Form.Command.БИПОткрытьШаблоныСообщенийОнлайнОплат</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
@@ -5363,10 +5483,10 @@
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>ОткрытьНастройкиОнлайнОплат</name>
<name>БИПОткрытьНастройкиОнлайнОплат</name>
<title>
<key>ru</key>
<value>Открыть настройки онлайн оплат</value>
<value>БИПОткрыть настройки онлайн оплат</value>
</title>
<id>14</id>
<use>
@@ -5374,14 +5494,14 @@
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ОткрытьНастройкиОнлайнОплат</name>
<name>БИПОткрытьНастройкиОнлайнОплат</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>ОткрытьШаблоныСообщений</name>
<name>БИПОткрытьШаблоныСообщенийОнлайнОплат</name>
<title>
<key>ru</key>
<value>Шаблоны сообщений</value>
@@ -5392,7 +5512,7 @@
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ОткрытьШаблоныСообщений</name>
<name>БИПОткрытьШаблоныСообщенийОнлайнОплат</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
@@ -5420,6 +5540,24 @@
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>БИПОткрытьШаблоныСообщенийСБП</name>
<title>
<key>ru</key>
<value>Шаблоны сообщений</value>
</title>
<id>18</id>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>БИПОткрытьШаблоныСообщенийСБП</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -451,7 +451,7 @@
КонецПроцедуры
&НаКлиенте
Процедура ИспользоватьОнлайнОплатыПриИзменении(Элемент)
Процедура БИПИспользоватьОнлайнОплатыПриИзменении(Элемент)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.ОнлайнОплаты") Тогда
МодульОнлайнОплаты = ОбщегоНазначенияКлиент.ОбщийМодуль("ОнлайнОплатыКлиент");
@@ -463,7 +463,7 @@
КонецПроцедуры
&НаКлиенте
Процедура ИспользоватьАвтоматическоеПолучениеУведомленияОтОнлайнОплатПриИзменении(Элемент)
Процедура БИПИспользоватьАвтоматическоеПолучениеУведомленияОтОнлайнОплатПриИзменении(Элемент)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.ОнлайнОплаты") Тогда
МодульПолучениеУведомленияОтОнлайнОплат = ОбщегоНазначенияКлиент.ОбщийМодуль("ОнлайнОплатыКлиент");
@@ -477,57 +477,52 @@
&НаКлиенте
Процедура ДекорацияРасписаниеПолученияУведомленийОтОнлайнОплатНажатие(Элемент)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.ОнлайнОплаты") Тогда
МодульОнлайнОплатыКлиент =
ОбщегоНазначенияКлиент.ОбщийМодуль("ОнлайнОплатыКлиент");
МодульОнлайнОплатыКлиент.ИнтернетПоддержкаИСервисы_ДекорацияРасписаниеПолученияУведомленийОтОнлайнОплатНажатие(
ЭтотОбъект,
Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьНастройкиОнлайнОплат(Команда)
ФормаСписка = "Справочник.НастройкиОнлайнОплат.Форма.ФормаСписка";
ОткрытьФорму(ФормаСписка, , ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьШаблоныСообщений(Команда)
Если Не ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ШаблоныСообщений") Тогда
Возврат;
КонецЕсли;
МодульОнлайнОплатыСлужебныйВызовСервера =
ОбщегоНазначенияКлиент.ОбщийМодуль("ОнлайнОплатыСлужебныйВызовСервера");
КонецПроцедуры
РезультатПроверки = МодульОнлайнОплатыСлужебныйВызовСервера.ВсеШаблоныСозданы();
&НаКлиенте
Процедура БИПОткрытьНастройкиОнлайнОплат(Команда)
Если РезультатПроверки.ВсеШаблоны Тогда
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.ОнлайнОплаты") Тогда
ФормаСписка = "Справочник.НастройкиОнлайнОплат.Форма.ФормаСписка";
ОткрытьФорму(ФормаСписка, , ЭтотОбъект);
КонецЕсли;
МодульОнлайнОплатыСлужебныйКлиент =
ОбщегоНазначенияКлиент.ОбщийМодуль("ОнлайнОплатыСлужебныйКлиент");
КонецПроцедуры
МодульОнлайнОплатыСлужебныйКлиент.ОткрытьФормуШаблонаСообщенийСОтбором(
РезультатПроверки.МассивШаблонов,
&НаКлиенте
Процедура БИПОткрытьШаблоныСообщенийОнлайнОплат(Команда)
Если (ОбщегоНазначенияКлиент.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.ОнлайнОплаты")
И ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ШаблоныСообщений")) Тогда
МодульОнлайнОплатыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ОнлайнОплатыКлиент");
МодульОнлайнОплатыКлиент.ИнтернетПоддержкаИСервисы_ОткрытьШаблоныСообщенийОнлайнОплат(УникальныйИдентификатор);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура БИПОткрытьШаблоныСообщенийСБП(Команда)
Если (ОбщегоНазначенияКлиент.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.ИнтеграцияСПлатежнымиСистемами")
И ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ШаблоныСообщений")) Тогда
МодульИнтеграцияСПлатежнымиСистемамиКлиент
= ОбщегоНазначенияКлиент.ОбщийМодуль("ИнтеграцияСПлатежнымиСистемамиКлиент");
МодульИнтеграцияСПлатежнымиСистемамиКлиент.ИнтернетПоддержкаИСервисы_ОткрытьШаблоныСообщенийСБП(
УникальныйИдентификатор);
Иначе
РезультатПроверки.Вставить("УникальныйИдентификатор",УникальныйИдентификатор);
Оповещение = Новый ОписаниеОповещения(
"ПослеОтветаНаВопросОСозданииШаблонов",
ОбщегоНазначенияКлиент.ОбщийМодуль("ОнлайнОплатыСлужебныйКлиент"),
РезультатПроверки);
ПоказатьВопрос(
Оповещение,
НСтр("ru='Создать шаблоны сообщений для автоматического заполнения на основании данных документов?'"),
РежимДиалогаВопрос.ДаНетОтмена);
КонецЕсли;
КонецПроцедуры
@@ -19,4 +19,13 @@
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
<templates uuid="766f2abe-1dfd-4e16-bffd-83f44d25d82a">
<name>КлассификаторАУЦ_1_0_0_0</name>
<synonym>
<key>ru</key>
<value>Классификатор АУЦ</value>
</synonym>
<comment>АПК:497 Не подлежит переводу, находится в локализованной части</comment>
<templateType>BinaryData</templateType>
</templates>
</mdclass:DataProcessor>
@@ -274,8 +274,6 @@
ТекстОшибки = РезультатУстановки.КраткоеОписаниеОшибки
+ Символы.ПС + Символы.ПС + НСтр("ru = 'Технические подробности о проблеме см. в журнале регистрации.'");
ОшибкаПриУстановкеПатчей = РезультатУстановки.ПодробноеОписаниеОшибки;
Кнопки = Новый СписокЗначений;
Кнопки.Добавить("ЖурналРегистрации", НСтр("ru = 'Журнал регистрации'"));
Кнопки.Добавить("Закрыть", НСтр("ru = 'Закрыть'"));
@@ -838,8 +838,8 @@
КонецФункции
&НаСервере
Процедура УстановитьВидимостьДополнительныхРеквизитов(НачальноеНомер, КонечныйНомер, Видимость)
Для Сч = НачальноеНомер По КонечныйНомер Цикл
Процедура УстановитьВидимостьДополнительныхРеквизитов(НачальныйНомер, КонечныйНомер, Видимость)
Для Сч = НачальныйНомер По КонечныйНомер Цикл
Элементы["ДеревоПомеченныхНаУдалениеРеквизит" + Сч].Видимость = Видимость;
КонецЦикла;
КонецПроцедуры
@@ -421,7 +421,9 @@
ПараметрыОперации.НаименованиеФоновогоЗадания = НСтр("ru = 'Фоновое обновление параметров работы версий расширений'");
ПараметрыОперации.ОжидатьЗавершение = ОжидатьЗавершение;
Если ОбщегоНазначения.РежимОтладки() Тогда
Если ОбщегоНазначения.РежимОтладки()
И Не СтандартныеПодсистемыСервер.ЭтоРазделенныйРежимСеансаБезРазделителей() Тогда
СообщитьПрогресс = Ложь;
КонецЕсли;
@@ -696,6 +696,7 @@
Элементы.МакетыУсловияДоступности.Доступность = ТекущийМакетВыбран И ТекущийМакет.ДоступнаНастройкаВидимости;
Элементы.МакетыСкопировать.Доступность = ТекущийМакетВыбран И ТекущийМакет.ЭтоПечатнаяФорма И Не ВыбраноНесколькоМакетов;
Элементы.МакетыДобавитьМакет.Доступность = ТекущийМакетВыбран И ТекущийМакет.ДоступноСоздание;
Элементы.МакетыИзменитьМакет.Доступность = ТекущийМакетВыбран И Не ТекущийМакет.ЭтоГруппа;
КонецПроцедуры
@@ -23,6 +23,16 @@
Блокировка = Новый БлокировкаДанных;
Блокировка.Добавить("РегистрСведений.СоставыГруппПользователей");
ЭлементБлокировки = Блокировка.Добавить("Справочник.Пользователи");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
ЭлементБлокировки = Блокировка.Добавить("Справочник.ГруппыПользователей");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
ЭлементБлокировки = Блокировка.Добавить("Справочник.ВнешниеПользователи");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
ЭлементБлокировки = Блокировка.Добавить("Справочник.ГруппыВнешнихПользователей");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
НачатьТранзакцию();
Попытка
Блокировка.Заблокировать();
@@ -30,7 +30,7 @@
Процедура ОбновитьВерсиюДатЗапретаИзмененияПриЗагрузкеДанных()
// Изменения в обычном режиме записи регистрируются в общем модуле ПользователиСлужебный
// в процедуре ПослеОбновленияСоставовГруппПользователейПереопределяемый.
// в процедуре ПослеОбновленияСоставовГруппПользователей.
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДатыЗапретаИзменения") Тогда
МодульДатыЗапретаИзмененияСлужебный = ОбщегоНазначения.ОбщийМодуль("ДатыЗапретаИзмененияСлужебный");
@@ -26,11 +26,12 @@
ПериодСравненияНастройка = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ПериодСравнения");
ПериодСравненияНастройкаПользовательская = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ПериодСравненияНастройка.ИдентификаторПользовательскойНастройки);
Период = ПериодСравненияНастройкаПользовательская.Значение; // СтандартныйПериод
Если ПериодСравненияНастройкаПользовательская <> Неопределено
И ПериодСравненияНастройкаПользовательская.Использование Тогда
Период = ПериодСравненияНастройкаПользовательская.Значение; // СтандартныйПериод
ПараметрДанных = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериодаСравненияЧисло");
ПараметрДанных.Значение = (УниверсальноеВремя(Период.ДатаНачала) - Дата(1,1,1)) * 1000;
ПараметрДанных.Использование = Истина;
@@ -398,6 +398,26 @@
КонецЕсли;
КонецЕсли;
Если СвойстваНастройки.ПолеКД = Новый ПолеКомпоновкиДанных("ПараметрыДанных.ОбъектМетаданных") Тогда
Если ТипЗнч(СвойстваНастройки.ПользовательскаяНастройкаКД.Значение) = Тип("СписокЗначений") Тогда
Для Каждого Элемент Из СвойстваНастройки.ПользовательскаяНастройкаКД.Значение Цикл
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(Элемент.Значение);
Если ОбъектМетаданных = Неопределено Тогда
Продолжить;
КонецЕсли;
Элемент.Представление = ОбъектМетаданных.Представление();
КонецЦикла;
ИначеЕсли ТипЗнч(СвойстваНастройки.ПользовательскаяНастройкаКД.Значение) = Тип("Строка") Тогда
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(СвойстваНастройки.ПользовательскаяНастройкаКД.Значение);
Если ОбъектМетаданных = Неопределено Тогда
Возврат;
КонецЕсли;
СписокЗначений = Новый СписокЗначений;
СписокЗначений.Добавить(СвойстваНастройки.ПользовательскаяНастройкаКД.Значение, ОбъектМетаданных.Представление());
СвойстваНастройки.ПользовательскаяНастройкаКД.Значение = СписокЗначений;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
@@ -3,6 +3,93 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
@@ -4168,93 +4255,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>CommonCommand.ПоказатьРезультатРезервногоКопирования</name>
<right>
@@ -21,6 +21,33 @@
<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>
</object>
<object>
<name>InformationRegister.НаличиеФайлов</name>
<right>
@@ -2253,33 +2280,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>
</object>
<object>
<name>Constant.ОграничиватьДоступНаУровнеЗаписей</name>
<right>
@@ -10,6 +10,33 @@
<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>
</object>
<object>
<name>InformationRegister.НаличиеФайлов</name>
<right>
@@ -1829,33 +1856,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>
</object>
<object>
<name>Constant.ОграничиватьДоступНаУровнеЗаписей</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>CommonCommand.СвязатьсяСоСпециалистомОнлайнПоддержки</name>
<right>
@@ -31,33 +58,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>
</object>
<object>
<name>CommonCommand.НастройкаОнлайнПоддержки</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>WebService.Exchange.Operation.SaveFileFromParts</name>
<right>
@@ -467,33 +494,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>
</object>
<object>
<name>WebService.Exchange_3_0_1_1.Operation.PrepareGetFile</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>InformationRegister.ДомаЗданияСтроения</name>
<right>
@@ -210,33 +237,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>
</object>
<object>
<name>InformationRegister.ЗемельныеУчастки</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>DataProcessor.ЗагрузкаКлассификатораБанков.Command.ЗагрузкаКлассификатораБанков</name>
<right>
@@ -60,31 +87,4 @@
<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>
</object>
</Rights>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>Catalog.ВариантыОтчетов</name>
<right>
@@ -158,33 +185,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>
</object>
<object>
<name>Catalog.ВариантыОтчетов.Command.РазместитьВРазделах</name>
<right>
@@ -72,6 +72,33 @@
<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>
</object>
<object>
<name>Catalog.ПапкиЭлектронныхПисем</name>
<right>
@@ -1135,33 +1162,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>
</object>
<object>
<name>DocumentJournal.Взаимодействия.Command.ПозвонитьПоКонтакту</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>Catalog.ВидыКонтактнойИнформации</name>
<right>
@@ -81,31 +108,4 @@
<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>
</object>
</Rights>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>CommonForm.ГруппыПользователей</name>
<right>
@@ -74,33 +101,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>
</object>
<object>
<name>Catalog.ГруппыВнешнихПользователей</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>InformationRegister.КалендарныеГрафики</name>
<right>
@@ -88,31 +115,4 @@
<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>
</object>
</Rights>
@@ -3,32 +3,6 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>ChartOfCharacteristicTypes.РазделыДатЗапретаИзменения</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>InputByString</name>
<value>true</value>
</right>
</object>
<object>
<name>Report.ДатыЗапретаИзменения</name>
<right>
<name>Use</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -56,6 +30,32 @@
<value>true</value>
</right>
</object>
<object>
<name>ChartOfCharacteristicTypes.РазделыДатЗапретаИзменения</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>InputByString</name>
<value>true</value>
</right>
</object>
<object>
<name>Report.ДатыЗапретаИзменения</name>
<right>
<name>Use</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ДатыЗапретаИзменения.Command.ДатыЗапретаИзмененияДанных</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>InformationRegister.ПользовательскиеНастройкиДоступаКОбработкам</name>
<right>
@@ -95,33 +122,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>
</object>
<object>
<name>CommonForm.ДополнительныеОтчетыИОбработки</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>Catalog.НаборыДополнительныхРеквизитовИСведений</name>
<right>
@@ -166,33 +193,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>
</object>
<object>
<name>CommonForm.РедактированиеДополнительныхСведений</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>InformationRegister.ПроцессыДляЗапуска</name>
<right>
@@ -118,33 +145,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>
</object>
<object>
<name>BusinessProcess.Задание</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>Catalog.Заметки</name>
<right>
@@ -77,33 +104,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>
</object>
<object>
<name>Catalog.Заметки.Command.ВсеЗаметки</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>InformationRegister.ПериодыНерабочихДнейКалендаря</name>
<right>
@@ -107,31 +134,4 @@
<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>
</object>
</Rights>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>InformationRegister.КурсыВалют</name>
<right>
@@ -65,33 +92,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>
</object>
<object>
<name>DataProcessor.ЗагрузкаКурсовВалют</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>Catalog.ВариантыОтчетов</name>
<right>
@@ -165,33 +192,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>
</object>
<object>
<name>Catalog.ВариантыОтчетов.Command.РазместитьВРазделах</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>Constant.ИспользоватьШаблоныСообщений</name>
<right>
@@ -194,33 +221,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>
</object>
<restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>CommonCommand.Напомнить</name>
<right>
@@ -47,33 +74,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>
</object>
<object>
<name>InformationRegister.НапоминанияПользователя.Command.МоиНапоминания</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>Catalog.ШаблоныАнкет</name>
<right>
@@ -88,31 +115,4 @@
<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>
</object>
</Rights>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>Catalog.ШаблоныАнкет</name>
<right>
@@ -110,31 +137,4 @@
<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>
</object>
</Rights>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>Catalog.Файлы.Command.ВерсииФайла</name>
<right>
@@ -94,33 +121,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>
</object>
<object>
<name>CommonCommand.РедактируемыеФайлы</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>Catalog.Файлы.Command.ВерсииФайла</name>
<right>
@@ -94,33 +121,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>
</object>
<object>
<name>CommonCommand.РедактируемыеФайлы</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>CommonForm.ГруппыПользователей</name>
<right>
@@ -106,31 +133,4 @@
<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>
</object>
</Rights>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>InformationRegister.ПутиКПрограммамЭлектроннойПодписиИШифрованияНаСерверахLinux.Command.ПутиКПрограммеНаСерверахLinux</name>
<right>
@@ -68,31 +95,4 @@
<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>
</object>
</Rights>
@@ -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>// ДляОбъекта(ПолеОбъекта = "")
@@ -14,6 +14,33 @@
<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>
</object>
<object>
<name>Report.ЗадачиИстекающиеНаДату</name>
<right>
@@ -151,33 +178,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>
</object>
<object>
<name>Report.Задачи</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>InformationRegister.ЗаявленияНаВыпускСертификата</name>
<right>
@@ -61,31 +88,4 @@
<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>
</object>
</Rights>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>Catalog.СостоянияОригиналовПервичныхДокументов</name>
<right>
@@ -78,31 +105,4 @@
<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>
</object>
</Rights>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>Catalog.УчетныеЗаписиDSS</name>
<right>
@@ -71,33 +98,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>
</object>
<restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>Catalog.УчетныеЗаписиЭлектроннойПочты</name>
<right>
@@ -77,33 +104,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>
</object>
<object>
<name>CommonForm.ОтправкаСообщения</name>
<right>
@@ -10,6 +10,33 @@
<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>
</object>
<object>
<name>Catalog.ШаблоныАнкет</name>
<right>
@@ -134,33 +161,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>
</object>
<object>
<name>ChartOfCharacteristicTypes.ВопросыДляАнкетирования</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>Catalog.ШаблоныСообщенийПрисоединенныеФайлы</name>
<right>
@@ -81,31 +108,4 @@
<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>
</object>
</Rights>
@@ -3,20 +3,6 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>CommonForm.ДобавлениеЭлектроннойПодписиИзФайла</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>CommonForm.ПродлениеСрокаДействияЭлектронныхПодписей</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -44,4 +30,18 @@
<value>true</value>
</right>
</object>
<object>
<name>CommonForm.ДобавлениеЭлектроннойПодписиИзФайла</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>CommonForm.ПродлениеСрокаДействияЭлектронныхПодписей</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<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>
</object>
<object>
<name>Task.ЗадачаИсполнителя.Command.Выполнено</name>
<right>
@@ -160,33 +187,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>
</object>
<object>
<name>Task.ЗадачаИсполнителя.Command.Перенаправить</name>
<right>
Loaded 100 of 139 files, more files were not shown because too many files have changed in this diff. Show more