Compare commits
7
Commits
SSL_3_1_10
...
7032022f4e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7032022f4e | ||
|
|
87df78bed4 | ||
|
|
752ae958a8 | ||
|
|
52bcc12ca3 | ||
|
|
16b999090f | ||
|
|
d01d5b4bec | ||
|
|
3b907f4106 |
No files matched your search
@@ -49,7 +49,7 @@
|
||||
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.ТекущееЗначение;
|
||||
КонецЕсли;
|
||||
|
||||
ОсновнойЯзык = Метаданные.ОсновнойЯзык.КодЯзыка;
|
||||
ОсновнойЯзык = ОбщегоНазначения.КодОсновногоЯзыка();
|
||||
|
||||
Для каждого Представление Из Параметры.Представления Цикл
|
||||
|
||||
|
||||
@@ -54,8 +54,8 @@
|
||||
// который требуется для анализа наличия расширений и контроля динамического обновления,
|
||||
// а также из формы установки расширений конфигурации в режиме 1С:Предприятия.
|
||||
//
|
||||
// Для сеанса запущенного без разделителей возвращается только состав неразделенных (общих)
|
||||
// расширений, независимо от установленных разделителей.
|
||||
// Для сеанса запущенного без разделителей исключаются расширения, предназначенные
|
||||
// только для неразделенного режима (инструменты администратора сервиса).
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ФиксированнаяСтруктура:
|
||||
@@ -64,15 +64,6 @@
|
||||
//
|
||||
Функция УстановленныеРасширения(ПриЗапуске = Ложь) Экспорт
|
||||
|
||||
Если ОбщегоНазначения.РазделениеВключено()
|
||||
И ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда
|
||||
|
||||
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
|
||||
Неразделенные = МодульРаботаВМоделиСервиса.СеансЗапущенБезРазделителей();
|
||||
Иначе
|
||||
Неразделенные = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
РасширенияБазыДанных = РасширенияКонфигурации.Получить();
|
||||
Если ПриЗапуске Тогда
|
||||
РасширенияПриЗапуске = Новый Соответствие;
|
||||
@@ -121,11 +112,19 @@
|
||||
МодульОбновлениеКонфигурации = Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
// Исключить из контроля расширения только для неразделенных пользователей,
|
||||
// так как они не подключаются в областях и не вносят изменений
|
||||
// в код конфигурации (это инструменты администратора сервиса).
|
||||
НеразделенныйРежим = ОбщегоНазначения.РазделениеВключено()
|
||||
И Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных();
|
||||
|
||||
Для Каждого Расширение Из Расширения Цикл
|
||||
Если Неразделенные И Расширение.ОбластьДействия = ОбластьДействияРасширенияКонфигурации.РазделениеДанных Тогда
|
||||
Если НеразделенныйРежим
|
||||
И Расширение.ОбластьДействия = ОбластьДействияРасширенияКонфигурации.РазделениеДанных Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если МодульОбновлениеКонфигурации <> Неопределено И МодульОбновлениеКонфигурации.ЭтоИсправление(Расширение) Тогда
|
||||
Если МодульОбновлениеКонфигурации <> Неопределено
|
||||
И МодульОбновлениеКонфигурации.ЭтоИсправление(Расширение) Тогда
|
||||
Исправления.Добавить(Расширение);
|
||||
Иначе
|
||||
Основные.Добавить(Расширение);
|
||||
@@ -613,6 +612,31 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращаемое значение:
|
||||
// Дата - оперативная отметка универсального времени, полученная
|
||||
// при первом вызове этой функции в сеансе.
|
||||
// Разные ПК имеют разное время, что влияет на результат.
|
||||
//
|
||||
Функция ОперативнаяОтметкаВремениСеанса() Экспорт
|
||||
|
||||
УстановитьОтключениеБезопасногоРежима(Истина);
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
Если Не ПараметрыСеанса.УстановленныеРасширения.Свойство("ОперативнаяОтметкаВремениСеанса") Тогда
|
||||
УстановленныеРасширения = Новый Структура(ПараметрыСеанса.УстановленныеРасширения);
|
||||
УстановленныеРасширения.Вставить("ОперативнаяОтметкаВремениСеанса",
|
||||
ПолучитьТекущийСеансИнформационнойБазы().НачалоСеанса - СмещениеСтандартногоВремени());
|
||||
ПараметрыСеанса.УстановленныеРасширения = Новый ФиксированнаяСтруктура(УстановленныеРасширения);
|
||||
КонецЕсли;
|
||||
ОтметкаВремени = ПараметрыСеанса.УстановленныеРасширения.ОперативнаяОтметкаВремениСеанса;
|
||||
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
УстановитьОтключениеБезопасногоРежима(Ложь);
|
||||
|
||||
Возврат ОтметкаВремени;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
@@ -1096,9 +1096,6 @@
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
<notDefaultUseAlwaysAttributes xsi:type="form:DataPath">
|
||||
<segments>Список.ИндексКартинкиТекущий</segments>
|
||||
</notDefaultUseAlwaysAttributes>
|
||||
<notDefaultUseAlwaysAttributes xsi:type="form:DataPath">
|
||||
<segments>Список.Владелец</segments>
|
||||
</notDefaultUseAlwaysAttributes>
|
||||
|
||||
@@ -641,7 +641,7 @@
|
||||
Представление = Наименования[Язык.КодЯзыка][ИмяВида];
|
||||
Если ЗначениеЗаполнено(Представление) Тогда
|
||||
|
||||
Если Язык = Метаданные.ОсновнойЯзык Тогда
|
||||
Если СтрСравнить(Язык.КодЯзыка, ОбщегоНазначения.КодОсновногоЯзыка()) = 0 Тогда
|
||||
ВидКонтактнойИнформации.Наименование = Представление;
|
||||
Иначе
|
||||
|
||||
|
||||
@@ -94,6 +94,16 @@
|
||||
|
||||
Процедура ПередЗаписью(Отказ)
|
||||
|
||||
// АПК:75-выкл проверка ОбменДанными.Загрузка должна быть после блокировки регистра.
|
||||
// Блокировка всего регистра используется вместо установки разделяемой блокировки на справочник,
|
||||
// которая приводит к взаимоблокировке при иерархическом обновлении составов групп пользователей,
|
||||
// а также вместо последовательной исключительной блокировки регистра в разрезе групп,
|
||||
// которая также приводит к взаимоблокировке в ряде случаев.
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
Блокировка.Добавить("РегистрСведений.СоставыГруппПользователей");
|
||||
Блокировка.Заблокировать();
|
||||
// АПК:75-вкл
|
||||
|
||||
Если ОбменДанными.Загрузка Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -174,7 +174,8 @@
|
||||
Справочники.ГруппыДоступа.ОбновитьРолиПользователейИзмененныхПриЗагрузке();
|
||||
|
||||
Если УправлениеДоступомСлужебный.ОграничиватьДоступНаУровнеЗаписейУниверсально() Тогда
|
||||
ТипыИзмененныхУчастников = ТипыИзмененныхУчастников(Пользователи, СтарыеЗначения.Пользователи);
|
||||
ТипыИзмененныхУчастников = ТипыИзмененныхУчастников(Пользователи, СтарыеЗначения.Пользователи,
|
||||
ПометкаУдаления <> СтарыеЗначения.ПометкаУдаления);
|
||||
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеНаборовГруппДоступа(
|
||||
"ГруппыДоступаПриИзмененииУчастников",
|
||||
ТипыИзмененныхУчастников.Пользователи,
|
||||
@@ -212,7 +213,7 @@
|
||||
// * ВнешниеПользователи - Булево
|
||||
// * Пользователи - Булево
|
||||
//
|
||||
Функция ТипыИзмененныхУчастников(НовыеУчастники, СтарыеУчастники)
|
||||
Функция ТипыИзмененныхУчастников(НовыеУчастники, СтарыеУчастники, ИзмениласьПометкаУдаления)
|
||||
|
||||
ТипыИзмененныхУчастников = Новый Структура;
|
||||
ТипыИзмененныхУчастников.Вставить("Пользователи", Ложь);
|
||||
@@ -231,7 +232,8 @@
|
||||
КонецЕсли;
|
||||
ВсеУчастники.Свернуть("Пользователь", "ВидИзмененияСтроки");
|
||||
Для Каждого Строка Из ВсеУчастники Цикл
|
||||
Если Строка.ВидИзмененияСтроки = 0 Тогда
|
||||
Если Строка.ВидИзмененияСтроки = 0
|
||||
И Не ИзмениласьПометкаУдаления Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если ТипЗнч(Строка.Пользователь) = Тип("СправочникСсылка.Пользователи")
|
||||
|
||||
@@ -75,6 +75,16 @@
|
||||
// Блокирует недопустимые действия с предопределенной группой "Все пользователи".
|
||||
Процедура ПередЗаписью(Отказ)
|
||||
|
||||
// АПК:75-выкл проверка ОбменДанными.Загрузка должна быть после блокировки регистра.
|
||||
// Блокировка всего регистра используется вместо установки разделяемой блокировки на справочник,
|
||||
// которая приводит к взаимоблокировке при иерархическом обновлении составов групп пользователей,
|
||||
// а также вместо последовательной исключительной блокировки регистра в разрезе групп,
|
||||
// которая также приводит к взаимоблокировке в ряде случаев.
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
Блокировка.Добавить("РегистрСведений.СоставыГруппПользователей");
|
||||
Блокировка.Заблокировать();
|
||||
// АПК:75-вкл
|
||||
|
||||
Если ОбменДанными.Загрузка Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -610,7 +610,7 @@
|
||||
ПараметрыРегистрации.ОтключатьКонфликтующие = Ложь;
|
||||
ПараметрыРегистрации.Конфликтующие = Новый СписокЗначений;
|
||||
|
||||
МассивПодстрок = СтрРазделить(ОписаниеФайла.Имя, "\", Ложь);
|
||||
МассивПодстрок = СтрРазделить(ОписаниеФайла.Имя, ПолучитьРазделительПути(), Ложь);
|
||||
ПараметрыРегистрации.ИмяФайла = МассивПодстрок.Получить(МассивПодстрок.ВГраница());
|
||||
РасширениеФайла = ВРег(Прав(ПараметрыРегистрации.ИмяФайла, 3));
|
||||
|
||||
|
||||
@@ -85,6 +85,30 @@
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
// Параметры:
|
||||
// ИмяПараметра - Строка
|
||||
// УстановленныеПараметры - Массив из Строка
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево
|
||||
//
|
||||
Функция ВсеПараметрыСеансаУстановлены(ИменаПараметровСеанса, УстановленныеПараметры) Экспорт
|
||||
|
||||
Если ИменаПараметровСеанса.Найти("ОбновлениеСправочниковИдентификаторов") = Неопределено Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Новый Структура;
|
||||
Результат.Вставить("ИдентификаторыОбъектовМетаданных", Ложь);
|
||||
Результат.Вставить("ИдентификаторыОбъектовРасширений", Ложь);
|
||||
|
||||
ПараметрыСеанса.ОбновлениеСправочниковИдентификаторов = Новый ФиксированнаяСтруктура(Результат);
|
||||
|
||||
УстановленныеПараметры.Добавить("ОбновлениеСправочниковИдентификаторов");
|
||||
Возврат ИменаПараметровСеанса.Количество() = 1;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Только для внутреннего использования.
|
||||
Процедура ПроверкаИспользования(ОбъектыРасширений = Ложь) Экспорт
|
||||
|
||||
@@ -591,6 +615,7 @@
|
||||
|
||||
ПроверкаИспользования(ОбъектыРасширений);
|
||||
|
||||
УстановитьОтключениеБезопасногоРежима(Истина);
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
ЕстьТекущиеИзменения = Ложь;
|
||||
@@ -612,6 +637,16 @@
|
||||
"СтандартныеПодсистемы.БазоваяФункциональность.ИдентификаторыОбъектовМетаданных", Истина);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ТолькоПроверка И Не ТранзакцияАктивна() Тогда
|
||||
ВыполненоОбновление = Новый Структура(ПараметрыСеанса.ОбновлениеСправочниковИдентификаторов);
|
||||
Если ОбъектыРасширений Тогда
|
||||
ВыполненоОбновление.ИдентификаторыОбъектовРасширений = Истина;
|
||||
Иначе
|
||||
ВыполненоОбновление.ИдентификаторыОбъектовМетаданных = Истина;
|
||||
КонецЕсли;
|
||||
ПараметрыСеанса.ОбновлениеСправочниковИдентификаторов = Новый ФиксированнаяСтруктура(ВыполненоОбновление);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -1086,6 +1121,7 @@
|
||||
Строка.Синоним = НСтр("ru = 'Константы'");
|
||||
Строка.ИмяВЕдЧисле = "Константа";
|
||||
Строка.СинонимВЕдЧисле = НСтр("ru = 'Константа'");
|
||||
Строка.ОбъектыРасширений = Истина;
|
||||
|
||||
// Подсистемы
|
||||
Строка = СвойстваКоллекцийОбъектовМетаданных.Добавить();
|
||||
@@ -1279,6 +1315,20 @@
|
||||
СтандартныеПодсистемыСервер.ЗарегистрироватьОбъектНаВсехУзлах(Объект, ПланОбмена, Ложь);
|
||||
КонецЦикла;
|
||||
|
||||
УстановитьОтключениеБезопасногоРежима(Истина);
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
ВыполненоОбновление = Новый Структура(ПараметрыСеанса.ОбновлениеСправочниковИдентификаторов);
|
||||
Если ОбъектыРасширений Тогда
|
||||
ВыполненоОбновление.ИдентификаторыОбъектовРасширений = Ложь;
|
||||
Иначе
|
||||
ВыполненоОбновление.ИдентификаторыОбъектовМетаданных = Ложь;
|
||||
КонецЕсли;
|
||||
ПараметрыСеанса.ОбновлениеСправочниковИдентификаторов = Новый ФиксированнаяСтруктура(ВыполненоОбновление);
|
||||
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
УстановитьОтключениеБезопасногоРежима(Ложь);
|
||||
|
||||
Если Объект.ОбменДанными.Загрузка Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
@@ -1403,11 +1453,13 @@
|
||||
|
||||
Если ОбъектыРасширений Тогда
|
||||
СвойстваРасширений = Новый Структура;
|
||||
ИдентификаторыКлючейРасширений = ИдентификаторыКлючейРасширений();
|
||||
РасширенияБазыДанных = Новый Массив;
|
||||
ИдентификаторыКлючейРасширений = ИдентификаторыКлючейРасширений(РасширенияБазыДанных);
|
||||
СвойстваРасширений.Вставить("ИменаПодключенныхРасширений",
|
||||
ИменаРасширений(ИсточникРасширенийКонфигурации.СеансАктивные, ИдентификаторыКлючейРасширений));
|
||||
СвойстваРасширений.Вставить("ИменаНеподключенныхРасширений",
|
||||
ИменаРасширений(ИсточникРасширенийКонфигурации.СеансОтключенные, ИдентификаторыКлючейРасширений));
|
||||
ДополнитьИменаНеподключенныхРасширенийВСеансеБезРазделителей(СвойстваРасширений, РасширенияБазыДанных);
|
||||
КонецЕсли;
|
||||
|
||||
СвойстваОбъектовМетаданных = СвойстваОбъектовМетаданных(ОбъектыРасширений,, ИдентификаторыКлючейРасширений);
|
||||
@@ -1854,13 +1906,16 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ИдентификаторыКлючейРасширений()
|
||||
Функция ИдентификаторыКлючейРасширений(РасширенияБазыДанных = Неопределено)
|
||||
|
||||
Расширения = РасширенияКонфигурации.Получить();
|
||||
ИдентификаторыКлючейРасширений = Новый Соответствие;
|
||||
Для Каждого Расширение Из Расширения Цикл
|
||||
КлючРасширения = НРег(Расширение.Имя) + " " + Base64Строка(Расширение.ХешСумма);
|
||||
ИдентификаторыКлючейРасширений.Вставить(КлючРасширения, НРег(Расширение.УникальныйИдентификатор));
|
||||
Если ТипЗнч(РасширенияБазыДанных) = Тип("Массив") Тогда
|
||||
РасширенияБазыДанных.Добавить(Расширение);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ИдентификаторыКлючейРасширений;
|
||||
@@ -2975,6 +3030,31 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Для процедуры ОбновитьДанные.
|
||||
Процедура ДополнитьИменаНеподключенныхРасширенийВСеансеБезРазделителей(СвойстваРасширений, РасширенияБазыДанных)
|
||||
|
||||
Если Не СтандартныеПодсистемыСервер.ЭтоРазделенныйРежимСеансаБезРазделителей() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ИменаПодключенныхРасширений = СвойстваРасширений.ИменаПодключенныхРасширений;
|
||||
ИменаНеподключенныхРасширений = СвойстваРасширений.ИменаНеподключенныхРасширений;
|
||||
|
||||
Для Каждого Расширение Из РасширенияБазыДанных Цикл
|
||||
ИдентификаторРасширения = НРег(Расширение.УникальныйИдентификатор);
|
||||
ИмяРасширенияДляПоиска = НРег(Расширение.Имя);
|
||||
Если ИменаПодключенныхРасширений.Получить(ИдентификаторРасширения) <> Неопределено
|
||||
Или ИменаПодключенныхРасширений.Получить(ИмяРасширенияДляПоиска) <> Неопределено
|
||||
Или ИменаНеподключенныхРасширений.Получить(ИдентификаторРасширения) <> Неопределено
|
||||
Или ИменаНеподключенныхРасширений.Получить(ИмяРасширенияДляПоиска) <> Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
ИменаНеподключенныхРасширений.Вставить(ИмяРасширенияДляПоиска, Расширение.Имя);
|
||||
ИменаНеподключенныхРасширений.Вставить(НРег(ИдентификаторРасширения), Расширение.Имя);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для функций ИдентификаторОбъектаМетаданныхПоПолномуИмени, ИдентификаторыОбъектовМетаданных.
|
||||
Функция ИдентификаторыОбъектовМетаданныхСПопыткойПовтора(ПолныеИменаОбъектовМетаданных, ВызыватьИсключение, ОдинЭлемент)
|
||||
|
||||
@@ -2989,15 +3069,20 @@
|
||||
КонецПопытки;
|
||||
|
||||
Если Идентификаторы = Неопределено Тогда
|
||||
ВыполненоОбновление = ОбновлениеСправочниковИдентификаторов();
|
||||
|
||||
Если Не ОбщегоНазначения.РазделениеВключено()
|
||||
Или Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
|
||||
|
||||
ОбновитьДанныеСправочника();
|
||||
Если Не ВыполненоОбновление.ИдентификаторыОбъектовМетаданных Тогда
|
||||
ОбновитьДанныеСправочника();
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
|
||||
Справочники.ИдентификаторыОбъектовРасширений.ОбновитьДанныеСправочника();
|
||||
Если Не ВыполненоОбновление.ИдентификаторыОбъектовРасширений Тогда
|
||||
Справочники.ИдентификаторыОбъектовРасширений.ОбновитьДанныеСправочника();
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Идентификаторы = ИдентификаторыОбъектовМетаданныхБезПопыткиПовтора(
|
||||
@@ -3292,6 +3377,23 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Для функций ИдентификаторыОбъектовМетаданныхСПопыткойПовтора,
|
||||
// ОбъектыМетаданныхПоИдентификаторамСПопыткойПовтора.
|
||||
//
|
||||
Функция ОбновлениеСправочниковИдентификаторов()
|
||||
|
||||
УстановитьОтключениеБезопасногоРежима(Истина);
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
Результат = ПараметрыСеанса.ОбновлениеСправочниковИдентификаторов;
|
||||
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
УстановитьОтключениеБезопасногоРежима(Ложь);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Для функций ОбъектМетаданныхПоИдентификатору, ОбъектыМетаданныхПоИдентификаторам.
|
||||
Функция ОбъектыМетаданныхПоИдентификаторамСПопыткойПовтора(Идентификаторы, ВызыватьИсключение)
|
||||
|
||||
@@ -3374,7 +3476,10 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбъектыМетаданных = Неопределено Тогда
|
||||
ОбновитьДанныеСправочника();
|
||||
ВыполненоОбновление = ОбновлениеСправочниковИдентификаторов();
|
||||
Если Не ВыполненоОбновление.ИдентификаторыОбъектовМетаданных Тогда
|
||||
ОбновитьДанныеСправочника();
|
||||
КонецЕсли;
|
||||
ОбъектыМетаданных = ОбъектыМетаданныхПоИдентификаторамБезПопыткиПовтора(Идентификаторы,
|
||||
ИдентификаторыКонфигурации, ИдентификаторыРасширений, ВызыватьИсключение);
|
||||
КонецЕсли;
|
||||
@@ -3509,7 +3614,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если Свойства.ОбъектРасширений Тогда
|
||||
ОбъектРасширенияНеСуществует = Не Свойства.ПометкаУдаления;
|
||||
ОбъектРасширенияНеСуществует = Свойства.ПометкаУдаления;
|
||||
ИмяРасширения = "";
|
||||
ИдентификаторРасширения = ?(СтрНачинаетсяС(Свойства.ИдентификаторРасширения, "? "),
|
||||
Сред(Свойства.ИдентификаторРасширения, 3), Свойства.ИдентификаторРасширения);
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<choiceButton>true</choiceButton>
|
||||
<listChoiceMode>true</listChoiceMode>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
@@ -581,6 +581,10 @@
|
||||
<event>OnReadAtServer</event>
|
||||
<name>ПриЧтенииНаСервере</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>BeforeWrite</event>
|
||||
<name>ПередЗаписью</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>BeforeWriteAtServer</event>
|
||||
<name>ПередЗаписьюНаСервере</name>
|
||||
|
||||
@@ -67,6 +67,31 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
|
||||
|
||||
Для Каждого Условие Из УсловияВидимости Цикл
|
||||
|
||||
ИндексСтроки = УсловияВидимости.Индекс(Условие);
|
||||
Если Не ЗначениеЗаполнено(Условие.ВидСравнения) Тогда
|
||||
|
||||
ТекстСообщения = НСтр("ru = 'Укажите вид сравнения'");
|
||||
Поле = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("УсловияВидимости[%1].ПредставлениеВидаСравнения", Формат(ИндексСтроки, "ЧГ=0;"));
|
||||
|
||||
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстСообщения, , Поле, , Отказ);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЗначениеЗаполнено(Условие.Поле) Тогда
|
||||
ТекстСообщения = НСтр("ru = 'Выберите поле'");
|
||||
Поле = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("УсловияВидимости[%1].ПредставлениеПоля", Формат(ИндексСтроки, "ЧГ=0;"));
|
||||
|
||||
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстСообщения, , Поле, , Отказ);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовТаблицыФормыУсловияВидимости
|
||||
@@ -94,6 +119,7 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
&НаКлиенте
|
||||
Процедура УсловияВидимостиВидСравненияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
|
||||
|
||||
|
||||
@@ -1857,9 +1857,6 @@
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
<notDefaultUseAlwaysAttributes xsi:type="form:DataPath">
|
||||
<segments>НаборыСвойств.НаименованиеНаДругихЯзыках</segments>
|
||||
</notDefaultUseAlwaysAttributes>
|
||||
<notDefaultUseAlwaysAttributes xsi:type="form:DataPath">
|
||||
<segments>НаборыСвойств.КоличествоРеквизитов</segments>
|
||||
</notDefaultUseAlwaysAttributes>
|
||||
|
||||
+28
-8
@@ -635,26 +635,46 @@
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Наборы.Ссылка КАК Ссылка
|
||||
| Наборы.Ссылка КАК Ссылка,
|
||||
| Наборы.ПометкаУдаления КАК ПометкаУдаления,
|
||||
| Наборы.Предопределенный КАК Предопределенный,
|
||||
| Наборы.ЭтоГруппа КАК ЭтоГруппа,
|
||||
| Наборы.Родитель КАК Родитель,
|
||||
| Наборы.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных,
|
||||
| Наборы.ИмяПредопределенногоНабора КАК ИмяПредопределенногоНабора
|
||||
|ИЗ
|
||||
| Справочник.НаборыДополнительныхРеквизитовИСведений КАК Наборы
|
||||
|ГДЕ
|
||||
| Наборы.Родитель = ЗНАЧЕНИЕ(Справочник.НаборыДополнительныхРеквизитовИСведений.ПустаяСсылка)";
|
||||
|
||||
Наборы = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
|
||||
Наборы = Запрос.Выполнить().Выгрузить();
|
||||
ДоступныеНаборы = Новый Массив;
|
||||
ДоступныеНаборыСписок.Очистить();
|
||||
|
||||
Для каждого Ссылка Из Наборы Цикл
|
||||
ВидыСвойствНабора = УправлениеСвойствамиСлужебный.ВидыСвойствНабора(Ссылка, Ложь);
|
||||
СвойстваНабора = Новый Структура;
|
||||
СвойстваНабора.Вставить("ПометкаУдаления");
|
||||
СвойстваНабора.Вставить("Предопределенный");
|
||||
СвойстваНабора.Вставить("ЭтоГруппа");
|
||||
СвойстваНабора.Вставить("Родитель");
|
||||
СвойстваНабора.Вставить("ИмяПредопределенныхДанных");
|
||||
СвойстваНабора.Вставить("ИмяПредопределенногоНабора");
|
||||
|
||||
Для Каждого Строка Из Наборы Цикл
|
||||
Если СтрНачинаетсяС(Строка.ИмяПредопределенныхДанных, "Удалить") Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьЗначенияСвойств(СвойстваНабора, Строка);
|
||||
|
||||
ВидыСвойствНабора = УправлениеСвойствамиСлужебный.ВидыСвойствНабора(СвойстваНабора, Ложь);
|
||||
|
||||
Если ЭтоНаборыДополнительныхСведений
|
||||
И ВидыСвойствНабора.ДополнительныеСведения
|
||||
ИЛИ НЕ ЭтоНаборыДополнительныхСведений
|
||||
И ВидыСвойствНабора.ДополнительныеРеквизиты Тогда
|
||||
|
||||
ДоступныеНаборы.Добавить(Ссылка);
|
||||
ДоступныеНаборыСписок.Добавить(Ссылка);
|
||||
ДоступныеНаборы.Добавить(Строка.Ссылка);
|
||||
ДоступныеНаборыСписок.Добавить(Строка.Ссылка);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
@@ -670,7 +690,7 @@
|
||||
ПриИзмененииТекущегоНабораНаСервере();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПриИзмененииТекущегоНабора()
|
||||
|
||||
@@ -822,7 +842,7 @@
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("Набор", ТекущийНабор);
|
||||
Запрос.УстановитьПараметр("ЭтоОсновнойЯзык", ТекущийЯзык() = Метаданные.ОсновнойЯзык);
|
||||
Запрос.УстановитьПараметр("ЭтоОсновнойЯзык", ОбщегоНазначения.ЭтоОсновнойЯзык());
|
||||
Запрос.УстановитьПараметр("КодЯзыка", ТекущийЯзык().КодЯзыка);
|
||||
|
||||
Если Не ПоказатьНеиспользуемыеРеквизиты Тогда
|
||||
|
||||
@@ -48,9 +48,16 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
|
||||
Если ТекущийЯзык() = Метаданные.ОсновнойЯзык Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||||
Если ОбщегоНазначения.ЭтоОсновнойЯзык() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
#Иначе
|
||||
Если СтрСравнить(СтандартныеПодсистемыКлиент.ПараметрКлиента("КодОсновногоЯзыка"), ОбщегоНазначенияКлиент.КодОсновногоЯзыка()) = 0 Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
#КонецЕсли
|
||||
|
||||
Если ЗначениеЗаполнено(Данные.Родитель) Тогда
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||||
|
||||
@@ -192,8 +192,9 @@
|
||||
Кэш = УправлениеДоступомСлужебныйПовтИсп.ОписаниеПоставляемыхПрофилейСеанса();
|
||||
НовоеЗначение = Кэш.ХешСумма;
|
||||
|
||||
УжеИзменен = Ложь;
|
||||
ИмяПараметра = "СтандартныеПодсистемы.УправлениеДоступом.ОбновленныеПоставляемыеПрофили";
|
||||
СтароеЗначение = СтандартныеПодсистемыСервер.ПараметрРаботыРасширения(ИмяПараметра, Истина);
|
||||
СтароеЗначение = СтандартныеПодсистемыСервер.ПараметрРаботыРасширения(ИмяПараметра, Истина, УжеИзменен);
|
||||
|
||||
Если СтароеЗначение = НовоеЗначение Тогда
|
||||
Возврат;
|
||||
@@ -219,7 +220,7 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(СтароеЗначение) Тогда
|
||||
Если УжеИзменен Тогда
|
||||
УправлениеДоступомСлужебный.ПроверитьАктуальностьМетаданных();
|
||||
КонецЕсли;
|
||||
|
||||
@@ -236,14 +237,15 @@
|
||||
Кэш = УправлениеДоступомСлужебныйПовтИсп.ОписаниеПоставляемыхПрофилейСеанса();
|
||||
НовоеЗначение = Кэш.ХешСумма;
|
||||
|
||||
УжеИзменен = Ложь;
|
||||
ИмяПараметра = "СтандартныеПодсистемы.УправлениеДоступом.ОбновленныеНепоставляемыеПрофили";
|
||||
СтароеЗначение = СтандартныеПодсистемыСервер.ПараметрРаботыРасширения(ИмяПараметра, Истина);
|
||||
СтароеЗначение = СтандартныеПодсистемыСервер.ПараметрРаботыРасширения(ИмяПараметра, Истина, УжеИзменен);
|
||||
|
||||
Если СтароеЗначение = НовоеЗначение Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(СтароеЗначение) Тогда
|
||||
Если УжеИзменен Тогда
|
||||
УправлениеДоступомСлужебный.ПроверитьАктуальностьМетаданных();
|
||||
КонецЕсли;
|
||||
|
||||
@@ -795,6 +797,92 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Сравнивает часть объекта в базе данных с той же частью объекта в памяти.
|
||||
//
|
||||
// Параметры:
|
||||
// Профиль - СправочникОбъект.ПрофилиГруппДоступа - объект в памяти.
|
||||
//
|
||||
// СтарыеЗначения - Структура:
|
||||
// * Наименование - Строка
|
||||
// * Родитель - СправочникСсылка.ПрофилиГруппДоступа
|
||||
// * Роли - РезультатЗапроса
|
||||
// * Назначение - РезультатЗапроса
|
||||
// * ВидыДоступа - РезультатЗапроса
|
||||
// * ЗначенияДоступа - РезультатЗапроса
|
||||
//
|
||||
Функция ПоставляемыеОбластиПрофиляИзменены(НовыйПрофиль, СтарыеЗначения) Экспорт
|
||||
|
||||
Если ВРег(НовыйПрофиль.Наименование) <> ВРег(СтарыеЗначения.Наименование) Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Если НовыйПрофиль.Родитель <> СтарыеЗначения.Родитель Тогда
|
||||
ОписанияПрофилей = УправлениеДоступомСлужебный.ПоставляемыеПрофили().ОписанияПрофилей;
|
||||
СвойстваПрофиля = ОписанияПрофилей.Получить(Строка(НовыйПрофиль.ИдентификаторПоставляемыхДанных)); // См. СвойстваПоставляемогоПрофиля
|
||||
Если СвойстваПрофиля <> Неопределено
|
||||
И ЗначениеЗаполнено(СвойстваПрофиля.Родитель)
|
||||
И ЗначениеЗаполнено(ПоставляемыйПрофильПоИдентификатору(СвойстваПрофиля.Родитель)) Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если НовыйПрофиль.ЭтоГруппа Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
СтарыйПрофиль = Новый Структура;
|
||||
СтарыйПрофиль.Вставить("Роли", СтарыеЗначения.Роли.Выгрузить());
|
||||
СтарыйПрофиль.Вставить("Назначение", СтарыеЗначения.Назначение.Выгрузить());
|
||||
СтарыйПрофиль.Вставить("ВидыДоступа", СтарыеЗначения.ВидыДоступа.Выгрузить());
|
||||
СтарыйПрофиль.Вставить("ЗначенияДоступа", СтарыеЗначения.ЗначенияДоступа.Выгрузить());
|
||||
|
||||
Если НовыйПрофиль.Роли.Количество() <> СтарыйПрофиль.Роли.Количество()
|
||||
Или НовыйПрофиль.ВидыДоступа.Количество() <> СтарыйПрофиль.ВидыДоступа.Количество()
|
||||
Или НовыйПрофиль.ЗначенияДоступа.Количество() <> СтарыйПрофиль.ЗначенияДоступа.Количество()
|
||||
Или НовыйПрофиль.Назначение.Количество() <> СтарыйПрофиль.Назначение.Количество() Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Строка Из НовыйПрофиль.Роли Цикл
|
||||
Если СтарыйПрофиль.Роли.Найти(Строка.Роль, "Роль") = Неопределено Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Для Каждого Строка Из НовыйПрофиль.ВидыДоступа Цикл
|
||||
Отбор = Новый Структура("ВидДоступа, Предустановленный, ВсеРазрешены",
|
||||
Строка.ВидДоступа, Строка.Предустановленный, Строка.ВсеРазрешены);
|
||||
Если СтарыйПрофиль.ВидыДоступа.НайтиСтроки(Отбор).Количество() = 0 Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Для Каждого Строка Из НовыйПрофиль.ВидыДоступа Цикл
|
||||
Отбор = Новый Структура("ВидДоступа, Предустановленный, ВсеРазрешены",
|
||||
Строка.ВидДоступа, Строка.Предустановленный, Строка.ВсеРазрешены);
|
||||
Если СтарыйПрофиль.ВидыДоступа.НайтиСтроки(Отбор).Количество() = 0 Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Для Каждого Строка Из НовыйПрофиль.ЗначенияДоступа Цикл
|
||||
Отбор = Новый Структура("ВидДоступа, ЗначениеДоступа, ВключаяНижестоящие",
|
||||
Строка.ВидДоступа, Строка.ЗначениеДоступа, Строка.ВключаяНижестоящие);
|
||||
Если СтарыйПрофиль.ЗначенияДоступа.НайтиСтроки(Отбор).Количество() = 0 Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Для Каждого Строка Из НовыйПрофиль.Назначение Цикл
|
||||
Если СтарыйПрофиль.Назначение.Найти(Строка.ТипПользователей, "ТипПользователей") = Неопределено Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Ложь;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Определяет наличие начального заполнения для профиля групп доступа в переопределяемом модуле.
|
||||
//
|
||||
// Параметры:
|
||||
@@ -989,9 +1077,10 @@
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Блокировка.Заблокировать();
|
||||
СтароеЗначение = СтандартныеПодсистемыСервер.ПараметрРаботыРасширения(ИмяПараметра, Истина);
|
||||
УжеИзменен = Ложь;
|
||||
СтароеЗначение = СтандартныеПодсистемыСервер.ПараметрРаботыРасширения(ИмяПараметра, Истина, УжеИзменен);
|
||||
Если СтароеЗначение <> НовоеЗначение Тогда
|
||||
Если ЗначениеЗаполнено(СтароеЗначение) Тогда // Не первое обновление.
|
||||
Если УжеИзменен Тогда
|
||||
УправлениеДоступомСлужебный.ПроверитьАктуальностьМетаданных();
|
||||
КонецЕсли;
|
||||
УстановитьОтключениеБезопасногоРежима(Истина);
|
||||
@@ -1355,9 +1444,10 @@
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Блокировка.Заблокировать();
|
||||
СтароеЗначение = СтандартныеПодсистемыСервер.ПараметрРаботыРасширения(ИмяПараметра, Истина);
|
||||
УжеИзменен = Ложь;
|
||||
СтароеЗначение = СтандартныеПодсистемыСервер.ПараметрРаботыРасширения(ИмяПараметра, Истина, УжеИзменен);
|
||||
Если СтароеЗначение <> НовоеЗначение Тогда
|
||||
Если ЗначениеЗаполнено(СтароеЗначение) Тогда // Не первое обновление.
|
||||
Если УжеИзменен Тогда
|
||||
УправлениеДоступомСлужебный.ПроверитьАктуальностьМетаданных();
|
||||
КонецЕсли;
|
||||
УстановитьОтключениеБезопасногоРежима(Истина);
|
||||
|
||||
@@ -63,8 +63,15 @@
|
||||
Справочники.ПрофилиГруппДоступа.ЗаполнитьСтандартныеРолиРасширений(Роли);
|
||||
|
||||
Если Не ДополнительныеСвойства.Свойство("НеОбновлятьРеквизитПоставляемыйПрофильИзменен") Тогда
|
||||
ПоставляемыйПрофильИзменен =
|
||||
НовоеЗначениеПоставляемыйПрофильИзменен =
|
||||
Справочники.ПрофилиГруппДоступа.ПоставляемыйПрофильИзменен(ЭтотОбъект);
|
||||
|
||||
Если ПоставляемыйПрофильИзменен <> НовоеЗначениеПоставляемыйПрофильИзменен
|
||||
И (Не НовоеЗначениеПоставляемыйПрофильИзменен
|
||||
Или Справочники.ПрофилиГруппДоступа.ПоставляемыеОбластиПрофиляИзменены(ЭтотОбъект, СтарыеЗначения)) Тогда
|
||||
|
||||
ПоставляемыйПрофильИзменен = НовоеЗначениеПоставляемыйПрофильИзменен;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
// Обновление наименования у персональных групп доступа этого профиля (если есть).
|
||||
@@ -441,6 +448,8 @@
|
||||
// Возвращаемое значение:
|
||||
// Структура:
|
||||
// * Ссылка - СправочникСсылка.ПрофилиГруппДоступа
|
||||
// * Наименование - Строка
|
||||
// * Родитель - СправочникСсылка.ПрофилиГруппДоступа
|
||||
// * ПометкаУдаления - Булево
|
||||
// * Роли - РезультатЗапроса
|
||||
// * Назначение - РезультатЗапроса
|
||||
@@ -450,7 +459,7 @@
|
||||
Функция СтарыеЗначения()
|
||||
|
||||
Возврат ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка,
|
||||
"Ссылка, ПометкаУдаления, Роли, Назначение, ВидыДоступа, ЗначенияДоступа");
|
||||
"Ссылка, Наименование, Родитель, ПометкаУдаления, Роли, Назначение, ВидыДоступа, ЗначенияДоступа");
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
@@ -567,33 +567,6 @@
|
||||
</extendedTooltip>
|
||||
<extInfo xsi:type="form:ButtonGroupExtInfo"/>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ОтчетыУдалить</name>
|
||||
<id>1002</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ОтчетыУдалитьРасширеннаяПодсказка</name>
|
||||
<id>1003</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Item.Отчеты.StandardCommand.Delete</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Picture</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>КомандыПеремещения</name>
|
||||
<id>1004</id>
|
||||
@@ -670,7 +643,9 @@
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<extInfo xsi:type="form:ButtonGroupExtInfo"/>
|
||||
<extInfo xsi:type="form:ButtonGroupExtInfo">
|
||||
<representation>Compact</representation>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ОтчетыСформироватьОтчет</name>
|
||||
@@ -698,6 +673,33 @@
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ОтчетыУдалить</name>
|
||||
<id>1002</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ОтчетыУдалитьРасширеннаяПодсказка</name>
|
||||
<id>1003</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Item.Отчеты.StandardCommand.Delete</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>КоманднаяПанельОтчеты</name>
|
||||
<id>354</id>
|
||||
|
||||
@@ -1721,24 +1721,22 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПредпросмотрШаблона(Команда)
|
||||
|
||||
ДобавитьШаблон();
|
||||
|
||||
Если ТекущийЭлемент = Элементы.ТекстПисьмаФорматированныйДокумент Тогда
|
||||
Шаблон = ТекстПисьмаФорматированныйДокумент.ПолучитьТекст();
|
||||
ИначеЕсли ТекущийЭлемент = Элементы.ТекстПисьма Тогда
|
||||
Шаблон = Объект.ТекстПисьма;
|
||||
ИначеЕсли ТекущийЭлемент = Элементы.ТемаПисьма Тогда
|
||||
Шаблон = Объект.ТемаПисьма;
|
||||
КонецЕсли;
|
||||
Шаблон = Объект.ТемаПисьма + Символы.ПС + Символы.ПС + Шаблон;
|
||||
|
||||
СформированныеОтчеты = "";
|
||||
Для Каждого СтрокаОтчет Из Объект.Отчеты Цикл
|
||||
СформированныеОтчеты = СформированныеОтчеты
|
||||
+ Символы.ПС
|
||||
+ СтрокаОтчет.Представление
|
||||
+ " ("
|
||||
+ ?(СтрокаОтчет.Форматы = ПредставлениеФорматовПоУмолчанию(), ФорматыПоУмолчанию, СтрокаОтчет.Форматы)
|
||||
+ ")";
|
||||
СформированныеОтчеты = СформированныеОтчеты + Символы.ПС
|
||||
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1 (%2)",
|
||||
СтрокаОтчет.Представление,
|
||||
?(СтрокаОтчет.Форматы = ПредставлениеФорматовПоУмолчанию(), ФорматыПоУмолчанию, СтрокаОтчет.Форматы));
|
||||
КонецЦикла;
|
||||
СформированныеОтчеты = СокрЛ(СформированныеОтчеты);
|
||||
|
||||
@@ -1757,11 +1755,10 @@
|
||||
ПараметрыШаблона.Вставить("СформированныеОтчеты", СформированныеОтчеты);
|
||||
ПараметрыШаблона.Вставить("СпособДоставки", СпособДоставки);
|
||||
|
||||
#Если НЕ МобильныйКлиент Тогда
|
||||
ТекстовыйДокумент = Новый ТекстовыйДокумент;
|
||||
ТекстовыйДокумент.УстановитьТекст(РассылкаОтчетовКлиентСервер.ЗаполнитьШаблон(Шаблон, ПараметрыШаблона));
|
||||
ТекстовыйДокумент.Показать();
|
||||
#КонецЕсли
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
|
||||
@@ -220,7 +220,8 @@
|
||||
|
||||
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
|
||||
|
||||
ОбновлениеИнформационнойБазы.ЗаполнитьЭлементыНачальнымиДанными(Параметры, Метаданные.Справочники.РолиИсполнителей, Истина);
|
||||
НастройкиЗаполнения = ОбновлениеИнформационнойБазы.НастройкиЗаполнения();
|
||||
ОбновлениеИнформационнойБазы.ЗаполнитьЭлементыНачальнымиДанными(Параметры, Метаданные.Справочники.РолиИсполнителей, НастройкиЗаполнения);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link></head><body>Показывает сертификаты для подписания или расшифровки данных.
|
||||
<div>
|
||||
<div>По умолчанию показываются личные сертификаты. Если список пуст, то на компьютере нет подходящих личных сертификатов.</div>
|
||||
<div>Включите флажок, для того чтобы <b>Показывать все сертификаты</b>.</div>
|
||||
<div>Для подписания данных используются только личные сертификаты.</div>
|
||||
<div>Если сертификаты найдены, выберите нужный, нажмите кнопку <b>Далее</b> для заполнения сведений о сертификате.</div>
|
||||
<h3>Добавление (выбор) сертификата</h3>
|
||||
<div>
|
||||
<ul><li>Данные сертификата заполняются автоматически.</li>
|
||||
<li>Заполните недостающие поля:</li>
|
||||
<ul><li><b>Пользователь</b> - выберите из списка</li>
|
||||
<li><b>Организация</b> - выберите из списка</li></ul><li>При добавлении сертификата для подписания или расшифровки данных необходимо ввести <b>Пароль</b>.</li>
|
||||
<li>Для добавления (выбора) сертификата нажмите кнопку <b>Добавить</b> (<b>Выбрать)</b>.</li></ul><h3>См. также:</h3></div></div>
|
||||
<div>
|
||||
<ul><li><a href="CommonForm.НастройкиЭлектроннойПодписиИШифрования/Help">Настройки электронной подписи и шифрования</a>.</li></ul></div>
|
||||
<div><br></div></body></html>
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link></head><body>Показывает сертификаты для шифрования.
|
||||
<div>
|
||||
<div>По умолчанию показываются личные сертификаты. Если список пуст, то на компьютере нет подходящих личных сертификатов.</div>
|
||||
<div>Включите флажок, для того чтобы <b>Показывать все сертификаты</b>.</div>
|
||||
<div>Для шифрования данных могут быть использованы любые сертификаты. </div>
|
||||
<div>Если сертификаты найдены, выберите нужный, нажмите кнопку <b>Далее</b> для заполнения сведений о сертификате.</div>
|
||||
<h3 style="font-size: 13.4399995803833px;">Добавление сертификата</h3>
|
||||
<div>
|
||||
<ul><li>Данные сертификата заполняются автоматически.</li>
|
||||
<li>Заполните недостающие поля:</li>
|
||||
<ul><li><b>Пользователь</b> - выберите из списка</li>
|
||||
<li><b>Организация</b> - выберите из списка</li></ul><li>При добавлении сертификата только для шифрования данных ввод пароля не требуется, однако он будет нужен для расшифровки данных.</li></ul></div></div>
|
||||
|
||||
|
||||
</body></html>
|
||||
+5
@@ -14,12 +14,17 @@
|
||||
Сертификат = Параметры.Сертификат;
|
||||
|
||||
ЗаявлениеНаВыпускСертификатаДоступно = ЭлектроннаяПодпись.ОбщиеНастройки().ЗаявлениеНаВыпускСертификатаДоступно;
|
||||
// Локализация
|
||||
|
||||
Если ЗаявлениеНаВыпускСертификатаДоступно И ЗначениеЗаполнено(Сертификат) Тогда
|
||||
ОбработкаЗаявлениеНаВыпускНовогоКвалифицированногоСертификата = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(
|
||||
"Обработка.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата");
|
||||
ВыпущенныеСертификаты = ОбработкаЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.ВыпущенныеСертификаты(
|
||||
Сертификат);
|
||||
КонецЕсли;
|
||||
|
||||
// Конец Локализация
|
||||
|
||||
ЕстьПеревыпущенные = ВыпущенныеСертификаты.Количество() > 0;
|
||||
Элементы.ДекорацияПеревыпущен.Видимость = ЕстьПеревыпущенные;
|
||||
|
||||
|
||||
+79
@@ -235,6 +235,74 @@
|
||||
<choiceHistoryOnInput>DontUse</choiceHistoryOnInput>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаДополнительныеСведения</name>
|
||||
<id>488</id>
|
||||
<items xsi:type="form:Decoration">
|
||||
<name>ДекорацияДополнительныеСведения</name>
|
||||
<id>493</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Неквалифицированный сертификат: выпущен удостоверяющим центром, не аккредитованным на момент выпуска сертификата.</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ДекорацияДополнительныеСведенияРасширеннаяПодсказка</name>
|
||||
<id>495</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ДекорацияДополнительныеСведенияКонтекстноеМеню</name>
|
||||
<id>494</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>Label</type>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
<backColor xsi:type="core:ColorRef">
|
||||
<color>Style.ToolTipBackColor</color>
|
||||
</backColor>
|
||||
</extInfo>
|
||||
</items>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Дополнительные сведения</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаДополнительныеСведенияРасширеннаяПодсказка</name>
|
||||
<id>489</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>
|
||||
<representation>WeakSeparation</representation>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаОтозван</name>
|
||||
<id>483</id>
|
||||
@@ -1381,6 +1449,17 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>РезультатПроверкиУдостоверяющегоЦентра</name>
|
||||
<id>26</id>
|
||||
<valueType/>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>Подписать</name>
|
||||
<title>
|
||||
|
||||
+44
-5
@@ -60,6 +60,8 @@
|
||||
Элементы.ТипПодписи.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
ОбновитьВидимостьПредупреждения();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -330,6 +332,13 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция ОшибкаСертификатПомеченКакОтозванный()
|
||||
|
||||
Возврат ЭлектроннаяПодписьСлужебный.ОшибкаСертификатПомеченКакОтозванный()
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПродолжитьОткрытие(Оповещение, ОбщиеВнутренниеДанные, КлиентскиеПараметры) Экспорт
|
||||
|
||||
@@ -431,6 +440,20 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ОбновитьВидимостьПредупреждения()
|
||||
|
||||
Элементы.ГруппаОтозван.Видимость = СертификатОтозван;
|
||||
|
||||
Если Не СертификатОтозван И ЗначениеЗаполнено(РезультатПроверкиУдостоверяющегоЦентра) Тогда
|
||||
Элементы.ГруппаДополнительныеСведения.Видимость = ЗначениеЗаполнено(
|
||||
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ДополнительныеСведения);
|
||||
Элементы.ДекорацияДополнительныеСведения.Заголовок =
|
||||
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ДополнительныеСведения;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОчиститьПеременныеФормы()
|
||||
|
||||
@@ -505,12 +528,13 @@
|
||||
КонецЕсли;
|
||||
|
||||
ЭлектроннаяПодписьСлужебный.СертификатПриИзмененииНаСервере(ЭтотОбъект, ОтпечаткиСертификатовНаКлиенте);
|
||||
Элементы.ГруппаОтозван.Видимость = СертификатОтозван;
|
||||
|
||||
Если ЭлектроннаяПодписьСлужебный.ИспользоватьСервисОблачнойПодписи() Тогда
|
||||
МодульСервисКриптографииDSSПодтверждениеСервер = ОбщегоНазначения.ОбщийМодуль("СервисКриптографииDSSПодтверждениеСервер");
|
||||
МодульСервисКриптографииDSSПодтверждениеСервер.ПодтверждениеПриИзмененииСертификата(ЭтотОбъект, Сертификат);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ОбновитьВидимостьПредупреждения();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -553,7 +577,17 @@
|
||||
Контекст.ОшибкаНаКлиенте.Вставить("ОписаниеОшибки",
|
||||
НСтр("ru = 'Сертификат помечен в программе как отозванный.
|
||||
|Выберите другой сертификат.'"));
|
||||
ОбработатьОшибку(Контекст.Оповещение, Контекст.ОшибкаНаКлиенте, Контекст.ОшибкаНаСервере);
|
||||
ДополнительныеДанныеОшибки = Новый Структура("ДополнительныеДанныеПроверокНаКлиенте", ОшибкаСертификатПомеченКакОтозванный());
|
||||
ОбработатьОшибку(Контекст.Оповещение, Контекст.ОшибкаНаКлиенте, Контекст.ОшибкаНаСервере,,ДополнительныеДанныеОшибки);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(РезультатПроверкиУдостоверяющегоЦентра)
|
||||
И Не РезультатПроверкиУдостоверяющегоЦентра.Действует Тогда
|
||||
ПредупреждениеОбОшибке = РезультатПроверкиУдостоверяющегоЦентра.Предупреждение; // см. ЭлектроннаяПодписьСлужебныйКлиентСервер.ПредупреждениеПриПроверкеУдостоверяющегоЦентраСертификата
|
||||
Контекст.ОшибкаНаКлиенте.Вставить("ОписаниеОшибки", ПредупреждениеОбОшибке.ТекстОшибки);
|
||||
ДополнительныеДанныеОшибки = Новый Структура("ДополнительныеДанныеПроверокНаКлиенте", ПредупреждениеОбОшибке);
|
||||
ОбработатьОшибку(Контекст.Оповещение, Контекст.ОшибкаНаКлиенте, Контекст.ОшибкаНаСервере,,ДополнительныеДанныеОшибки);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -748,7 +782,7 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбработатьОшибку(Оповещение, ОшибкаНаКлиенте, ОшибкаНаСервере, НеподписанныеДанные = Неопределено)
|
||||
Процедура ОбработатьОшибку(Оповещение, ОшибкаНаКлиенте, ОшибкаНаСервере, НеподписанныеДанные = Неопределено, ДополнительныеДанные = Неопределено)
|
||||
|
||||
Если ОписаниеДанных.Свойство("ПрекратитьВыполнение") Тогда
|
||||
|
||||
@@ -772,6 +806,11 @@
|
||||
КонецЕсли;
|
||||
|
||||
ДополнительныеПараметры = Новый Структура;
|
||||
Если ЗначениеЗаполнено(ДополнительныеДанные) Тогда
|
||||
Для Каждого КлючИЗначение Из ДополнительныеДанные Цикл
|
||||
ДополнительныеПараметры.Вставить(КлючИЗначение.Ключ, КлючИЗначение.Значение);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
Если НеподписанныеДанные <> Неопределено Тогда
|
||||
ДополнительныеПараметры.Вставить("НеподписанныеДанные", НеподписанныеДанные);
|
||||
КонецЕсли;
|
||||
@@ -840,4 +879,4 @@
|
||||
|
||||
// Конец Локализация
|
||||
|
||||
#КонецОбласти
|
||||
#КонецОбласти
|
||||
+1
-1
@@ -1402,7 +1402,7 @@
|
||||
ДополнительнаяПроверкаНаВозможностьПодписания(Контекст.СертификатКриптографии, Истина, ОписаниеОшибки);
|
||||
|
||||
// Подписание.
|
||||
Если ПроверкиНаКлиенте.НаличиеСертификата = Истина И Не ЗначениеЗаполнено(ОписаниеОшибки) Тогда
|
||||
Если ПроверкиНаСервере.НаличиеСертификата = Истина И Не ЗначениеЗаполнено(ОписаниеОшибки) Тогда
|
||||
|
||||
МодульСервисКриптографииDSSКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("СервисКриптографииDSSКлиентСервер");
|
||||
МодульСервисКриптографииDSSКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("СервисКриптографииDSSКлиент");
|
||||
|
||||
+9
-1
@@ -126,6 +126,12 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ИмяСобытия = "Запись_НаборКонстант" И Источник = "РазрешенныеНеаккредитованныеУЦ" Тогда
|
||||
|
||||
ОбновитьВидимостьПредупреждения();
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
@@ -574,8 +580,10 @@
|
||||
|
||||
Если РезультатПроверкиУдостоверяющегоЦентраСертификата.Действует
|
||||
И Не ЗначениеЗаполнено(ДанныеПредупреждения.ТекстОшибки) Тогда
|
||||
|
||||
Элементы.ПредупреждениеГруппа.Видимость = ЗначениеЗаполнено(ДанныеПредупреждения.ДополнительныеСведения);
|
||||
Элементы.Предупреждение.Заголовок = ДанныеПредупреждения.ДополнительныеСведения;
|
||||
|
||||
Элементы.ПредупреждениеГруппа.Видимость = Ложь;
|
||||
Иначе
|
||||
Элементы.ПредупреждениеГруппа.Видимость = Истина;
|
||||
МассивСтрок = Новый Массив;
|
||||
|
||||
@@ -181,12 +181,17 @@
|
||||
НаборЗаписейОповещений.Отбор.Сертификат.Установить(Выборка.Ссылка);
|
||||
|
||||
Если СертификатОбъект.Пользователи.Количество() > 0 Тогда
|
||||
Для Каждого СтрокаПользователь Из СертификатОбъект.Пользователи Цикл
|
||||
|
||||
ТаблицаПользователей = СертификатОбъект.Пользователи.Выгрузить();
|
||||
ТаблицаПользователей.Свернуть("Пользователь");
|
||||
|
||||
Для Каждого СтрокаПользователь Из ТаблицаПользователей Цикл
|
||||
ЗаписьНабораОповещений = НаборЗаписейОповещений.Добавить();
|
||||
ЗаписьНабораОповещений.Сертификат = Выборка.Ссылка;
|
||||
ЗаписьНабораОповещений.Пользователь = СтрокаПользователь.Пользователь;
|
||||
ЗаписьНабораОповещений.Оповещен = Истина;
|
||||
КонецЦикла;
|
||||
|
||||
ИначеЕсли ЗначениеЗаполнено(СертификатОбъект.Пользователь) Тогда
|
||||
ЗаписьНабораОповещений = НаборЗаписейОповещений.Добавить();
|
||||
ЗаписьНабораОповещений.Сертификат = Выборка.Ссылка;
|
||||
|
||||
BIN
Binary file not shown.
+11
-1
@@ -681,6 +681,11 @@
|
||||
<key>ru</key>
|
||||
<value>Добавление сертификата для шифрования</value>
|
||||
</synonym>
|
||||
<help>
|
||||
<pages>
|
||||
<lang>ru</lang>
|
||||
</pages>
|
||||
</help>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<usePurposes>MobileDevice</usePurposes>
|
||||
</forms>
|
||||
@@ -713,6 +718,11 @@
|
||||
<key>ru</key>
|
||||
<value>Выбор сертификата для подписания или расшифровки</value>
|
||||
</synonym>
|
||||
<help>
|
||||
<pages>
|
||||
<lang>ru</lang>
|
||||
</pages>
|
||||
</help>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<usePurposes>MobileDevice</usePurposes>
|
||||
</forms>
|
||||
@@ -809,7 +819,7 @@
|
||||
<usePurposes>MobileDevice</usePurposes>
|
||||
</forms>
|
||||
<templates uuid="5189beb9-b939-4f97-aca0-c2f3492ac8b9">
|
||||
<name>КомпонентаExtraCryptoAPI_3_0_1_27</name>
|
||||
<name>КомпонентаExtraCryptoAPI_3_0_1_31</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Компонента ExtraCryptoAPI</value>
|
||||
|
||||
+6
@@ -406,6 +406,9 @@
|
||||
</handler>
|
||||
</action>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
<associatedTableElementId xsi:type="core:StringValue">
|
||||
<value>СписокСостоянийОригинала</value>
|
||||
</associatedTableElementId>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<formCommands>
|
||||
@@ -431,6 +434,9 @@
|
||||
</handler>
|
||||
</action>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
<associatedTableElementId xsi:type="core:StringValue">
|
||||
<value>СписокСостоянийОригинала</value>
|
||||
</associatedTableElementId>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<commandInterface>
|
||||
|
||||
+378
-15
@@ -295,6 +295,7 @@
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<editTextUpdate>OnValueChange</editTextUpdate>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
@@ -467,6 +468,7 @@
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<editTextUpdate>OnValueChange</editTextUpdate>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
@@ -2286,10 +2288,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 +2303,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>КартинкаПредупреждениеРасширеннаяПодсказка1</name>
|
||||
<name>КартинкаТехническиеПодробностиОшибкиРасширеннаяПодсказка</name>
|
||||
<id>281</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2311,7 +2313,7 @@
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>КартинкаПредупреждениеКонтекстноеМеню1</name>
|
||||
<name>КартинкаТехническиеПодробностиОшибкиКонтекстноеМеню</name>
|
||||
<id>280</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
@@ -2324,10 +2326,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 +2341,7 @@
|
||||
</dataPath>
|
||||
<titleLocation>None</titleLocation>
|
||||
<extendedTooltip>
|
||||
<name>СообщенияОбОшибкахРасширеннаяПодсказка1</name>
|
||||
<name>ТекстТехническиеПодробностиОшибкиРасширеннаяПодсказка</name>
|
||||
<id>286</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2349,7 +2351,7 @@
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СообщенияОбОшибкахКонтекстноеМеню1</name>
|
||||
<name>ТекстТехническиеПодробностиОшибкиКонтекстноеМеню</name>
|
||||
<id>285</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
@@ -2362,7 +2364,7 @@
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<handlers>
|
||||
<event>Opening</event>
|
||||
<name>ТекстПриПроверкеОбнаруженыОшибкиОткрытие</name>
|
||||
<name>ТекстТехническиеПодробностиОшибкиОткрытие</name>
|
||||
</handlers>
|
||||
<height>7</height>
|
||||
<horizontalStretch>true</horizontalStretch>
|
||||
@@ -2383,7 +2385,7 @@
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Decoration">
|
||||
<name>НужнаПомощьПриПроверкеОбнаруженыОшибки</name>
|
||||
<name>НужнаПомощьТехническиеПодробностиОшибки</name>
|
||||
<id>287</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
@@ -2395,7 +2397,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>НужнаПомощьРасширеннаяПодсказка1</name>
|
||||
<name>НужнаПомощьТехническиеПодробностиОшибкиРасширеннаяПодсказка</name>
|
||||
<id>289</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2405,7 +2407,7 @@
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>НужнаПомощьКонтекстноеМеню1</name>
|
||||
<name>НужнаПомощьТехническиеПодробностиОшибкиКонтекстноеМеню</name>
|
||||
<id>288</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
@@ -2432,7 +2434,7 @@
|
||||
<value>При проверке обнаружены ошибки</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаСообщенияОбОшибкахРасширеннаяПодсказка1</name>
|
||||
<name>ГруппаТехническиеПодробностиОшибкиРасширеннаяПодсказка</name>
|
||||
<id>283</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2458,10 +2460,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 +2650,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>
|
||||
|
||||
+66
-22
@@ -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 @@
|
||||
Элементы.КнопкаДалее.КнопкаПоУмолчанию =ТекущаяСтраница <> Элементы.ПроверкаНастроекУчетнойЗаписи;
|
||||
Элементы.КнопкаДалее.Доступность = Не (ТекущаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи И ПроверкаПропущена);
|
||||
Элементы.КнопкаДалее.Видимость = Не (ТекущаяСтраница = Элементы.ПроверкаНастроекУчетнойЗаписи И СпособНастройки = "Вручную")
|
||||
И Не (ТекущаяСтраница = Элементы.Авторизация И Не ЭтоВебКлиент());
|
||||
И Не (ТекущаяСтраница = Элементы.Авторизация И Не ЭтоВебКлиент())
|
||||
И Не ТекущаяСтраница = Элементы.ПриПроверкеОбнаруженыОшибки;
|
||||
|
||||
// КнопкаНазад
|
||||
Элементы.КнопкаНазад.Видимость = ТекущаяСтраница <> Элементы.НастройкаУчетнойЗаписи
|
||||
@@ -644,6 +648,7 @@
|
||||
Если ТекущаяСтраница = Элементы.Авторизация
|
||||
И Элементы.ВариантыАвторизации.ТекущаяСтраница = Элементы.ВстроенныйБраузер Тогда
|
||||
Активизировать();
|
||||
ПодключитьОбработчикОжидания("ПроверитьРезультатАвторизации", 5, Истина );
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -1106,20 +1111,49 @@
|
||||
&НаКлиенте
|
||||
Процедура ВебСтраницаДокументСформирован(Элемент)
|
||||
|
||||
ПроверитьРезультатАвторизации();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПроверитьРезультатАвторизации()
|
||||
|
||||
#Если Не ВебКлиент Тогда
|
||||
|
||||
ОтключитьОбработчикОжидания("ПроверитьРезультатАвторизации");
|
||||
|
||||
НастройкиАвторизации = НастройкиАвторизацииНаПочтовомСервере; // см. НастройкиАвторизацииНаПочтовомСервере
|
||||
Если СтрНачинаетсяС(НРег(Элемент.Документ.URL), НРег(АдресПеренаправления)) Тогда
|
||||
ПриПолученииОтветаПочтовогоСервера(Элемент.Документ.URL, НастройкиАвторизации.АдресПолученияКлюча);
|
||||
ПерейтиНаСледующуюСтраницу();
|
||||
АдресПолученияКлюча = НастройкиАвторизации.АдресПолученияКлюча;
|
||||
|
||||
ОтветСервера = "";
|
||||
Если СтрНачинаетсяС(НРег(Элементы.ВебСтраница.Документ.URL), НРег(АдресПеренаправления)) Тогда
|
||||
ОтветСервера = Элементы.ВебСтраница.Документ.URL;
|
||||
ИначеЕсли СтрНачинаетсяС(ВебСтраница, "{") И СтрЗаканчиваетсяНа(ВебСтраница, "}") Тогда
|
||||
ОтветСервера = ВебСтраница;
|
||||
ИначеЕсли Элементы.ВебСтраница.Документ.contentType = "application/json" Тогда
|
||||
ОтветСервера = Элементы.ВебСтраница.Документ.body.innerText;
|
||||
Иначе
|
||||
Если Элементы.Страницы.ТекущаяСтраница = Элементы.Авторизация Тогда
|
||||
ПодключитьОбработчикОжидания("ПроверитьРезультатАвторизации", 5, Истина);
|
||||
КонецЕсли;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПриПолученииОтветаПочтовогоСервера(ОтветСервера, АдресПолученияКлюча);
|
||||
ПерейтиНаСледующуюСтраницу();
|
||||
#КонецЕсли
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриПолученииОтветаПочтовогоСервера(СтрокаURI, АдресПолученияКлюча)
|
||||
Процедура ПриПолученииОтветаПочтовогоСервера(СтрокаПараметров, АдресПолученияКлюча)
|
||||
|
||||
Если СтрНачинаетсяС(СтрокаПараметров, "{") Тогда
|
||||
Ответ = РаботаСПочтовымиСообщениямиСлужебный.JSONВЗначение(СтрокаПараметров);
|
||||
Иначе
|
||||
Ответ = ПараметрыИзСтрокиURI(СтрокаПараметров);
|
||||
КонецЕсли;
|
||||
|
||||
Ответ = ПараметрыИзСтрокиURI(СтрокаURI);
|
||||
КодАвторизации = Ответ["code"];
|
||||
КодОшибки = Ответ["error"];
|
||||
ТекстОшибки = Ответ["error_description"];
|
||||
@@ -1128,21 +1162,18 @@
|
||||
ТекстОшибки = РаскодироватьСтроку(ТекстОшибки, СпособКодированияСтроки.КодировкаURL);
|
||||
КонецЕсли;
|
||||
|
||||
Если ИдентификаторЗапроса <> Ответ["state"] Тогда
|
||||
СообщенияОбОшибках = НСтр("ru = 'Не удалось авторизоваться на сервере %1. Неверный идентификатор ответа.'");
|
||||
ПроверкаЗавершиласьСОшибками = Истина;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(КодОшибки) Тогда
|
||||
СообщенияОбОшибках = ОписаниеОшибкиАвторизацииПочтовогоСервера(КодОшибки, ТекстОшибки);
|
||||
ПроверкаЗавершиласьСОшибками = Истина;
|
||||
Возврат;
|
||||
ИначеЕсли ИдентификаторЗапроса <> Ответ["state"] Тогда
|
||||
СообщенияОбОшибках = НСтр("ru = 'Не удалось авторизоваться на почтовом сервере. Неверный идентификатор ответа.'");
|
||||
ПроверкаЗавершиласьСОшибками = Истина;
|
||||
ИначеЕсли Не ПолучитьКлючиДоступаКПочтовомуСерверу(КодАвторизации, АдресПолученияКлюча) Тогда
|
||||
ПроверкаЗавершиласьСОшибками = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ПолучитьКлючиДоступаКПочтовомуСерверу(КодАвторизации, АдресПолученияКлюча) Тогда
|
||||
ПроверкаЗавершиласьСОшибками = Истина;
|
||||
Возврат;
|
||||
Если ПроверкаЗавершиласьСОшибками Тогда
|
||||
ЗаполнитьПояснения();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -1516,4 +1547,17 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьПояснения()
|
||||
|
||||
ПоясненияПоОшибке = РаботаСПочтовымиСообщениямиСлужебный.ПоясненияПоОшибке(СообщенияОбОшибках, , Истина);
|
||||
|
||||
ВозможныеПричины = РаботаСПочтовымиСообщениямиСлужебный.ФорматированныйСписок(ПоясненияПоОшибке.ВозможныеПричины);
|
||||
СпособыУстранения = РаботаСПочтовымиСообщениямиСлужебный.ФорматированныйСписок(ПоясненияПоОшибке.СпособыУстранения);
|
||||
|
||||
Элементы.ДекорацияВозможныеПричины.Заголовок = ВозможныеПричины;
|
||||
Элементы.ДекорацияСпособыУстранения.Заголовок = СпособыУстранения;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -4333,9 +4333,6 @@
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
<notDefaultUseAlwaysAttributes xsi:type="form:DataPath">
|
||||
<segments>Папки.ДатаСинхронизации</segments>
|
||||
</notDefaultUseAlwaysAttributes>
|
||||
<notDefaultUseAlwaysAttributes xsi:type="form:DataPath">
|
||||
<segments>Папки.Description</segments>
|
||||
</notDefaultUseAlwaysAttributes>
|
||||
@@ -4357,9 +4354,6 @@
|
||||
<notDefaultUseAlwaysAttributes xsi:type="form:DataPath">
|
||||
<segments>Папки.УчетнаяЗапись</segments>
|
||||
</notDefaultUseAlwaysAttributes>
|
||||
<notDefaultUseAlwaysAttributes xsi:type="form:DataPath">
|
||||
<segments>Папки.УчетнаяЗаписьDescription</segments>
|
||||
</notDefaultUseAlwaysAttributes>
|
||||
<notDefaultUseAlwaysAttributes xsi:type="form:DataPath">
|
||||
<segments>Папки.УчетнаяЗаписьСервис</segments>
|
||||
</notDefaultUseAlwaysAttributes>
|
||||
|
||||
@@ -1472,13 +1472,10 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СписокВыборПослеВыбораРежимаРедактирования(Результат, ПараметрыВыполнения) Экспорт
|
||||
РезультатОткрыть = "Открыть";
|
||||
РезультатРедактировать = "Редактировать";
|
||||
|
||||
Если Результат = РезультатРедактировать Тогда
|
||||
Если Результат = "Редактировать" Тогда
|
||||
Обработчик = Новый ОписаниеОповещения("СписокВыборПослеРедактированияФайла", ЭтотОбъект, ПараметрыВыполнения);
|
||||
РаботаСФайламиСлужебныйКлиент.РедактироватьФайл(Обработчик, ПараметрыВыполнения.ДанныеФайла);
|
||||
ИначеЕсли Результат = РезультатОткрыть Тогда
|
||||
ИначеЕсли Результат = "Открыть" Тогда
|
||||
РаботаСФайламиКлиент.ОткрытьФайл(ПараметрыВыполнения.ДанныеФайла, Ложь);
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -3,64 +3,93 @@
|
||||
<p>Открывается из <a href="DataProcessor.РаботаСФайлами.Form.ПрисоединенныеФайлы/Help">списка присоединенных файлов</a> с помощью команды <strong>Еще - Открыть карточку</strong> (клавиши <strong>F2</strong>).</p>
|
||||
<h3>Сведения о файле</h3>
|
||||
<ul><li><strong>Наименование</strong> - полное имя файла. Автоматически заполняется программой во время присоединения файла и создания карточки файла, можно изменить;
|
||||
</li><li><strong>Описани</strong>е - напишите подробные сведения о файле;
|
||||
</li><li><strong>Автор</strong> - пользователь, который добавил файл в базу;
|
||||
</li><li><strong>Создан</strong> - дата добавления файла в базу;
|
||||
</li><li><strong>Отредактировал</strong> - последний пользователь, который отредактировал файл;
|
||||
</li><li><strong>Изменен</strong> - дата изменения данных файла (местное время);
|
||||
</li><li>
|
||||
</li>
|
||||
<li><strong>Описани</strong>е - напишите подробные сведения о файле;
|
||||
</li>
|
||||
<li><strong>Автор</strong> - пользователь, который добавил файл в базу;
|
||||
</li>
|
||||
<li><strong>Создан</strong> - дата добавления файла в базу;
|
||||
</li>
|
||||
<li><strong>Отредактировал</strong> - последний пользователь, который отредактировал файл;
|
||||
</li>
|
||||
<li><strong>Изменен</strong> - дата изменения данных файла (местное время);
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>Размещение</strong> - наименование и дата документа, к которому присоединен файл. Можно просмотреть документ;</div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
<div><strong>Размер</strong> - размер данных файла;</div></div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>Расширение</strong> - расширение (формат) файла.</div></li></ul><h3>Редактирование присоединенного файла</h3>
|
||||
<ul><li>
|
||||
<div>
|
||||
<div>В тонком клиенте <a href="CommonForm.РедактированиеТабличногоДокумента/Help">редактирование файлов табличных документов</a> (формата <strong>.mxl</strong>) осуществляется во встроенной форме редактора табличных документов. В веб-клиенте необходимо загрузить приложение для редактирования этих файлов. Подробнее об особенностях редактирования табличных документов в веб-клиенте см. <a href="InformationRegister.ПользовательскиеМакетыПечати/Help">здесь</a>. </div></div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
<div>Для редактирования файлов других форматов на компьютере должны быть установлены соответствующие приложения, например, для редактирования файлов в формате Microsoft Word должно быть установлено это приложение.</div></div>
|
||||
</li><li>С помощью кнопки <strong>Просмотреть</strong> можно открыть файл внешним приложением для просмотра или редактирования, в зависимости от того, помечен или нет файл как занятый другим пользователем для редактирования.
|
||||
</li><li>
|
||||
</li>
|
||||
<li>С помощью кнопки <strong>Просмотреть</strong> можно открыть файл внешним приложением для просмотра или редактирования, в зависимости от того, помечен или нет файл как занятый другим пользователем для редактирования.
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
<div>Команда <strong>Еще -</strong> <strong>Редактировать</strong> открывает файл в режиме редактирования, а также производит захват файла в программе. Захваченный файл будет недоступен для редактирования другим пользователям программы и помечается в списке зеленым цветом.</div></div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div>Команда <strong>Еще -</strong> <strong>Закончить редактирование</strong> освобождает файл, сохраняет его в программе и снимает пометку занятости для редактирования. После окончания редактирования сохраните файл, закройте внешнее приложение.</div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
<div>
|
||||
<div>Команда <strong>Еще -</strong> <strong>Отменить редактирование</strong> освобождает файл, не сохраняя произведенные в нем изменения в программе, и снимает пометку занятости для редактирования. Эта команда может быть полезна, если необходимо отказаться от результатов редактирования файла (например, при редактировании в файл были внесены нежелательные изменения или ошибки).</div></div></div></li></ul><h3>Сохранение файла</h3>
|
||||
<ul><li>
|
||||
<div>С помощью команды <strong>Еще - Сохранить как </strong>можно сохранить файл в указанный каталог на жестком или сетевом диске.</div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div>Соответствующей командой меню <strong>Еще</strong> можно <strong>Открыть каталог файла в Проводнике Windows</strong>;</div></li></ul><h3>Обновление файла</h3>
|
||||
<ul><li>С помощью команды <strong>Еще - Обновить из файла на диске</strong> можно обновить файл из оригинального файла на диске (из которого изначально был создан файл в программе).</li></ul><h3>Электронная подпись и шифрование</h3>
|
||||
<p>При использовании электронной подписи становится доступным выпадающее меню <strong>Еще - Электронная подпись и шифрование</strong>, которое содержит команды для работы с электронной подписью файлов:</p>
|
||||
<ul><li>
|
||||
<div><strong>Подписать</strong> - создает электронную подпись для файла. Перед созданием электронной подписи программа предлагает <a>выбрать сертификат электронной</a> подписи из имеющихся на компьютере. Выбор сертификата можно сделать и во время персональных настроек программы. Подписанный файл становится недоступным для редактирования и отображается в списках со значком <img src="CommonPicture.ПодписанЭП"></img>.</div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>Добавить электронную подпись из файла</strong> - <a href="CommonForm.ДобавлениеЭлектроннойПодписиИзФайла/Help">добавляет подпись</a> к файлу. Команду можно использовать, например, если подпись (файл подписи) была получена позже, чем подписанный файл.</div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>Сохранить вместе с электронной подписью</strong> - <a href="CommonForm.СохранениеВместеСЭлектроннойПодписью/Help">сохраняет подпись</a> в файл на диске. Команду можно использовать, например, если необходимо передать подписанный файл другому лицу.</div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>Зашифровать</strong> - по команде происходит <a>шифрование файла</a>. В отличие от подписания могут использоваться несколько сертификатов, например, если необходимо зашифровать файл для нескольких пользователей. Зашифрованный файл в списках отображается со значком <img src="CommonPicture.Зашифрован"></img>.</div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Расшифровать</strong> - по команде происходит <a>расшифровка файла</a>. Для расшифровки нужно ввести пароль к закрытому ключу.</p></li></ul><p>При использовании электронной подписи и шифрования становятся доступными вкладки:</p>
|
||||
<h3>Электронные подписи</h3>
|
||||
<p>На вкладке размещаются сведения об электронной подписи файла:</p>
|
||||
<ul><li><strong>Автор подписи</strong> - пользователь, который подписал файл;
|
||||
</li><li><strong>Дата подписи</strong> - дата подписания файла;
|
||||
</li><li><strong>Комментарий</strong> - напишите дополнительные сведения о подписи;
|
||||
</li><li><strong>Статус, Дата проверки</strong> - истинность подписи и дата ее проверки.</li></ul><p>С помощью кнопок панели навигации можно:</p>
|
||||
</li>
|
||||
<li><strong>Дата подписи</strong> - дата подписания файла;
|
||||
</li>
|
||||
<li><b>Тип подписи</b> - существует несколько типов подписей в зависимости от срока действия;</li>
|
||||
<li><strong>Комментарий</strong> - напишите дополнительные сведения о подписи;
|
||||
</li>
|
||||
<li><strong>Статус, Дата проверки</strong> - истинность подписи и дата ее проверки.</li></ul><p>С помощью кнопок панели навигации можно:</p>
|
||||
<ul><li><strong>Подписать</strong> файл;
|
||||
</li><li><strong>Открыть </strong>- открыть окно с основными свойствами сертификата электронной подписи выделенного файла: кому и кем выдан, назначение и срок действия сертификата, на основе которого создана подпись;
|
||||
</li><li><strong>Проверить</strong>, изменялся ли кем-либо подписанный файл, с помощью одного или всех сертификатов электронной подписи. Для этого выделите одну или несколько подписей. Если электронная подпись хранимого файла не соответствует какому-либо сертификату электронной подписи, то такая электронная подпись после проверки будет выделена в списке красным цветом, а в колонке <strong>Статус</strong> у такой электронной подписи будет указано <strong>Не верна</strong>.
|
||||
</li><li><strong>Проверить все</strong> - проверить все подписи;
|
||||
</li><li><strong>Сохранить</strong> электронную подпись <strong>в файл </strong>на диск;
|
||||
</li><li><strong>Удалить</strong> у файла электронную подпись.</li></ul><h3>Разрешено расшифровывать</h3>
|
||||
</li>
|
||||
<li><strong>Открыть </strong>- открыть окно с основными свойствами сертификата электронной подписи выделенного файла: кому и кем выдан, назначение и срок действия сертификата, на основе которого создана подпись;
|
||||
</li>
|
||||
<li><strong>Проверить</strong>, изменялся ли кем-либо подписанный файл, с помощью одного или всех сертификатов электронной подписи. Для этого выделите одну или несколько подписей. Если электронная подпись хранимого файла не соответствует какому-либо сертификату электронной подписи, то такая электронная подпись после проверки будет выделена в списке красным цветом, а в колонке <strong>Статус</strong> у такой электронной подписи будет указано <strong>Не верна</strong>.
|
||||
</li>
|
||||
<li><strong>Проверить все</strong> - проверить все подписи;
|
||||
</li>
|
||||
<li><strong>Сохранить</strong> электронную подпись <strong>в файл </strong>на диск;
|
||||
</li>
|
||||
<li><strong>Удалить</strong> у файла электронную подпись.</li>
|
||||
<li><b>Продлить действие</b> - Если в программе применяются подписи с доверенной меткой времени, то можно усовершенствовать выбранную подпись - добавить доверенную метку времени. Программа предлагает <a href="CommonForm.ПродлениеСрокаДействияЭлектронныхПодписей/Help">способы усовершенствования</a> подписи. Для этого выберите нужный тип подписи из списка.</li></ul><h3>Разрешено расшифровывать</h3>
|
||||
<ul><li>
|
||||
<div>На вкладке размещаются сведения о шифровании файла:</div>
|
||||
</li><li>
|
||||
</li>
|
||||
<li>
|
||||
<div>В списке на этой вкладке отображаются сертификаты, с помощью которых зашифрован файл. Двойным щелчком мыши или с помощью соответствующей кнопки можно <strong>Открыть сертификат</strong> электронной подписи и просмотреть его основные свойства: кому и кем выдан, назначение и срок действия сертификата.</div></li></ul><h3>См. также:</h3>
|
||||
<ul><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html>
|
||||
+23
-11
@@ -189,15 +189,7 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.Мультиязычность") Тогда
|
||||
Если ПустаяСтрока(Объект.ЗаголовокЯзык1) Тогда
|
||||
Объект.ЗаголовокЯзык1 = Объект.Заголовок;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПустаяСтрока(Объект.ЗаголовокЯзык2) Тогда
|
||||
Объект.ЗаголовокЯзык2 = Объект.Заголовок;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
ЗаполнитьМультиязычныеРеквизиты();
|
||||
|
||||
Если ПараметрыЗаписи.Свойство("ОбработкаПродолжения") Тогда
|
||||
ОбработкаПродолженияПриОшибкеЗаписи = ПараметрыЗаписи.ОбработкаПродолжения;
|
||||
@@ -674,6 +666,9 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
Если ИндексСтраницы = 2 Тогда
|
||||
|
||||
ЗаполнитьМультиязычныеРеквизиты();
|
||||
|
||||
Если Не ПроверитьЗаполнение() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
@@ -983,7 +978,7 @@
|
||||
НаборыСвойств, "ЭтоДополнительноеСведение", (ЭтоДополнительноеСведение = 1), Истина);
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(
|
||||
НаборыСвойств, "ЭтоОсновнойЯзык", ТекущийЯзык() = Метаданные.ОсновнойЯзык, Истина);
|
||||
НаборыСвойств, "ЭтоОсновнойЯзык", ОбщегоНазначения.ЭтоОсновнойЯзык(), Истина);
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(
|
||||
НаборыСвойств, "КодЯзыка", ТекущийЯзык().КодЯзыка, Истина);
|
||||
@@ -1149,6 +1144,23 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗаполнитьМультиязычныеРеквизиты()
|
||||
|
||||
Если Не ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.Мультиязычность") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПустаяСтрока(Объект.ЗаголовокЯзык1) Тогда
|
||||
Объект.ЗаголовокЯзык1 = Объект.Заголовок;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПустаяСтрока(Объект.ЗаголовокЯзык2) Тогда
|
||||
Объект.ЗаголовокЯзык2 = Объект.Заголовок;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПослеВыбораРеквизитовДляРазблокирования(РазблокируемыеРеквизиты, Контекст) Экспорт
|
||||
|
||||
@@ -2419,7 +2431,7 @@
|
||||
"Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеСведения");
|
||||
КонецЕсли;
|
||||
|
||||
Запрос.УстановитьПараметр("ЭтоОсновнойЯзык", ТекущийЯзык() = Метаданные.ОсновнойЯзык);
|
||||
Запрос.УстановитьПараметр("ЭтоОсновнойЯзык", ОбщегоНазначения.ЭтоОсновнойЯзык());
|
||||
Запрос.УстановитьПараметр("КодЯзыка", ТекущийЯзык().КодЯзыка);
|
||||
|
||||
НачатьТранзакцию();
|
||||
|
||||
@@ -36,6 +36,24 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
|
||||
|
||||
Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Мультиязычность") Тогда
|
||||
|
||||
Позиция = ПроверяемыеРеквизиты.Найти("ЗаголовокЯзык1");
|
||||
Если Позиция<> Неопределено Тогда
|
||||
ПроверяемыеРеквизиты.Удалить(Позиция);
|
||||
КонецЕсли;
|
||||
|
||||
Позиция = ПроверяемыеРеквизиты.Найти("ЗаголовокЯзык2");
|
||||
Если Позиция<> Неопределено Тогда
|
||||
ПроверяемыеРеквизиты.Удалить(Позиция);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПриЗаписи(Отказ)
|
||||
|
||||
Если ОбменДанными.Загрузка Тогда
|
||||
|
||||
@@ -34,8 +34,8 @@
|
||||
СуффиксДополнительногоЯзыка1 = "Язык1";
|
||||
СуффиксДополнительногоЯзыка2 = "Язык2";
|
||||
|
||||
Если СтрСравнить(Константы.ОсновнойЯзык.Получить(), ТекущийЯзык().КодЯзыка) <> 0 Тогда
|
||||
|
||||
|
||||
Если Не ОбщегоНазначения.ЭтоОсновнойЯзык() Тогда
|
||||
СуффиксОсновногоЯзыка = МультиязычностьСервер.СуффиксТекущегоЯзыка();
|
||||
Если СуффиксОсновногоЯзыка = "Язык1" Тогда
|
||||
СуффиксДополнительногоЯзыка1 = "";
|
||||
@@ -130,10 +130,10 @@
|
||||
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.ТекущиеЗначение;
|
||||
КонецЕсли;
|
||||
|
||||
ОсновнойЯзык = ОбщегоНазначения.КодОсновногоЯзыка();
|
||||
|
||||
Если ХранениеВТабличнойЧасти Тогда
|
||||
|
||||
ОсновнойЯзык = Метаданные.ОсновнойЯзык.КодЯзыка;
|
||||
|
||||
Для каждого Представление Из Параметры.Представления Цикл
|
||||
|
||||
ОписаниеЯзыка = ОписаниеЯзыка(Представление.КодЯзыка);
|
||||
@@ -151,9 +151,7 @@
|
||||
И (ИспользуетсяПервыйДополнительныйЯзык
|
||||
ИЛИ ИспользуетсяВторойДополнительныйЯзык) Тогда
|
||||
|
||||
ОсновнойЯзык = ОбщегоНазначения.КодОсновногоЯзыка();
|
||||
|
||||
ОписаниеЯзыка = ОписаниеЯзыка(Константы.ОсновнойЯзык.Получить());
|
||||
ОписаниеЯзыка = ОписаниеЯзыка(ОсновнойЯзык);
|
||||
Если ПустаяСтрока(СуффиксОсновногоЯзыка) Тогда
|
||||
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.ТекущиеЗначение;
|
||||
Иначе
|
||||
|
||||
@@ -85,6 +85,8 @@
|
||||
ОжиданиеСчетчик = ОжиданиеСчетчик + 1;
|
||||
ПродолжитьОбратныйОтсчет();
|
||||
КонецЕсли;
|
||||
|
||||
ТекущийЭлемент = Элементы.Колонки;
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -165,7 +165,7 @@
|
||||
&НаКлиенте
|
||||
Процедура НаименованиеКонфигурации(Команда)
|
||||
|
||||
ВставитьПараметрВШаблон("&ConfigurationPresentation");
|
||||
ВставитьПараметрВШаблон("&ApplicationPresentation");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -531,7 +531,7 @@
|
||||
|Если восстановление пароля не запрашивалось, сообщите об этом техническому специалисту.'");
|
||||
|
||||
ТекстСообщенияHTML = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСообщенияHTML,
|
||||
"&UserPresentation", "&ConfigurationPresentation", "&VerificationCode");
|
||||
"&UserPresentation", "&ApplicationPresentation", "&VerificationCode");
|
||||
|
||||
Возврат ТекстСообщенияHTML;
|
||||
|
||||
|
||||
@@ -261,6 +261,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыСоздания = ЭлектроннаяПодписьСлужебныйКлиент.ПараметрыСозданияМенеджераКриптографии();
|
||||
ПараметрыСоздания.АлгоритмПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмСформированнойПодписи(Контекст.ДанныеПодписи);
|
||||
ПараметрыСоздания.ПоказатьОшибку = Неопределено;
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.СоздатьМенеджерКриптографии(Новый ОписаниеОповещения(
|
||||
@@ -274,7 +275,11 @@
|
||||
Процедура ВыбратьФайлПослеСозданияМенеджераКриптографии(МенеджерКриптографии, Контекст) Экспорт
|
||||
|
||||
Если ТипЗнч(МенеджерКриптографии) <> Тип("МенеджерКриптографии") Тогда
|
||||
ПоказатьОшибку(МенеджерКриптографии, Контекст.ОшибкаНаСервере);
|
||||
ПараметрыСоздания = ЭлектроннаяПодписьСлужебныйКлиент.ПараметрыСозданияМенеджераКриптографии();
|
||||
ПараметрыСоздания.ПоказатьОшибку = Неопределено;
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.СоздатьМенеджерКриптографии(Новый ОписаниеОповещения(
|
||||
"ВыбратьФайлПослеСозданияЛюбогоМенеджераКриптографии", ЭтотОбъект, Контекст),
|
||||
"", ПараметрыСоздания);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -294,6 +299,23 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Продолжение процедуры ВыбратьФайл.
|
||||
&НаКлиенте
|
||||
Процедура ВыбратьФайлПослеСозданияЛюбогоМенеджераКриптографии(МенеджерКриптографии, Контекст) Экспорт
|
||||
|
||||
Если ТипЗнч(МенеджерКриптографии) <> Тип("МенеджерКриптографии") Тогда
|
||||
ПоказатьОшибку(МенеджерКриптографии, Контекст.ОшибкаНаСервере);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.Вставить("МенеджерКриптографии", МенеджерКриптографии);
|
||||
Контекст.Вставить("ПараметрыПодписи", Неопределено);
|
||||
МенеджерКриптографии.НачатьПолучениеСертификатовИзПодписи(Новый ОписаниеОповещения(
|
||||
"ВыбратьФайлПослеПолученияСертификатовИзПодписи", ЭтотОбъект, Контекст,
|
||||
"ВыбратьФайлПослеОшибкиПолученияСертификатовИзПодписи", ЭтотОбъект), Контекст.ДанныеПодписи);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Продолжение процедуры ВыбратьФайл.
|
||||
&НаКлиенте
|
||||
Процедура ВыбратьФайлПослеОшибкиПолученияКонтейнераПодписи(ИнформацияОбОшибке, СтандартнаяОбработка, Контекст) Экспорт
|
||||
@@ -323,6 +345,10 @@
|
||||
КонтейнерПодписи, ДобавкаВремени, ДатаСеанса);
|
||||
|
||||
Контекст.Вставить("ПараметрыПодписи", ПараметрыПодписи);
|
||||
ДатаПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.ДатаПодписиИзПараметровПодписи(ПараметрыПодписи);
|
||||
Если ЗначениеЗаполнено(ДатаПодписи) Тогда
|
||||
Контекст.Вставить("ДатаПодписи", ДатаПодписи);
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.МенеджерКриптографии.НачатьПолучениеСертификатовИзПодписи(Новый ОписаниеОповещения(
|
||||
"ВыбратьФайлПослеПолученияСертификатовИзПодписи", ЭтотОбъект, Контекст,
|
||||
@@ -432,10 +458,15 @@
|
||||
ТекущаяДатаСеанса = ТекущаяДатаСеанса();
|
||||
СвойстваПодписи = ПолучитьИзВременногоХранилища(АдресСвойствПодписи);
|
||||
|
||||
Если Не ЗначениеЗаполнено(СвойстваПодписи.ДатаПодписи) Тогда
|
||||
СвойстваПодписи.ДатаПодписи = ТекущаяДатаСеанса;
|
||||
ДатаПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.ДатаПодписиИзПараметровПодписи(СвойстваПодписи);
|
||||
Если Не ЗначениеЗаполнено(ДатаПодписи) Тогда
|
||||
Если Не ЗначениеЗаполнено(СвойстваПодписи.ДатаПодписи) Тогда
|
||||
СвойстваПодписи.ДатаПодписи = ТекущаяДатаСеанса;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
СвойстваПодписи.ДатаПодписи = ДатаПодписи;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
СвойстваПодписи.ДатаПроверкиПодписи = ТекущаяДатаСеанса;
|
||||
СвойстваПодписи.ПодписьВерна = ПодписьВерна;
|
||||
|
||||
@@ -447,7 +478,41 @@
|
||||
Функция ДобавитьСтрокуНаСервере(Адрес, ИмяФайла, ДобавитьНовуюСтроку, ОшибкаНаСервере,
|
||||
ДанныеПодписи, ДатаПодписи, АдресСвойствПодписи)
|
||||
|
||||
ДанныеПодписи = ПолучитьИзВременногоХранилища(Адрес);
|
||||
ДанныеПодписи = ПолучитьИзВременногоХранилища(Адрес); // ДвоичныеДанные
|
||||
|
||||
ПолноеИмяВременногоФайла = ПолучитьИмяВременногоФайла();
|
||||
ДанныеПодписи.Записать(ПолноеИмяВременногоФайла);
|
||||
Текст = Новый ТекстовыйДокумент;
|
||||
Текст.Прочитать(ПолноеИмяВременногоФайла);
|
||||
|
||||
Попытка
|
||||
УдалитьФайлы(ПолноеИмяВременногоФайла);
|
||||
Исключение
|
||||
ЗаписьЖурналаРегистрации(
|
||||
НСтр("ru = 'Электронная подпись.Удаление временного файла'",
|
||||
ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка, , ,
|
||||
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
КонецПопытки;
|
||||
|
||||
Если Текст.КоличествоСтрок() > 3 И Текст.ПолучитьСтроку(1) = "-----BEGIN CMS-----"
|
||||
И Текст.ПолучитьСтроку(Текст.КоличествоСтрок()) = "-----END CMS-----" Тогда
|
||||
|
||||
Текст.УдалитьСтроку(1);
|
||||
Текст.УдалитьСтроку(Текст.КоличествоСтрок());
|
||||
СтрокаBase64 = Текст.ПолучитьТекст();
|
||||
|
||||
Попытка
|
||||
ДанныеПодписи = Base64Значение(СтрокаBase64);
|
||||
Исключение
|
||||
ИнформацияОбОшибке = ИнформацияОбОшибке();
|
||||
ОшибкаНаСервере.Вставить("ОписаниеОшибки", СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'При получении данных подписи из файла подписи произошла ошибка:
|
||||
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибке)));
|
||||
Возврат Ложь;
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
|
||||
ДатаПодписи = ЭлектроннаяПодпись.ДатаПодписания(ДанныеПодписи);
|
||||
|
||||
Если Не ЭлектроннаяПодпись.ПроверятьЭлектронныеПодписиНаСервере()
|
||||
@@ -488,6 +553,11 @@
|
||||
КонтейнерПодписи = МенеджерКриптографии.ПолучитьКонтейнерПодписейКриптографии(ДанныеПодписи);
|
||||
ПараметрыПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.ПараметрыПодписиКриптографии(КонтейнерПодписи,
|
||||
ЭлектроннаяПодписьСлужебный.ДобавкаВремени(), ТекущаяДатаСеанса());
|
||||
|
||||
ДатаПодписиИзПараметровПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.ДатаПодписиИзПараметровПодписи(ПараметрыПодписи);
|
||||
Если ЗначениеЗаполнено(ДатаПодписиИзПараметровПодписи) Тогда
|
||||
ДатаПодписи = ДатаПодписиИзПараметровПодписи;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
СвойстваСертификата = ЭлектроннаяПодпись.СвойстваСертификата(Сертификаты[0]);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html;charset=utf-8" http-equiv="content-type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.10570.1001"></meta></head><body>
|
||||
<p>Настройка параметров для использования средств электронной подписи и шифрования (криптографии). </p>
|
||||
<p>Открывается по команде <strong>Программы и сертификаты электронной подписи и шифрования</strong> раздела <strong>Администрирование - Общие настройки</strong>.</p>
|
||||
<p>Открывается по команде <strong>Настройки электронной подписи и шифрования</strong> раздела <strong>Администрирование - Общие настройки</strong>.</p>
|
||||
<p>Для электронной подписи и шифрования требуется установить специальную стороннюю программу (криптопровайдер).</p>
|
||||
<p>Для того чтобы подписывать данные, нужно включить флажок <strong>Электронная подпись</strong>, а для шифрования нужно включить флажок <strong>Шифрование</strong> в разделе <strong>Администрирование - Общие настройки</strong>. После этого становятся доступными соответствующие команды в программе.</p>
|
||||
<p>Электронная подпись - реквизит электронного документа, с помощью которого можно удостовериться в неизменности электронного документа с момента его подписи. Для установки подписи необходимо иметь сертификат ключа электронной подписи. Сертификат можно получить в удостоверяющем центре. Например, в удостоверяющем центре фирмы 1С <a href="http://ca.1c.ru/">http://ca.1c.ru/</a>. Только удостоверяющий центр может выдать юридически значимый (квалифицированный сертификат).</p>
|
||||
@@ -12,9 +12,8 @@
|
||||
</li>
|
||||
<li>Предусмотрен отбор по полю <strong>Состояние заявления</strong> ("Любое", "Не подготовлено", "Подготовлено", "Отправлено", "Отклонено", "Исполнено, сертификат не установлен", "Исполнено").
|
||||
</li>
|
||||
<li><a href="Catalog.СертификатыКлючейЭлектроннойПодписиИШифрования.Form.ФормаЭлемента/Help">Сертификат</a> можно <strong>Добавить</strong> из числа <strong>установленных на компьютере</strong>. Также это можно сделать в процессе подписания или шифрования данных.
|
||||
</li>
|
||||
<li>Также с помощью кнопки <strong>Добавить</strong> можно подготовить <a href="DataProcessor.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.Form.Форма/Help">Заявление на выпуск нового сертификата</a>.
|
||||
<li><a href="Catalog.СертификатыКлючейЭлектроннойПодписиИШифрования.Form.ФормаЭлемента/Help">Сертификат</a> можно <strong>Добавить</strong> из числа <strong>установленных на компьютере</strong>. Также это можно сделать в процессе подписания или шифрования данных. Выберите нужное действие с помощью переключателя, нажмите <b>Добавить</b>.</li>
|
||||
<ul><li>Сертификат <b>только для шифрования</b> можно <b>Добавить из файла</b>. Выберите нужное действие и перейдите по ссылке, укажите путь к файлу на компьютере.</li></ul><li>Также с помощью кнопки <strong>Добавить</strong> можно подготовить <a href="DataProcessor.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.Form.Форма/Help">Заявление на выпуск нового сертификата</a>.
|
||||
</li>
|
||||
<li>Просмотреть сертификат или заявление на выпуск нового сертификата можно, дважды щелкнув по нему мышью. Также можно это сделать с помощью команды <strong>Изменить</strong> контекстного меню по правой кнопке мыши или меню <strong>Еще</strong>.</li></ul><h3>Программы</h3>
|
||||
<ul><li>Содержит список программ, которые будут использованы в информационной базе (в том числе во всех узлах распределенной ИБ).
|
||||
@@ -29,8 +28,8 @@
|
||||
</li>
|
||||
<li>В колонке <strong>Результат проверки</strong> отражаются сведения, по которым можно понять установлена ли программа на компьютере или нет или же установлена, но некорректно.<span lang="RU">
|
||||
</span></li>
|
||||
<li>Linux: <strong>Путь к программе (<Имя программы, соответствующей выделенной строке в списке>)</strong> - поле, которое требуется обязательно заполнять на компьютерах под управлением ОС Linux.</li>
|
||||
<ul><li>В записи о программе можно перейти к списку <strong>Пути к программе на серверах Linux</strong> - в котором нужно указать пути для тех компьютеров, на которых сервер 1С:Предприятия работает под управлением ОС Linux.</li></ul><li>В нижней части списка расположена ссылка <a href="http://its.1c.ru/db/metod81#content:5784:1">Инструкция по работе с программами электронной подписи и шифрования</a>. Перейдите по этой ссылке в соответствующий раздел 1С:ИТС, если имеются вопросы.</li></ul><h3>Дополнительно</h3>
|
||||
<li>Linux: <strong>Путь к программе (<Имя программы, соответствующей выделенной строке в списке>)</strong> - поле, которое требуется обязательно заполнять на компьютерах под управлением ОС Linux.</li>
|
||||
<li>В нижней части списка расположена ссылка <a href="http://its.1c.ru/db/metod81#content:5784:1">Инструкция по работе с программами электронной подписи и шифрования</a>. Перейдите по этой ссылке в соответствующий раздел 1С:ИТС, если имеются вопросы.</li></ul><h3>Дополнительно</h3>
|
||||
<ul><li>Задайте <strong>Расширение для зашифрованных файлов</strong> при отправке по почте, при выполнении команды <strong>Сохранить как</strong> и при экспорте папки (по умолчанию <strong>.p7m</strong>).
|
||||
</li>
|
||||
<li>
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link></head><body>Предназначена для продления сроков действия (усовершенствования) электронных подписей вручную.
|
||||
<div>
|
||||
<div>В программе предусмотрено использование электронных подписей для длительного хранения документов. Выбрать тип подписи можно <a href="DataProcessor.ПанельАдминистрированияБСП.Form.ОбщиеНастройки/Help">в разделе</a> <b>Администрирование - Общие настройки - Электронная подпись</b>.</div>
|
||||
<div>
|
||||
<div>Продление сроков действия (усовершенствование) выполняется для выбранного файла или в списке - указывается подписанный объект (количество подписанных объектов).</div>
|
||||
<div>
|
||||
<div>Обычная электронная подпись (CAdES-BES) имеет ограниченный срок действия, он зависит от срока действия сертификата электронной подписи, который длится около года.</div>
|
||||
<div>Для долговременного хранения в электронную подпись вносится метка доверенного времени (подпись CAdES-T) или архивная метка времени (подпись CAdES-A). </div></div></div>
|
||||
<div>Если в программе применяются подписи с доверенной меткой времени, то можно продлить (усовершенствовать) выбранную подпись - добавить доверенную метку времени. </div>
|
||||
<div>Программа предлагает выбрать способы усовершенствования подписи:</div>
|
||||
<div>
|
||||
<ul><li><b>Усовершенствовать до</b> - Выберите способ усовершенствования (тип подписи) из списка с помощью переключателя.</li>
|
||||
<li><b>Не усовершенствовать</b>.</li>
|
||||
<li><b>Добавить архивные метки времени к архивным подписям</b> - включите флажок для продления архивных подписей.</li></ul><div>Нажмите <b>Выполнить</b>.</div></div></div></body></html>
|
||||
+5
@@ -5,6 +5,11 @@
|
||||
<key>ru</key>
|
||||
<value>Продление срока действия электронных подписей</value>
|
||||
</synonym>
|
||||
<help>
|
||||
<pages>
|
||||
<lang>ru</lang>
|
||||
</pages>
|
||||
</help>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<usePurposes>MobileDevice</usePurposes>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
|
||||
@@ -0,0 +1,193 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form">
|
||||
<items xsi:type="form:Decoration">
|
||||
<name>ДекорацияНадпись</name>
|
||||
<id>6</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>УЦ сертификата добавлен в список разрешенных УЦ</value>
|
||||
</title>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ДекорацияНадписьРасширеннаяПодсказка</name>
|
||||
<id>8</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ДекорацияНадписьКонтекстноеМеню</name>
|
||||
<id>7</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
<backColor xsi:type="core:ColorRef">
|
||||
<color>Style.ToolTipBackColor</color>
|
||||
</backColor>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаРазрешенныеНеаккредитованныеУЦ</name>
|
||||
<id>4</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>РазрешенныеНеаккредитованныеУЦ</name>
|
||||
<id>1</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>НаборКонстант.РазрешенныеНеаккредитованныеУЦ</segments>
|
||||
</dataPath>
|
||||
<toolTipRepresentation>ShowBottom</toolTipRepresentation>
|
||||
<extendedTooltip>
|
||||
<name>РазрешенныеНеаккредитованныеУЦРасширеннаяПодсказка</name>
|
||||
<id>3</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Список ОГРН (с новой строки или через запятую) удостоверяющих центров, потерявших аккредитацию, подписание сертификатами которых разрешено, подписи считаются верными.</value>
|
||||
</title>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>РазрешенныеНеаккредитованныеУЦКонтекстноеМеню</name>
|
||||
<id>2</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Auto</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<handlers>
|
||||
<event>EditTextChange</event>
|
||||
<name>РазрешенныеНеаккредитованныеУЦИзменениеТекстаРедактирования</name>
|
||||
</handlers>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<height>5</height>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<multiLine>true</multiLine>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<editTextUpdate>OnValueChange</editTextUpdate>
|
||||
<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>5</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>
|
||||
<representation>WeakSeparation</representation>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<autoCommandBar>
|
||||
<name>ФормаКоманднаяПанель</name>
|
||||
<id>-1</id>
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
<autoFill>true</autoFill>
|
||||
</autoCommandBar>
|
||||
<handlers>
|
||||
<event>OnOpen</event>
|
||||
<name>ПриОткрытии</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>OnCreateAtServer</event>
|
||||
<name>ПриСозданииНаСервере</name>
|
||||
</handlers>
|
||||
<windowOpeningMode>LockOwner</windowOpeningMode>
|
||||
<saveWindowSettings>true</saveWindowSettings>
|
||||
<autoTitle>true</autoTitle>
|
||||
<autoUrl>true</autoUrl>
|
||||
<group>Vertical</group>
|
||||
<autoFillCheck>true</autoFillCheck>
|
||||
<allowFormCustomize>true</allowFormCustomize>
|
||||
<enabled>true</enabled>
|
||||
<showTitle>auto</showTitle>
|
||||
<showCloseButton>true</showCloseButton>
|
||||
<attributes>
|
||||
<name>НаборКонстант</name>
|
||||
<id>1</id>
|
||||
<valueType>
|
||||
<types>ConstantsSet</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
<main>true</main>
|
||||
<savedData>true</savedData>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ТекстПредупреждения</name>
|
||||
<id>7</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<parameters>
|
||||
<name>Сертификат</name>
|
||||
<valueType/>
|
||||
<keyParameter>true</keyParameter>
|
||||
</parameters>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
</commandInterface>
|
||||
<extInfo xsi:type="form:ConstantsFormExtInfo">
|
||||
<handlers>
|
||||
<event>AfterWrite</event>
|
||||
<name>ПослеЗаписи</name>
|
||||
</handlers>
|
||||
</extInfo>
|
||||
</form:Form>
|
||||
@@ -0,0 +1,153 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (c) 2022, ООО 1С-Софт
|
||||
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
|
||||
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
|
||||
// Текст лицензии доступен по ссылке:
|
||||
// https://creativecommons.org/licenses/by/4.0/legalcode
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#Область ОбработчикиСобытийФормы
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
ДобавитьУдостоверяющийЦентрСертификатаВРазрешенные();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПриОткрытии(Отказ)
|
||||
|
||||
Если ЗначениеЗаполнено(ТекстПредупреждения) Тогда
|
||||
СтандартныеПодсистемыКлиент.УстановитьХранениеФормы(ЭтотОбъект, Истина);
|
||||
ПодключитьОбработчикОжидания("ОбработчикОжиданияПоказатьВопросПользователю", 0.1, Истина);
|
||||
Отказ = Истина;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Модифицированность = Элементы.ДекорацияНадпись.Видимость;
|
||||
ПодключитьОбработчикОжидания("ОбновитьКоличествоВЗаголовке", 0.1, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПослеЗаписи(ПараметрыЗаписи)
|
||||
|
||||
ОбновитьПовторноИспользуемыеЗначения();
|
||||
Оповестить("Запись_НаборКонстант", Новый Структура, "РазрешенныеНеаккредитованныеУЦ");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовШапкиФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура РазрешенныеНеаккредитованныеУЦИзменениеТекстаРедактирования(Элемент, Текст, СтандартнаяОбработка)
|
||||
|
||||
ПодключитьОбработчикОжидания("ОбновитьКоличествоВЗаголовке", 0.5, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбновитьКоличествоВЗаголовке()
|
||||
|
||||
Если ПустаяСтрока(Элементы.РазрешенныеНеаккредитованныеУЦ.ТекстРедактирования) Тогда
|
||||
Элементы.РазрешенныеНеаккредитованныеУЦ.Заголовок = НСтр("ru ='Разрешенные неаккредитованные УЦ'");
|
||||
Иначе
|
||||
РазрешенныеУЦ = СтрРазделить(Элементы.РазрешенныеНеаккредитованныеУЦ.ТекстРедактирования, ",;" + Символы.ПС, Ложь);
|
||||
Элементы.РазрешенныеНеаккредитованныеУЦ.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru ='Разрешенные неаккредитованные УЦ (%1)'"), РазрешенныеУЦ.Количество());
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбработчикОжиданияПоказатьВопросПользователю()
|
||||
|
||||
СтандартныеПодсистемыКлиент.УстановитьХранениеФормы(ЭтотОбъект, Ложь);
|
||||
ПараметрыВопроса = СтандартныеПодсистемыКлиент.ПараметрыВопросаПользователю();
|
||||
ПараметрыВопроса.Картинка = БиблиотекаКартинок.Предупреждение32;
|
||||
ПараметрыВопроса.ПредлагатьБольшеНеЗадаватьЭтотВопрос = Ложь;
|
||||
ПараметрыВопроса.Заголовок = НСтр("ru = 'Неаккредитованный удостоверяющий центр'");
|
||||
СтандартныеПодсистемыКлиент.ПоказатьВопросПользователю(Неопределено, ТекстПредупреждения, РежимДиалогаВопрос.ОК, ПараметрыВопроса);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ДобавитьУдостоверяющийЦентрСертификатаВРазрешенные()
|
||||
|
||||
Элементы.ДекорацияНадпись.Видимость = Ложь;
|
||||
|
||||
Если Не ЗначениеЗаполнено(Параметры.Сертификат) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
МодульЭлектроннаяПодписьКлиентСерверЛокализация = ОбщегоНазначения.ОбщийМодуль(
|
||||
"ЭлектроннаяПодписьКлиентСерверЛокализация");
|
||||
|
||||
Если МодульЭлектроннаяПодписьКлиентСерверЛокализация = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Сертификат = Параметры.Сертификат;
|
||||
|
||||
Если ТипЗнч(Сертификат) = Тип("Строка") И ЭтоАдресВременногоХранилища(Сертификат) Тогда
|
||||
|
||||
Сертификат = ПолучитьИзВременногоХранилища(Сертификат);
|
||||
|
||||
ИначеЕсли ТипЗнч(Сертификат) = Тип("СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования") Тогда
|
||||
|
||||
Сертификат = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Сертификат, "ДанныеСертификата").Получить();
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(Сертификат) <> Тип("ДвоичныеДанные") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Сертификат = Новый СертификатКриптографии(Сертификат);
|
||||
|
||||
ДанныеДляПроверкиУдостоверяющегоЦентра = МодульЭлектроннаяПодписьКлиентСерверЛокализация.ДанныеДляПроверкиУдостоверяющегоЦентра(
|
||||
Сертификат);
|
||||
ЗначенияПоиска = ДанныеДляПроверкиУдостоверяющегоЦентра.ЗначенияПоиска;
|
||||
|
||||
Если ЗначенияПоиска = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
МассивПолейПоиска = СтрРазделить(ЗначенияПоиска, ",");
|
||||
|
||||
ЗначениеДляДобавления = МассивПолейПоиска[0];
|
||||
|
||||
РазрешенныеУЦ = СтрРазделить(НаборКонстант.РазрешенныеНеаккредитованныеУЦ, ",;" + Символы.ПС);
|
||||
Если РазрешенныеУЦ.Найти(ЗначениеДляДобавления) = Неопределено Тогда
|
||||
|
||||
ПредставлениеИздателя = ЭлектроннаяПодписьСлужебныйКлиентСервер.ПредставлениеИздателя(Сертификат);
|
||||
|
||||
Элементы.ДекорацияНадпись.Видимость = Истина;
|
||||
|
||||
ЕстьПраваНаИзменение = ПравоДоступа("Изменение", Метаданные.Константы.РазрешенныеНеаккредитованныеУЦ);
|
||||
|
||||
Если Не ЕстьПраваНаИзменение Тогда
|
||||
ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru='Обратитесь к администратору для добавления ОГРН %1 удостоверяющего центра ""%2"" в список разрешенных неаккредитованных УЦ.'"),
|
||||
ЗначениеДляДобавления, ПредставлениеИздателя);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
РазрешенныеУЦ.Вставить(0, ЗначениеДляДобавления);
|
||||
НаборКонстант.РазрешенныеНеаккредитованныеУЦ = СтрСоединить(РазрешенныеУЦ, Символы.ПС);
|
||||
Элементы.ДекорацияНадпись.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru='Нажмите ""Записать и закрыть"", чтобы добавить ОГРН %1 удостоверяющего центра ""%2"" в список разрешенных.'"),
|
||||
ЗначениеДляДобавления, ПредставлениеИздателя);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonForm xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="cb81fb9f-16a2-4265-92a9-b827ca2fd588">
|
||||
<name>РазрешенныеНеаккредитованныеУЦ</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Разрешенные неаккредитованные УЦ</value>
|
||||
</synonym>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<usePurposes>MobileDevice</usePurposes>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
</mdclass:CommonForm>
|
||||
@@ -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>
|
||||
|
||||
@@ -22,10 +22,6 @@
|
||||
|
||||
НавигационнаяСсылка = "e1cib/app/ОбщаяФорма.Расширения";
|
||||
|
||||
Если Не Пользователи.ЭтоПолноправныйПользователь() Тогда
|
||||
ВызватьИсключение НСтр("ru = 'Недостаточно прав доступа. Обратитесь к администратору.'");
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ПравоДоступа("Администрирование", Метаданные) Тогда
|
||||
Элементы.СписокРасширенийБезопасныйРежимФлаг.ТолькоПросмотр = Истина;
|
||||
КонецЕсли;
|
||||
@@ -369,7 +365,8 @@
|
||||
// Обновление реквизита формы для условного форматирования.
|
||||
ЭтоНеразделенныйПользовательВОбласти = ЭтоНеразделенныйПользовательВОбласти();
|
||||
|
||||
Элементы.ГруппаИнформация.Видимость = ЭтоНеразделенныйПользовательВОбласти;
|
||||
Элементы.ПредупреждениеОписание.Видимость = Не ЭтоНеразделенныйПользовательВОбласти;
|
||||
Элементы.ПредупреждениеОписание2.Видимость = ЭтоНеразделенныйПользовательВОбласти;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -1543,19 +1540,7 @@
|
||||
&НаСервереБезКонтекста
|
||||
Функция ЭтоНеразделенныйПользовательВОбласти()
|
||||
|
||||
СеансЗапущенБезРазделителей = Истина;
|
||||
|
||||
Если ОбщегоНазначения.РазделениеВключено()
|
||||
И ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда
|
||||
|
||||
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
|
||||
СеансЗапущенБезРазделителей = МодульРаботаВМоделиСервиса.СеансЗапущенБезРазделителей();
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат СеансЗапущенБезРазделителей
|
||||
И ОбщегоНазначения.РазделениеВключено()
|
||||
И ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных();
|
||||
Возврат СтандартныеПодсистемыСервер.ЭтоРазделенныйРежимСеансаБезРазделителей();
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
@@ -5383,6 +5383,11 @@
|
||||
<use>
|
||||
<common>true</common>
|
||||
</use>
|
||||
<action xsi:type="form:FormCommandHandlerContainer">
|
||||
<handler>
|
||||
<name>ОчиститьФормат</name>
|
||||
</handler>
|
||||
</action>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
|
||||
@@ -369,6 +369,8 @@
|
||||
Процедура ТекстСлеваСверхуПриИзменении(Элемент)
|
||||
|
||||
ТабличныйДокумент.ВерхнийКолонтитул.ТекстСлева = ТекстСлеваСверху.ПолучитьФорматированнуюСтроку();
|
||||
УстановитьВыводКолонтитула(ТабличныйДокумент.ВерхнийКолонтитул);
|
||||
Модифицированность = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -376,6 +378,8 @@
|
||||
Процедура ТекстВЦентреСверхуПриИзменении(Элемент)
|
||||
|
||||
ТабличныйДокумент.ВерхнийКолонтитул.ТекстВЦентре = ТекстВЦентреСверху.ПолучитьФорматированнуюСтроку();
|
||||
УстановитьВыводКолонтитула(ТабличныйДокумент.ВерхнийКолонтитул);
|
||||
Модифицированность = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -383,6 +387,8 @@
|
||||
Процедура ТекстСправаСверхуПриИзменении(Элемент)
|
||||
|
||||
ТабличныйДокумент.ВерхнийКолонтитул.ТекстСправа = ТекстСправаСверху.ПолучитьФорматированнуюСтроку();
|
||||
УстановитьВыводКолонтитула(ТабличныйДокумент.ВерхнийКолонтитул);
|
||||
Модифицированность = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -390,6 +396,8 @@
|
||||
Процедура ТекстСлеваСнизуПриИзменении(Элемент)
|
||||
|
||||
ТабличныйДокумент.НижнийКолонтитул.ТекстСлева = ТекстСлеваСнизу.ПолучитьФорматированнуюСтроку();
|
||||
УстановитьВыводКолонтитула(ТабличныйДокумент.НижнийКолонтитул);
|
||||
Модифицированность = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -397,6 +405,8 @@
|
||||
Процедура ТекстВЦентреСнизуПриИзменении(Элемент)
|
||||
|
||||
ТабличныйДокумент.НижнийКолонтитул.ТекстВЦентре = ТекстВЦентреСнизу.ПолучитьФорматированнуюСтроку();
|
||||
УстановитьВыводКолонтитула(ТабличныйДокумент.НижнийКолонтитул);
|
||||
Модифицированность = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -404,6 +414,8 @@
|
||||
Процедура ТекстСправаСнизуПриИзменении(Элемент)
|
||||
|
||||
ТабличныйДокумент.НижнийКолонтитул.ТекстСправа = ТекстСправаСнизу.ПолучитьФорматированнуюСтроку();
|
||||
УстановитьВыводКолонтитула(ТабличныйДокумент.НижнийКолонтитул);
|
||||
Модифицированность = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -472,6 +484,12 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура УстановитьВыводКолонтитула(Колонтитул)
|
||||
Колонтитул.Выводить = Не ПустаяСтрока(Колонтитул.ТекстСлева) Или Не ПустаяСтрока(Колонтитул.ТекстСправа) Или Не ПустаяСтрока(Колонтитул.ТекстВЦентре);
|
||||
Колонтитул.НачальнаяСтраница = 1;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура НастроитьОтображениеТабличногоДокумента()
|
||||
Элементы.ТабличныйДокумент.ОтображатьЗаголовки = Элементы.ТабличныйДокумент.Редактирование;
|
||||
@@ -1259,6 +1277,21 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОчиститьФормат(Команда)
|
||||
ТекущаяОбласть = Элементы.ТабличныйДокумент.ТекущаяОбласть;
|
||||
ТекущаяОбласть.Шрифт = Неопределено;
|
||||
ТекущаяОбласть.ЦветРамки = Новый Цвет();
|
||||
ТекущаяОбласть.ЦветТекста = Новый Цвет();
|
||||
ТекущаяОбласть.ЦветУзора = Новый Цвет();
|
||||
ТекущаяОбласть.ЦветФона = Новый Цвет();
|
||||
ТекущаяОбласть.ВертикальноеПоложение = Неопределено;
|
||||
ТекущаяОбласть.ВертикальноеПоложениеКартинки = Неопределено;
|
||||
ТекущаяОбласть.ГоризонтальноеПоложение = Неопределено;
|
||||
ТекущаяОбласть.ГоризонтальноеПоложениеКартинки = Неопределено;
|
||||
Модифицированность = Истина;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура УстановитьПримерыЗначений(КоллекцияПолей = Неопределено, ДанныеПечати = Неопределено)
|
||||
|
||||
@@ -1267,6 +1300,9 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если ДанныеПечати = Неопределено Тогда
|
||||
Если Не ЗначениеЗаполнено(Образец) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
Объекты = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Образец);
|
||||
ОтображаемыеПоля = ЗаполнитьСписокОтображаемыхПолей(КоллекцияПолей);
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Печать") Тогда
|
||||
@@ -2102,6 +2138,7 @@
|
||||
Смещение = 0;
|
||||
Для Каждого ОписаниеПоля Из КоллекцияПолей Цикл
|
||||
Если ОписаниеПоля.ПутьКДанным = "Ссылка" Тогда
|
||||
ОписаниеПоля.ПолучитьЭлементы().Очистить();
|
||||
ОписаниеПоля.Заголовок = НСтр("ru = 'Образец'");
|
||||
Если Смещение <> 0 Тогда
|
||||
Индекс = КоллекцияПолей.Индекс(ОписаниеПоля);
|
||||
@@ -2292,6 +2329,12 @@
|
||||
Если Элементы.ПосмотретьПечатнуюФорму.Пометка Тогда
|
||||
Элементы.СтраницыМакетов.ТекущаяСтраница = Элементы.СтраницаМакет;
|
||||
Иначе
|
||||
Если Не ЗначениеЗаполнено(Образец) Тогда
|
||||
Элементы[ИмяСпискаПолей()].ТекущаяСтрока = ЭтотОбъект[ИмяСпискаПолей()].ПолучитьЭлементы()[0].ПолучитьИдентификатор();
|
||||
ОбщегоНазначенияКлиент.СообщитьПользователю(
|
||||
НСтр("ru = 'Выберите образец, по данным которого будет формироваться печатная форма'"), , ИмяСпискаПолей() + "[0].Образец");
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
СформироватьПечатнуюФорму();
|
||||
Элементы.СтраницыМакетов.ТекущаяСтраница = Элементы.СтраницаОбразец;
|
||||
КонецЕсли;
|
||||
@@ -2326,6 +2369,10 @@
|
||||
Для Каждого Область Из Элементы.ТабличныйДокумент.ПолучитьВыделенныеОбласти() Цикл
|
||||
Если СтрНачинаетсяС(Область.Имя, "ШтампЭП") Тогда
|
||||
Область.Имя = "";
|
||||
#Если ВебКлиент Тогда
|
||||
// Требуется для обновления отображения
|
||||
Область.Защита = Область.Защита;
|
||||
#КонецЕсли
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
|
||||
@@ -1372,7 +1372,7 @@
|
||||
Блокировка.Заблокировать();
|
||||
|
||||
ВыбранныйОбъект = Элемент.ПолучитьОбъект();
|
||||
ЗаблокироватьДанныеДляРедактирования(Элемент,, УникальныйИдентификатор);
|
||||
ЗаблокироватьДанныеДляРедактирования(Элемент);
|
||||
ВыбранныйОбъект.УстановитьПометкуУдаления(Пометка);
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
@@ -1480,7 +1480,7 @@
|
||||
|
||||
ВыбранныйОбъект = Документ.ПолучитьОбъект(); // ДокументОбъект
|
||||
Если ВыбранныйОбъект.ПроверитьЗаполнение() Тогда
|
||||
ЗаблокироватьДанныеДляРедактирования(Документ,, УникальныйИдентификатор);
|
||||
ЗаблокироватьДанныеДляРедактирования(Документ);
|
||||
ВыбранныйОбъект.Записать(Режим);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -393,7 +393,7 @@
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:PictureDecorationExtInfo">
|
||||
<picture xsi:type="core:PictureRef">
|
||||
<picture>CommonPicture.УдалитьИнформация</picture>
|
||||
<picture>StdPicture.Information</picture>
|
||||
</picture>
|
||||
<fileDragMode>AsFileRef</fileDragMode>
|
||||
</extInfo>
|
||||
|
||||
@@ -406,6 +406,32 @@
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>УстановленныеИсправленияЗакрыть</name>
|
||||
<id>112</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>УстановленныеИсправленияЗакрытьРасширеннаяПодсказка</name>
|
||||
<id>113</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.StandardCommand.Close</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>УстановленныеИсправленияСправка</name>
|
||||
<id>72</id>
|
||||
@@ -1267,13 +1293,18 @@
|
||||
<attributes>
|
||||
<name>Фильтр</name>
|
||||
<id>3</id>
|
||||
<valueType/>
|
||||
<valueType>
|
||||
<types>ValueList</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
<extInfo xsi:type="form:ValueListExtInfo">
|
||||
<itemValueType/>
|
||||
</extInfo>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>РазделениеВключено</name>
|
||||
@@ -1301,6 +1332,19 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ПриОбновлении</name>
|
||||
<id>12</id>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>СохранитьКак</name>
|
||||
<title>
|
||||
@@ -1330,6 +1374,12 @@
|
||||
<name>Исправления</name>
|
||||
<valueType/>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>ПриОбновлении</name>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
|
||||
@@ -25,11 +25,27 @@
|
||||
Элементы.ИнформацияОписание.Заголовок = НСтр("ru = 'Состав исправлений настраивается администратором приложения.'");
|
||||
ИначеЕсли ЭтоПодчиненныйУзелРИБ Тогда
|
||||
Элементы.ИнформацияОписание.Заголовок = НСтр("ru = 'Управление составом исправлений выполняется в центральном узле.'");
|
||||
ИначеЕсли Параметры.ПриОбновлении Тогда
|
||||
Элементы.ИнформацияОписание.Заголовок = НСтр("ru = 'Установленные исправления вступят в силу после перезапуска программы.'");
|
||||
ИначеЕсли Не ОбщегоНазначения.ЭтоWindowsКлиент() Тогда
|
||||
Элементы.ГруппаИнформация.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Если РазделениеВключено Или ЭтоПодчиненныйУзелРИБ Или Не ОбщегоНазначения.ЭтоWindowsКлиент() Тогда
|
||||
Если ЗначениеЗаполнено(Параметры.Исправления) Тогда
|
||||
Если ТипЗнч(Параметры.Исправления) = Тип("СписокЗначений") Тогда
|
||||
Фильтр = Параметры.Исправления;
|
||||
ИначеЕсли ТипЗнч(Параметры.Исправления) = Тип("Массив") Тогда
|
||||
Фильтр.ЗагрузитьЗначения(Параметры.Исправления);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ПриОбновлении = Параметры.ПриОбновлении;
|
||||
Элементы.УстановленныеИсправленияЗакрыть.Видимость = ПриОбновлении;
|
||||
|
||||
Если РазделениеВключено
|
||||
Или ЭтоПодчиненныйУзелРИБ
|
||||
Или Не ОбщегоНазначения.ЭтоWindowsКлиент()
|
||||
Или Параметры.ПриОбновлении Тогда
|
||||
Элементы.ФормаУстановитьИсправление.Видимость = Ложь;
|
||||
Элементы.ФормаУдалитьИсправление.Видимость = Ложь;
|
||||
Элементы.УстановленныеИсправленияКонтекстноеМенюДобавить.Видимость = Ложь;
|
||||
@@ -123,13 +139,15 @@
|
||||
Расширения = РасширенияКонфигурации.Получить();
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
|
||||
ОписаниеИсправлений = ОписаниеУстановленныхИсправлений();
|
||||
|
||||
Для Каждого Расширение Из Расширения Цикл
|
||||
|
||||
Если Не ОбновлениеКонфигурации.ЭтоИсправление(Расширение) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если Фильтр <> Неопределено И Фильтр.НайтиПоЗначению(Расширение.Имя) = Неопределено Тогда
|
||||
Если Фильтр.Количество() <> 0 И Фильтр.НайтиПоЗначению(Расширение.Имя) = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -147,12 +165,40 @@
|
||||
НоваяСтрока.Описание = СвойстваИсправления.Description;
|
||||
НоваяСтрока.ПрименимоДля = ИсправлениеПрименимоДля(СвойстваИсправления);
|
||||
Иначе
|
||||
Описание = ОписаниеИсправлений[Расширение.Имя];
|
||||
НоваяСтрока.Статус = 1;
|
||||
НоваяСтрока.Описание = Описание;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция ОписаниеУстановленныхИсправлений()
|
||||
|
||||
Если Не ПриОбновлении Тогда
|
||||
Возврат Новый Соответствие;
|
||||
КонецЕсли;
|
||||
|
||||
АдресХранилища = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
|
||||
ПараметрыМетода = Новый Массив;
|
||||
ПараметрыМетода.Добавить(АдресХранилища);
|
||||
ПараметрыМетода.Добавить(Фильтр.ВыгрузитьЗначения());
|
||||
ПараметрыМетода.Добавить(Истина);
|
||||
ФоновоеЗадание = РасширенияКонфигурации.ВыполнитьФоновоеЗаданиеСРасширениямиБазыДанных(
|
||||
"ОбновлениеКонфигурации.ОписанияНовыхПатчей",
|
||||
ПараметрыМетода);
|
||||
ФоновоеЗадание.ОжидатьЗавершенияВыполнения(Неопределено);
|
||||
|
||||
ОписаниеНовыхПатчей = ПолучитьИзВременногоХранилища(АдресХранилища);
|
||||
Если ТипЗнч(ОписаниеНовыхПатчей) <> Тип("Соответствие") Тогда
|
||||
ОписаниеНовыхПатчей = Новый Соответствие;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ОписаниеНовыхПатчей;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ИсправлениеПрименимоДля(СвойстваИсправления)
|
||||
|
||||
@@ -311,4 +357,4 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
#КонецОбласти
|
||||
@@ -166,6 +166,10 @@
|
||||
ИмяСтраницы = СвязиСтраниц[Параметры.ИмяСтраницы];
|
||||
НайденнаяСтраница = Элементы.Найти(ИмяСтраницы);
|
||||
|
||||
Если НайденнаяСтраница = Неопределено Тогда
|
||||
НайденнаяСтраница = Элементы.Найти(Параметры.ИмяСтраницы);
|
||||
КонецЕсли;
|
||||
|
||||
Если НайденнаяСтраница <> Неопределено Тогда
|
||||
Элементы.СтраницыНастроек.ТекущаяСтраница = НайденнаяСтраница;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1185,7 +1185,15 @@
|
||||
Если Строка = Неопределено Или Не Строка.ЭтоФормула Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Формула = ВариантыОтчетовСлужебныйКлиентСервер.ФормулаПоПутиКДанным(Отчет.КомпоновщикНастроек.Настройки, Строка(Строка.Поле));
|
||||
|
||||
Если ТипЗнч(Формула) <> Тип("ПользовательскоеПолеВыражениеКомпоновкиДанных") Тогда
|
||||
ОписаниеОповещения = Новый ОписаниеОповещения("ПриЗакрытииФормыНастроекДляТехническогоСпециалиста", ЭтотОбъект);
|
||||
ОткрытьФормуНастроекДляТехническогоСпециалиста("СтраницаПользовательскихПолей", ОписаниеОповещения);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ВариантыОтчетовСлужебныйКлиент.ИзменитьФормулу(
|
||||
ЭтотОбъект, Отчет.КомпоновщикНастроек.Настройки, Строка(Строка.Поле));
|
||||
|
||||
@@ -1853,24 +1861,9 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПерейтиКНастройкамДляТехническогоСпециалиста(Команда)
|
||||
ПараметрыФормы = Новый Структура;
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(ПараметрыФормы, ФормаПараметры, Истина);
|
||||
ПараметрыФормы.Вставить("КлючВарианта", Строка(КлючТекущегоВарианта));
|
||||
ПараметрыФормы.Вставить("Вариант", Отчет.КомпоновщикНастроек.Настройки);
|
||||
ПараметрыФормы.Вставить("ПользовательскиеНастройки", Отчет.КомпоновщикНастроек.ПользовательскиеНастройки);
|
||||
ПараметрыФормы.Вставить("НастройкиОтчета", НастройкиОтчета);
|
||||
ПараметрыФормы.Вставить("ВариантНаименование", ВариантНаименование);
|
||||
ПараметрыФормы.Вставить("ИдентификаторЭлементаСтруктурыНастроек", ИдентификаторЭлементаСтруктурыНастроек);
|
||||
ПараметрыФормы.Вставить("ИмяСтраницы", Элементы.СтраницыНастроек.ТекущаяСтраница.Имя);
|
||||
ПараметрыФормы.Вставить("ПредставлениеВарианта", ВариантНаименование);
|
||||
ПараметрыФормы.Вставить("ВариантМодифицирован", ВариантИзменен);
|
||||
ПараметрыФормы.Вставить("ПользовательскиеНастройкиМодифицированы",
|
||||
ВариантИзменен Или ПользовательскиеНастройкиМодифицированы);
|
||||
|
||||
ОткрытьФорму(НастройкиОтчета.ПолноеИмя + ".ФормаВарианта", ПараметрыФормы, ВладелецФормы);
|
||||
ОткрытьФормуНастроекДляТехническогоСпециалиста(Элементы.СтраницыНастроек.ТекущаяСтраница.Имя);
|
||||
|
||||
РезультатВыбораСформирован = Истина;
|
||||
Закрыть();
|
||||
КонецПроцедуры
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -2540,7 +2533,7 @@
|
||||
Строка = Отборы.НайтиПоИдентификатору(ИдентификаторСтроки);
|
||||
Родитель = Строка.ПолучитьРодителя();
|
||||
|
||||
Если Родитель.ПолучитьЭлементы().Индекс(Строка) < 0
|
||||
Если Родитель = Неопределено Или Родитель.ПолучитьЭлементы().Индекс(Строка) < 0
|
||||
Или ТипЗнч(Строка.Идентификатор) <> Тип("ИдентификаторКомпоновкиДанных") Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
@@ -2682,7 +2675,7 @@
|
||||
Строка = Отборы.НайтиПоИдентификатору(ИдентификаторСтроки);
|
||||
Родитель = Строка.ПолучитьРодителя();
|
||||
|
||||
Если Родитель.ПолучитьЭлементы().Индекс(Строка) < 0
|
||||
Если Родитель = Неопределено Или Родитель.ПолучитьЭлементы().Индекс(Строка) < 0
|
||||
Или ТипЗнч(Строка.Идентификатор) <> Тип("ИдентификаторКомпоновкиДанных") Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
@@ -2918,7 +2911,7 @@
|
||||
Строка = ВыбранныеПоля.НайтиПоИдентификатору(ИдентификаторСтроки);
|
||||
Родитель = Строка.ПолучитьРодителя();
|
||||
|
||||
Если Родитель.ПолучитьЭлементы().Индекс(Строка) < 0
|
||||
Если Родитель = Неопределено Или Родитель.ПолучитьЭлементы().Индекс(Строка) < 0
|
||||
Или ТипЗнч(Строка.Идентификатор) <> Тип("ИдентификаторКомпоновкиДанных") Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
@@ -3247,7 +3240,7 @@
|
||||
Строка = ВыбранныеПоля.НайтиПоИдентификатору(ИдентификаторСтроки);
|
||||
Родитель = Строка.ПолучитьРодителя();
|
||||
|
||||
Если Родитель.ПолучитьЭлементы().Индекс(Строка) < 0
|
||||
Если Родитель = Неопределено Или Родитель.ПолучитьЭлементы().Индекс(Строка) < 0
|
||||
Или ТипЗнч(Строка.Идентификатор) <> Тип("ИдентификаторКомпоновкиДанных") Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
@@ -7454,6 +7447,9 @@
|
||||
Для Каждого Запись Из ПомеченныеНаУдаление Цикл
|
||||
СвойствоЭлементаСтруктуры = СвойствоЭлементаСтруктурыНастроек(
|
||||
КомпоновщикНастроек, Запись.КлючСвойстваЭлементаСтруктуры, Запись.ИдентификаторЭлементаСтруктуры, РасширенныйРежим);
|
||||
Если СвойствоЭлементаСтруктуры = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ЭлементНастройки = СвойствоЭлементаСтруктуры.ПолучитьОбъектПоИдентификатору(Запись.ИдентификаторЭлемента);
|
||||
Если ЭлементНастройки = Неопределено Тогда
|
||||
@@ -7671,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>
|
||||
|
||||
@@ -743,12 +743,9 @@
|
||||
ПараметрыЗаполнения.Вставить("СброситьНастройкиВарианта", Истина);
|
||||
ПараметрыЗаполнения.Вставить("ВариантМодифицирован", Ложь);
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыЗаполнения.Вставить("СброситьПользовательскиеНастройки", Истина);
|
||||
ПараметрыЗаполнения.Вставить("ПользовательскиеНастройкиМодифицированы", Истина);
|
||||
|
||||
УточнитьПризнакАвтоформированияОтчета(ПараметрыЗаполнения);
|
||||
|
||||
ОтчетСформирован = Ложь;
|
||||
|
||||
СброситьВыбранныйУровеньГруппировок();
|
||||
@@ -1434,12 +1431,9 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПослеФормирования(Результат, ПараметрыФормирования) Экспорт
|
||||
|
||||
Если ФоновоеЗаданиеИдентификатор <> ПараметрыФормирования.ИдентификаторЗадания Тогда
|
||||
|
||||
ПоказатьВыбранныйУровеньГруппировок();
|
||||
ПереопределитьРезультатФормированияОтчета(Результат);
|
||||
Возврат;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если Результат = Неопределено Тогда
|
||||
@@ -1473,28 +1467,21 @@
|
||||
МодульОценкаПроизводительностиКлиент.ЗавершитьЗамерВремени(ИдентификаторЗамера);
|
||||
КонецЕсли;
|
||||
|
||||
ПереопределитьРезультатФормированияОтчета(Результат);
|
||||
|
||||
СброситьТекущуюОбласть();
|
||||
ПоказатьВыбранныйУровеньГруппировок();
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПереопределитьРезультатФормированияОтчета(Результат)
|
||||
|
||||
ОтчетСформирован = ОтчетСформирован(Результат);
|
||||
ОтчетСформирован = ?(Результат = Неопределено, Ложь, Результат.Статус = "Выполнено");
|
||||
|
||||
ИнтеграцияПодсистемБСПКлиент.ПослеФормирования(ЭтотОбъект, ОтчетСформирован);
|
||||
ОтчетыКлиентПереопределяемый.ПослеФормирования(ЭтотОбъект, ОтчетСформирован);
|
||||
|
||||
КонецПроцедуры
|
||||
СброситьТекущуюОбласть();
|
||||
ПоказатьВыбранныйУровеньГруппировок();
|
||||
|
||||
Обработчик = ОбработчикПослеФормированияНаКлиенте;
|
||||
Если ТипЗнч(Обработчик) = Тип("ОписаниеОповещения") Тогда
|
||||
ВыполнитьОбработкуОповещения(Обработчик, ОтчетСформирован);
|
||||
ОбработчикПослеФормированияНаКлиенте = Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
&НаКлиенте
|
||||
Функция ОтчетСформирован(Результат)
|
||||
|
||||
Возврат ?(Результат = Неопределено, Ложь, Результат.Статус = "Выполнено");
|
||||
|
||||
КонецФункции
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция РезультатФормированияОтчета(Знач ФормированиеПриОткрытии, Непосредственно, ПослеПредупреждения)
|
||||
@@ -3187,14 +3174,16 @@
|
||||
Кнопка.ТолькоВоВсехДействиях = Ложь;
|
||||
|
||||
// Подменю Еще (Все действия).
|
||||
ДополнительнаяКнопка = Элементы.Добавить(Свойства.ИмяКоманды + "Еще", Тип("КнопкаФормы"), Элементы.ГруппаУровниГруппировокЕще);
|
||||
ДополнительнаяКнопка = Элементы.Добавить(Свойства.ИмяКоманды + "Еще", Тип("КнопкаФормы"),
|
||||
Элементы.ГруппаУровниГруппировокЕще);
|
||||
ДополнительнаяКнопка.Вид = ВидКнопкиФормы.КнопкаКоманднойПанели;
|
||||
ДополнительнаяКнопка.ИмяКоманды = Свойства.ИмяКоманды;
|
||||
ДополнительнаяКнопка.Заголовок = Свойства.ПредставлениеУровняГруппировки;
|
||||
ДополнительнаяКнопка.ТолькоВоВсехДействиях = Истина;
|
||||
|
||||
// Контекстное меню отчета.
|
||||
КнопкаКонтекстногоМеню = Элементы.Добавить(Свойства.ИмяКоманды + "КонтекстноеМеню", Тип("КнопкаФормы"), Элементы.ГруппаУровниГруппировокКонтекстноеМеню);
|
||||
КнопкаКонтекстногоМеню = Элементы.Добавить(Свойства.ИмяКоманды + "КонтекстноеМеню", Тип("КнопкаФормы"),
|
||||
Элементы.ГруппаУровниГруппировокКонтекстноеМеню);
|
||||
КнопкаКонтекстногоМеню.Вид = ВидКнопкиФормы.КнопкаКоманднойПанели;
|
||||
КнопкаКонтекстногоМеню.ИмяКоманды = Свойства.ИмяКоманды;
|
||||
КнопкаКонтекстногоМеню.Заголовок = Свойства.ПредставлениеУровняГруппировки;
|
||||
@@ -3206,19 +3195,9 @@
|
||||
&НаСервере
|
||||
Функция СвойстваМенюУровнейГруппировокСложногоОтчета(ИндексСтруктурыОтчета)
|
||||
|
||||
СвойстваМеню = ИндексСтруктурыОтчета.СкопироватьКолонки("ПорядокГруппировки, ПредставлениеГруппировки"); // ТаблицаЗначений
|
||||
|
||||
Колонки = СвойстваМеню.Колонки; // КоллекцияКолонокТаблицыЗначений
|
||||
Колонки.Вставить(1, "ИмяКоманды", Новый ОписаниеТипов("Строка"));
|
||||
|
||||
Колонка = Колонки.Найти("ПорядокГруппировки"); // КолонкаТаблицыЗначений
|
||||
Колонка.Имя = "УровеньГруппировки";
|
||||
|
||||
Колонка = Колонки.Найти("ПредставлениеГруппировки"); // КолонкаТаблицыЗначений
|
||||
Колонка.Имя = "ПредставлениеУровняГруппировки";
|
||||
|
||||
КоличествоУровнейГруппировок = ОтчетТабличныйДокумент.КоличествоУровнейГруппировокСтрок();
|
||||
СвойстваМеню = СвойстваМенюИзСтруктурыОтчета(ИндексСтруктурыОтчета);
|
||||
|
||||
КоличествоУровнейГруппировок = ОтчетТабличныйДокумент.КоличествоУровнейГруппировокСтрок();
|
||||
Для УровеньГруппировки = 1 По КоличествоУровнейГруппировок Цикл
|
||||
|
||||
Свойства = СвойстваМеню.Добавить();
|
||||
@@ -3229,8 +3208,7 @@
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
СвойстваМеню.Сортировать("УровеньГруппировки");
|
||||
|
||||
СвойстваМеню.Сортировать("УровеньГруппировки");
|
||||
Возврат СвойстваМеню;
|
||||
|
||||
КонецФункции
|
||||
@@ -3249,33 +3227,45 @@
|
||||
ГруппировкиОтчета = ГруппировкиОтчетаСУчетомПоляСИерархическойГруппировкой(
|
||||
ИндексСтруктурыОтчета, ПоляСИерархическойГруппировкой, КоличествоУровнейГруппировок);
|
||||
|
||||
СвойстваМеню = ИндексСтруктурыОтчета.СкопироватьКолонки("ПорядокГруппировки, ПредставлениеГруппировки"); // ТаблицаЗначений
|
||||
|
||||
КолонкиСвойстваМеню = СвойстваМеню.Колонки; // КоллекцияКолонокТаблицыЗначений
|
||||
КолонкиСвойстваМеню.Вставить(1, "ИмяКоманды", Новый ОписаниеТипов("Строка"));
|
||||
|
||||
Граница = Мин(ГруппировкиОтчета.Количество(), КоличествоУровнейГруппировок) - 1;
|
||||
|
||||
Для Индекс = 0 По Граница Цикл
|
||||
СвойстваМеню = СвойстваМенюИзСтруктурыОтчета(ИндексСтруктурыОтчета);
|
||||
Для Индекс = 0 По Мин(ГруппировкиОтчета.Количество(), КоличествоУровнейГруппировок) - 1 Цикл
|
||||
|
||||
УровеньГруппировки = Индекс + 1;
|
||||
|
||||
Свойства = СвойстваМеню.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(Свойства, ГруппировкиОтчета[Индекс]);
|
||||
|
||||
Свойства.ПредставлениеУровняГруппировки = ГруппировкиОтчета[Индекс].ПредставлениеГруппировки;
|
||||
Свойства.ИмяКоманды = Элементы.ПоказатьУровеньГруппировок.Имя + УровеньГруппировки;
|
||||
Свойства.ПорядокГруппировки = УровеньГруппировки;
|
||||
Свойства.УровеньГруппировки = УровеньГруппировки;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Колонка = КолонкиСвойстваМеню.Найти("ПорядокГруппировки"); // КолонкаТаблицыЗначений
|
||||
СвойстваМеню.Сортировать("УровеньГруппировки");
|
||||
Возврат СвойстваМеню;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Параметры:
|
||||
// ИндексСтруктурыОтчета - см. ВариантыОтчетовСлужебный.НовыйИндексСтруктурыОтчета
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ТаблицаЗначений:
|
||||
// * ИмяКоманды - Строка
|
||||
// * УровеньГруппировки - Число
|
||||
// * ПредставлениеУровняГруппировки - Строка
|
||||
//
|
||||
&НаСервереБезКонтекста
|
||||
Функция СвойстваМенюИзСтруктурыОтчета(ИндексСтруктурыОтчета)
|
||||
|
||||
СвойстваМеню = ИндексСтруктурыОтчета.СкопироватьКолонки("ПорядокГруппировки, ПредставлениеГруппировки"); // ТаблицаЗначений
|
||||
|
||||
СвойстваМеню.Колонки.Вставить(1, "ИмяКоманды", Новый ОписаниеТипов("Строка"));
|
||||
|
||||
Колонка = СвойстваМеню.Колонки.Найти("ПорядокГруппировки"); // КолонкаТаблицыЗначений
|
||||
Колонка.Имя = "УровеньГруппировки";
|
||||
|
||||
Колонка = КолонкиСвойстваМеню.Найти("ПредставлениеГруппировки"); // КолонкаТаблицыЗначений
|
||||
Колонка = СвойстваМеню.Колонки.Найти("ПредставлениеГруппировки"); // КолонкаТаблицыЗначений
|
||||
Колонка.Имя = "ПредставлениеУровняГруппировки";
|
||||
|
||||
СвойстваМеню.Сортировать("УровеньГруппировки");
|
||||
|
||||
Возврат СвойстваМеню;
|
||||
|
||||
КонецФункции
|
||||
@@ -3706,7 +3696,12 @@
|
||||
Элементы.ГруппаСохранениеВыборВариантаОтчета.Видимость = Не ОбщегоНазначения.РазделениеВключено()
|
||||
Или ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных();
|
||||
|
||||
Элементы.ИзменитьСоставБыстрыхНастроек.Видимость = ПоказыватьКомандыИзмененияВарианта;
|
||||
Элементы.ИзменитьСоставБыстрыхНастроек.Видимость = ПоказыватьКомандыИзмененияВарианта
|
||||
И Не ОбщегоНазначения.ЭтоМобильныйКлиент();
|
||||
|
||||
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
|
||||
Элементы.Переместить(Элементы.ГруппаПоказатель, Элементы.ГруппаДляПоказателей);
|
||||
КонецЕсли;
|
||||
|
||||
ЭтоПредопределенныйВариант = Не НастройкиОтчета.Пользовательский
|
||||
И ЗначениеЗаполнено(НастройкиОтчета.ПредопределенныйСсылка);
|
||||
|
||||
@@ -3,11 +3,20 @@
|
||||
<p>Электронная подпись - реквизит электронного документа, с помощью которого можно удостовериться в неизменности электронного документа с момента его подписи. Контроль неизменности электронного документа осуществляется в результате проверки соответствия электронной подписи и документа,а также проверки действительности сертификата. Контроль неизменности электронного документа можно выполнить в любой момент времени.</p>
|
||||
<p>С помощью электронной подписи можно:</p>
|
||||
<ul><li>Подписывать объекты программы (например, поля <strong>Наименование</strong> и <strong>Краткое содержание</strong>);
|
||||
</li><li>Подписывать содержимое хранимых файлов.</li></ul><h3>Сведения о подписи</h3>
|
||||
</li>
|
||||
<li>Подписывать содержимое хранимых файлов.</li></ul><h3>Сведения о подписи</h3>
|
||||
<ul><li><strong>Автор подписи</strong> - данные о том, кому был выдан сертификат;
|
||||
</li><li><strong>Установивший подпись</strong> - программа автоматически выводит пользователя, который установил подпись;
|
||||
</li><li><strong>Дата подписи</strong> - дата и время установки подписи;
|
||||
</li><li><strong>Комментарий</strong> - дополнительная информация о подписи. </li></ul><h3>Выгрузка подписи</h3>
|
||||
</li>
|
||||
<li><b>Тип подписи</b> - существует несколько типов подписей в зависимости от срока действия;</li>
|
||||
<li><strong>Установивший подпись</strong> - программа автоматически выводит пользователя, который установил подпись;
|
||||
</li>
|
||||
<li><strong>Дата подписи</strong> - дата и время установки подписи;
|
||||
</li>
|
||||
<li><strong>Комментарий</strong> - дополнительная информация о подписи. </li></ul><h3>Выгрузка подписи</h3>
|
||||
<ul><li>Нажмите <strong>Сохранить в файл</strong>, укажите папку на сетевом или локальном диске, для того чтобы сохранить данные электронной подписи на компьютер.</li></ul><h3>Просмотр сертификата</h3>
|
||||
<ul><li>Нажмите <strong>Открыть сертификат</strong>, для того чтобы просмотреть <a href="CommonForm.Сертификат/Help">свойства сертификата ключа электронной подписи</a>.</li></ul><h3>См. также:</h3>
|
||||
<ul><li>Нажмите <strong>Открыть сертификат</strong>, для того чтобы просмотреть <a href="CommonForm.Сертификат/Help">свойства сертификата ключа электронной подписи</a>.</li></ul><h3>Продление срока действия (усовершенствование) подписи</h3>
|
||||
<div>
|
||||
<ul><li>Нажмите <b>Продлить действие</b>, выберите <a href="CommonForm.ПродлениеСрокаДействияЭлектронныхПодписей/Help">способ усовершенствования</a> (тип подписи). </li>
|
||||
<li>Кнопка недоступна, если продление подписи невозможно.</li></ul></div>
|
||||
<h3>См. также:</h3>
|
||||
<ul style="MARGIN-RIGHT: 0px" dir="ltr"><li><a href="CommonForm.НастройкиЭлектроннойПодписиИШифрования/Help">Настройки электронной подписи и шифрования</a>. </li></ul></body></html>
|
||||
@@ -145,7 +145,7 @@
|
||||
КонецПроцедуры
|
||||
|
||||
// Для вызова из формы восстановления связи с главным узлом
|
||||
// см. общую форму ВосстановлениеСвязиСГлавнымУзлом
|
||||
// см. ОбщаяФорма.ВосстановлениеСвязиСГлавнымУзлом.
|
||||
//
|
||||
Процедура ПриПодтвержденииОтключенияСвязиСГлавнымУзлом() Экспорт
|
||||
|
||||
|
||||
@@ -499,7 +499,7 @@
|
||||
|
||||
// Для внутреннего использования.
|
||||
//
|
||||
Процедура ВыполнитьНастройкуАвтономногоРабочегоМестаПриПервомЗапуске() Экспорт
|
||||
Процедура ВыполнитьНастройкуАвтономногоРабочегоМестаПриПервомЗапуске(ЗагрузкаДанных = Ложь) Экспорт
|
||||
|
||||
Если Не ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
|
||||
ВызватьИсключение НСтр("ru = 'Первый запуск автономного рабочего места должен выполняться в файловой информационной базе.'");
|
||||
@@ -507,15 +507,20 @@
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
ЗагрузитьДанныеНачальногоОбраза();
|
||||
ЗагрузитьПараметрыИзНачальногоОбраза();
|
||||
|
||||
// Правила обмена не мигрируют в РИБ, поэтому выполняем загрузку правил.
|
||||
ОбменДаннымиСервер.ВыполнитьОбновлениеПравилДляОбменаДанными();
|
||||
Если ЗагрузкаДанных Тогда
|
||||
ЗагрузитьДанныеНачальногоОбраза();
|
||||
Иначе
|
||||
ЗагрузитьПараметрыИзНачальногоОбраза();
|
||||
|
||||
// Правила обмена не мигрируют в РИБ, поэтому выполняем загрузку правил.
|
||||
ОбменДаннымиСервер.ВыполнитьОбновлениеПравилДляОбменаДанными();
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
|
||||
ОбменДаннымиСервер.ПриПродолженииНастройкиПодчиненногоУзлаРИБ();
|
||||
Если Не ЗагрузкаДанных Тогда
|
||||
ОбменДаннымиСервер.ПриПродолженииНастройкиПодчиненногоУзлаРИБ();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -216,7 +216,13 @@
|
||||
|
||||
Если РезультатЗапроса.Пустой() Тогда
|
||||
|
||||
АдресныйКлассификаторСлужебный.ПроверкаНаУстаревшийРегион(Результат, СведенияОРегионе);
|
||||
Если СтрСравнить(НаименованиеРегиона,
|
||||
АдресныйКлассификаторСлужебный.ДействующиеНаименованиеКемеровскойОбласти()) = 0 Тогда
|
||||
Результат.КодСубъектаРФ = 42;
|
||||
Иначе
|
||||
АдресныйКлассификаторСлужебный.ПроверкаНаУстаревшийРегион(Результат, СведенияОРегионе);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Новый ФиксированнаяСтруктура(Результат);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1030,6 +1030,7 @@
|
||||
Если ЗагруженныеСведения.Загружен Тогда
|
||||
АдресаЗагруженныеДанные.Вставить(УникальныйКлюч, Адрес);
|
||||
Иначе
|
||||
УстановкаТипаКузбассКемеровскойОбластиКакВГАР(Адрес);
|
||||
АдресаВебСервис.Вставить(УникальныйКлюч, Адрес);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
@@ -2073,16 +2074,24 @@
|
||||
|
||||
Функция АдаптацияНазванияРегиона(Название) Экспорт
|
||||
|
||||
// АПК: 1297-выкл Данные адресного классификатора, не локализуются
|
||||
Если СтрСравнить(Название, "Кемеровская область - Кузбасс обл") = 0
|
||||
Или СтрСравнить(Название, "Кемеровская область - Кузбасс область") = 0
|
||||
Или СтрСравнить(Название, "Кемеровская область") = 0 Тогда
|
||||
Возврат "Кемеровская область - Кузбасс";
|
||||
Возврат ДействующиеНаименованиеКемеровскойОбласти();
|
||||
КонецЕсли;
|
||||
|
||||
// АПК: 1297-вкл
|
||||
|
||||
Возврат СокрЛП(Название);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДействующиеНаименованиеКемеровскойОбласти() Экспорт
|
||||
// АПК: 1297-выкл Данные адресного классификатора, не локализуются
|
||||
Возврат "Кемеровская область - Кузбасс";
|
||||
// АПК: 1297-вкл
|
||||
КонецФункции
|
||||
|
||||
// Параметры:
|
||||
// НаименованияАдресныхОбъектов - Массив
|
||||
// Возвращаемое значение:
|
||||
@@ -4774,10 +4783,27 @@
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
СписокИзвлеченныхФайлов(КаталогФайлов);
|
||||
|
||||
Возврат КаталогФайлов;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура СписокИзвлеченныхФайлов(КаталогФайлов)
|
||||
|
||||
НайденныеФайлы = НайтиФайлы(КаталогФайлов, ПолучитьМаскуВсеФайлы(), Истина);
|
||||
СписокФайлов = Новый Массив;
|
||||
Для каждого НайденныеФайл Из НайденныеФайлы Цикл
|
||||
Если НайденныеФайл.ЭтоФайл() Тогда
|
||||
СписокФайлов.Добавить(НайденныеФайл.Имя);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Примечание,
|
||||
,, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Список извлеченных файлов адресных сведений региона: %1'"),
|
||||
СтрСоединить(СписокФайлов, ",")));
|
||||
КонецПроцедуры
|
||||
|
||||
Функция НоваяТаблицаАдресовСРазбивкойНаПоля()
|
||||
|
||||
Строка250 = ОбщегоНазначения.ОписаниеТипаСтрока(250);
|
||||
@@ -8196,6 +8222,8 @@
|
||||
ОписаниеФайла.ФайлЧтения = Неопределено;
|
||||
|
||||
Если ОписаниеФайла.УдалитьПутьПриЗакрытии Тогда
|
||||
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Примечание,,,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Удаление файла региона %1'"), ОписаниеФайла.Путь));
|
||||
ФайловаяСистема.УдалитьВременныйФайл(ОписаниеФайла.Путь);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -9615,13 +9643,21 @@
|
||||
|
||||
Процедура УстановкаТипаКузбассКемеровскойОбласти(КонтактнаяИнформацияПоПолям) Экспорт
|
||||
// АПК: 1297-выкл Данные адресного классификатора, не локализуются
|
||||
Если СтрСравнить(КонтактнаяИнформацияПоПолям.area, "Кемеровская область - Кузбасс") = 0 Тогда
|
||||
Если СтрСравнить(КонтактнаяИнформацияПоПолям.area, ДействующиеНаименованиеКемеровскойОбласти()) = 0 Тогда
|
||||
КонтактнаяИнформацияПоПолям.area = "Кемеровская область -";
|
||||
КонтактнаяИнформацияПоПолям.areaType= "Кузбасс";
|
||||
КонецЕсли;
|
||||
// АПК: 1297-вкл
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановкаТипаКузбассКемеровскойОбластиКакВГАР(КонтактнаяИнформацияПоПолям)
|
||||
// АПК: 1297-выкл Данные адресного классификатора, не локализуются
|
||||
Если СтрНайти(ВРег(КонтактнаяИнформацияПоПолям.area), ВРег("Кемеровская область")) > 0 Тогда
|
||||
КонтактнаяИнформацияПоПолям.area = "Кемеровская область - Кузбасс";
|
||||
КонтактнаяИнформацияПоПолям.areaType= "обл";
|
||||
КонецЕсли;
|
||||
// АПК: 1297-вкл
|
||||
КонецПроцедуры
|
||||
|
||||
Функция НаименованиеРегионаБезТипа(Наименование)
|
||||
// АПК: 1297-выкл Данные адресного классификатора, не локализуются
|
||||
@@ -9642,8 +9678,6 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
МодульПолучениеФайловИзИнтернета = ОбщегоНазначения.ОбщийМодуль("ПолучениеФайловИзИнтернета");
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
Авторизация = ПараметрыАутентификацииНаСайте();
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
@@ -9670,10 +9704,15 @@
|
||||
ПутьДляСохранения = ВременныйКаталог + ВРег(ФайлРегиона.ИмяФайла);
|
||||
|
||||
ПараметрыПолучения.Вставить("ПутьДляСохранения", ПутьДляСохранения);
|
||||
ЗагруженныйФайл = МодульПолучениеФайловИзИнтернета.СкачатьФайлНаСервере(ОписаниеРегиона.Адрес, ПараметрыПолучения);
|
||||
Если Не ЗагруженныйФайл.Статус Тогда
|
||||
ФайловаяСистема.УдалитьВременныйФайл(ВременныйКаталог);
|
||||
ВызватьИсключение ЗагруженныйФайл.СообщениеОбОшибке;
|
||||
|
||||
ФайлПолучен = ПолучитьФайлИзИнтернета(ОписаниеРегиона, ВременныйКаталог, ПараметрыПолучения, ФайлРегиона.ИмяФайла);
|
||||
Если Не ФайлПолучен.Статус Тогда
|
||||
// 2 попытка получения файла
|
||||
ФайлПолучен = ПолучитьФайлИзИнтернета(ОписаниеРегиона, ВременныйКаталог, ПараметрыПолучения, ФайлРегиона.ИмяФайла);
|
||||
Если Не ФайлПолучен.Статус Тогда
|
||||
ВызватьИсключение ФайлПолучен.СообщениеОбОшибке;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КодыСубъектовДляЗагрузки.Добавить(КодСубъекта);
|
||||
@@ -9683,6 +9722,46 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПолучитьФайлИзИнтернета(ОписаниеРегиона, Знач ВременныйКаталог, ПараметрыПолучения, ИмяФайла)
|
||||
|
||||
Результат = СведенияОПолученииФайла();
|
||||
ПутьДляСохранения = ПараметрыПолучения.ПутьДляСохранения;
|
||||
МодульПолучениеФайловИзИнтернета = ОбщегоНазначения.ОбщийМодуль("ПолучениеФайловИзИнтернета");
|
||||
ЗагруженныйФайл = МодульПолучениеФайловИзИнтернета.СкачатьФайлНаСервере(ОписаниеРегиона.Адрес, ПараметрыПолучения);
|
||||
|
||||
Если Не ЗагруженныйФайл.Статус Тогда
|
||||
ФайловаяСистема.УдалитьВременныйФайл(ВременныйКаталог);
|
||||
Результат.СообщениеОбОшибке = ЗагруженныйФайл.СообщениеОбОшибке;
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ФайлСуществует(ПутьДляСохранения) Тогда
|
||||
Результат.СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось загрузить файл %1. Загрузка адресных сведений перервана.
|
||||
|Техническая информация: %2'"), ИмяФайла, ПутьДляСохранения);
|
||||
Иначе
|
||||
Результат.Статус = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращаемое значение:
|
||||
// Структура:
|
||||
// * Статус - Булево
|
||||
// * СообщениеОбОшибке - Строка
|
||||
//
|
||||
Функция СведенияОПолученииФайла()
|
||||
|
||||
Результат = Новый Структура;
|
||||
Результат.Вставить("Статус", Ложь);
|
||||
Результат.Вставить("СообщениеОбОшибке", "");
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗагрузитьДанныеКлассификатораАдресовИзФайла(СубъектРФ, ОписаниеФайлов, ПараметрыЗагрузки) Экспорт
|
||||
|
||||
ДатаЗагрузки = ПараметрыЗагрузки.ДатаЗагрузки;
|
||||
@@ -9696,6 +9775,9 @@
|
||||
|
||||
КаталогФайлов = КаталогФайлов + Формат(СубъектРФ, "ЧЦ=2; ЧВН=") + ПолучитьРазделительПутиСервера();
|
||||
|
||||
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Примечание,,,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Загрузка региона %1 из %2'"), СубъектРФ, КаталогФайлов));
|
||||
|
||||
Попытка
|
||||
|
||||
СлужебныеАдресныеСведения = СлужебныеАдресныеСведения(КаталогФайлов);
|
||||
@@ -9763,18 +9845,25 @@
|
||||
|
||||
ДатаЗагрузки = ТекущаяУниверсальнаяДата();
|
||||
|
||||
|
||||
Если ТипЗнч(ОписаниеФайлов) = Тип("Строка") Тогда
|
||||
// Файлы уже подготовлены
|
||||
КаталогФайлов = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ОписаниеФайлов);
|
||||
КаталогФайлов = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ОписаниеФайлов);
|
||||
КаталогОбщихАдресныхСведений = КаталогФайлов;
|
||||
Иначе
|
||||
КаталогФайлов = ИзвлечьФайлыВКаталог(ОписаниеФайлов);
|
||||
КонецЕсли;
|
||||
Если ТипЗнч(КодыСубъектовРФ) = Тип("Массив") И КодыСубъектовРФ.Количество() > 0 Тогда
|
||||
КаталогОбщихАдресныхСведений = КаталогФайлов + Формат(КодыСубъектовРФ[0], "ЧЦ=2; ЧВН=") + ПолучитьРазделительПутиСервера();
|
||||
Иначе
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
|
||||
СлужебныеАдресныеСведения = СлужебныеАдресныеСведения(КаталогФайлов);
|
||||
СлужебныеАдресныеСведения = СлужебныеАдресныеСведения(КаталогОбщихАдресныхСведений);
|
||||
ОбновитьСлужебныеАдресныеСведения(СлужебныеАдресныеСведения);
|
||||
|
||||
|
||||
// 2. Все заказанные субъекты
|
||||
ВсегоСубъектов = КодыСубъектовРФ.Количество();
|
||||
НомерПоПорядку = 0;
|
||||
@@ -9793,7 +9882,8 @@
|
||||
|
||||
Попытка
|
||||
|
||||
ЗагрузитьАдресныеСведенияПоРегиону(СубъектРФ, КаталогФайлов, ПараметрыЗагрузки);
|
||||
КаталогФайловРегиона = КаталогФайлов + Формат(СубъектРФ, "ЧЦ=2; ЧВН=") + ПолучитьРазделительПутиСервера();
|
||||
ЗагрузитьАдресныеСведенияПоРегиону(СубъектРФ, КаталогФайловРегиона, ПараметрыЗагрузки);
|
||||
|
||||
// Ставим версию данных загрузки региона.
|
||||
УстановитьИнформациюОЗагрузкеВерсии(СубъектРФ, СлужебныеАдресныеСведения.Версия, СлужебныеАдресныеСведения.ДатаВерсии, ДатаЗагрузки);
|
||||
@@ -9814,7 +9904,7 @@
|
||||
|
||||
// 4. Загружаем сокращения адресов.
|
||||
// Эти данные будут нужны при разборах адреса из строки.
|
||||
ОбновитьАдресныеСокращения(КаталогФайлов);
|
||||
ОбновитьАдресныеСокращения(КаталогОбщихАдресныхСведений);
|
||||
|
||||
// 5. Очищаем временный каталог.
|
||||
ФайловаяСистема.УдалитьВременныйФайл(КаталогФайлов);
|
||||
@@ -10556,8 +10646,12 @@
|
||||
|
||||
Процедура УдалитьФайлыРегиона(КаталогФайлов)
|
||||
|
||||
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Примечание,,,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Удаление файла региона: %1'"), КаталогФайлов));
|
||||
|
||||
УдалитьФайлы(КаталогФайлов);
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Очистка данных классификатора адресов.
|
||||
@@ -10846,6 +10940,10 @@
|
||||
Результат.Вставить("ПолноеИмя", КаталогФайлов + ИмяИсходногоФайла + ".FI");
|
||||
КонецЕсли;
|
||||
|
||||
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Примечание,,,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Чтение файла региона %1 из %2'"),
|
||||
КодСубъектаРФ, Результат.ПолноеИмя));
|
||||
|
||||
// Тип заголовка
|
||||
СвойствоЗаголовка = ФабрикаXDTO.Пакеты.Получить(ПространствоИмен()).КорневыеСвойства.Получить(ИмяОписывающегоУзла);
|
||||
ТипXDTOЗаголовка = СвойствоЗаголовка.Тип;
|
||||
@@ -10871,11 +10969,14 @@
|
||||
Результат.Вставить("ДатаВерсии");
|
||||
Результат.Вставить("ФайлЧтения", Новый ЧтениеFastInfoset);
|
||||
|
||||
ФайлЧтения = Результат.ФайлЧтения;
|
||||
ПроверкаФайла = Новый Файл(Результат.ПолноеИмя);
|
||||
Если Не ПроверкаФайла.Существует() Тогда
|
||||
Возврат Неопределено;
|
||||
Если Не ФайлСуществует(Результат.ПолноеИмя) Тогда
|
||||
СписокИзвлеченныхФайлов(КаталогФайлов);
|
||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось загрузить файл %1. Загрузка адресных сведений перервана.
|
||||
|Техническая информация: %2'"), ИмяИсходногоФайла, Результат.ПолноеИмя);
|
||||
КонецЕсли;
|
||||
|
||||
ФайлЧтения = Результат.ФайлЧтения;
|
||||
ФайлЧтения.ОткрытьФайл(Результат.ПолноеИмя);
|
||||
|
||||
// Встаем на первый узел с данными.
|
||||
@@ -10904,11 +11005,30 @@
|
||||
|
||||
Функция КаталогВременногоХранилищаФайлов() Экспорт
|
||||
|
||||
КаталогФайлов = ФайловаяСистема.КаталогОбщегоВременногоХранилищаФайлов("AdrCls") + ПолучитьРазделительПутиСервера();
|
||||
КаталогФайлов = ФайловаяСистема.КаталогОбщегоВременногоХранилищаФайлов("AdrCls");
|
||||
Если Не СтрЗаканчиваетсяНа(КаталогФайлов, ПолучитьРазделительПутиСервера()) Тогда
|
||||
КаталогФайлов = КаталогФайлов + ПолучитьРазделительПутиСервера();
|
||||
КонецЕсли;
|
||||
|
||||
Возврат КаталогФайлов;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ФайлСуществует(Знач ПутьДляСохранения)
|
||||
|
||||
ПроверкаФайла = Новый Файл(ПутьДляСохранения);
|
||||
Если Не ПроверкаФайла.Существует() Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПроверкаФайла.ЭтоФайл() Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Ложь;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
Функция УровеньМуниципальногоРодительскогоОбъектаПоАдресу(Адрес)
|
||||
|
||||
|
||||
@@ -95,6 +95,14 @@
|
||||
МодульВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.АналитическийОтчетПоАнкетированию);
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
// См. РассылкаОтчетовПереопределяемый.ОпределитьИсключаемыеОтчеты
|
||||
Процедура ПриОпределенииИсключаемыхОтчетов(ИсключаемыеОтчеты) Экспорт
|
||||
|
||||
ИсключаемыеОтчеты.Добавить(Метаданные.Отчеты.АнализОпроса);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
@@ -135,7 +135,6 @@
|
||||
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
ЗаблокироватьДанныеПараметровБлокировки();
|
||||
|
||||
ПараметрыСеанса.РаботаСВнешнимиРесурсамиЗаблокирована = УстановитьБлокировкуРаботыСВнешнимиРесурсами();
|
||||
УстановленныеПараметры.Добавить("РаботаСВнешнимиРесурсамиЗаблокирована");
|
||||
@@ -578,6 +577,14 @@
|
||||
|
||||
Процедура УстановитьПризнакНеобходимостиПринятияРешенияОБлокировке(ПараметрыБлокировки, ТекстСообщения)
|
||||
|
||||
ЗаблокироватьДанныеПараметровБлокировки();
|
||||
|
||||
АктуальныеПараметрыБлокировки = СохраненныеПараметрыБлокировки();
|
||||
Если АктуальныеПараметрыБлокировки.РаботаСВнешнимиРесурсамиЗаблокирована = Неопределено Тогда
|
||||
// Если признак необходимости принятия решения о блокировке уже был установлен в другом сеансе.
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыБлокировки.РаботаСВнешнимиРесурсамиЗаблокирована = Неопределено;
|
||||
ПараметрыБлокировки.ПричинаБлокировки = ПредставлениеПричиныБлокировки(ПараметрыБлокировки);
|
||||
СохранитьПараметрыБлокировки(ПараметрыБлокировки);
|
||||
|
||||
@@ -4766,9 +4766,11 @@
|
||||
|
||||
Языки = Новый Массив;
|
||||
|
||||
КодТекущегоЯзыка = ?(ТипЗнч(ТекущийЯзык()) = Тип("Строка"), ТекущийЯзык(), ТекущийЯзык().КодЯзыка);
|
||||
|
||||
Исключения = Новый Массив;
|
||||
Исключения.Добавить(ТекущийЯзык());
|
||||
Исключения.Добавить(Метаданные.ОсновнойЯзык);
|
||||
Исключения.Добавить(КодТекущегоЯзыка);
|
||||
Исключения.Добавить(ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
|
||||
Для Каждого Язык Из Метаданные.Языки Цикл
|
||||
|
||||
|
||||
@@ -227,7 +227,7 @@
|
||||
Результат.Колонки.Добавить("ПолноеИмя", ВариантыОтчетов.ОписаниеТиповСтрока(510));
|
||||
Результат.Колонки.Добавить("Представление", ВариантыОтчетов.ОписаниеТиповСтрока(150));
|
||||
|
||||
Если ТекущийЯзык() = Метаданные.ОсновнойЯзык Тогда
|
||||
Если ОбщегоНазначения.ЭтоОсновнойЯзык() Тогда
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -563,8 +563,10 @@
|
||||
// - ГруппировкаКомпоновкиДанных
|
||||
// - ГруппировкаТаблицыКомпоновкиДанных
|
||||
// Настройки - НастройкиКомпоновкиДанных
|
||||
// ПоляСортировки - Соответствие
|
||||
// - Неопределено
|
||||
// ПоляСортировки - Соответствие из КлючЗначение:
|
||||
// * Ключ - ПолеКомпоновкиДанных
|
||||
// * Значение - НаправлениеСортировкиКомпоновкиДанных
|
||||
//
|
||||
// Замещать - Булево
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
@@ -1304,8 +1306,49 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#Область Конструкторы
|
||||
|
||||
// Возвращаемое значение:
|
||||
// ТаблицаЗначений:
|
||||
// * ПорядокРаздела - Число
|
||||
// * КоличествоРазделов - Число
|
||||
// * ПорядокГруппировки - Число
|
||||
// * ПорядокПоля - Число
|
||||
// * ИдентификаторНастроек - ИдентификаторКомпоновкиДанных
|
||||
// * ИдентификаторРаздела - ИдентификаторКомпоновкиДанных
|
||||
// * ИдентификаторГруппировки - ИдентификаторКомпоновкиДанных
|
||||
// * ИдентификаторПоля - ИдентификаторКомпоновкиДанных
|
||||
// * Поле - ПолеКомпоновкиДанных
|
||||
// * ТипПоля - Тип
|
||||
// * ИспользуетсяВПоляхГруппировки - Булево
|
||||
// * ТипГруппировки - ТипГруппировкиКомпоновкиДанных
|
||||
// * ИмяГруппировки - Строка
|
||||
// * ПредставлениеГруппировки - Строка
|
||||
// * ПредставлениеПоля - Строка
|
||||
// * Текст - Строка
|
||||
// * Период - Булево
|
||||
// * Измерение - Булево
|
||||
// * Ресурс - Булево
|
||||
// * ЭтоФормула - Булево
|
||||
// * ТипЗначения - Тип
|
||||
// * ПолеСортируется - Булево
|
||||
// * НаправлениеСортировки - НаправлениеСортировкиКомпоновкиДанных
|
||||
// * СгруппироватьПоВыбранномуПолю - Булево
|
||||
// * ВставитьПолеСлева - Булево
|
||||
// * ВставитьПолеСправа - Булево
|
||||
// * ВставитьГруппировкуВыше - Булево
|
||||
// * ВставитьГруппировкуНиже - Булево
|
||||
// * ПереместитьПолеВлево - Булево
|
||||
// * ПереместитьПолеВправо - Булево
|
||||
// * ПереместитьПолеВыше - Булево
|
||||
// * ПереместитьПолеНиже - Булево
|
||||
// * СкрытьПоле - Булево
|
||||
// * ПереименоватьПоле - Булево
|
||||
// * ОформитьОтрицательные - Булево
|
||||
// * ОформитьПоложительные - Булево
|
||||
// * ОформитьЕще - Булево
|
||||
// * СодержитРодительскиеГруппировки - Булево
|
||||
// * СодержитДочерниеГруппировки - Булево
|
||||
// * ИдентификаторИндекса - УникальныйИдентификатор
|
||||
//
|
||||
Функция НовыйИндексСтруктурыОтчета() Экспорт
|
||||
|
||||
ОписаниеЧисла = Новый ОписаниеТипов("Число");
|
||||
@@ -1402,8 +1445,6 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ИнициализацияСвойствЗаголовковТаблиц
|
||||
|
||||
Процедура ОпределитьИерархиюЗаголовковОтчета(РазрезСвойствЗаголовков, Заголовки)
|
||||
@@ -1756,8 +1797,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область Конструкторы
|
||||
|
||||
Функция СтандартныйРазрезСвойствЗаголовковОтчета()
|
||||
|
||||
ОписаниеЧисла = Новый ОписаниеТипов("Число");
|
||||
@@ -1889,8 +1928,6 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ДанныеЭлементаРасшифровки
|
||||
|
||||
Функция ДанныеЭлементаРасшифровки(Форма, Расшифровка) Экспорт
|
||||
|
||||
@@ -2163,7 +2163,14 @@
|
||||
|
||||
НеиспользуемыеОбласти.Добавить("ИспользоватьВЗаголовкеПолейРесурсов");
|
||||
НеиспользуемыеОбласти.Добавить("ИспользоватьВЗаголовкеОбщегоИтога");
|
||||
#Если ВебКлиент Тогда
|
||||
СистемнаяИнформация = Новый СистемнаяИнформация;
|
||||
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, "8.3.20.1859") > 0 Тогда
|
||||
НеиспользуемыеОбласти.Добавить("ИспользоватьВЗаголовкеПолейРесурсовОбщегоИтога");
|
||||
КонецЕсли;
|
||||
#Иначе
|
||||
НеиспользуемыеОбласти.Добавить("ИспользоватьВЗаголовкеПолейРесурсовОбщегоИтога");
|
||||
#КонецЕсли
|
||||
|
||||
Возврат НеиспользуемыеОбласти;
|
||||
|
||||
@@ -3575,6 +3582,10 @@
|
||||
|
||||
Для Каждого Формула Из Формулы Цикл
|
||||
|
||||
Если ТипЗнч(Формула) <> Тип("ПользовательскоеПолеВыражениеКомпоновкиДанных") Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если СокрЛП(Выражение) = Формула.ПолучитьВыражениеДетальныхЗаписей() Тогда
|
||||
Возврат Формула;
|
||||
КонецЕсли;
|
||||
@@ -3589,6 +3600,15 @@
|
||||
|
||||
Формула = ВариантыОтчетовСлужебныйКлиентСервер.ФормулаПоПутиКДанным(Настройки, ПутьКДанным);
|
||||
|
||||
Если ТипЗнч(Формула) <> Тип("ПользовательскоеПолеВыражениеКомпоновкиДанных") Тогда
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Редактирование поля ""%1""доступно в форме настроек для технического специалиста на закладке ""Пользовательские поля""'"),
|
||||
Формула.Заголовок);
|
||||
|
||||
ПоказатьПредупреждение(Неопределено, ТекстСообщения);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыРедактированияФормулы = КонструкторФормулКлиент.ПараметрыРедактированияФормулы();
|
||||
ПараметрыРедактированияФормулы.Операнды = Форма.НастройкиОтчета.АдресСхемы;
|
||||
ПараметрыРедактированияФормулы.ИмяКоллекцииСКДОперандов = ИмяКоллекции;
|
||||
@@ -3665,7 +3685,6 @@
|
||||
|
||||
Формула = ДополнительныеПараметры.Формула;
|
||||
Формула.УстановитьВыражениеДетальныхЗаписей(Выражение);
|
||||
Формула.УстановитьПредставлениеВыражений(ПредставлениеВыражения, "");
|
||||
Формула.Заголовок = ?(ЗначениеЗаполнено(Заголовок), Заголовок, ПредставлениеВыражения);
|
||||
|
||||
ОписаниеФормулы = ДополнительныеПараметры.КоллекцияПолей.НайтиПоле(Новый ПолеКомпоновкиДанных(Формула.ПутьКДанным));
|
||||
@@ -3675,9 +3694,6 @@
|
||||
|
||||
Процедура УстановитьВыражениеИтоговыхЗаписей(Формула, ОписаниеФормулы)
|
||||
|
||||
ВыражениеДетальныхЗаписей = Формула.ПолучитьВыражениеДетальныхЗаписей();
|
||||
ВыражениеИтоговыхЗаписей = Формула.ПолучитьВыражениеИтоговыхЗаписей();
|
||||
|
||||
Если ОписаниеФормулы = Неопределено
|
||||
Или ОписаниеФормулы.Тип.Типы().Количество() > 1
|
||||
Или Не ОписаниеФормулы.Тип.СодержитТип(Тип("Число")) Тогда
|
||||
@@ -3685,87 +3701,31 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
|
||||
ВыражениеИтоговыхЗаписей = ВыражениеИтоговыхЗаписей(ВыражениеДетальныхЗаписей);
|
||||
Формула.УстановитьВыражения(ВыражениеДетальныхЗаписей, ВыражениеИтоговыхЗаписей);
|
||||
|
||||
Исключение
|
||||
|
||||
ВыражениеДетальныхЗаписей = Формула.ПолучитьВыражениеДетальныхЗаписей();
|
||||
Если ВыражениеСодержитАгрегатнуюФункцию(ВыражениеДетальныхЗаписей) Тогда
|
||||
ВыражениеИтоговыхЗаписей = ВыражениеДетальныхЗаписей;
|
||||
Иначе
|
||||
ВыражениеИтоговыхЗаписей = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
"Сумма(%1)", ВыражениеДетальныхЗаписей);
|
||||
|
||||
Формула.УстановитьВыражения(ВыражениеДетальныхЗаписей, ВыражениеИтоговыхЗаписей);
|
||||
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
|
||||
Формула.УстановитьВыражения(ВыражениеДетальныхЗаписей, ВыражениеИтоговыхЗаписей);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ВыражениеИтоговыхЗаписей(Знач Выражение)
|
||||
Функция ВыражениеСодержитАгрегатнуюФункцию(Знач Выражение)
|
||||
|
||||
ОписаниеВыражения = Новый Массив;
|
||||
Выражение = ВРег(СтрСоединить(СтрРазделить(Выражение, " " + Символы.Таб + Символы.ПС, Ложь), ""));
|
||||
|
||||
АрифметическиеОператоры = "+-*/%";
|
||||
КоличествоСимволов = СтрДлина(Выражение);
|
||||
|
||||
Для НомерСимвола = 1 По КоличествоСимволов Цикл
|
||||
|
||||
Если КоличествоСимволов = 0 Тогда
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
Символ = Сред(Выражение, НомерСимвола, 1);
|
||||
|
||||
Если Не ЗначениеЗаполнено(Символ) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если Символ = "(" Тогда
|
||||
|
||||
ОписаниеВыражения.Добавить(Символ);
|
||||
|
||||
Выражение = СокрЛП(Сред(Выражение, НомерСимвола + 1));
|
||||
|
||||
НомерСимвола = 0;
|
||||
КоличествоСимволов = СтрДлина(Выражение);
|
||||
|
||||
ИначеЕсли СтрНайти(АрифметическиеОператоры, Символ) > 0 Тогда
|
||||
|
||||
Операнд = СокрЛП(Сред(Выражение, 1, НомерСимвола - 1));
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.ЭтоЧисло(Операнд) Тогда
|
||||
ВложенноеВыражение = Операнд;
|
||||
Иначе
|
||||
ВложенноеВыражение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("Сумма(%1)", Операнд);
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеВыражения.Добавить(ВложенноеВыражение);
|
||||
ОписаниеВыражения.Добавить(Символ);
|
||||
|
||||
Выражение = СокрЛП(Сред(Выражение, НомерСимвола + 1));
|
||||
|
||||
НомерСимвола = 0;
|
||||
КоличествоСимволов = СтрДлина(Выражение);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.ЭтоЧисло(Выражение) Тогда
|
||||
ВложенноеВыражение = Выражение;
|
||||
Иначе
|
||||
ВложенноеВыражение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("Сумма(%1)", Выражение);
|
||||
Если СтрНайти(Выражение, "СУММА(")
|
||||
Или СтрНайти(Выражение, "КОЛИЧЕСТВО(")
|
||||
Или СтрНайти(Выражение, "МАКСИМУМ(")
|
||||
Или СтрНайти(Выражение, "МИНИМУМ(")
|
||||
Или СтрНайти(Выражение, "СРЕДНЕЕ(") Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеВыражения.Добавить(ВложенноеВыражение);
|
||||
|
||||
ВыражениеИтоговыхЗаписей = "";
|
||||
|
||||
Для Каждого Элемент Из ОписаниеВыражения Цикл
|
||||
ВыражениеИтоговыхЗаписей = ВыражениеИтоговыхЗаписей + " " + Элемент;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат СокрЛП(ВыражениеИтоговыхЗаписей);
|
||||
Возврат Ложь;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
@@ -561,6 +561,12 @@
|
||||
|
||||
Если ПараметрыВыполнения.БезРасширений Тогда
|
||||
ПараметрыВыполнения.БезРасширений = ЗначениеЗаполнено(ПараметрыСеанса.ПодключенныеРасширения);
|
||||
|
||||
ИначеЕсли Не ПараметрыВыполнения.СРасширениямиБазыДанных
|
||||
И Не ПараметрыВыполнения.ЗапуститьНеВФоне
|
||||
И СтандартныеПодсистемыСервер.ЭтоРазделенныйРежимСеансаБезРазделителей() Тогда
|
||||
|
||||
ПараметрыВыполнения.СРасширениямиБазыДанных = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыЭкспортнойПроцедуры = ПараметрыПроцедуры;
|
||||
|
||||
@@ -512,7 +512,7 @@
|
||||
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
Если ПоставляемаяОбработкаСуществует Тогда
|
||||
ИспользуемаяОбработкаСсылка = ИспользуемаяОбработка(ПоставляемаяОбработка);
|
||||
ИспользуемаяОбработкаСсылка = ИспользуемаяОбработка(ПоставляемаяОбработка, ОписаниеИнсталляции.Инсталляция);
|
||||
Если ЗначениеЗаполнено(ИспользуемаяОбработкаСсылка) Тогда
|
||||
ЭлементБлокировки = Блокировка.Добавить("Справочник.ДополнительныеОтчетыИОбработки");
|
||||
ЭлементБлокировки.УстановитьЗначение("Ссылка", ИспользуемаяОбработкаСсылка);
|
||||
@@ -545,7 +545,7 @@
|
||||
КонецЦикла;
|
||||
|
||||
// Создается элемент справочника ДополнительныеОтчетыИОбработки, выступающий в роли используемой обработки.
|
||||
ИспользуемаяОбработкаСсылка = ИспользуемаяОбработка(ПоставляемаяОбработка);
|
||||
ИспользуемаяОбработкаСсылка = ИспользуемаяОбработка(ПоставляемаяОбработка, ОписаниеИнсталляции.Инсталляция);
|
||||
Если ЗначениеЗаполнено(ИспользуемаяОбработкаСсылка) Тогда
|
||||
ИспользуемаяОбработка = ИспользуемаяОбработкаСсылка.ПолучитьОбъект();
|
||||
Иначе
|
||||
@@ -1322,7 +1322,7 @@
|
||||
// Возвращаемое значение:
|
||||
// СправочникСсылка.ДополнительныеОтчетыИОбработки
|
||||
//
|
||||
Функция ИспользуемаяОбработка(ПоставляемаяОбработка)
|
||||
Функция ИспользуемаяОбработка(ПоставляемаяОбработка, ИдентификаторИнсталляции = Неопределено)
|
||||
|
||||
Если Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
|
||||
ТекстСообщения = НСтр("ru = 'Использование функции %1 доступно только сеансов с установленным разделением данных.'");
|
||||
@@ -1340,13 +1340,26 @@
|
||||
Запрос = Новый Запрос(ТекстЗапроса);
|
||||
Запрос.УстановитьПараметр("ПоставляемаяОбработка", ПоставляемаяОбработка);
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
Результат = Запрос.Выполнить();
|
||||
Если Результат.Пустой() Тогда
|
||||
Возврат Неопределено;
|
||||
Если Не Результат.Пустой() Тогда
|
||||
Выборка = Результат.Выбрать();
|
||||
Выборка.Следующий();
|
||||
Возврат Выборка.ИспользуемаяОбработка;
|
||||
КонецЕсли;
|
||||
|
||||
Если ИдентификаторИнсталляции = Неопределено Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
ИспользуемаяОбработка = Справочники.ДополнительныеОтчетыИОбработки.ПолучитьСсылку(
|
||||
Новый УникальныйИдентификатор(ИдентификаторИнсталляции));
|
||||
|
||||
Если ОбщегоНазначения.СсылкаСуществует(ИспользуемаяОбработка) Тогда
|
||||
Возврат ИспользуемаяОбработка;
|
||||
Иначе
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
Выборка = Результат.Выбрать();
|
||||
Выборка.Следующий();
|
||||
Возврат Выборка.ИспользуемаяОбработка;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
@@ -47,9 +47,6 @@
|
||||
// Для регистрации условий следует использовать процедуру
|
||||
// ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды.
|
||||
// Условия объединяются по "И".
|
||||
// * ИзменяетВыбранныеОбъекты - Булево - определяет доступность команды, когда у пользователя нет прав на
|
||||
// изменение объекта. Если Истина, то в описанной выше ситуации кнопка будет недоступна.
|
||||
// Значение по умолчанию - Истина.
|
||||
//
|
||||
// Настройки процесса выполнения:
|
||||
// * МножественныйВыбор - Булево
|
||||
|
||||
@@ -690,6 +690,8 @@
|
||||
МодульКалендарныеГрафикиСлужебный.ПриОпределенииПсевдонимовОбработчиков(СоответствиеИменПсевдонимам);
|
||||
КонецЕсли;
|
||||
|
||||
ОбновлениеИнформационнойБазыСлужебный.ПриОпределенииПсевдонимовОбработчиков(СоответствиеИменПсевдонимам);
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует(
|
||||
"СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбновлениеВерсииИБВМоделиСервиса") Тогда
|
||||
МодульОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль(
|
||||
@@ -705,13 +707,16 @@
|
||||
МодульРаботаСФайламиСлужебныйВМоделиСервиса.ПриОпределенииПсевдонимовОбработчиков(СоответствиеИменПсевдонимам);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УдалениеПомеченныхОбъектов") Тогда
|
||||
МодульУдалениеПомеченныхОбъектовСлужебный = ОбщегоНазначения.ОбщийМодуль("УдалениеПомеченныхОбъектовСлужебный");
|
||||
МодульУдалениеПомеченныхОбъектовСлужебный.ПриОпределенииПсевдонимовОбработчиков(СоответствиеИменПсевдонимам);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
|
||||
МодульЭлектроннаяПодписьСлужебный = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебный");
|
||||
МодульЭлектроннаяПодписьСлужебный.ПриОпределенииПсевдонимовОбработчиков(СоответствиеИменПсевдонимам);
|
||||
КонецЕсли;
|
||||
|
||||
ОбновлениеИнформационнойБазыСлужебный.ПриОпределенииПсевдонимовОбработчиков(СоответствиеИменПсевдонимам);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. ОчередьЗаданийПереопределяемый.ПриОпределенииИспользованияРегламентныхЗаданий.
|
||||
@@ -845,7 +850,13 @@
|
||||
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
|
||||
МодульРаботаСАдресами.ПриДобавленииКлассификаторов(Классификаторы);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись")
|
||||
И Метаданные.ОбщиеМодули.Найти("ЭлектроннаяПодписьСлужебныйЛокализация") <> Неопределено Тогда
|
||||
МодульЭлектроннаяПодписьСлужебный = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебный");
|
||||
МодульЭлектроннаяПодписьСлужебный.ПриДобавленииКлассификаторов(Классификаторы);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. РаботаСКлассификаторамиПереопределяемый.ПриЗагрузкеКлассификатора.
|
||||
@@ -875,6 +886,13 @@
|
||||
МодульРаботаСАдресами.ПриЗагрузкеКлассификатора(Идентификатор, Версия, Адрес, Обработан,
|
||||
ДополнительныеПараметры);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись")
|
||||
И Метаданные.ОбщиеМодули.Найти("ЭлектроннаяПодписьСлужебныйЛокализация") <> Неопределено Тогда
|
||||
МодульЭлектроннаяПодписьСлужебный = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебный");
|
||||
МодульЭлектроннаяПодписьСлужебный.ПриЗагрузкеКлассификатора(Идентификатор, Версия, Адрес, Обработан,
|
||||
ДополнительныеПараметры);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -4300,6 +4318,25 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область РассылкаОтчетов
|
||||
|
||||
// См. РассылкаОтчетовПереопределяемый.ОпределитьИсключаемыеОтчеты
|
||||
Процедура ПриОпределенииИсключаемыхОтчетов(ИсключаемыеОтчеты) Экспорт
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
|
||||
МодульУправлениеДоступомСлужебный = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступомСлужебный");
|
||||
МодульУправлениеДоступомСлужебный.ПриОпределенииИсключаемыхОтчетов(ИсключаемыеОтчеты);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Анкетирование") Тогда
|
||||
МодульАнкетирование = ОбщегоНазначения.ОбщийМодуль("Анкетирование");
|
||||
МодульАнкетирование.ПриОпределенииИсключаемыхОтчетов(ИсключаемыеОтчеты);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область РаботаСФайлами
|
||||
|
||||
// См. РаботаСФайламиСлужебный.ПриОпределенииОбъектовИсключенияСинхронизацииФайлов.
|
||||
|
||||
@@ -428,6 +428,7 @@
|
||||
ПредставлениеПоля.ПутьКДанным = ИмяСпискаПолей + ".Заголовок";
|
||||
ПредставлениеПоля.Вид = ВидПоляФормы.ПолеВвода;
|
||||
ПредставлениеПоля.ТолькоПросмотр = Истина;
|
||||
ПредставлениеПоля.Заголовок = НСтр("ru = 'Заголовок'");
|
||||
|
||||
ПредставлениеПоля = Форма.Элементы.Добавить(ИмяСпискаПолей + "ПредставлениеПутиКДанным", Тип("ПолеФормы"), ГруппаКолонок);
|
||||
ПредставлениеПоля.ПутьКДанным = ИмяСпискаПолей + ".ПредставлениеПутиКДанным";
|
||||
@@ -728,7 +729,7 @@
|
||||
Реквизит.ПредставлениеПутиКДанным = Реквизит.Заголовок;
|
||||
КонецЕсли;
|
||||
|
||||
Если ОписаниеПоля.Элементы.Количество() > 0 И Реквизит.Имя <> "Ссылка" Тогда
|
||||
Если ОписаниеПоля.Элементы.Количество() > 0 Тогда
|
||||
Реквизит.ЕстьПодчиненные = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1999,7 +2000,7 @@
|
||||
ГруппыОператоров = "Разделители, Операторы, ЛогическиеОператорыИКонстанты,
|
||||
|ЧисловыеФункции, СтроковыеФункции, ПрочиеФункции";
|
||||
ИначеЕсли ГруппыОператоров = "ВсеОператорыСКД" Тогда
|
||||
ГруппыОператоров = "Операторы, ОперацииНадСтрокамиСКД, ОперацииСравненияСКД,
|
||||
ГруппыОператоров = "Операторы, ОперацииНадСтрокамиСКД, РаботаСДатамиСКД, ОперацииСравненияСКД,
|
||||
|ЛогическиеОперацииСКД, АгрегатныеФункцииСКД";
|
||||
КонецЕсли;
|
||||
|
||||
@@ -2019,6 +2020,8 @@
|
||||
ДобавитьГруппуОператоровПрочиеФункции(СписокОператоров);
|
||||
ИначеЕсли ИмяГруппы = "ОперацииНадСтрокамиСКД" Тогда
|
||||
ДобавитьГруппуОператоровОперацииНадСтроками(СписокОператоров);
|
||||
ИначеЕсли ИмяГруппы = "РаботаСДатамиСКД" Тогда
|
||||
ДобавитьГруппуОператоровРаботаСДатами(СписокОператоров);
|
||||
ИначеЕсли ИмяГруппы = "ОперацииСравненияСКД" Тогда
|
||||
ДобавитьГруппуОператоровОперацииСравнения(СписокОператоров);
|
||||
ИначеЕсли ИмяГруппы = "ЛогическиеОперацииСКД" Тогда
|
||||
@@ -2168,6 +2171,35 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьГруппуОператоровРаботаСДатами(СписокОператоров)
|
||||
|
||||
Группа = СписокОператоров.Строки.Добавить();
|
||||
Группа.Идентификатор = "РаботаСДатамиСКД";
|
||||
Группа.Представление = НСтр("ru = 'Работа с датами'");
|
||||
Группа.Порядок = 2;
|
||||
Группа.Картинка = БиблиотекаКартинок.ТипФункция;
|
||||
|
||||
Тип = Новый ОписаниеТипов("Число");
|
||||
|
||||
ДобавитьОператорВГруппу(Группа, "ГОД", НСтр("ru = 'ГОД'"), Тип, Истина);
|
||||
ДобавитьОператорВГруппу(Группа, "МЕСЯЦ", НСтр("ru = 'МЕСЯЦ'"), Тип, Истина);
|
||||
ДобавитьОператорВГруппу(Группа, "ЧИСЛО", НСтр("ru = 'ЧИСЛО'"), Тип, Истина);
|
||||
ДобавитьОператорВГруппу(Группа, "ДЕНЬГОДА", НСтр("ru = 'ДЕНЬГОДА'"), Тип, Истина);
|
||||
ДобавитьОператорВГруппу(Группа, "ДЕНЬ", НСтр("ru = 'ДЕНЬ'"), Тип, Истина);
|
||||
ДобавитьОператорВГруппу(Группа, "НЕДЕЛЯ", НСтр("ru = 'НЕДЕЛЯ'"), Тип, Истина);
|
||||
ДобавитьОператорВГруппу(Группа, "ДЕНЬНЕДЕЛИ", НСтр("ru = 'ДЕНЬНЕДЕЛИ'"), Тип, Истина);
|
||||
ДобавитьОператорВГруппу(Группа, "ЧАС", НСтр("ru = 'ЧАС'"), Тип, Истина);
|
||||
ДобавитьОператорВГруппу(Группа, "МИНУТА", НСтр("ru = 'МИНУТА'"), Тип, Истина);
|
||||
ДобавитьОператорВГруппу(Группа, "СЕКУНДА", НСтр("ru = 'СЕКУНДА'"), Тип, Истина);
|
||||
|
||||
ДобавитьОператорВГруппу(Группа, "НАЧАЛОПЕРИОДА", НСтр("ru = 'НАЧАЛОПЕРИОДА'"), Новый ОписаниеТипов, Истина);
|
||||
ДобавитьОператорВГруппу(Группа, "КОНЕЦПЕРИОДА", НСтр("ru = 'КОНЕЦПЕРИОДА'"), Новый ОписаниеТипов, Истина);
|
||||
ДобавитьОператорВГруппу(Группа, "ДОБАВИТЬКДАТЕ", НСтр("ru = 'ДОБАВИТЬКДАТЕ'"), Новый ОписаниеТипов, Истина);
|
||||
|
||||
ДобавитьОператорВГруппу(Группа, "РАЗНОСТЬДАТ", НСтр("ru = 'РАЗНОСТЬДАТ'"), Тип, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьГруппуОператоровОперацииСравнения(СписокОператоров)
|
||||
|
||||
Группа = СписокОператоров.Строки.Добавить();
|
||||
|
||||
@@ -238,7 +238,7 @@
|
||||
Представление[ИмяРеквизита] = ТекущийОбъект[ИмяРеквизита];
|
||||
КонецЦикла;
|
||||
|
||||
Отбор.КодЯзыка = Метаданные.ОсновнойЯзык.КодЯзыка;
|
||||
Отбор.КодЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
|
||||
НайденныеСтроки = Представления.НайтиСтроки(Отбор);
|
||||
Если НайденныеСтроки.Количество() > 0 Тогда
|
||||
Для каждого ИмяРеквизита Из Реквизиты Цикл
|
||||
@@ -314,7 +314,7 @@
|
||||
ИмяРеквизита = Реквизит.Имя;
|
||||
|
||||
Отбор = Новый Структура();
|
||||
Отбор.Вставить("КодЯзыка", Метаданные.ОсновнойЯзык.КодЯзыка);
|
||||
Отбор.Вставить("КодЯзыка", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
НайденныеСтроки = Объект.Представления.НайтиСтроки(Отбор);
|
||||
|
||||
Если НайденныеСтроки.Количество() > 0 Тогда
|
||||
@@ -328,7 +328,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Представление = Объект.Представления.Добавить();
|
||||
Представление.КодЯзыка = Метаданные.ОсновнойЯзык.КодЯзыка;
|
||||
Представление.КодЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
|
||||
|
||||
КонецЕсли;
|
||||
Представление[ИмяРеквизита] = Объект[ИмяРеквизита];
|
||||
@@ -467,7 +467,7 @@
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Константы.ОсновнойЯзык.Установить(Метаданные.ОсновнойЯзык.КодЯзыка);
|
||||
Константы.ОсновнойЯзык.Установить(ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
|
||||
Возврат Ложь;
|
||||
|
||||
@@ -690,6 +690,46 @@
|
||||
|
||||
// Обновление данных
|
||||
|
||||
Процедура ОбработатьОбщиеДанныеДляПереходаНаНовуюВерсию() Экспорт
|
||||
|
||||
Если Метаданные.Языки.Количество() = 1 Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОбъектыКОбработке = СписокОбъектовКОбработкеДляПереходаНаНовуюВерсию("Общие");
|
||||
|
||||
Если ОбъектыКОбработке.Количество() = 0 Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОбъектовОбработано = 0;
|
||||
ПроблемныхОбъектов = 0;
|
||||
|
||||
ОбъектМетаданных = Неопределено;
|
||||
ПараметрыЗаполнения = Неопределено;
|
||||
Для каждого ОбъектыКОбработке Из ОбъектыКОбработке Цикл
|
||||
|
||||
Если ОбъектМетаданных = Неопределено Или ТипЗнч(ОбъектМетаданных) <> ТипЗнч(ОбъектыКОбработке) Тогда
|
||||
ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗнч(ОбъектыКОбработке));
|
||||
ПараметрыЗаполнения = ОбновлениеИнформационнойБазыСлужебный.НаборПараметровДляЗаполненияОбъекта(ОбъектМетаданных);
|
||||
КонецЕсли;
|
||||
|
||||
Если ПараметрыЗаполнения <> Неопределено Тогда
|
||||
ЗаполнитьИПеренестиСтрокиИзТЧПредставленияВРеквизиты(ОбъектыКОбработке, ПараметрыЗаполнения, ОбъектовОбработано, ПроблемныхОбъектов);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если ПроблемныхОбъектов > 0 Тогда
|
||||
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Ошибка,,,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Процедуре %1 не удалось обновить некоторые объекты (пропущены): %2 из %3'"),
|
||||
"МультиязычностьСервер.ОбработатьОбщиеДанныеДляПереходаНаНовуюВерсию",
|
||||
ПроблемныхОбъектов, ОбъектовОбработано));
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Регистрирует объекты к обработке в обработчике обновления
|
||||
//
|
||||
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт
|
||||
@@ -698,110 +738,8 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОбъектыКОбработке = Новый Массив();
|
||||
РазделительЗапросов = Символы.ПС + " ОБЪЕДИНИТЬ ВСЕ " + Символы.ПС;
|
||||
|
||||
СведенияОбЯзыках = МультиязычностьПовтИсп.СведенияОбЯзыках();
|
||||
Если ЗначениеЗаполнено(СведенияОбЯзыках.Язык1) И ЗначениеЗаполнено(СведенияОбЯзыках.Язык2) Тогда
|
||||
|
||||
ОбъектыСПредопределеннымиЭлементами = ОбновлениеИнформационнойБазыСлужебный.ОбъектыСНачальнымЗаполнением();
|
||||
|
||||
ШаблонаЗапроса = "ВЫБРАТЬ
|
||||
| ДанныеОбъекта.Ссылка
|
||||
|ИЗ
|
||||
| &Таблица КАК ДанныеОбъекта
|
||||
|ГДЕ
|
||||
| &УсловиеОтбора";
|
||||
|
||||
НаборЗапросов = Новый Массив;
|
||||
|
||||
Для каждого ОбъектМетаданныхСЭлементами Из ОбъектыСПредопределеннымиЭлементами Цикл
|
||||
|
||||
ЛокализуемыеРеквизитыОбъекта = НаименованияЛокализуемыхРеквизитовОбъектаВШапке(ОбъектМетаданныхСЭлементами);
|
||||
Отборы = Новый Массив;
|
||||
|
||||
Для каждого РеквизитОбъекта Из ЛокализуемыеРеквизитыОбъекта Цикл
|
||||
|
||||
Если Не РеквизитОбъекта.Значение Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(СведенияОбЯзыках.Язык1) И ЗначениеЗаполнено(СведенияОбЯзыках.Язык2) Тогда
|
||||
ШаблонОтбора = "ВЫРАЗИТЬ(&Реквизит КАК СТРОКА(1)) <> """"
|
||||
| И (ВЫРАЗИТЬ(&Язык1 КАК СТРОКА(1)) = """" ИЛИ ВЫРАЗИТЬ(&Язык2 КАК СТРОКА(1)) = """")";
|
||||
|
||||
ШаблонОтбора = СтрЗаменить(ШаблонОтбора, "&Язык1", РеквизитОбъекта.Ключ + "Язык1");
|
||||
ШаблонОтбора = СтрЗаменить(ШаблонОтбора, "&Язык2", РеквизитОбъекта.Ключ + "Язык2");
|
||||
|
||||
Иначе
|
||||
ШаблонОтбора = "ВЫРАЗИТЬ(&Реквизит КАК СТРОКА(1)) <> """"
|
||||
| И ВЫРАЗИТЬ(&Язык1Или2 КАК СТРОКА(1)) = """"";
|
||||
|
||||
Если ЗначениеЗаполнено(СведенияОбЯзыках.Язык2) Тогда
|
||||
ШаблонОтбора = СтрЗаменить(ШаблонОтбора, "&Язык1Или2", РеквизитОбъекта.Ключ + "Язык2");
|
||||
Иначе
|
||||
ШаблонОтбора = СтрЗаменить(ШаблонОтбора, "&Язык1Или2", РеквизитОбъекта.Ключ + "Язык1");
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ТекстОтбора = СтрЗаменить(ШаблонОтбора, "&Реквизит", РеквизитОбъекта.Ключ);
|
||||
Отборы.Добавить(ТекстОтбора);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если Отборы.Количество() = 0 Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ТекстЗапросаПредварительный = СтрЗаменить(ШаблонаЗапроса, "&Таблица", ОбъектМетаданныхСЭлементами.ПолноеИмя());
|
||||
ТекстЗапросаПредварительный = СтрЗаменить(ТекстЗапросаПредварительный, "&УсловиеОтбора", СтрСоединить(Отборы, " ИЛИ "));
|
||||
НаборЗапросов.Добавить(ТекстЗапросаПредварительный);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если НаборЗапросов.Количество() > 0 Тогда
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст = СтрСоединить(НаборЗапросов, РазделительЗапросов);
|
||||
РезультатыЗапроса = Запрос.Выполнить().Выгрузить();
|
||||
ОбъектыКОбработке = РезультатыЗапроса.ВыгрузитьКолонку("Ссылка");
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
// Отдельная порция объектов для регистрации с табличной частью Представления
|
||||
ОбъектыСТЧПредставления = ОбъектыСТЧПредставления();
|
||||
|
||||
Если ОбъектыСТЧПредставления.Количество() > 0 Тогда
|
||||
|
||||
ШаблонЗапроса = "ВЫБРАТЬ
|
||||
| СправочникСТЧПредставления.Ссылка
|
||||
|ИЗ
|
||||
| #Таблица КАК СправочникСТЧПредставления";
|
||||
|
||||
НаборЗапросов = Новый Массив;
|
||||
|
||||
Для Каждого ИмяОбъектаМетаданных Из ОбъектыСТЧПредставления Цикл
|
||||
|
||||
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ИмяОбъектаМетаданных);
|
||||
ТекстЗапроса = СтрЗаменить(ШаблонЗапроса, "#Таблица", ОбъектМетаданных.ПолноеИмя());
|
||||
НаборЗапросов.Добавить(ТекстЗапроса);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст = СтрСоединить(НаборЗапросов, РазделительЗапросов);
|
||||
|
||||
РезультатыЗапроса = Запрос.Выполнить().Выгрузить();
|
||||
|
||||
ОбъектыСТабличнойЧастьюПредставлениеКОбработке = РезультатыЗапроса.ВыгрузитьКолонку("Ссылка");
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ОбъектыКОбработке, ОбъектыСТабличнойЧастьюПредставлениеКОбработке);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ОбъектыКОбработке = СписокОбъектовКОбработкеДляПереходаНаНовуюВерсию(ВариантДанныхДляОбработкиСУчетомРазделения());
|
||||
|
||||
Если ОбъектыКОбработке.Количество() > 0 Тогда
|
||||
ОбновлениеИнформационнойБазы.ОтметитьКОбработке(Параметры, ОбъектыКОбработке);
|
||||
КонецЕсли;
|
||||
@@ -810,15 +748,18 @@
|
||||
|
||||
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
|
||||
|
||||
ОбъектыДляОбработкиОтсутствуют = Истина;
|
||||
ИтогоОбработано = 0;
|
||||
ОбрабатываемыеОбъекты = Новый Массив;
|
||||
|
||||
ИтогоОбработано = 0;
|
||||
ОбъектовОбработано = 0;
|
||||
ПроблемныхОбъектов = 0;
|
||||
Порция = 10000;
|
||||
|
||||
ОбъектыСТЧПредставления = ОбъектыСТЧПредставления();
|
||||
ОбъектыСТЧПредставления = ОбъектыСТЧПредставления(ВариантДанныхДляОбработкиСУчетомРазделения());
|
||||
Для Каждого ИмяОбъектСТЧПредставления Из ОбъектыСТЧПредставления Цикл
|
||||
|
||||
ОбрабатываемыеОбъекты.Добавить(ИмяОбъектСТЧПредставления);
|
||||
|
||||
Выборка = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, ИмяОбъектСТЧПредставления);
|
||||
|
||||
ПараметрыЗаполнения = Неопределено;
|
||||
@@ -830,6 +771,12 @@
|
||||
ЗаполнитьИПеренестиСтрокиИзТЧПредставленияВРеквизиты(Выборка.Ссылка, ПараметрыЗаполнения, ОбъектовОбработано, ПроблемныхОбъектов);
|
||||
КонецЦикла;
|
||||
|
||||
ИтогоОбработано = ИтогоОбработано + ОбъектовОбработано;
|
||||
|
||||
Если ИтогоОбработано >= Порция Тогда
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если ОбъектовОбработано = 0 И ПроблемныхОбъектов <> 0 Тогда
|
||||
@@ -846,26 +793,31 @@
|
||||
ОбъектовОбработано));
|
||||
КонецЕсли;
|
||||
|
||||
ОбъектыСПредопределеннымиЭлементами = ОбновлениеИнформационнойБазыСлужебный.ОбъектыСНачальнымЗаполнением();
|
||||
|
||||
ОбъектыСПредопределеннымиЭлементами = ОбновлениеИнформационнойБазыСлужебный.ОбъектыСНачальнымЗаполнением();
|
||||
Для каждого ОбъектСПредопределеннымиЭлементами Из ОбъектыСПредопределеннымиЭлементами Цикл
|
||||
Выборка = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, ОбъектСПредопределеннымиЭлементами.ПолноеИмя());
|
||||
Если Выборка.Количество() > 0 Тогда
|
||||
ОбъектыДляОбработкиОтсутствуют = Ложь;
|
||||
Параметры.ОбработкаЗавершена = Ложь;
|
||||
|
||||
ЗаполнитьПустыеМультиязычныеРеквизитыЗначениемОсновногоЯзыка(Выборка, ОбъектСПредопределеннымиЭлементами, ИтогоОбработано);
|
||||
|
||||
Если ИтогоОбработано > 1000 Тогда
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Если ОбрабатываемыеОбъекты.Найти(ОбъектСПредопределеннымиЭлементами.ПолноеИмя()) = Неопределено Тогда
|
||||
ОбрабатываемыеОбъекты.Добавить(ОбъектСПредопределеннымиЭлементами.ПолноеИмя());
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если ОбъектыДляОбработкиОтсутствуют Тогда
|
||||
Параметры.ОбработкаЗавершена = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Для каждого ОбъектСПредопределеннымиЭлементами Из ОбъектыСПредопределеннымиЭлементами Цикл
|
||||
|
||||
Если ИтогоОбработано >= Порция Тогда
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
Выборка = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, ОбъектСПредопределеннымиЭлементами.ПолноеИмя());
|
||||
Если Выборка.Количество() > 0 Тогда
|
||||
|
||||
ЗаполнитьПустыеМультиязычныеРеквизитыЗначениемОсновногоЯзыка(Выборка, ОбъектСПредопределеннымиЭлементами, ИтогоОбработано);
|
||||
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Параметры.ОбработкаЗавершена = ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, ОбрабатываемыеОбъекты);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -1124,7 +1076,7 @@
|
||||
|
||||
Если МультиязычныеСтрокиВРеквизитах Тогда
|
||||
|
||||
КодЯзыка =СведенияОбЯзыках.ОсновнойЯзык;;
|
||||
КодЯзыка =СведенияОбЯзыках.ОсновнойЯзык;
|
||||
Если ЗначениеЗаполнено(КодЯзыка) Тогда
|
||||
Для каждого ИмяЛокализуемогоРеквизита Из ЛокализуемыеРеквизитыОбъекта Цикл
|
||||
ЗаполняемыйЭлемент[ИмяЛокализуемогоРеквизита.Ключ] = СтрокаТаблицы[ИмяЛокализуемогоРеквизита.Ключ + "_" + КодЯзыка];
|
||||
@@ -1164,25 +1116,40 @@
|
||||
// См. ОбновлениеИнформационнойБазыБСП.ПриДобавленииОбработчиковОбновления.
|
||||
Процедура ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт
|
||||
|
||||
Обработчик = Обработчики.Добавить();
|
||||
Обработчик.Процедура = "МультиязычностьСервер.ОбработатьДанныеДляПереходаНаНовуюВерсию";
|
||||
Обработчик.Версия = "3.1.6.16";
|
||||
Обработчик.РежимВыполнения = "Отложенно";
|
||||
Обработчик.Идентификатор = Новый УникальныйИдентификатор("68d400bb-e5bb-49da-a567-ebf7458b29f8");
|
||||
Обработчик.ПроцедураЗаполненияДанныхОбновления = "МультиязычностьСервер.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
|
||||
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
|
||||
Обработчик.Комментарий = НСтр("ru = 'Заполнение значений мультиязычных реквизитов значением основного языка.'");
|
||||
Если Метаданные.Языки.Количество() > 1 Тогда
|
||||
|
||||
ОбъектыДляОбработки = ОбновлениеИнформационнойБазыСлужебный.ОбъектыСНачальнымЗаполнениемСтрокой();
|
||||
Обработчик = Обработчики.Добавить();
|
||||
Обработчик.Версия = "3.1.6.16";
|
||||
Обработчик.Комментарий = НСтр("ru = 'Заполнение значений мультиязычных реквизитов значением основного языка.'");
|
||||
|
||||
ОбъектыСтрокой = СтрСоединить(ОбъектыСТЧПредставления(), ",");
|
||||
Если ЗначениеЗаполнено(ОбъектыСтрокой) Тогда
|
||||
ОбъектыДляОбработки = ОбъектыДляОбработки + "," + ОбъектыСтрокой;
|
||||
Если ОбщегоНазначения.РазделениеВключено()
|
||||
И Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
|
||||
|
||||
Обработчик.РежимВыполнения = "Оперативно";
|
||||
Обработчик.ОбщиеДанные = Истина;
|
||||
Обработчик.Процедура = "МультиязычностьСервер.ОбработатьОбщиеДанныеДляПереходаНаНовуюВерсию";
|
||||
|
||||
Иначе
|
||||
|
||||
Обработчик.РежимВыполнения = "Отложенно";
|
||||
Обработчик.Процедура = "МультиязычностьСервер.ОбработатьДанныеДляПереходаНаНовуюВерсию";
|
||||
|
||||
Обработчик.Идентификатор = Новый УникальныйИдентификатор("68d400bb-e5bb-49da-a567-ebf7458b29f8");
|
||||
Обработчик.ПроцедураЗаполненияДанныхОбновления = "МультиязычностьСервер.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
|
||||
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
|
||||
|
||||
ОбъектыСТЧПредставления = ОбъектыСТЧПредставления(ВариантДанныхДляОбработкиСУчетомРазделения());
|
||||
|
||||
ОбъектыДляОбработки = ОбъектыСНачальнымЗаполнениемСтрокой(ОбъектыСТЧПредставления);
|
||||
|
||||
Обработчик.ЧитаемыеОбъекты = ОбъектыДляОбработки;
|
||||
Обработчик.ИзменяемыеОбъекты = ОбъектыДляОбработки;
|
||||
Обработчик.БлокируемыеОбъекты = ОбъектыДляОбработки;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Обработчик.ЧитаемыеОбъекты = ОбъектыДляОбработки;
|
||||
Обработчик.ИзменяемыеОбъекты = ОбъектыДляОбработки;
|
||||
Обработчик.БлокируемыеОбъекты = ОбъектыДляОбработки;
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -1763,34 +1730,49 @@
|
||||
Возврат СтрЗаканчиваетсяНа(ИмяРеквизита, "Язык1") Или СтрЗаканчиваетсяНа(ИмяРеквизита, "Язык2");
|
||||
КонецФункции
|
||||
|
||||
// Параметры:
|
||||
// ВариантДанных - Строка - Варианты: Общие, Разделенные, Все
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив из Строка
|
||||
// Массив - Объекты СТЧПредставления
|
||||
//
|
||||
Функция ОбъектыСТЧПредставления()
|
||||
Функция ОбъектыСТЧПредставления(ВариантДанных)
|
||||
|
||||
ОбъектыСТЧПредставления = Новый Массив;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
|
||||
ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["ВидыКонтактнойИнформации"].ПолноеИмя());
|
||||
Если ВариантДанных = "Разделенные" Или ВариантДанных = "Все" Тогда
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
|
||||
ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["ВидыКонтактнойИнформации"].ПолноеИмя());
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда
|
||||
ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["ВариантыОтчетов"].ПолноеИмя());
|
||||
ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["ПредопределенныеВариантыОтчетовРасширений"].ПолноеИмя());
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Свойства") Тогда
|
||||
ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["ЗначенияСвойствОбъектов"].ПолноеИмя());
|
||||
ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["ЗначенияСвойствОбъектовИерархия"].ПолноеИмя());
|
||||
ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["НаборыДополнительныхРеквизитовИСведений"].ПолноеИмя());
|
||||
ОбъектыСТЧПредставления.Добавить(Метаданные.ПланыВидовХарактеристик["ДополнительныеРеквизитыИСведения"].ПолноеИмя());
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда
|
||||
ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["ВариантыОтчетов"].ПолноеИмя());
|
||||
ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["ПредопределенныеВариантыОтчетов"].ПолноеИмя());
|
||||
ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["ПредопределенныеВариантыОтчетовРасширений"].ПолноеИмя());
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Свойства") Тогда
|
||||
ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["ЗначенияСвойствОбъектов"].ПолноеИмя());
|
||||
ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["ЗначенияСвойствОбъектовИерархия"].ПолноеИмя());
|
||||
ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["НаборыДополнительныхРеквизитовИСведений"].ПолноеИмя());
|
||||
ОбъектыСТЧПредставления.Добавить(Метаданные.ПланыВидовХарактеристик["ДополнительныеРеквизитыИСведения"].ПолноеИмя());
|
||||
Если ВариантДанных = "Общие" Или ВариантДанных = "Все" Тогда
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда
|
||||
ОбъектыСТЧПредставления.Добавить(Метаданные.Справочники["ПредопределенныеВариантыОтчетов"].ПолноеИмя());
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ОбъектыСТЧПредставления;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ВариантДанныхДляОбработкиСУчетомРазделения()
|
||||
Возврат ?(ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных(), "Разделенные", "Все");
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗаполнитьИПеренестиСтрокиИзТЧПредставленияВРеквизиты(Ссылка, ПараметрыЗаполнения, ОбъектовОбработано, ПроблемныхОбъектов)
|
||||
|
||||
ОбъектМетаданных = Ссылка.Метаданные(); // ОбъектМетаданных
|
||||
@@ -1881,6 +1863,181 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ОбъектыСНачальнымЗаполнением(ВариантДанных)
|
||||
|
||||
ОбъектыСПредопределеннымиЭлементами = ОбновлениеИнформационнойБазыСлужебный.ОбъектыСНачальнымЗаполнением();
|
||||
|
||||
Если Не ОбщегоНазначения.РазделениеВключено()
|
||||
Или Не ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда
|
||||
Возврат ОбъектыСПредопределеннымиЭлементами;
|
||||
КонецЕсли;
|
||||
|
||||
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
|
||||
|
||||
Позиция = ОбъектыСПредопределеннымиЭлементами.Количество() - 1;
|
||||
Пока Позиция >= 0 Цикл
|
||||
|
||||
ЭтоРазделенныйОбъектМетаданных = МодульРаботаВМоделиСервиса.ЭтоРазделенныйОбъектМетаданных(ОбъектыСПредопределеннымиЭлементами[Позиция]);
|
||||
Если ВариантДанных = "Общие" И ЭтоРазделенныйОбъектМетаданных Тогда
|
||||
Если ЭтоРазделенныйОбъектМетаданных Тогда
|
||||
ОбъектыСПредопределеннымиЭлементами.Удалить(Позиция);
|
||||
КонецЕсли;
|
||||
ИначеЕсли Не ЭтоРазделенныйОбъектМетаданных Тогда
|
||||
ОбъектыСПредопределеннымиЭлементами.Удалить(Позиция);
|
||||
КонецЕсли;
|
||||
Позиция = Позиция - 1;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ОбъектыСПредопределеннымиЭлементами;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Параметры:
|
||||
// СписокОбъектов - Массив
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - список полных имен объектов через запятую
|
||||
//
|
||||
Функция ОбъектыСНачальнымЗаполнениемСтрокой(СписокОбъектов)
|
||||
|
||||
ОбъектыСНачальнымЗаполнением = ОбъектыСНачальнымЗаполнением(ВариантДанныхДляОбработкиСУчетомРазделения());
|
||||
|
||||
Для каждого ОбъектСПредопределеннымиЭлементами Из ОбъектыСНачальнымЗаполнением Цикл
|
||||
ПолноеИмя = ОбъектСПредопределеннымиЭлементами.ПолноеИмя();
|
||||
Если СписокОбъектов.Найти(ПолноеИмя) = Неопределено Тогда
|
||||
СписокОбъектов.Добавить(ПолноеИмя);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат СтрСоединить(СписокОбъектов, ",");
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СписокОбъектовКОбработкеДляПереходаНаНовуюВерсию(ВариантДанных)
|
||||
|
||||
ОбъектыКОбработке = Новый Массив();
|
||||
РазделительЗапросов = Символы.ПС + " ОБЪЕДИНИТЬ ВСЕ " + Символы.ПС;
|
||||
|
||||
СведенияОбЯзыках = МультиязычностьПовтИсп.СведенияОбЯзыках();
|
||||
Если ЗначениеЗаполнено(СведенияОбЯзыках.Язык1) Или ЗначениеЗаполнено(СведенияОбЯзыках.Язык2) Тогда
|
||||
|
||||
ОбъектыСПредопределеннымиЭлементами = ОбъектыСНачальнымЗаполнением(ВариантДанных);
|
||||
|
||||
ШаблонаЗапроса = "ВЫБРАТЬ
|
||||
| ДанныеОбъекта.Ссылка
|
||||
|ИЗ
|
||||
| &Таблица КАК ДанныеОбъекта
|
||||
|ГДЕ
|
||||
| &УсловиеОтбора";
|
||||
|
||||
НаборЗапросов = Новый Массив;
|
||||
|
||||
Для каждого ОбъектМетаданныхСЭлементами Из ОбъектыСПредопределеннымиЭлементами Цикл
|
||||
|
||||
ЛокализуемыеРеквизитыОбъекта = НаименованияЛокализуемыхРеквизитовОбъектаВШапке(ОбъектМетаданныхСЭлементами);
|
||||
Отборы = Новый Массив;
|
||||
|
||||
Для каждого РеквизитОбъекта Из ЛокализуемыеРеквизитыОбъекта Цикл
|
||||
|
||||
Если Не РеквизитОбъекта.Значение Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(СведенияОбЯзыках.Язык1) И ЗначениеЗаполнено(СведенияОбЯзыках.Язык2) Тогда
|
||||
ШаблонОтбора = "ВЫРАЗИТЬ(&Реквизит КАК СТРОКА(1)) <> """"
|
||||
| И (ВЫРАЗИТЬ(&Язык1 КАК СТРОКА(1)) = """" ИЛИ ВЫРАЗИТЬ(&Язык2 КАК СТРОКА(1)) = """")";
|
||||
|
||||
ШаблонОтбора = СтрЗаменить(ШаблонОтбора, "&Язык1", РеквизитОбъекта.Ключ + "Язык1");
|
||||
ШаблонОтбора = СтрЗаменить(ШаблонОтбора, "&Язык2", РеквизитОбъекта.Ключ + "Язык2");
|
||||
|
||||
Иначе
|
||||
ШаблонОтбора = "ВЫРАЗИТЬ(&Реквизит КАК СТРОКА(1)) <> """"
|
||||
| И ВЫРАЗИТЬ(&Язык1Или2 КАК СТРОКА(1)) = """"";
|
||||
|
||||
Если ЗначениеЗаполнено(СведенияОбЯзыках.Язык2) Тогда
|
||||
ШаблонОтбора = СтрЗаменить(ШаблонОтбора, "&Язык1Или2", РеквизитОбъекта.Ключ + "Язык2");
|
||||
Иначе
|
||||
ШаблонОтбора = СтрЗаменить(ШаблонОтбора, "&Язык1Или2", РеквизитОбъекта.Ключ + "Язык1");
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ТекстОтбора = СтрЗаменить(ШаблонОтбора, "&Реквизит", РеквизитОбъекта.Ключ);
|
||||
Отборы.Добавить(ТекстОтбора);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если Отборы.Количество() = 0 Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ТекстЗапросаПредварительный = СтрЗаменить(ШаблонаЗапроса, "&Таблица", ОбъектМетаданныхСЭлементами.ПолноеИмя());
|
||||
ТекстЗапросаПредварительный = СтрЗаменить(ТекстЗапросаПредварительный, "&УсловиеОтбора", СтрСоединить(Отборы, " ИЛИ "));
|
||||
НаборЗапросов.Добавить(ТекстЗапросаПредварительный);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если НаборЗапросов.Количество() > 0 Тогда
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст = СтрСоединить(НаборЗапросов, РазделительЗапросов);
|
||||
РезультатыЗапроса = Запрос.Выполнить().Выгрузить();
|
||||
ОбъектыКОбработке = РезультатыЗапроса.ВыгрузитьКолонку("Ссылка");
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
// Отдельная порция объектов для регистрации с табличной частью Представления
|
||||
ОбъектыСТЧПредставления = ОбъектыСТЧПредставления(ВариантДанных);
|
||||
|
||||
Если ОбъектыСТЧПредставления.Количество() > 0 Тогда
|
||||
|
||||
ШаблонЗапроса = "ВЫБРАТЬ
|
||||
| СправочникСТЧПредставления.Ссылка
|
||||
|ИЗ
|
||||
| #Таблица КАК СправочникСТЧПредставления";
|
||||
|
||||
НаборЗапросов = Новый Массив;
|
||||
|
||||
Для Каждого ИмяОбъектаМетаданных Из ОбъектыСТЧПредставления Цикл
|
||||
|
||||
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ИмяОбъектаМетаданных);
|
||||
ТекстЗапроса = СтрЗаменить(ШаблонЗапроса, "#Таблица", ОбъектМетаданных.ПолноеИмя());
|
||||
|
||||
Если ОбъектМетаданных.Иерархический
|
||||
И ОбъектМетаданных.ВидИерархии = Метаданные.СвойстваОбъектов.ВидИерархии.ИерархияГруппИЭлементов Тогда
|
||||
ТабличнаяЧастьОбъекта = ОбъектМетаданных.ТабличныеЧасти.Найти("Представления"); // ОбъектМетаданныхТабличнаяЧасть
|
||||
|
||||
Если ТабличнаяЧастьОбъекта.Использование = Метаданные.СвойстваОбъектов.ИспользованиеРеквизита.ДляЭлемента Тогда
|
||||
ТекстЗапроса = ТекстЗапроса + "
|
||||
|ГДЕ СправочникСТЧПредставления.ЭтоГруппа <> ИСТИНА";
|
||||
ИначеЕсли ТабличнаяЧастьОбъекта.Использование = Метаданные.СвойстваОбъектов.ИспользованиеРеквизита.ДляГруппы Тогда
|
||||
ТекстЗапроса = ТекстЗапроса + "
|
||||
|ГДЕ СправочникСТЧПредставления.ЭтоГруппа = ИСТИНА";
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
НаборЗапросов.Добавить(ТекстЗапроса);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст = СтрСоединить(НаборЗапросов, РазделительЗапросов);
|
||||
|
||||
РезультатыЗапроса = Запрос.Выполнить().Выгрузить();
|
||||
|
||||
ОбъектыСТабличнойЧастьюПредставлениеКОбработке = РезультатыЗапроса.ВыгрузитьКолонку("Ссылка");
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ОбъектыКОбработке, ОбъектыСТабличнойЧастьюПредставлениеКОбработке);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ОбъектыКОбработке;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
#Область ИзменениеЯзыка
|
||||
|
||||
// Данные для изменения мультиязычных реквизитов.
|
||||
@@ -1977,7 +2134,7 @@
|
||||
ДанныеОбъекта.СсылкаНаПоследнийОбработанныйОбъекты,
|
||||
ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмя).ПустаяСсылка());
|
||||
|
||||
ШаблонПолейЗапроса = "ДанныеОбъекта.%1%2 КАК %1%2"; // @Qurey-part1
|
||||
ШаблонПолейЗапроса = "ДанныеОбъекта.%1%2 КАК %1%2";
|
||||
|
||||
ЗначенияЯзыковыхКонстант = ДанныеДляИзмененияМультиязычныхРеквизитов.НастройкиИзмененияЯзыков;
|
||||
МультиязычныеРеквизиты = ДанныеОбъекта.ЯзыковыеПоля;
|
||||
|
||||
@@ -1313,6 +1313,7 @@
|
||||
| &ИмяПланаОбмена КАК ПланОбмена
|
||||
|ГДЕ
|
||||
| ПланОбмена.РегистрироватьИзменения
|
||||
| И НЕ ПланОбмена.ЭтотУзел
|
||||
| И НЕ ПланОбмена.ПометкаУдаления";
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
|
||||
@@ -3030,7 +3030,7 @@
|
||||
// Строка - версия.
|
||||
//
|
||||
// Пример:
|
||||
// ВерсияКонфигурацииИБ = ВерсияИБ(Метаданные.Имя);
|
||||
// ВерсияКонфигурацииИБ = ОбновлениеИнформационнойБазы.ВерсияИБ(Метаданные.Имя);
|
||||
//
|
||||
Функция ВерсияИБ(Знач ИдентификаторБиблиотеки) Экспорт
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||
|
||||
Описание.Имя = "БиблиотекаСинхронизацииДанных";
|
||||
Описание.Версия = "1.0.1.19";
|
||||
Описание.Версия = "1.0.1.23";
|
||||
Описание.ИдентификаторИнтернетПоддержки = "DSL";
|
||||
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
||||
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "1.0.1.1";
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||
|
||||
Описание.Имя = "СтандартныеПодсистемы";
|
||||
Описание.Версия = "3.1.6.209";
|
||||
Описание.Версия = "3.1.6.310";
|
||||
Описание.ИдентификаторИнтернетПоддержки = "SSL";
|
||||
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
||||
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
||||
|
||||
@@ -1787,21 +1787,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращаемое значение:
|
||||
// Строка - список полных имен объектов через запятую
|
||||
//
|
||||
Функция ОбъектыСНачальнымЗаполнениемСтрокой() Экспорт
|
||||
|
||||
ОбъектыСНачальнымЗаполнением = ОбъектыСНачальнымЗаполнением();
|
||||
Список = Новый Массив;
|
||||
Для каждого ОбъектСПредопределеннымиЭлементами Из ОбъектыСНачальнымЗаполнением Цикл
|
||||
Список.Добавить(ОбъектСПредопределеннымиЭлементами.ПолноеИмя());
|
||||
КонецЦикла;
|
||||
|
||||
Возврат СтрСоединить(Список, ",");
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция НастройкиПредопределенныхЭлементов(МенеджерОбъекта, ПредопределенныеДанные) Экспорт
|
||||
|
||||
ПользовательскиеНастройкиЗаполненияЭлементов = ПользовательскиеНастройкиЗаполненияЭлементов();
|
||||
@@ -2385,8 +2370,8 @@
|
||||
Попытка
|
||||
|
||||
Если РежимОбновленияДанных = "ПереходСДругойПрограммы" Тогда
|
||||
ИтерацииОбновления = ИтерацииОбновления();
|
||||
ПерейтиСДругойПрограммы(ИтерацииОбновления);
|
||||
ИтерацииОбновления = ИтерацииОбновления();
|
||||
|
||||
РежимОбновленияДанных = РежимОбновленияДанных();
|
||||
ОперативноеОбновление = Ложь;
|
||||
@@ -5802,7 +5787,8 @@
|
||||
ОписаниеПроцедурыЗаполнения = ОбработчикОбновления.ОбрабатываемыеДанные.Получить();
|
||||
ПорцииДляОбновления = ОписаниеПроцедурыЗаполнения.ПорцииДляОбновления;
|
||||
|
||||
Если ПорцииДляОбновления <> Неопределено Тогда
|
||||
Если ПорцииДляОбновления <> Неопределено
|
||||
И КонтекстОбработчика.Параметры.Свойство("ОбновляемыеДанные") Тогда
|
||||
ОбновляемыеДанные = КонтекстОбработчика.Параметры.ОбновляемыеДанные;
|
||||
|
||||
Если ОбновляемыеДанные <> Неопределено Тогда
|
||||
@@ -6790,9 +6776,9 @@
|
||||
ПоддерживаетсяИерархия, СтрокаТаблицы);
|
||||
КонецЕсли;
|
||||
|
||||
Если ПараметрыДляЗаполненияОбъекта.НастройкиПредопределенныхЭлементов.ПриНачальномЗаполненииЭлемента Тогда
|
||||
Если ПараметрыДляЗаполненияОбъекта.НастройкиПредопределенныхЭлементов.ПереопределяемыеНастройки.ПриНачальномЗаполненииЭлемента Тогда
|
||||
МенеджерОбъекта.ПриНачальномЗаполненииЭлемента(ЗаполняемыйЭлемент, СтрокаТаблицы,
|
||||
ПараметрыДляЗаполненияОбъекта.НастройкиПредопределенныхЭлементов.ДополнительныеПараметры);
|
||||
ПараметрыДляЗаполненияОбъекта.НастройкиПредопределенныхЭлементов.ПереопределяемыеНастройки.ДополнительныеПараметры);
|
||||
КонецЕсли;
|
||||
|
||||
ОбновлениеИнформационнойБазы.ЗаписатьОбъект(ЗаполняемыйЭлемент);
|
||||
|
||||
@@ -426,6 +426,12 @@
|
||||
Возврат НаборЗаписей;
|
||||
КонецФункции
|
||||
|
||||
Функция ОтчетПрогрессОбновления() Экспорт
|
||||
|
||||
Возврат "Отчет.ПрогрессОбновленияОбластейДанных.Форма";
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область ОбработчикиСобытийПодсистемКонфигурации
|
||||
|
||||
// См. ОбновлениеИнформационнойБазыБСП.ПередОбновлениемИнформационнойБазы.
|
||||
|
||||
@@ -49,6 +49,10 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ДанныеРасшифровкиОтчета(ДанныеРасшифровки, ИндексРасшифровки, Кеш = Неопределено, КешПриоритетов = Неопределено) Экспорт
|
||||
Если Не ЗначениеЗаполнено(ДанныеРасшифровки) Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Данные = ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
|
||||
Если ИндексРасшифровки = Неопределено Тогда
|
||||
Возврат Неопределено;
|
||||
|
||||
@@ -497,8 +497,11 @@
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
ТекущийСеанс = ПолучитьТекущийСеансИнформационнойБазы().ПолучитьФоновоеЗадание();
|
||||
ЭтоФоновоеЗадание = (ТекущийСеанс <> Неопределено);
|
||||
|
||||
ТекстДляАсинхронногоВызова = "";
|
||||
Если ОбщегоНазначения.ИнформационнаяБазаФайловая() И ВФоне Тогда
|
||||
Если ОбщегоНазначения.ИнформационнаяБазаФайловая() И (ВФоне Или ЭтоФоновоеЗадание) Тогда
|
||||
ТекстДляАсинхронногоВызова = НСтр("ru = 'Обновление параметров работы расширений после установки или
|
||||
|удаления патчей завершилось с ошибкой.'")
|
||||
КонецЕсли;
|
||||
@@ -561,8 +564,12 @@
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОписанияНовыхПатчей(АдресХранилища, ТекущиеИсправления) Экспорт
|
||||
Описания = Новый Массив;
|
||||
Процедура ОписанияНовыхПатчей(АдресХранилища, ТекущиеИсправления, ДляОбновления = Ложь) Экспорт
|
||||
Если ДляОбновления Тогда
|
||||
Описания = Новый Соответствие;
|
||||
Иначе
|
||||
Описания = Новый Массив;
|
||||
КонецЕсли;
|
||||
Для Каждого Исправление Из ТекущиеИсправления Цикл
|
||||
Если Метаданные.ОбщиеМакеты.Найти(Исправление) = Неопределено Тогда
|
||||
Продолжить;
|
||||
@@ -570,16 +577,34 @@
|
||||
Макет = ПолучитьОбщийМакет(Исправление);
|
||||
Для НомерСтроки = 1 По Макет.КоличествоСтрок() Цикл
|
||||
Строка = Макет.ПолучитьСтроку(НомерСтроки);
|
||||
Если Не СтрНачинаетсяС(СокрЛП(Строка), "<Description>") Тогда
|
||||
Если Не СтрНачинаетсяС(СокрЛ(Строка), "<Description>") Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
ОписаниеПатча = СтрЗаменить(СтрЗаменить(СокрЛП(Строка), "<Description>", ""), "</Description>", "");
|
||||
Описания.Добавить(Исправление + ": " + ОписаниеПатча);
|
||||
ОписаниеПатча = СтрЗаменить(СокрЛ(Строка), "<Description>", "");
|
||||
Пока НомерСтроки < Макет.КоличествоСтрок() Цикл
|
||||
Если СтрЗаканчиваетсяНа(СокрП(ОписаниеПатча), "</Description>") Тогда
|
||||
ОписаниеПатча = СтрЗаменить(СокрП(ОписаниеПатча), "</Description>", "");
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
НомерСтроки = НомерСтроки + 1;
|
||||
Строка = Макет.ПолучитьСтроку(НомерСтроки);
|
||||
ОписаниеПатча = ОписаниеПатча + Символы.ПС + Строка;
|
||||
КонецЦикла;
|
||||
Если ДляОбновления Тогда
|
||||
Описания.Вставить(Исправление, ОписаниеПатча);
|
||||
Иначе
|
||||
Описания.Добавить(Исправление + ": " + ОписаниеПатча);
|
||||
КонецЕсли;
|
||||
Прервать;
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
ОписаниеСтрокой = СтрСоединить(Описания, Символы.ПС);
|
||||
ПоместитьВоВременноеХранилище(ОписаниеСтрокой, АдресХранилища);
|
||||
|
||||
Если ДляОбновления Тогда
|
||||
ПоместитьВоВременноеХранилище(Описания, АдресХранилища);
|
||||
Иначе
|
||||
ОписаниеСтрокой = СтрСоединить(Описания, Символы.ПС);
|
||||
ПоместитьВоВременноеХранилище(ОписаниеСтрокой, АдресХранилища);
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
// Вызывается при завершении обновления конфигурации через COM-соединение.
|
||||
|
||||
@@ -299,14 +299,13 @@
|
||||
|
||||
// Открывает форму со списком установленных исправлений.
|
||||
//
|
||||
// Параметры:
|
||||
// Исправления - СписокЗначений - список имен установленных исправлений, которые необходимо отобразить.
|
||||
// Если не указан, отображаются все исправления.
|
||||
//
|
||||
Процедура ПоказатьУстановленныеИсправления(Исправления = Неопределено) Экспорт
|
||||
Процедура ПоказатьУстановленныеИсправления(Параметры = Неопределено, РежимОткрытия = Неопределено) Экспорт
|
||||
|
||||
ПараметрыФормы = Новый Структура("Исправления", Исправления);
|
||||
ОткрытьФорму("ОбщаяФорма.УстановленныеИсправления", ПараметрыФормы);
|
||||
Если Параметры = Неопределено Тогда
|
||||
Параметры = Новый Структура;
|
||||
КонецЕсли;
|
||||
|
||||
ОткрытьФорму("ОбщаяФорма.УстановленныеИсправления", Параметры,,,,,, РежимОткрытия);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -531,9 +531,10 @@
|
||||
КонецФункции
|
||||
|
||||
// Параметры:
|
||||
// ПолучателиПриемник - КоллекцияИдентификаторовПользователейСистемыВзаимодействия
|
||||
// ПолучателиИсточник - Массив из СправочникСсылка.Пользователи
|
||||
// - Массив из ПользовательСистемыВзаимодействия
|
||||
// ПолучателиПриемник - КоллекцияИдентификаторовПользователейСистемыВзаимодействия
|
||||
// ПолучателиИсточник - Соответствие - см. ПользователиСистемыВзаимодействия
|
||||
// - Массив из ПользовательСистемыВзаимодействия
|
||||
// - КоллекцияИдентификаторовПользователейСистемыВзаимодействия
|
||||
//
|
||||
Процедура ДобавитьПолучателей(ПолучателиПриемник, ПолучателиИсточник)
|
||||
|
||||
@@ -541,8 +542,7 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПолучателиПользователиИБ = (ТипЗнч(ПолучателиИсточник[0]) = Тип("СправочникСсылка.Пользователи"));
|
||||
Если ПолучателиПользователиИБ Тогда
|
||||
Если ТипЗнч(ПолучателиИсточник) = Тип("Соответствие") Тогда
|
||||
Для каждого Получатель Из ПолучателиИсточник Цикл
|
||||
|
||||
Если Получатель.Значение <> Неопределено Тогда
|
||||
@@ -555,7 +555,7 @@
|
||||
Для каждого Получатель Из ПолучателиИсточник Цикл // ИдентификаторПользователяСистемыВзаимодействия, ПользовательСистемыВзаимодействия
|
||||
Если ТипЗнч(Получатель) = Тип("ИдентификаторПользователяСистемыВзаимодействия") Тогда
|
||||
ПолучателиПриемник.Добавить(Получатель);
|
||||
Иначе
|
||||
ИначеЕсли ТипЗнч(Получатель) = Тип("ПользовательСистемыВзаимодействия") Тогда
|
||||
ПолучателиПриемник.Добавить(Получатель.Идентификатор);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -563,7 +563,6 @@
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ЭлементСоответствия(Соответствие, Индекс)
|
||||
|
||||
Сч = 0;
|
||||
|
||||
@@ -1347,20 +1347,22 @@
|
||||
// Есть возможность переопределить процедуру поиска подчиненных объектов.
|
||||
// Для этого в общем модуле или модуле менеджера необходимо реализовать процедуру
|
||||
// ПриПоискеЗаменыСсылок с параметрами:
|
||||
// ПарыЗамен - Соответствие - содержит пары значение Оригинал/Дубль
|
||||
// НеобработанныеЗначенияОригиналов - Массив из Структура - содержит дополнительную информацию
|
||||
// об обрабатываемых объектах:
|
||||
// * ЗаменяемоеЗначение - ПроизвольнаяСсылка - оригинальное значение заменяемого объекта
|
||||
// * ИспользуемыеСвязи - см. ПоискИУдалениеДублей.СвязиПодчиненныхОбъектовПоТипам
|
||||
// * ЗначениеКлючевыхРеквизитов - Структура - Ключ - имя реквизита, значение - значение реквизита
|
||||
// ПарыЗамен - Соответствие - содержит пары значение оригинал/дубль.
|
||||
// НеобработанныеЗначенияОригиналов - Массив из Структура - дополнительная информация об обрабатываемых объектах:
|
||||
// * ЗаменяемоеЗначение - ПроизвольнаяСсылка - оригинальное значение заменяемого объекта
|
||||
// * ИспользуемыеСвязи - см. ПоискИУдалениеДублей.СвязиПодчиненныхОбъектовПоТипам
|
||||
// * ЗначениеКлючевыхРеквизитов - Структура - где Ключ - имя реквизита, значение - значение реквизита.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ТаблицаЗначений:
|
||||
// * ПодчиненныйОбъект - ОбъектМетаданных - (обязательный) объект метаданных подчиненного объекта.
|
||||
// * ПоляСвязей - Строка - (обязательный) реквизиты, определяющие связь между основными и подчиненными объектами.
|
||||
// * ПриПоискеЗаменыСсылок - Строка - общий модуль или модуль менеджера, в котором есть процедура ПриПоискеЗаменыСсылок.
|
||||
// * ВыполнятьАвтоматическийПоискЗаменСсылок - см. ЗаменитьСсылки
|
||||
//
|
||||
// * ПодчиненныйОбъект - ОбъектМетаданных - объект метаданных подчиненного объекта.
|
||||
// * ПоляСвязей - Строка - имена реквизитов, определяющих связь между основными и подчиненными объектами.
|
||||
// * ПриПоискеЗаменыСсылок - Строка - опционально. Имя общего модуля или модуля менеджера, в котором определена
|
||||
// процедура ПриПоискеЗаменыСсылок.
|
||||
// * ВыполнятьАвтоматическийПоискЗаменСсылок - Булево - если указать Истина, то будет выполнена попытка поиска замен
|
||||
// для подчиненных объектов по значениям полей связи. В случае, если объект не существует,
|
||||
// будет выполнена процедура ПриПоискеЗаменыСсылок. См. также ЗаменитьСсылки.
|
||||
//
|
||||
Функция ПодчиненныеОбъекты() Экспорт
|
||||
|
||||
ОписаниеСвязей = Новый ТаблицаЗначений;
|
||||
@@ -1372,8 +1374,7 @@
|
||||
ИнтеграцияПодсистемБСП.ПриОпределенииПодчиненныхОбъектов(ОписаниеСвязей);
|
||||
ОбщегоНазначенияПереопределяемый.ПриОпределенииПодчиненныхОбъектов(ОписаниеСвязей);
|
||||
|
||||
// Если передали соответствие или структуру
|
||||
// преобразуем к необходимому типу
|
||||
// Если передали соответствие или структуру преобразуем к необходимому типу.
|
||||
Для каждого СтрокаСвязи Из ОписаниеСвязей Цикл
|
||||
|
||||
ТипОписанияПолейСвязи = ТипЗнч(СтрокаСвязи.ПоляСвязей);
|
||||
@@ -7527,15 +7528,16 @@
|
||||
Процедура ЗагрузитьИзмененныйНаборВРегистрБухгалтерии(НаборЗаписей, ИзмененнаяКоллекция, ИзмененныеПоля)
|
||||
НеизмененныеИзмерения = Новый Соответствие;
|
||||
ИзмененныеИзмерения = Новый Соответствие;
|
||||
МетаданныеРегистра = НаборЗаписей.Метаданные();
|
||||
|
||||
Для каждого Измерение Из НаборЗаписей.Метаданные().Измерения Цикл
|
||||
Для каждого Измерение Из МетаданныеРегистра.Измерения Цикл
|
||||
ИменаИзмерений = Новый Массив;
|
||||
|
||||
Если НЕ Измерение.Балансовый Тогда
|
||||
ИменаИзмерений.Добавить(Измерение.Имя + "Дт");
|
||||
ИменаИзмерений.Добавить(Измерение.Имя + "Кт");
|
||||
Если Измерение.Балансовый ИЛИ НЕ МетаданныеРегистра.Корреспонденция Тогда
|
||||
ИменаИзмерений.Добавить(Измерение.Имя);
|
||||
Иначе
|
||||
ИменаИзмерений.Добавить(Измерение.Имя);
|
||||
ИменаИзмерений.Добавить(Измерение.Имя + "Дт");
|
||||
ИменаИзмерений.Добавить(Измерение.Имя + "Кт");
|
||||
КонецЕсли;
|
||||
|
||||
Для каждого ИмяИзмерения Из ИменаИзмерений Цикл
|
||||
|
||||
@@ -1423,6 +1423,10 @@
|
||||
СтруктураИмениФайла = Новый Структура("ПолноеИмя,Путь,Имя,Расширение,ИмяБезРасширения");
|
||||
ЗаполнитьЗначенияСвойств(СтруктураИмениФайла, Новый Файл(ПолноеИмяФайла));
|
||||
|
||||
Если СтруктураИмениФайла.Путь = ПолучитьРазделительПути() Тогда
|
||||
СтруктураИмениФайла.Путь = "";
|
||||
КонецЕсли;
|
||||
|
||||
Возврат СтруктураИмениФайла;
|
||||
|
||||
КонецФункции
|
||||
@@ -1663,7 +1667,7 @@
|
||||
Функция АдресЭлектроннойПочтыСоответствуетТребованиям(Знач Адрес, РазрешитьЛокальныеАдреса = Ложь) Экспорт
|
||||
|
||||
// Допустимые символы для email.
|
||||
Буквы = "abcdefghijklmnopqrstuvwxyz";
|
||||
Буквы = "abcdefghijklmnopqrstuvwxyzабвгдеёжзийклмнопрстуфхцчшщъыьэюя";
|
||||
Цифры = "0123456789";
|
||||
СпецСимволы = ".@_-:+";
|
||||
|
||||
@@ -2202,7 +2206,22 @@
|
||||
// Расписание - РасписаниеРегламентногоЗадания - исходное расписание.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - расписание в виде структуры.
|
||||
// Структура:
|
||||
// * ВремяЗавершения - Дата
|
||||
// * ВремяКонца - Дата
|
||||
// * ВремяНачала - Дата
|
||||
// * ДатаКонца - Дата
|
||||
// * ДатаНачала - Дата
|
||||
// * ДеньВМесяце - Дата
|
||||
// * ДеньНеделиВМесяце - Число
|
||||
// * ДниНедели - Число
|
||||
// * ИнтервалЗавершения - Число
|
||||
// * Месяцы - Массив из Число
|
||||
// * ПаузаПовтора - Число
|
||||
// * ПериодНедель - Число
|
||||
// * ПериодПовтораВТечениеДня - Число
|
||||
// * ПериодПовтораДней - Число
|
||||
// * ДетальныеРасписанияДня - Массив из см. РасписаниеВСтруктуру
|
||||
//
|
||||
Функция РасписаниеВСтруктуру(Знач Расписание) Экспорт
|
||||
|
||||
@@ -3404,11 +3423,13 @@
|
||||
// Строка - код языка.
|
||||
//
|
||||
Функция КодОсновногоЯзыка() Экспорт
|
||||
#Если НЕ ТонкийКлиент И НЕ ВебКлиент И НЕ МобильныйКлиент Тогда
|
||||
Возврат Метаданные.ОсновнойЯзык.КодЯзыка;
|
||||
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||||
Возврат ОбщегоНазначения.КодОсновногоЯзыка();
|
||||
#Иначе
|
||||
Возврат СтандартныеПодсистемыКлиент.ПараметрКлиента("КодОсновногоЯзыка");
|
||||
#КонецЕсли
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Устарела. Следует использовать ОбщегоНазначенияКлиент.ПредставлениеЛокальнойДатыСоСмещением
|
||||
|
||||
@@ -360,7 +360,6 @@
|
||||
// ** Ширина - Число
|
||||
//
|
||||
Функция СвойстваЭлементовФормыНастроек(ТипФормы, КомпоновщикНастроек, ДополнительныеПараметры) Экспорт
|
||||
#Область ПодготовкаСтруктуры
|
||||
|
||||
СвойстваЭлементов = Новый Структура("Группы, Поля");
|
||||
СвойстваЭлементов.Группы = Новый Структура;
|
||||
@@ -380,16 +379,15 @@
|
||||
НедоступныеЭлементыСтруктуры.Вставить(Тип("ТаблицаКомпоновкиДанных"), ТипФормыОтчета.Настройка);
|
||||
НедоступныеЭлементыСтруктуры.Вставить(Тип("ДиаграммаКомпоновкиДанных"), ТипФормыОтчета.Настройка);
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ЗаполнениеСтруктуры
|
||||
|
||||
Сведения = СведенияОПользовательскихНастройках(КомпоновщикНастроек.Настройки);
|
||||
ПользовательскиеНастройки = КомпоновщикНастроек.ПользовательскиеНастройки;
|
||||
Для Каждого ЭлементПользовательскойНастройки Из ПользовательскиеНастройки.Элементы Цикл
|
||||
НайденныеСведения = Сведения[ЭлементПользовательскойНастройки.ИдентификаторПользовательскойНастройки];
|
||||
Если НайденныеСведения = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ЭлементНастройки = НайденныеСведения.ЭлементНастройки; // ГруппировкаКомпоновкиДанных, ГруппировкаТаблицыКомпоновкиДанных, ГруппировкаДиаграммыКомпоновкиДанных
|
||||
|
||||
Если ЭлементНастройки = Неопределено
|
||||
Или НедоступныеЭлементыСтруктуры.Получить(ТипЗнч(ЭлементНастройки)) = ТипФормы
|
||||
Или ДоступныеРежимы.Найти(ЭлементНастройки.РежимОтображения) = Неопределено Тогда
|
||||
@@ -445,8 +443,6 @@
|
||||
ТипФормы, СвойстваЭлементов, ПользовательскиеНастройки.Элементы);
|
||||
КонецЕсли;
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
Возврат СвойстваЭлементов;
|
||||
КонецФункции
|
||||
|
||||
|
||||
@@ -895,6 +895,11 @@
|
||||
Если Не ЗначениеЗаполнено(КомандаФормы.Картинка) И Подменю.Вид = ВидГруппыФормы.Подменю Тогда
|
||||
КомандаФормы.Картинка = Подменю.Картинка;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЗначениеЗаполнено(КомандаФормы.Картинка) Тогда
|
||||
КомандаФормы.Картинка = СведенияОПодменю.КартинкаПодменю;
|
||||
КонецЕсли;
|
||||
|
||||
Если СтрДлина(КомандаФормы.Заголовок) <= 35 И Подменю.Отображение <> ОтображениеКнопки.Картинка Тогда
|
||||
КомандаФормы.Отображение = ОтображениеКнопки.КартинкаИТекст;
|
||||
Иначе
|
||||
@@ -953,6 +958,7 @@
|
||||
// * ГруппаПоУмолчанию - ГруппаФормы
|
||||
// * ПоследняяКоманда - КомандаФормы
|
||||
// * КомандыСУсловиямиВидимости - Массив
|
||||
// * КартинкаПодменю - Картинка
|
||||
//
|
||||
Функция СведенияОВсехПодменю()
|
||||
|
||||
@@ -965,6 +971,7 @@
|
||||
СведенияОВсехПодменю.Колонки.Добавить("ГруппаПоУмолчанию");
|
||||
СведенияОВсехПодменю.Колонки.Добавить("ПоследняяКоманда");
|
||||
СведенияОВсехПодменю.Колонки.Добавить("КомандыСУсловиямиВидимости", Новый ОписаниеТипов("Массив"));
|
||||
СведенияОВсехПодменю.Колонки.Добавить("КартинкаПодменю");
|
||||
|
||||
Возврат СведенияОВсехПодменю;
|
||||
|
||||
@@ -1104,6 +1111,7 @@
|
||||
Функция ЗарегистрироватьПодменю(Элементы, СведенияОВсехПодменю, ИмяПодменю, ШаблонНового = Неопределено, КоманднаяПанель = Неопределено, ПодменюПоУмолчанию = Неопределено)
|
||||
ВыведеноКоманд = 0;
|
||||
Группы = Новый Структура;
|
||||
КартинкаПодменю = Неопределено;
|
||||
Если ЗначениеЗаполнено(ИмяПодменю) Тогда
|
||||
Подменю = Элементы.Найти(ИмяПодменю);
|
||||
Если Подменю = Неопределено Тогда
|
||||
@@ -1115,10 +1123,18 @@
|
||||
Подменю.Заголовок = ШаблонНового.Заголовок;
|
||||
Если Подменю.Вид = ВидГруппыФормы.Подменю Тогда
|
||||
Подменю.Картинка = ШаблонНового.Картинка;
|
||||
КартинкаПодменю = Подменю.Картинка;
|
||||
Подменю.Отображение = ШаблонНового.Отображение;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
ГруппаПоУмолчанию = Подменю;
|
||||
Если Подменю.Вид = ВидГруппыФормы.Подменю Тогда
|
||||
КартинкаПодменю = Подменю.Картинка;
|
||||
ИначеЕсли ШаблонНового <> Неопределено Тогда
|
||||
КартинкаПодменю = ШаблонНового.Картинка;
|
||||
ИначеЕсли ПодменюПоУмолчанию <> Неопределено Тогда
|
||||
КартинкаПодменю = ПодменюПоУмолчанию.КартинкаПодменю;
|
||||
КонецЕсли;
|
||||
ВыведеноКоманд = КоличествоКомандВГруппе(ГруппаПоУмолчанию);
|
||||
Для Каждого Группа Из Подменю.ПодчиненныеЭлементы Цикл
|
||||
Если ТипЗнч(Группа) <> Тип("ГруппаФормы") Тогда
|
||||
@@ -1171,6 +1187,7 @@
|
||||
Результат.ГруппаПоУмолчанию = ГруппаПоУмолчанию;
|
||||
Результат.Группы = Группы;
|
||||
Результат.ВыведеноКоманд = ВыведеноКоманд;
|
||||
Результат.КартинкаПодменю = КартинкаПодменю;
|
||||
Возврат Результат;
|
||||
КонецФункции
|
||||
|
||||
@@ -1249,7 +1266,7 @@
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ИдентификаторОбъектаМетаданных = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ОбъектМетаданныхПоставщика);
|
||||
ИдентификаторОбъектаМетаданных = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ОбъектМетаданныхПоставщика, Ложь);
|
||||
Если ТипЗнч(ИдентификаторОбъектаМетаданных) <> Отбор Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1948,8 +1948,6 @@
|
||||
НастройкиВхода.ПросрочкаРаботыВПрограммеДатаВключения = НачалоДня(ТекущаяДатаСеанса());
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
Константы.НастройкиВходаПользователей.Установить(Новый ХранилищеЗначения(Настройки));
|
||||
|
||||
Если Не РазделениеВключено Тогда
|
||||
@@ -1968,8 +1966,6 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
|
||||
Исключение
|
||||
|
||||
@@ -4880,6 +4880,8 @@
|
||||
ЭлементБлокировки.УстановитьЗначение("Ссылка", ВладелецКИ);
|
||||
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
|
||||
|
||||
ПочтаДляВосстановленияПароля = "";
|
||||
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
|
||||
@@ -4892,7 +4894,6 @@
|
||||
|
||||
СтрокаСПочтой = КонтактнаяИнформацияПользователя[0];
|
||||
|
||||
ПочтаДляВосстановленияПароля = "";
|
||||
Если ЗначениеЗаполнено(СтрокаСПочтой.Значение) Тогда
|
||||
ПочтаДляВосстановленияПароля = МодульУправлениеКонтактнойИнформацией.АдресЭлектроннойПочты(СтрокаСПочтой.Значение);
|
||||
Если Не ОбщегоНазначенияКлиентСервер.АдресЭлектроннойПочтыСоответствуетТребованиям(ПочтаДляВосстановленияПароля) Тогда
|
||||
@@ -4939,6 +4940,14 @@
|
||||
|
||||
ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Предупреждение,
|
||||
Метаданные.Справочники.Пользователи, ПользовательСсылка, ТекстСообщения);
|
||||
|
||||
Если ЗначениеЗаполнено(ПочтаДляВосстановленияПароля)
|
||||
И СтрНайти(ТекстСообщения, ПочтаДляВосстановленияПароля) > 0 Тогда
|
||||
Уточнение = НСтр("ru = 'Адрес электронной почты %1 занят другим пользователем и не может быть использован для восстановления пароля.'");
|
||||
Уточнение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Уточнение, ПочтаДляВосстановленияПароля);
|
||||
ОбновлениеИнформационнойБазы.ЗарегистрироватьПроблемуСДанными(ПользовательСсылка, Уточнение);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
Возврат Результат;
|
||||
@@ -5993,16 +6002,33 @@
|
||||
| СоставыГруппПользователей.Пользователь ЕСТЬ NULL ";
|
||||
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.СоставыГруппПользователей");
|
||||
ЭлементБлокировки.УстановитьЗначение("ГруппаПользователей", ГруппаВсеПользователи);
|
||||
|
||||
Если ОбновитьГруппуВнешнихПользователей Тогда
|
||||
ЭлементБлокировки = Блокировка.Добавить("Справочник.ВнешниеПользователи");
|
||||
ПолноеИмяСправочника = "Справочник.ВнешниеПользователи";
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "Справочник.Пользователи", "Справочник.ВнешниеПользователи");
|
||||
Иначе
|
||||
ЭлементБлокировки = Блокировка.Добавить("Справочник.Пользователи");
|
||||
ПолноеИмяСправочника = "Справочник.Пользователи";
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(Пользователь) = Тип("Массив") И Пользователь.Количество() <= 1000 Тогда
|
||||
Для Каждого Ссылка Из Пользователь Цикл
|
||||
ЭлементБлокировкиРегистра = Блокировка.Добавить("РегистрСведений.СоставыГруппПользователей");
|
||||
ЭлементБлокировкиРегистра.УстановитьЗначение("ГруппаПользователей", ГруппаВсеПользователи);
|
||||
ЭлементБлокировкиРегистра.УстановитьЗначение("Пользователь", Ссылка);
|
||||
ЭлементБлокировкиСправочника = Блокировка.Добавить(ПолноеИмяСправочника);
|
||||
ЭлементБлокировкиСправочника.Режим = РежимБлокировкиДанных.Разделяемый;
|
||||
ЭлементБлокировкиСправочника.УстановитьЗначение("Ссылка", Ссылка);
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
ЭлементБлокировкиРегистра = Блокировка.Добавить("РегистрСведений.СоставыГруппПользователей");
|
||||
ЭлементБлокировкиСправочника = Блокировка.Добавить(ПолноеИмяСправочника);
|
||||
ЭлементБлокировкиСправочника.Режим = РежимБлокировкиДанных.Разделяемый;
|
||||
Если Пользователь <> Неопределено И ТипЗнч(Пользователь) <> Тип("Массив") Тогда
|
||||
ЭлементБлокировкиРегистра.УстановитьЗначение("ГруппаПользователей", ГруппаВсеПользователи);
|
||||
ЭлементБлокировкиРегистра.УстановитьЗначение("Пользователь", Пользователь);
|
||||
ЭлементБлокировкиСправочника.УстановитьЗначение("Ссылка", Пользователь);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
|
||||
|
||||
Если Пользователь = Неопределено Тогда
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ОтборПользователя", "ИСТИНА");
|
||||
@@ -6316,8 +6342,7 @@
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОтборПользователяВСправочнике", ОтборПользователяВСправочнике);
|
||||
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.СоставыГруппПользователей");
|
||||
ЭлементБлокировки.УстановитьЗначение("ГруппаПользователей", ГруппаПользователей);
|
||||
Блокировка.Добавить("РегистрСведений.СоставыГруппПользователей");
|
||||
|
||||
Если ОбновитьГруппыВнешнихПользователей Тогда
|
||||
|
||||
@@ -6330,12 +6355,7 @@
|
||||
ТекстЗапроса,
|
||||
"ГруппыПользователейСостав.Пользователь",
|
||||
"ГруппыПользователейСостав.ВнешнийПользователь");
|
||||
|
||||
ЭлементБлокировки = Блокировка.Добавить("Справочник.ГруппыВнешнихПользователей");
|
||||
Иначе
|
||||
ЭлементБлокировки = Блокировка.Добавить("Справочник.ГруппыПользователей");
|
||||
КонецЕсли;
|
||||
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
|
||||
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
|
||||
|
||||
НачатьТранзакцию();
|
||||
|
||||
@@ -1360,7 +1360,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// См. РаботаСПочтовымиСообщениями.ОтправитьПисьмо.
|
||||
Функция ОтправитьПисьмо(УчетнаяЗапись, Письмо) Экспорт
|
||||
|
||||
Письма = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Письмо);
|
||||
@@ -1417,7 +1416,7 @@
|
||||
Письмо.Отправитель.ОтображаемоеИмя = РеквизитыОтправителя.ИмяПользователя;
|
||||
Письмо.Отправитель.Адрес = РеквизитыОтправителя.АдресЭлектроннойПочты;
|
||||
|
||||
Если РеквизитыОтправителя.ОтправлятьСкрытыеКопииПисемНаЭтотАдрес Тогда
|
||||
Если ПротоколПолученияПочты = ПротоколИнтернетПочты.POP3 И РеквизитыОтправителя.ОтправлятьСкрытыеКопииПисемНаЭтотАдрес Тогда
|
||||
Получатель = Письмо.СлепыеКопии.Добавить(РеквизитыОтправителя.АдресЭлектроннойПочты);
|
||||
Получатель.ОтображаемоеИмя = РеквизитыОтправителя.ИмяПользователя;
|
||||
КонецЕсли;
|
||||
@@ -1709,7 +1708,7 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПоясненияПоОшибке(ТекстОшибки, Знач КодЯзыка = Неопределено) Экспорт
|
||||
Функция ПоясненияПоОшибке(ТекстОшибки, Знач КодЯзыка = Неопределено, ДляПомощникаНастройки = Ложь) Экспорт
|
||||
|
||||
Если КодЯзыка = Неопределено Тогда
|
||||
КодЯзыка = ТекущийЯзык().КодЯзыка;
|
||||
@@ -1772,10 +1771,15 @@
|
||||
Если Не ЗначениеЗаполнено(ОписанияОшибок) Тогда
|
||||
СпособыУстранения.Добавить(НСтр("ru = 'Проверьте подключение к Интернету.'"));
|
||||
КонецЕсли;
|
||||
|
||||
СпособыУстранения.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
|
||||
"ru = 'Попробуйте перенастроить почту (кнопка <a href=\""%1\"">Перенастроить</a> в настройках почты).'"),
|
||||
"Перенастроить"));
|
||||
|
||||
Если ДляПомощникаНастройки Тогда
|
||||
СпособыУстранения.Добавить(НСтр("ru = 'Проверьте введенные настройки.'"));
|
||||
Иначе
|
||||
СпособыУстранения.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
|
||||
"ru = 'Попробуйте перенастроить почту (кнопка <a href=\""%1\"">Перенастроить</a> в настройках почты).'"),
|
||||
"Перенастроить"));
|
||||
КонецЕсли;
|
||||
|
||||
СпособыУстранения.Добавить(НСтр("ru = 'Обратитесь к администратору локальной сети.'"));
|
||||
СпособыУстранения.Добавить(НСтр("ru = 'Обратитесь к администратору почтового сервера.'"));
|
||||
КонецЕсли;
|
||||
|
||||
@@ -876,7 +876,7 @@
|
||||
|
||||
#Если ВебКлиент Тогда
|
||||
Если ПараметрыВыполнения.ДанныеФайла.Расширение <> "mxl" Тогда
|
||||
Текст = НСтр("ru = 'Сохраните файл на компьютер, после чего распечатать его при помощи приложения, предназначенного для работы с данным файлом.'");
|
||||
Текст = НСтр("ru = 'Сохраните файл на компьютер, после чего распечатайте его при помощи приложения, предназначенного для работы с данным файлом.'");
|
||||
ПоказатьПредупреждение(, Текст);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -5994,8 +5994,7 @@
|
||||
|
||||
Функция ТекстЗапросаДляСинхронизацииФайлов(ВладелецФайла, НастройкаСинхронизации, МассивИсключений, ЭлементИсключение)
|
||||
|
||||
ТипОбъекта = ВладелецФайла;
|
||||
ПредставлениеТипаВладельца = ОбщегоНазначения.ВидОбъектаПоТипу(ТипЗнч(ТипОбъекта.ЗначениеПустойСсылки));
|
||||
ПредставлениеТипаВладельца = ОбщегоНазначения.ВидОбъектаПоТипу(ТипЗнч(ВладелецФайла.ЗначениеПустойСсылки));
|
||||
ПолноеИмяСправочникаФайлов = НастройкаСинхронизации.ТипВладельцаФайла.ПолноеИмя;
|
||||
МетаданныеОбъектаФайлов = Метаданные.НайтиПоПолномуИмени(ПолноеИмяСправочникаФайлов);
|
||||
ЕстьВозможностьХранитьВерсии = ОбщегоНазначения.ЕстьРеквизитОбъекта("ТекущаяВерсия", МетаданныеОбъектаФайлов);
|
||||
@@ -6025,12 +6024,12 @@
|
||||
КонецЕсли;
|
||||
|
||||
ТекстЗапроса = ТекстЗапроса + "ВЫБРАТЬ
|
||||
| СправочникПапок.Ссылка,";// @query-part
|
||||
| СправочникПапок.Ссылка,"; // @query-part
|
||||
|
||||
ДобавитьДоступныеПоляОтбора(ТекстЗапроса, ТипОбъекта);
|
||||
ДобавитьДоступныеПоляОтбора(ТекстЗапроса, ВладелецФайла);
|
||||
|
||||
ТекстЗапроса = ТекстЗапроса + "
|
||||
| СправочникФайлов.Ссылка КАК ФайлСсылка,";
|
||||
| СправочникФайлов.Ссылка КАК ФайлСсылка,"; // @query-part
|
||||
|
||||
Если ВозможностьСоздаватьГруппы Тогда
|
||||
|
||||
@@ -6042,10 +6041,10 @@
|
||||
| КОНЕЦ КАК Наименование,
|
||||
| СправочникФайлов.ПометкаУдаления КАК ПометкаУдаления,
|
||||
| СправочникФайлов.ВладелецФайла КАК Родитель,
|
||||
| ЛОЖЬ КАК ЭтоПапка,";
|
||||
| ЛОЖЬ КАК ЭтоПапка,"; // @query-part
|
||||
|
||||
ОтборПоПапкам = "(СправочникФайлов.ЭтоГруппа
|
||||
| ИЛИ (НЕ СправочникФайлов.ЭтоГруппа И СправочникФайлов.ПодписанЭП = ЛОЖЬ И СправочникФайлов.Зашифрован = ЛОЖЬ)) ";
|
||||
| ИЛИ (НЕ СправочникФайлов.ЭтоГруппа И СправочникФайлов.ПодписанЭП = ЛОЖЬ И СправочникФайлов.Зашифрован = ЛОЖЬ)) "; // @query-part
|
||||
|
||||
Иначе
|
||||
|
||||
@@ -6053,9 +6052,9 @@
|
||||
| СправочникФайлов.Наименование + ""."" + СправочникФайлов.Расширение КАК Наименование,
|
||||
| СправочникФайлов.ПометкаУдаления КАК ПометкаУдаления,
|
||||
| СправочникФайлов.ВладелецФайла КАК Родитель,
|
||||
| ЛОЖЬ КАК ЭтоПапка,";
|
||||
| ЛОЖЬ КАК ЭтоПапка,"; // @query-part
|
||||
|
||||
ОтборПоПапкам = " СправочникФайлов.ПодписанЭП = ЛОЖЬ И СправочникФайлов.Зашифрован = ЛОЖЬ ";
|
||||
ОтборПоПапкам = " СправочникФайлов.ПодписанЭП = ЛОЖЬ И СправочникФайлов.Зашифрован = ЛОЖЬ "; // @query-part
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -6087,21 +6086,21 @@
|
||||
|
||||
Если МассивИсключений.Количество() > 0 Тогда
|
||||
ТекстЗапроса = ТекстЗапроса + "
|
||||
| И НЕ СправочникПапок.Ссылка В ИЕРАРХИИ (&МассивИсключений)";
|
||||
| И НЕ СправочникПапок.Ссылка В ИЕРАРХИИ (&МассивИсключений)"; // @query-part
|
||||
КонецЕсли;
|
||||
|
||||
Если ЭлементИсключение <> Неопределено Тогда
|
||||
ТекстЗапроса = ТекстЗапроса + "
|
||||
| И СправочникПапок.Ссылка В ИЕРАРХИИ (&ЭлементИсключение)";
|
||||
| И СправочникПапок.Ссылка В ИЕРАРХИИ (&ЭлементИсключение)"; // @query-part
|
||||
КонецЕсли;
|
||||
|
||||
ТекстЗапроса = ТекстЗапроса + "
|
||||
|ОБЪЕДИНИТЬ ВСЕ
|
||||
|
|
||||
|ВЫБРАТЬ
|
||||
| СправочникПапок.Ссылка,";// @query-part
|
||||
| СправочникПапок.Ссылка,"; // @query-part
|
||||
|
||||
ДобавитьДоступныеПоляОтбора(ТекстЗапроса, ТипОбъекта);
|
||||
ДобавитьДоступныеПоляОтбора(ТекстЗапроса, ВладелецФайла);
|
||||
|
||||
ТекстЗапроса = ТекстЗапроса + "
|
||||
| СправочникПапок.Ссылка,
|
||||
@@ -6169,25 +6168,31 @@
|
||||
КонецФункции
|
||||
|
||||
// Параметры:
|
||||
// ТипОбъекта - ОбъектМетаданныхСправочник
|
||||
// ВладелецФайла - ОпределяемыйТип.ВладелецПрисоединенныхФайлов
|
||||
//
|
||||
Процедура ДобавитьДоступныеПоляОтбора(ТекстЗапроса, ТипОбъекта)
|
||||
Процедура ДобавитьДоступныеПоляОтбора(ТекстЗапроса, ВладелецФайла)
|
||||
|
||||
ВсеСправочники = Справочники.ТипВсеСсылки();
|
||||
ВсеДокументы = Документы.ТипВсеСсылки();
|
||||
|
||||
Если ВсеСправочники.СодержитТип(ТипЗнч(ТипОбъекта.ЗначениеПустойСсылки)) Тогда
|
||||
Справочник = Метаданные.Справочники[ТипОбъекта.Имя];
|
||||
|
||||
Если ВсеСправочники.СодержитТип(ТипЗнч(ВладелецФайла.ЗначениеПустойСсылки)) Тогда
|
||||
Справочник = Метаданные.Справочники[ВладелецФайла.Имя];
|
||||
ШаблонЗапроса = "СправочникПапок.%1 КАК %1,"; // @query-part
|
||||
Для Каждого Реквизит Из Справочник.Реквизиты Цикл
|
||||
ТекстЗапроса = ТекстЗапроса + Символы.ПС + "СправочникПапок." + Реквизит.Имя + " КАК " + Реквизит.Имя +",";
|
||||
ТекстЗапроса = ТекстЗапроса + Символы.ПС + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
ШаблонЗапроса, Реквизит.Имя);
|
||||
КонецЦикла;
|
||||
ИначеЕсли ВсеДокументы.СодержитТип(ТипЗнч(ТипОбъекта.ЗначениеПустойСсылки)) Тогда
|
||||
Документ = Метаданные.Документы[ТипОбъекта.Имя];
|
||||
ИначеЕсли ВсеДокументы.СодержитТип(ТипЗнч(ВладелецФайла.ЗначениеПустойСсылки)) Тогда
|
||||
Документ = Метаданные.Документы[ВладелецФайла.Имя];
|
||||
ШаблонЗапроса = "СправочникПапок.%1,"; // @query-part
|
||||
ШаблонЗапросаДата = "РАЗНОСТЬДАТ(СправочникПапок.%1, &ТекущаяДата, ДЕНЬ) Как ДнейДоУдаленияОт%1,"; // @query-part
|
||||
Для Каждого Реквизит Из Документ.Реквизиты Цикл
|
||||
Если Реквизит.Тип.СодержитТип(Тип("Дата")) Тогда
|
||||
ТекстЗапроса = ТекстЗапроса + Символы.ПС + "РАЗНОСТЬДАТ(" + Реквизит.Имя + ", &ТекущаяДата, ДЕНЬ) Как ДнейДоУдаленияОт" + Реквизит.Имя + ",";
|
||||
ТекстЗапроса = ТекстЗапроса + Символы.ПС + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
ШаблонЗапросаДата, Реквизит.Имя);
|
||||
КонецЕсли;
|
||||
ТекстЗапроса = ТекстЗапроса + Символы.ПС + "СправочникПапок." + Реквизит.Имя + ",";
|
||||
ТекстЗапроса = ТекстЗапроса + Символы.ПС + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
ШаблонЗапроса, Реквизит.Имя);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -8931,7 +8936,7 @@
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
ТекстЗапроса =
|
||||
"ВЫБРАТЬ
|
||||
"ВЫБРАТЬ ПЕРВЫЕ 1
|
||||
| ПрисоединенныеФайлы.Ссылка
|
||||
|ИЗ
|
||||
| &ИмяСправочника КАК ПрисоединенныеФайлы
|
||||
@@ -8948,8 +8953,7 @@
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ФайлИсключение", "ИСТИНА"); // @Query-part-2
|
||||
КонецЕсли;
|
||||
|
||||
ИменаСправочников = ИменаСправочниковХраненияФайлов(ВладелецФайлов);
|
||||
|
||||
ИменаСправочников = ИменаСправочниковХраненияФайлов(ВладелецФайлов);
|
||||
Для каждого КлючИЗначение Из ИменаСправочников Цикл
|
||||
Запрос.Текст = СтрЗаменить(ТекстЗапроса, "&ИмяСправочника", "Справочник." + КлючИЗначение.Ключ);
|
||||
|
||||
|
||||
@@ -738,7 +738,7 @@
|
||||
ЭлементБлокировки.УстановитьЗначение("Ссылка", СсылкаНаВерсию);
|
||||
|
||||
Расширение = ОбщегоНазначенияКлиентСервер.РасширениеБезТочки(СведенияОФайле.РасширениеБезТочки);
|
||||
ТипХраненияФайла = РаботаСФайламиСлужебный.ТипХраненияФайла(Расширение, СведенияОФайле.Размер);
|
||||
ТипХраненияФайла = РаботаСФайламиСлужебный.ТипХраненияФайла(СведенияОФайле.Размер, Расширение);
|
||||
МенеджерФайла = РаботаСФайламиСлужебный.МенеджерФайловПоТипу(ТипХраненияФайла);
|
||||
Контекст = РаботаСФайламиСлужебный.КонтекстОбновленияФайла(СсылкаНаВерсию,
|
||||
СведенияОФайле.АдресВременногоХранилищаФайла, , ТипХраненияФайла);
|
||||
@@ -991,6 +991,7 @@
|
||||
КонецФункции
|
||||
|
||||
// Создает новый файл по аналогии с указанным и возвращает ссылку на него.
|
||||
//
|
||||
// Параметры:
|
||||
// ИсходныйФайл - СправочникСсылка.Файлы - существующий файл.
|
||||
// ВладелецНовогоФайла - ЛюбаяСсылка - владелец файла.
|
||||
|
||||
@@ -10503,7 +10503,8 @@
|
||||
Процедура ВыбратьРежимИРедактироватьФайл(ОбработчикРезультата, ДанныеФайла, ДоступностьКомандыРедактировать) Экспорт
|
||||
|
||||
ПерсональныеНастройки = ПерсональныеНастройкиРаботыСФайлами();
|
||||
РезультатОткрыть = ПерсональныеНастройки.ВариантОткрытияФайла;
|
||||
РезультатОткрыть = ?(ДанныеФайла.ФайлРедактируетТекущийПользователь И ДоступностьКомандыРедактировать,
|
||||
"Редактировать", ПерсональныеНастройки.ВариантОткрытияФайла);
|
||||
|
||||
СпособОткрытия = ПерсональныеНастройки.ТекстовыеФайлыСпособОткрытия;
|
||||
Если СпособОткрытия = ПредопределенноеЗначение("Перечисление.СпособыОткрытияФайлаНаПросмотр.ВоВстроенномРедакторе") Тогда
|
||||
|
||||
@@ -368,8 +368,8 @@
|
||||
КонецЕсли;
|
||||
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Отчеты отправлены ''%1'' (%2) от %3. %4'"),
|
||||
ПредставлениеПолучателя, АдресПолучателя, ПредставлениеОтправителя, ДополнительныеСведения);
|
||||
НСтр("ru = 'Отчеты отправлены ''%1'' от %2. %3'"),
|
||||
ПредставлениеПолучателя, ПредставлениеОтправителя, ДополнительныеСведения);
|
||||
|
||||
ЗаписьЖурнала(ПараметрыЖурнала,, ТекстСообщения);
|
||||
Исключение
|
||||
@@ -396,6 +396,26 @@
|
||||
// Доставка.
|
||||
Если ВыполнитьДоставку(ПараметрыЖурнала, ПараметрыДоставки, ОбщиеВложения) Тогда
|
||||
РассылкаВыполнена = Истина;
|
||||
|
||||
Если ПараметрыДоставки.Получатели <> Неопределено Тогда
|
||||
ПредставлениеПолучателя = Новый Массив;
|
||||
Для каждого ПолучательРассылки Из ПараметрыДоставки.Получатели Цикл
|
||||
ПредставлениеПолучателя.Добавить(Строка(ПолучательРассылки.Ключ) + " (" + ПолучательРассылки.Значение + ")");
|
||||
КонецЦикла;
|
||||
ПредставлениеПолучателя = СтрСоединить(ПредставлениеПолучателя, Символы.ПС);
|
||||
|
||||
ДополнительныеСведения = "";
|
||||
Если ОтправлятьСкрытыеКопииОтправителю Тогда
|
||||
ДополнительныеСведения = НСтр("ru = 'Копия направлена отправителю.'");
|
||||
КонецЕсли;
|
||||
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Отчеты отправлены %1 получателям от %2. %3
|
||||
|%4'"),
|
||||
ПараметрыДоставки.Получатели.Количество(), ПредставлениеОтправителя,
|
||||
ДополнительныеСведения, ПредставлениеПолучателя);
|
||||
ЗаписьЖурнала(ПараметрыЖурнала,, ТекстСообщения);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -2366,7 +2386,7 @@
|
||||
// Возвращает шаблон темы по умолчанию для доставки по электронной почте.
|
||||
Функция ШаблонТемы() Экспорт
|
||||
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 от %2'"), "[НаименованиеРассылки]", "[ДатаВыполнения(ДЛФ=''D'')]");
|
||||
НСтр("ru = '%1 от %2'"), "[НаименованиеРассылки]", "[ДатаВыполнения(ДЛФ='D')]");
|
||||
КонецФункции
|
||||
|
||||
// Возвращает шаблон тела сообщения по умолчанию для доставки по электронной почте.
|
||||
|
||||
@@ -57,7 +57,10 @@
|
||||
|
||||
// Исключаемые отчеты используются в качестве исключающего фильтра при выборе отчетов.
|
||||
Функция ИсключаемыеОтчеты() Экспорт
|
||||
|
||||
МассивМетаданных = Новый Массив;
|
||||
|
||||
ИнтеграцияПодсистемБСП.ПриОпределенииИсключаемыхОтчетов(МассивМетаданных);
|
||||
РассылкаОтчетовПереопределяемый.ОпределитьИсключаемыеОтчеты(МассивМетаданных);
|
||||
|
||||
Результат = Новый Массив;
|
||||
@@ -68,6 +71,7 @@
|
||||
ИсключаемыеОтчеты = Новый ФиксированныйМассив(Результат);
|
||||
|
||||
Возврат ИсключаемыеОтчеты;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -1044,22 +1044,14 @@
|
||||
Если Задание <> Неопределено Тогда
|
||||
ЕстьИзменения = Ложь;
|
||||
|
||||
ОбновитьЗначениеСвойстваЗадания(Задание,
|
||||
"Наименование", Параметры, ЕстьИзменения);
|
||||
ОбновитьЗначениеСвойстваЗадания(Задание,
|
||||
"Использование", Параметры, ЕстьИзменения);
|
||||
ОбновитьЗначениеСвойстваЗадания(Задание,
|
||||
"Ключ", Параметры, ЕстьИзменения);
|
||||
ОбновитьЗначениеСвойстваЗадания(Задание,
|
||||
"ИмяПользователя", Параметры, ЕстьИзменения);
|
||||
ОбновитьЗначениеСвойстваЗадания(Задание,
|
||||
"ИнтервалПовтораПриАварийномЗавершении", Параметры, ЕстьИзменения);
|
||||
ОбновитьЗначениеСвойстваЗадания(Задание,
|
||||
"КоличествоПовторовПриАварийномЗавершении", Параметры, ЕстьИзменения);
|
||||
ОбновитьЗначениеСвойстваЗадания(Задание,
|
||||
"Параметры", Параметры, ЕстьИзменения);
|
||||
ОбновитьЗначениеСвойстваЗадания(Задание,
|
||||
"Расписание", Параметры, ЕстьИзменения);
|
||||
ОбновитьЗначениеСвойстваЗадания(Задание, "Наименование", Параметры, ЕстьИзменения);
|
||||
ОбновитьЗначениеСвойстваЗадания(Задание, "Использование", Параметры, ЕстьИзменения);
|
||||
ОбновитьЗначениеСвойстваЗадания(Задание, "Ключ", Параметры, ЕстьИзменения);
|
||||
ОбновитьЗначениеСвойстваЗадания(Задание, "ИмяПользователя", Параметры, ЕстьИзменения);
|
||||
ОбновитьЗначениеСвойстваЗадания(Задание, "ИнтервалПовтораПриАварийномЗавершении", Параметры, ЕстьИзменения);
|
||||
ОбновитьЗначениеСвойстваЗадания(Задание, "КоличествоПовторовПриАварийномЗавершении", Параметры, ЕстьИзменения);
|
||||
ОбновитьЗначениеСвойстваЗадания(Задание, "Параметры", Параметры, ЕстьИзменения);
|
||||
ОбновитьЗначениеСвойстваЗадания(Задание, "Расписание", Параметры, ЕстьИзменения);
|
||||
|
||||
Если ЕстьИзменения Тогда
|
||||
Задание.Записать();
|
||||
@@ -1160,7 +1152,13 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Задание[ИмяСвойства] = ПараметрыЗадания[ИмяСвойства];
|
||||
Если ТипЗнч(Задание[ИмяСвойства]) = Тип("РасписаниеРегламентногоЗадания")
|
||||
И ТипЗнч(ПараметрыЗадания[ИмяСвойства]) = Тип("Структура") Тогда
|
||||
ЗаполнитьЗначенияСвойств(Задание[ИмяСвойства], ПараметрыЗадания[ИмяСвойства]);
|
||||
Иначе
|
||||
Задание[ИмяСвойства] = ПараметрыЗадания[ИмяСвойства];
|
||||
КонецЕсли;
|
||||
|
||||
ЕстьИзменения = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Loaded 100 of 251 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user