3_1_2_196

This commit is contained in:
Компания 1С committed 2019-11-01 09:56:00 +03:00
1 parent 0295e038df
commit 7c8e42c87c
66 files changed
+1248 -673

No files matched your search

@@ -3300,6 +3300,7 @@
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
Прервать;
КонецЕсли;
Если ТекущаяПопытка > 10 Тогда
@@ -42,6 +42,7 @@
Результат = Новый Массив();
Результат.Добавить("Код");
Результат.Добавить("КоррСчет");
Возврат Результат;
@@ -88,8 +88,15 @@
// КодыЯзыков - Массив - список языков конфигурации. Актуально для мультиязычных конфигураций.
// Элементы - ТаблицаЗначений - данные заполнения. Состав колонок соответствует набору реквизитов
// справочника ПапкиФайлов.
// ТабличныеЧасти - Структура - описание табличных частей объекта, где:
// * Ключ - Строка - имя табличной части;
// * Значение - ТаблицаЗначений - табличная часть в виде таблицы значений, структуру которой
// необходимо скопировать перед заполнением. Например:
// Элемент.Ключи = ТабличныеЧасти.Ключи.Скопировать();
// ЭлементТЧ = Элемент.Ключи.Добавить();
// ЭлементТЧ.ИмяКлюча = "Первичный";
//
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы) Экспорт
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы, ТабличныеЧасти) Экспорт
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "Шаблоны";
@@ -12,17 +12,6 @@
<viewMode>Normal</viewMode>
<userSettingID>b75fecce-942b-4aed-abc9-e6a02e460fb3</userSettingID>
</conditionalAppearance>
<item xsi:type="StructureItemGroup">
<groupItems>
<item xsi:type="GroupItemField">
<field>Владелец</field>
<groupType>Items</groupType>
<periodAdditionType>None</periodAdditionType>
<periodAdditionBegin xsi:type="xs:dateTime">0001-01-01T00:00:00</periodAdditionBegin>
<periodAdditionEnd xsi:type="xs:dateTime">0001-01-01T00:00:00</periodAdditionEnd>
</item>
</groupItems>
</item>
<itemsViewMode>Normal</itemsViewMode>
<itemsUserSettingID>911b6018-f537-43e8-a417-da56b22f9aec</itemsUserSettingID>
</Settings>
@@ -50,7 +50,7 @@
//
// Остальные свойства.
// Состав остальных свойств указывается аналогично составу свойств параметра.
// ОбновляемыеСвойства для процедуры Пользователи.ЗаписатьПользователяИБ(),
// ОбновляемыеСвойства для процедуры Пользователи.УстановитьСвойстваПользователяИБ(),
// кроме свойства ПолноеИмя - устанавливается по Наименованию.
//
// Для сопоставления существующего свободного пользователя ИБ с пользователем в справочнике,
@@ -723,6 +723,20 @@
<segments>ВключаяПодчиненные</segments>
</settingsSavedData>
</attributes>
<attributes>
<name>ТекстСообщенияПользователю</name>
<id>5</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>Применить</name>
<title>
@@ -74,6 +74,7 @@
Процедура Применить(Команда)
ОчиститьСообщения();
ТекстСообщенияПользователю = "";
ВыбраноХотьОдноПравило = Ложь;
Отказ = Ложь;
@@ -110,6 +111,9 @@
Если ДлительнаяОперация.Статус = "Выполнено" Тогда
Оповестить("ПримененыПравилаОбработкиПисем");
Если Не ПустаяСтрока(ТекстСообщенияПользователю) Тогда
ПоказатьОповещениеПользователя(НСтр("ru = 'Применение правил обработки'"), ,ТекстСообщенияПользователю, БиблиотекаКартинок.Информация32);
КонецЕсли;
ИначеЕсли ДлительнаяОперация.Статус = "Выполняется" Тогда
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
ОповещениеОЗавершении = Новый ОписаниеОповещения("ПрименитьПравилаЗавершение", ЭтотОбъект);
@@ -181,14 +185,14 @@
КонецПроцедуры
&НаСервере
Процедура ЗагрузитьРезультат(АдресРезультата)
Функция ЗагрузитьРезультат(АдресРезультата)
Результат = ПолучитьИзВременногоХранилища(АдресРезультата);
Если ТипЗнч(Результат) = Тип("Строка")
И ЗначениеЗаполнено(Результат) Тогда
ОбщегоНазначения.СообщитьПользователю(Результат);
ТекстСообщенияПользователю = Результат;
КонецЕсли;
КонецПроцедуры
КонецФункции
#КонецОбласти
@@ -1043,8 +1043,11 @@
// Проверка ролей.
НазначениеПрофиля = УправлениеДоступомСлужебныйКлиентСервер.НазначениеПрофиля(ОписаниеПрофиля);
НедоступныеРоли = ПользователиСлужебныйПовтИсп.НедоступныеРоли(НазначениеПрофиля, Ложь);
Для Каждого Роль Из ОписаниеПрофиля.Роли Цикл
ПроверенныеРоли = Новый Соответствие;
ИндексРоли = ОписаниеПрофиля.Роли.Количество();
Пока ИндексРоли > 0 Цикл
ИндексРоли = ИндексРоли - 1;
Роль = ОписаниеПрофиля.Роли[ИндексРоли];
// Проверка наличия ролей в метаданных.
Если ВсеРоли.Получить(Роль) = Неопределено Тогда
ВызватьИсключение ЗаголовокОшибки + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
@@ -1054,6 +1057,12 @@
ОписаниеПрофиля.Идентификатор,
Роль);
КонецЕсли;
// Удаление дублей ролей.
Если ПроверенныеРоли.Получить(ВРег(Роль)) <> Неопределено Тогда
ОписаниеПрофиля.Роли.Удалить(ИндексРоли);
Продолжить;
КонецЕсли;
ПроверенныеРоли.Вставить(ВРег(Роль), Истина);
// Проверка соответствия назначения ролей и профиля.
Если НедоступныеРоли.Получить(Роль) <> Неопределено Тогда
ВызватьИсключение ЗаголовокОшибки + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
@@ -9920,6 +9920,25 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>НастройкиПерсонализации</name>
<id>4</id>
<valueType>
<types>ValueList</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<extInfo xsi:type="form:ValueListExtInfo">
<itemValueType>
<types>String</types>
<stringQualifiers/>
</itemValueType>
</extInfo>
</attributes>
<formCommands>
<name>ДобавитьИзменитьШаблонДатыРассылки</name>
<title>
@@ -2808,9 +2808,89 @@
// Инициализация
ПараметрыОтчета = ИнициализироватьОтчет(СтрокаОтчеты, ДобавитьДежурнуюФразу, ПользовательскиеНастройки);
НайтиНастройкиПерсонализации();
Возврат ПараметрыОтчета.Ошибки;
КонецФункции
&НаСервере
Процедура НайтиНастройкиПерсонализации()
НастройкиПерсонализации.Очистить();
Настройки = КомпоновщикНастроекКД.ПользовательскиеНастройки.Элементы;
Для Каждого ЭлементНастройки Из Настройки Цикл
ЗначениеНастройки = Неопределено;
Если ТипЗнч(ЭлементНастройки) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда
ЗначениеНастройки = ЭлементНастройки.ПравоеЗначение;
ИначеЕсли ТипЗнч(ЭлементНастройки) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда
ЗначениеНастройки = ЭлементНастройки.Значение;
Иначе
Продолжить;
КонецЕсли;
Если ЗначениеНастройки <> "[Получатель]" Тогда
Продолжить;
КонецЕсли;
ЗаголовокНастройки = ЗаголовокНастройкиПерсонализации(ЭлементНастройки.ИдентификаторПользовательскойНастройки);
Если ЗаголовокНастройки <> Неопределено Тогда
НастройкиПерсонализации.Добавить(ЗаголовокНастройки);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервере
Функция ЗаголовокНастройкиПерсонализации(ИдентификаторНастройки)
ЗаголовокНастройки = Неопределено;
ОписаниеНастройки = Неопределено;
Настройки = КомпоновщикНастроекКД.Настройки;
ПользовательскиеНастройки = КомпоновщикНастроекКД.ПользовательскиеНастройки;
НайденныеНастройки = ПользовательскиеНастройки.ПолучитьОсновныеНастройкиПоИдентификаторуПользовательскойНастройки(
ИдентификаторНастройки);
Если НайденныеНастройки.Количество() = 0 Тогда
Возврат ЗаголовокНастройки;
КонецЕсли;
ЭлементНастройки = НайденныеНастройки[0];
Если ТипЗнч(ЭлементНастройки) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда
ЗаголовокНастройки = Строка(ЭлементНастройки.ЛевоеЗначение);
ОписаниеНастройки = Настройки.Отбор.ДоступныеПоляОтбора.НайтиПоле(
ЭлементНастройки.ЛевоеЗначение);
ИначеЕсли ТипЗнч(ЭлементНастройки) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда
ЗаголовокНастройки = Строка(ЭлементНастройки.Параметр);
ОписаниеНастройки = Настройки.ПараметрыДанных.ДоступныеПараметры.НайтиПараметр(
ЭлементНастройки.Параметр);
КонецЕсли;
Если ОписаниеНастройки <> Неопределено Тогда
ЗаголовокНастройки = ОписаниеНастройки.Заголовок;
КонецЕсли;
Возврат ЗаголовокНастройки;
КонецФункции
&НаСервере
Процедура ЗаполнитьРасписаниеПоВарианту(Вариант, ОбновитьВидимость = Ложь)
// Список вариантов - см. РассылкаОтчетовКлиентСервер.СписокВариантовЗаполненияРасписаний().
@@ -3069,15 +3149,13 @@
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ПользовательскиеНастройкиЗначение.Имя);
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ПользовательскиеНастройкиЗначение.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("КомпоновщикНастроекКД.ПользовательскиеНастройки.Значение");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = НСтр("ru = '<Пустое значение>'");
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("КомпоновщикНастроекКД.ПользовательскиеНастройки.Настройка");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ОтборЭлемента.ПравоеЗначение = НастройкиПерсонализации;
Элемент.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = '[Получатель]'"));
Элемент.Оформление.УстановитьЗначениеПараметра("ТолькоПросмотр", Истина);
@@ -66,8 +66,15 @@
// КодыЯзыков - Массив - список языков конфигурации. Актуально для мультиязычных конфигураций.
// Элементы - ТаблицаЗначений - данные заполнения. Состав колонок соответствует набору реквизитов
// справочника РолиИсполнителей.
// ТабличныеЧасти - Структура - описание табличных частей объекта, где:
// * Ключ - Строка - имя табличной части;
// * Значение - ТаблицаЗначений - табличная часть в виде таблицы значений, структуру которой
// необходимо скопировать перед заполнением. Например:
// Элемент.Ключи = ТабличныеЧасти.Ключи.Скопировать();
// ЭлементТЧ = Элемент.Ключи.Добавить();
// ЭлементТЧ.ИмяКлюча = "Первичный";
//
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы) Экспорт
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы, ТабличныеЧасти) Экспорт
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "ЛичныеРассылки";
@@ -127,8 +127,15 @@
// КодыЯзыков - Массив - список языков конфигурации. Актуально для мультиязычных конфигураций.
// Элементы - ТаблицаЗначений - данные заполнения. Состав колонок соответствует набору реквизитов
// справочника РолиИсполнителей.
// ТабличныеЧасти - Структура - описание табличных частей объекта, где:
// * Ключ - Строка - имя табличной части;
// * Значение - ТаблицаЗначений - табличная часть в виде таблицы значений, структуру которой
// необходимо скопировать перед заполнением. Например:
// Элемент.Ключи = ТабличныеЧасти.Ключи.Скопировать();
// ЭлементТЧ = Элемент.Ключи.Добавить();
// ЭлементТЧ.ИмяКлюча = "Первичный";
//
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы) Экспорт
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы, ТабличныеЧасти) Экспорт
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "ОтветственныйЗаКонтрольИсполнения";
@@ -134,8 +134,15 @@
// КодыЯзыков - Массив - список языков конфигурации. Актуально для мультиязычных конфигураций.
// Элементы - ТаблицаЗначений - данные заполнения. Состав колонок соответствует набору реквизитов
// справочника СтраныМира.
// ТабличныеЧасти - Структура - описание табличных частей объекта, где:
// * Ключ - Строка - имя табличной части;
// * Значение - ТаблицаЗначений - табличная часть в виде таблицы значений, структуру которой
// необходимо скопировать перед заполнением. Например:
// Элемент.Ключи = ТабличныеЧасти.Ключи.Скопировать();
// ЭлементТЧ = Элемент.Ключи.Добавить();
// ЭлементТЧ.ИмяКлюча = "Первичный";
//
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы) Экспорт
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы, ТабличныеЧасти) Экспорт
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "Россия";
@@ -277,11 +277,16 @@
ВыводитьСостояние = (КоличествоСтрок > 1);
СтрокаСообщения = НСтр("ru = 'Выполняется %1 для %2'");
СтрокаСообщения = "";
Если ТекущиеДанные.ВыполняемоеДействие = ПредопределенноеЗначение("Перечисление.ДействияПриОбмене.ЗагрузкаДанных") Тогда
СтрокаСообщения = НСтр("ru = 'Выполняется получение данных из ""%1"".'");
ИначеЕсли ТекущиеДанные.ВыполняемоеДействие = ПредопределенноеЗначение("Перечисление.ДействияПриОбмене.ВыгрузкаДанных") Тогда
СтрокаСообщения = НСтр("ru = 'Выполняется отправка данных в ""%1"".'");
КонецЕсли;
СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения,
Строка(ТекущиеДанные.ВыполняемоеДействие),
Строка(ТекущиеДанные.УзелИнформационнойБазы));
//
ТекущиеДанные.УзелИнформационнойБазы);
Прогресс = Окр(100 * (НомерОбрабатываемойСтроки -1) / ?(КоличествоСтрок = 0, 1, КоличествоСтрок));
Состояние(СтрокаСообщения, ?(ВыводитьСостояние, Прогресс, Неопределено));
@@ -139,8 +139,15 @@
// КодыЯзыков - Массив - список языков конфигурации. Актуально для мультиязычных конфигураций.
// Элементы - ТаблицаЗначений - данные заполнения. Состав колонок соответствует набору реквизитов
// справочника УчетныеЗаписиЭлектроннойПочты.
// ТабличныеЧасти - Структура - описание табличных частей объекта, где:
// * Ключ - Строка - имя табличной части;
// * Значение - ТаблицаЗначений - табличная часть в виде таблицы значений, структуру которой
// необходимо скопировать перед заполнением. Например:
// Элемент.Ключи = ТабличныеЧасти.Ключи.Скопировать();
// ЭлементТЧ = Элемент.Ключи.Добавить();
// ЭлементТЧ.ИмяКлюча = "Первичный";
//
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы) Экспорт
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы, ТабличныеЧасти) Экспорт
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "СистемнаяУчетнаяЗаписьЭлектроннойПочты";
@@ -84,9 +84,17 @@
//
// Параметры:
// КодыЯзыков - Массив - список языков конфигурации. Актуально для мультиязычных конфигураций.
// Элементы - ТаблицаЗначений - данные заполнения. Состав колонок соответствует набору реквизитов объекта ПВХ ОбъектыАдресацииЗада.
// Элементы - ТаблицаЗначений - данные заполнения. Состав колонок соответствует набору реквизитов
// объекта ПВХ ОбъектыАдресацииЗада.
// ТабличныеЧасти - Структура - описание табличных частей объекта, где:
// * Ключ - Строка - имя табличной части;
// * Значение - ТаблицаЗначений - табличная часть в виде таблицы значений, структуру которой
// необходимо скопировать перед заполнением. Например:
// Элемент.Ключи = ТабличныеЧасти.Ключи.Скопировать();
// ЭлементТЧ = Элемент.Ключи.Добавить();
// ЭлементТЧ.ИмяКлюча = "Первичный";
//
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы) Экспорт
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы, ТабличныеЧасти) Экспорт
Элемент = Элементы.Добавить();
Элемент.ИмяПредопределенныхДанных = "ВсеОбъектыАдресации";
@@ -637,6 +637,10 @@
<items xsi:type="form:FormField">
<name>ЗначенияДоступаНомерСтрокиПоВиду</name>
<id>62</id>
<title>
<key>ru</key>
<value>N</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -731,6 +735,47 @@
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ЗначенияДоступаВключаяНижестоящие</name>
<id>139</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ЗначенияДоступа.ВключаяНижестоящие</segments>
</dataPath>
<titleLocation>None</titleLocation>
<toolTip>
<key>ru</key>
<value>Включая нижестоящие (с иерархией)</value>
</toolTip>
<extendedTooltip>
<name>ЗначенияДоступаВключаяНижестоящиеРасширеннаяПодсказка</name>
<id>141</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ЗначенияДоступаВключаяНижестоящиеКонтекстноеМеню</name>
<id>140</id>
<autoFill>true</autoFill>
</contextMenu>
<type>CheckBoxField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerPicture xsi:type="core:PictureRef">
<picture>CommonPicture.ИерархическийСписок</picture>
</headerPicture>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
</items>
<autoCommandBar>
<name>ЗначенияДоступаКоманднаяПанель</name>
<id>29</id>
@@ -842,6 +887,7 @@
<heightInTableRows>2</heightInTableRows>
<autoMaxRowsCount>true</autoMaxRowsCount>
<selectionMode>MultiRow</selectionMode>
<header>true</header>
<headerHeight>1</headerHeight>
<footerHeight>1</footerHeight>
<horizontalScrollBar>AutoUse</horizontalScrollBar>
@@ -1319,6 +1365,23 @@
<common>true</common>
</edit>
</columns>
<columns>
<name>ВключаяНижестоящие</name>
<title>
<key>ru</key>
<value>Включая нижестоящие</value>
</title>
<id>2</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
</attributes>
<attributes>
<name>НадписьВидДоступа</name>
@@ -492,7 +492,7 @@
ОтборПрофилейТолькоТекущегоПользователя);
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| Профили.Ссылка,
| Профили.Ссылка КАК Ссылка,
| ЕСТЬNULL(ГруппыДоступа.Ссылка, НЕОПРЕДЕЛЕНО) КАК ПерсональнаяГруппаДоступа,
| ВЫБОР
| КОГДА ГруппыДоступаПользователи.Ссылка ЕСТЬ NULL
@@ -512,14 +512,14 @@
|ГДЕ
| НЕ Профили.ПометкаУдаления
| И НЕ(&ОтборПрофилейТолькоТекущегоПользователя = ИСТИНА
| И ГруппыДоступаПользователи.Ссылка ЕСТЬ NULL )
| И ГруппыДоступаПользователи.Ссылка ЕСТЬ NULL)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Профили.Ссылка КАК Профиль,
| Профили.Ссылка.Наименование КАК ПрофильПредставление,
| Профили.Пометка,
| Профили.Пометка КАК Пометка,
| Профили.ПерсональнаяГруппаДоступа КАК ГруппаДоступа
|ИЗ
| Профили КАК Профили
@@ -531,7 +531,7 @@
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Профили.Ссылка КАК ГруппаДоступа,
| ПрофилиВидыДоступа.ВидДоступа,
| ПрофилиВидыДоступа.ВидДоступа КАК ВидДоступа,
| ЕСТЬNULL(ГруппыДоступаВидыДоступа.ВсеРазрешены, ПрофилиВидыДоступа.ВсеРазрешены) КАК ВсеРазрешены,
| """" КАК ВидДоступаПредставление,
| """" КАК ВсеРазрешеныПредставление
@@ -553,9 +553,10 @@
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Профили.Ссылка КАК ГруппаДоступа,
| ПрофилиВидыДоступа.ВидДоступа,
| ПрофилиВидыДоступа.ВидДоступа КАК ВидДоступа,
| 0 КАК НомерСтрокиПоВиду,
| ГруппыДоступаЗначенияДоступа.ЗначениеДоступа
| ГруппыДоступаЗначенияДоступа.ЗначениеДоступа КАК ЗначениеДоступа,
| ГруппыДоступаЗначенияДоступа.ВключаяНижестоящие КАК ВключаяНижестоящие
|ИЗ
| Профили КАК Профили
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ПрофилиГруппДоступа.ВидыДоступа КАК ПрофилиВидыДоступа
@@ -597,7 +598,7 @@
Запрос.УстановитьПараметр("Профили", Профили.Выгрузить(, "Профиль, Пометка"));
Запрос.УстановитьПараметр("ВидыДоступа", ВидыДоступа.Выгрузить(, "ГруппаДоступа, ВидДоступа, ВсеРазрешены"));
ТаблицаЗначений = ЗначенияДоступа.Выгрузить(, "ГруппаДоступа, ВидДоступа, ЗначениеДоступа");
ТаблицаЗначений = ЗначенияДоступа.Выгрузить(, "ГруппаДоступа, ВидДоступа, ЗначениеДоступа, ВключаяНижестоящие");
ТаблицаЗначений.Колонки.Добавить("НомерСтроки", Новый ОписаниеТипов("Число",,,
Новый КвалификаторыЧисла(10, 0, ДопустимыйЗнак.Неотрицательный)));
@@ -636,7 +637,8 @@
| ЗначенияДоступа.ГруппаДоступа КАК Профиль,
| ЗначенияДоступа.ВидДоступа,
| ЗначенияДоступа.НомерСтроки,
| ЗначенияДоступа.ЗначениеДоступа
| ЗначенияДоступа.ЗначениеДоступа,
| ЗначенияДоступа.ВключаяНижестоящие
|ПОМЕСТИТЬ ЗначенияДоступа
|ИЗ
| &ЗначенияДоступа КАК ЗначенияДоступа
@@ -682,7 +684,8 @@
| Профили.Ссылка КАК Профиль,
| ГруппыДоступаЗначенияДоступа.ВидДоступа,
| ГруппыДоступаЗначенияДоступа.НомерСтроки,
| ГруппыДоступаЗначенияДоступа.ЗначениеДоступа
| ГруппыДоступаЗначенияДоступа.ЗначениеДоступа,
| ГруппыДоступаЗначенияДоступа.ВключаяНижестоящие
|ПОМЕСТИТЬ ТекущиеЗначенияДоступа
|ИЗ
| ТекущиеПрофили КАК Профили
@@ -741,6 +744,7 @@
| И ЗначенияДоступа.ВидДоступа = ТекущиеЗначенияДоступа.ВидДоступа
| И ЗначенияДоступа.НомерСтроки = ТекущиеЗначенияДоступа.НомерСтроки
| И ЗначенияДоступа.ЗначениеДоступа = ТекущиеЗначенияДоступа.ЗначениеДоступа
| И ЗначенияДоступа.ВключаяНижестоящие = ТекущиеЗначенияДоступа.ВключаяНижестоящие
| ГДЕ
| ТекущиеЗначенияДоступа.ВидДоступа ЕСТЬ NULL
|
@@ -755,6 +759,7 @@
| И (ЗначенияДоступа.ВидДоступа = ТекущиеЗначенияДоступа.ВидДоступа)
| И (ЗначенияДоступа.НомерСтроки = ТекущиеЗначенияДоступа.НомерСтроки)
| И (ЗначенияДоступа.ЗначениеДоступа = ТекущиеЗначенияДоступа.ЗначениеДоступа)
| И (ЗначенияДоступа.ВключаяНижестоящие = ТекущиеЗначенияДоступа.ВключаяНижестоящие)
| ГДЕ
| ЗначенияДоступа.ВидДоступа ЕСТЬ NULL ) КАК ПрофилиИзмененныхГрупп
|;
@@ -841,7 +846,7 @@
Отбор = Новый Структура("ГруппаДоступа", Изменение.Профиль);
ГруппаДоступаОбъект.ВидыДоступа.Загрузить(ВидыДоступа.Выгрузить(Отбор, "ВидДоступа, ВсеРазрешены"));
ГруппаДоступаОбъект.ЗначенияДоступа.Загрузить(ЗначенияДоступа.Выгрузить(Отбор, "ВидДоступа, ЗначениеДоступа"));
ГруппаДоступаОбъект.ЗначенияДоступа.Загрузить(ЗначенияДоступа.Выгрузить(Отбор, "ВидДоступа, ЗначениеДоступа, ВключаяНижестоящие"));
КонецЕсли;
ГруппаДоступаОбъект.Записать();
@@ -1387,11 +1387,17 @@
Элементы.ИзменитьВариант.Видимость = ПоказыватьКомандыИзмененияВарианта;
Элементы.ВыбратьВариант.Видимость = ПоказыватьКомандыВыбораВариантов;
РазрешеноИспользоватьНастройки = ПоказыватьКомандыВыбораВариантов И КоличествоДоступныхНастроек.Итог > 0;
РазрешеноИспользоватьНастройки =
ПоказыватьКомандыВыбораВариантов
И КоличествоДоступныхНастроек.Итог > 0
И ОбщегоНазначенияКлиентСервер.ЗначениеСвойстваЭлементаФормы(Элементы, "ВыбратьНастройки", "Видимость");
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ВыбратьНастройки", "Видимость", РазрешеноИспользоватьНастройки);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "СохранитьНастройки", "Видимость", РазрешеноИспользоватьНастройки);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ПоделитьсяНастройками", "Видимость", РазрешеноИспользоватьНастройки);
Элементы.ИзменитьУсловияОтборов.Видимость = КоличествоДоступныхНастроек.Итог > 0 И РежимВариантаОтчета();
@@ -136,6 +136,9 @@
КонецФункции
// Возвращает количество загруженных в адресный классификатор субъектов РФ.
// Из-за проверки доступности веб-сервиса выполнение функции может занимать 7 секунд.
// Поэтому для исключения зависаний пользовательского интерфейса, например при открытии формы,
// следует вызвать в фоновом задании.
// Т.к. при использовании веб-сервиса фирмы "1С" предоставляющего через Интернет сведения об
// адресах РФ в формате ФИАС, всегда доступны адресные сведения по всем регионам РФ,
// то возвращает общее количество субъектов РФ.
@@ -145,7 +148,7 @@
//
Функция КоличествоЗагруженныхРегионов() Экспорт
Если АдресныйКлассификаторСлужебный.ИсточникДанныхАдресногоКлассификатораВебСервис() Тогда
Если АдресныйКлассификаторПовтИсп.ИсточникДанныхАдресногоКлассификатораВебСервис() Тогда
Возврат СубъектыРФ().Количество();
КонецЕсли;
@@ -185,19 +188,19 @@
КонецФункции
// Определяет наличие адресных сведений в адресном классификаторе.
// Из-за проверки доступности веб-сервиса выполнение функции может занимать 7 секунд.
// Поэтому для исключения зависаний пользовательского интерфейса, например при открытии формы,
// функцию следует вызвать в фоновом задании.
// При использовании веб-сервиса фирмы "1С" предоставляющего через Интернет сведения об
// адресах РФ в формате ФИАС, всегда возвращает Истина, если подключена интернет-поддержка пользователей.
//
// Возвращаемое значение:
// Булево - Истина, если адресный классификатор содержит сведения хотя бы по одному региону;
// Ложь, если адресные сведения отсутствуют.
// Булево - Истина, если адресный классификатор содержит сведения хотя бы по одному региону
// или подключен и доступен веб-сервис.
// Ложь, если адресные сведения отсутствуют, а веб-сервис недоступен.
//
Функция АдресныйКлассификаторЗагружен() Экспорт
Если АдресныйКлассификаторСлужебный.ИсточникДанныхАдресногоКлассификатораВебСервис() Тогда
Возврат Истина;
КонецЕсли;
Запрос = Новый Запрос("
|ВЫБРАТЬ ПЕРВЫЕ 1
| КодСубъектаРФ
@@ -207,11 +210,19 @@
| Уровень > 1
|");
Возврат Не Запрос.Выполнить().Пустой();
Если Не Запрос.Выполнить().Пустой() Тогда
Возврат Истина;
КонецЕсли;
Возврат АдресныйКлассификаторПовтИсп.ИсточникДанныхАдресногоКлассификатораВебСервис();
КонецФункции
// Проверяет адреса на соответствие адресному классификатору
// и возвращает подходящие варианты, содержащие сведения об адресе.
// При проверке адреса через веб-сервиса выполнение функции может занимать 20 секунд.
// Поэтому для исключения зависаний пользовательского интерфейса, например при открытии формы,
// функцию следует вызвать в фоновом задании.
//
// Параметры:
// Адреса - Массив - проверяемые адреса. Содержит структуры с полями:
@@ -311,6 +322,9 @@
// Возвращает коды адрес (ОКТМО, ОКАТО, налоговых инспекций ФНС и др.) и
// уникальные идентификационные коды адресного объекта и дома.
// Кода не будут заполнены, если адрес не соответствует ФИАС или содержит адресные поля без идентификаторов.
// При получении кодов через веб-сервиса выполнение функции может занимать 20 секунд.
// Поэтому для исключения зависаний пользовательского интерфейса, например при открытии формы,
// функцию следует вызвать в фоновом задании.
//
// Параметры:
// Адрес - Строка - адрес во внутреннем формате JSON или XML, соответствующий структуре XDTO-пакета Адрес.
@@ -150,4 +150,16 @@
КонецФункции
// Возвращает является ли источником данных веб сервис.
//
// Возвращаемое значение:
// Булево - Если веб сервис является источником адресных сведений, то возвращает Истина.
//
Функция ИсточникДанныхАдресногоКлассификатораВебСервис() Экспорт
СервисРезультат = АдресныйКлассификаторСлужебный.ВерсияПоставщикаДанных();
Возврат СервисРезультат.Данные = Истина;
КонецФункции
#КонецОбласти
@@ -1178,7 +1178,7 @@
ТекстGETЗапроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("selectByCode?code=%1&codeType=ID",
Строка(ИдентификаторОбъекта));
РезультатВебСервис = ВыполнитьЗапросЧерезВебСервис(ТекстGETЗапроса);
РезультатВебСервис = ВыполнитьЗапросЧерезВебСервис(ТекстGETЗапроса, 20);
Если НЕ РезультатВебСервис.Отказ И РезультатВебСервис.Данные.Количество() > 0 Тогда
@@ -3602,10 +3602,11 @@
КонецФункции
// Заполнение результата проверки адресного объекта по данным сервиса.
// Выполнение запроса может занимать 20 секунд.
//
Процедура ЗаполнитьРезультатПроверкиАдресаПоКлассификаторуСервис1С(Результат, Знач АдресаДляПроверки)
Сервис = АдресныйКлассификаторПовтИсп.СервисКлассификатора1С();
Сервис = АдресныйКлассификаторПовтИсп.СервисКлассификатора1С(20);
ПрефиксВерсииЗапроса = ПрефиксВерсииЗапроса();
@@ -5313,18 +5314,6 @@
Возврат "rest/v2/";
КонецФункции
// Возвращает является ли источником данных веб сервис.
//
// Возвращаемое значение:
// Булево - Если веб сервис является источником адресных сведений, то возвращает Истина.
//
Функция ИсточникДанныхАдресногоКлассификатораВебСервис() Экспорт
СервисРезультат = ВерсияПоставщикаДанных();
Возврат СервисРезультат.Данные = Истина;
КонецФункции
// Возвращает информацию из классификатора субъектов РФ.
//
// Возвращаемое значение:
@@ -6851,7 +6840,7 @@
КонецФункции
Функция ВыполнитьЗапросЧерезВебСервис(СтрокаЗапроса, ВремяОжидания = 120)
Функция ВыполнитьЗапросЧерезВебСервис(СтрокаЗапроса, ВремяОжидания = 60)
Сервис = АдресныйКлассификаторПовтИсп.СервисКлассификатора1С(ВремяОжидания);
@@ -42,6 +42,7 @@
ВключитьОтключенныеРегламентныеЗадания(ПараметрыБлокировки);
ПараметрыБлокировки = ТекущиеПараметрыБлокировки();
ПараметрыБлокировки.ПроверятьИмяСервера = ПараметрыБлокировки.ПроверятьИмяСервера;
СохранитьПараметрыБлокировки(ПараметрыБлокировки);
Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
@@ -352,7 +353,7 @@
Если ОбщегоНазначения.РазделениеВключено() Тогда
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОчередьЗаданий") Тогда
Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.ОчередьЗаданий") Тогда
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
ОбластьДанных = МодульРаботаВМоделиСервиса.ЗначениеРазделителяСеанса();
ИмяМетода = РегламентноеЗадание.ИмяМетода;
@@ -396,7 +397,7 @@
Для Каждого ИдентификаторЗадания Из ПараметрыБлокировки.ОтключенныеЗадания Цикл
Если ОбщегоНазначения.РазделениеВключено() Тогда
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОчередьЗаданий") Тогда
Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.ОчередьЗаданий") Тогда
Если ТипЗнч(ИдентификаторЗадания) = Тип("УникальныйИдентификатор") Тогда
Продолжить;
КонецЕсли;
@@ -2167,15 +2167,25 @@
КонецФункции
Функция МетаданныеТабличнойЧасти(МетаданныеОбъекта, ИмяТабличнойЧасти) Экспорт
Результат = МетаданныеОбъекта.ТабличныеЧасти.Найти(ИмяТабличнойЧасти);
Если Результат = Неопределено Тогда
Попытка
Результат = МетаданныеОбъекта.СтандартныеТабличныеЧасти[ИмяТабличнойЧасти];
Исключение
Результат = Неопределено;
КонецПопытки;
ТабличнаяЧасть = МетаданныеОбъекта.ТабличныеЧасти.Найти(ИмяТабличнойЧасти);
Если ТабличнаяЧасть <> Неопределено Тогда
Возврат ТабличнаяЧасть;
КонецЕсли;
Возврат Результат;
Если Не Метаданные.ПланыСчетов.Содержит(МетаданныеОбъекта)
И Не Метаданные.ПланыВидовРасчета.Содержит(МетаданныеОбъекта) Тогда
Возврат Неопределено;
КонецЕсли;
Попытка
ТабличнаяЧасть = МетаданныеОбъекта.СтандартныеТабличныеЧасти[ИмяТабличнойЧасти];
Исключение
ТабличнаяЧасть = Неопределено;
КонецПопытки;
Возврат ТабличнаяЧасть;
КонецФункции
Функция МетаданныеРеквизитаТабличнойЧасти(МетаданныеТабличнойЧасти, ИмяРеквизита) Экспорт
@@ -8,7 +8,7 @@
#Область ПрограммныйИнтерфейс
// Структура параметров для см. процедуру ПодключитьКомпоненту.
// Параметры для вызова процедуры ВнешниеКомпонентыКлиент.ПодключитьКомпоненту.
//
// Возвращаемое значение:
// Структура - коллекция параметров:
@@ -553,7 +553,7 @@
ИспользуемаяОбработкаСсылка = ИспользуемаяОбработка(ПоставляемаяОбработка);
Если ЗначениеЗаполнено(ИспользуемаяОбработкаСсылка) Тогда
ЭлементБлокировки = Блокировка.Добавить("Справочник.ДополнительныеОтчетыИОбработки");
ЭлементБлокировки.УстановитьЗначение("ПоставляемаяОбработка", ПоставляемаяОбработка);
ЭлементБлокировки.УстановитьЗначение("Ссылка", ПоставляемаяОбработка);
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.ИспользованиеПоставляемыхДополнительныхОтчетовИОбработокВОбластяхДанных");
ЭлементБлокировки.УстановитьЗначение("ПоставляемаяОбработка", ПоставляемаяОбработка);
КонецЕсли;
@@ -944,6 +944,8 @@
СтрокаПараметра.Имя = "РазрешитьВыполнениеДополнительныхОтчетовИОбработокРегламентнымиЗаданиямиВМоделиСервиса";
СтрокаПараметра = МодульРаботаВМоделиСервиса.ДобавитьКонстантуВТаблицуПараметровИБ(ТаблицаПараметров, "МинимальныйИнтервалРегламентныхЗаданийДОИОВМоделиСервиса");
СтрокаПараметра.Имя = "МинимальныйИнтервалРегламентныхЗаданийДополнительныхОтчетовИОбработокВМоделиСервиса";
СтрокаПараметра = МодульРаботаВМоделиСервиса.ДобавитьКонстантуВТаблицуПараметровИБ(ТаблицаПараметров, "ИспользоватьПрофилиБезопасностиДляДОО");
СтрокаПараметра.Имя = "ИспользоватьПрофилиБезопасностиДляДОиО";
КонецЕсли;
@@ -963,6 +965,7 @@
// Для поддержки совместимости удаляются параметры со старыми именами констант и добавляются с новыми.
РазрешитьВыполнениеДООРегламентнымиЗаданиямиВМоделиСервиса = Неопределено;
МинимальныйИнтервалРегламентныхЗаданийДОИОВМоделиСервиса = Неопределено;
ИспользоватьПрофилиБезопасностиДляДОО = Неопределено;
Если ЗначенияПараметров.Свойство("РазрешитьВыполнениеДополнительныхОтчетовИОбработокРегламентнымиЗаданиямиВМоделиСервиса",
РазрешитьВыполнениеДООРегламентнымиЗаданиямиВМоделиСервиса) Тогда
@@ -988,6 +991,14 @@
КонецЕсли;
Если ЗначенияПараметров.Свойство("ИспользоватьПрофилиБезопасностиДляДОиО",
ИспользоватьПрофилиБезопасностиДляДОО) Тогда
ЗначенияПараметров.Вставить("ИспользоватьПрофилиБезопасностиДляДОО", ИспользоватьПрофилиБезопасностиДляДОО);
ЗначенияПараметров.Удалить("ИспользоватьПрофилиБезопасностиДляДОиО");
КонецЕсли;
КонецПроцедуры
// Обработчик события ПриОпределенииПсевдонимовОбработчиков.
@@ -1463,7 +1463,7 @@
МодульРаботаСФайламиСлужебный.ПриОпределенииОбъектовСНачальнымЗаполнением(Объекты);
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РассылкиОтчетов") Тогда
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РассылкаОтчетов") Тогда
МодульРассылкаОтчетов = ОбщегоНазначения.ОбщийМодуль("РассылкаОтчетов");
МодульРассылкаОтчетов.ПриОпределенииОбъектовСНачальнымЗаполнением(Объекты);
КонецЕсли;
@@ -1183,10 +1183,7 @@
//
Процедура ЗапланироватьОбновлениеДанныхЗависимыхОтПроизводственныхКалендарей(Знач УсловияОбновления)
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.КалендарныеГрафикиВМоделиСервиса") Тогда
МодульКалендарныеГрафикиСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("КалендарныеГрафикиСлужебныйВМоделиСервиса");
МодульКалендарныеГрафикиСлужебныйВМоделиСервиса.ЗапланироватьОбновлениеДанныхЗависимыхОтПроизводственныхКалендарей(УсловияОбновления);
КонецЕсли;
КалендарныеГрафикиСлужебный.ЗапланироватьОбновлениеДанныхЗависимыхОтПроизводственныхКалендарей(УсловияОбновления);
КонецПроцедуры
@@ -21,7 +21,7 @@
ПараметрыМетода.Добавить(Новый УникальныйИдентификатор);
ПараметрыЗадания = Новый Структура;
ПараметрыЗадания.Вставить("ИмяМетода", "КалендарныеГрафикиСлужебныйВМоделиСервиса.ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей");
ПараметрыЗадания.Вставить("ИмяМетода", "КалендарныеГрафикиСлужебный.ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей");
ПараметрыЗадания.Вставить("Параметры", ПараметрыМетода);
ПараметрыЗадания.Вставить("КоличествоПовторовПриАварийномЗавершении", 3);
ПараметрыЗадания.Вставить("ОбластьДанных", -1);
@@ -39,7 +39,7 @@
// См. ОчередьЗаданийПереопределяемый.ПриОпределенииПсевдонимовОбработчиков.
Процедура ПриОпределенииПсевдонимовОбработчиков(СоответствиеИменПсевдонимам) Экспорт
СоответствиеИменПсевдонимам.Вставить("КалендарныеГрафикиСлужебныйВМоделиСервиса.ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей");
СоответствиеИменПсевдонимам.Вставить("КалендарныеГрафикиСлужебный.ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей");
КонецПроцедуры
@@ -643,7 +643,7 @@
Процедура ЗаполнитьЭлементыНачальнымиДанными(ОбновитьМультиязычныеСтроки = Ложь) Экспорт
ОбъектыСНачальнымЗаполнением = ОбъектыСНачальнымЗаполнением();
ОбъектыСНачальнымЗаполнением = ОбъектыСНачальнымЗаполнением();
Языки = ЯзыкиКонфигурации();
ЛокализуемыеРеквизиты = Новый Соответствие;
@@ -657,9 +657,26 @@
ПредопределенныеДанные = ПредопределенныеДанныеОбъекта(МетаданныеОбъекта, МенеджерОбъекта, ЛокализуемыеРеквизитыОбъекта);
НастройкиПредопределенныхЭлементов = НастройкиПредопределенныхЭлементов(МенеджерОбъекта, ПредопределенныеДанные);
ТабличныеЧасти = Новый Массив;
Для Каждого ИмяТабличнойЧасти Из МетаданныеОбъекта.ТабличныеЧасти Цикл
Если ПредопределенныеДанные.Колонки.Найти(ИмяТабличнойЧасти.Имя) <> Неопределено Тогда
ТабличныеЧасти.Добавить(ИмяТабличнойЧасти.Имя);
КонецЕсли;
КонецЦикла;
РеквизитыИсключения = ?(СтрНачинаетсяС(МетаданныеОбъекта.ПолноеИмя(), "ПланВидовХарактеристик"), "ТипЗначения", "");
ПоддерживаетсяИерархия = ПредопределенныеДанные.Колонки.Найти("ЭтоГруппа") <> Неопределено;
РеквизитыСЭлементами = Новый Массив;
Если ПоддерживаетсяИерархия Тогда
ДляЭлемента = Метаданные.СвойстваОбъектов.ИспользованиеРеквизита.ДляЭлемента;
Для Каждого Реквизит Из МетаданныеОбъекта.Реквизиты Цикл
Если Реквизит.Использование = ДляЭлемента Тогда
РеквизитыСЭлементами.Добавить(Реквизит.Имя);
КонецЕсли;
КонецЦикла;
КонецЕсли;
НачатьТранзакцию();
Попытка
@@ -687,7 +704,21 @@
КонецЕсли;
Если Не ОбновитьМультиязычныеСтроки Тогда
ЗаполнитьЗначенияСвойств(ЗаполняемыйЭлемент, СтрокаТаблицы,, РеквизитыИсключения);
КромеРеквизитов = РеквизитыИсключения;
Если ПоддерживаетсяИерархия И ЗаполняемыйЭлемент.ЭтоГруппа Тогда
КромеРеквизитов = РеквизитыИсключения
+ ?(ПустаяСтрока(РеквизитыИсключения), "", ",") + СтрСоединить(РеквизитыСЭлементами, ",");
КонецЕсли;
ЗаполнитьЗначенияСвойств(ЗаполняемыйЭлемент, СтрокаТаблицы,, КромеРеквизитов);
Если НЕ (ПоддерживаетсяИерархия И ЗаполняемыйЭлемент.ЭтоГруппа) Тогда
Для Каждого ИмяТабличнойЧасти Из ТабличныеЧасти Цикл
ЗаполняемыйЭлемент[ИмяТабличнойЧасти].Загрузить(СтрокаТаблицы[ИмяТабличнойЧасти]);
КонецЦикла;
КонецЕсли;
КонецЕсли;
Если ЛокализуемыеРеквизитыОбъекта.Количество() > 0 Тогда
@@ -714,7 +745,7 @@
КонецЦикла;
КонецЕсли;
Иначе
ИначеЕсли НЕ (ПоддерживаетсяИерархия И ЗаполняемыйЭлемент.ЭтоГруппа) Тогда
Для каждого КодЯзыка Из Языки Цикл
НовоеПредставление = ЗаполняемыйЭлемент.Представления.Добавить();
@@ -1079,6 +1110,7 @@
Языки = ЯзыкиКонфигурации();
ПредопределенныеДанные = Новый ТаблицаЗначений;
ТабличныеЧасти = Новый Структура;
Для Каждого Реквизит Из МетаданныеОбъекта.СтандартныеРеквизиты Цикл
ДобавитьКолонкуТаблицыПредопределенныхДанных(ПредопределенныеДанные, Реквизит, ЛокализуемыеРеквизитыОбъекта, Языки);
@@ -1088,11 +1120,26 @@
ДобавитьКолонкуТаблицыПредопределенныхДанных(ПредопределенныеДанные, Реквизит, ЛокализуемыеРеквизитыОбъекта, Языки);
КонецЦикла;
Для Каждого ТабличнаяЧасть Из МетаданныеОбъекта.ТабличныеЧасти Цикл
ПредопределенныеДанные.Колонки.Добавить(ТабличнаяЧасть.Имя, Новый ОписаниеТипов("ТаблицаЗначений"));
Таблица = Новый ТаблицаЗначений;
Для Каждого Реквизит Из ТабличнаяЧасть.СтандартныеРеквизиты Цикл
ДобавитьКолонкуТаблицыПредопределенныхДанных(Таблица, Реквизит, ЛокализуемыеРеквизитыОбъекта, Языки);
КонецЦикла;
Для Каждого Реквизит Из ТабличнаяЧасть.Реквизиты Цикл
ДобавитьКолонкуТаблицыПредопределенныхДанных(Таблица, Реквизит, ЛокализуемыеРеквизитыОбъекта, Языки);
КонецЦикла;
ТабличныеЧасти.Вставить(ТабличнаяЧасть.Имя, Таблица);
КонецЦикла;
Если ПредопределенныеДанные.Колонки.Найти("ИмяПредопределенныхДанных") <> Неопределено Тогда
ПредопределенныеДанные.Индексы.Добавить("ИмяПредопределенныхДанных");
КонецЕсли;
МенеджерОбъекта.ПриНачальномЗаполненииЭлементов(Языки, ПредопределенныеДанные);
МенеджерОбъекта.ПриНачальномЗаполненииЭлементов(Языки, ПредопределенныеДанные, ТабличныеЧасти);
Возврат ПредопределенныеДанные;
КонецФункции
@@ -257,11 +257,9 @@
СоседняяСтрока = Родитель.Строки.Получить(ИндексСоседнего);
СоседнийЭлементСсылка = СоседняяСтрока.Ссылка;
Элементы = Новый Массив;
Элементы.Добавить(ТекущийЭлементСсылка);
Элементы.Добавить(СоседнийЭлементСсылка);
ПоменятьЭлементыМестами(ТекущийЭлементСсылка, СоседнийЭлементСсылка, Информация.ПолноеИмя);
Если Не Информация.ЕстьГруппы Или Информация.ДляГрупп Или Не СоседнийЭлементСсылка.ЭтоГруппа Тогда
ПоменятьЭлементыМестами(ТекущийЭлементСсылка, СоседнийЭлементСсылка, Информация.ПолноеИмя);
КонецЕсли;
КонецЕсли;
Возврат "";
@@ -1561,12 +1561,6 @@
// Задача: получение ссылки.
// Идентификация: по УИД.
// Объект с полученной ссылкой (или с таким публичным идентификатором) не найден.
ЗаписатьПриНеобходимостиПубличныйИдентификатор(
ДанныеИБ,
ПолученныеДанныеСсылка,
ДанныеXDTO.Ссылка.Значение,
КомпонентыОбмена.УзелКорреспондента,
ПравилоКонвертации);
Возврат ПолученныеДанныеСсылка;
КонецЕсли;
@@ -4166,8 +4160,10 @@
Если Не ОбъектXDTO.Установлено(Свойство) Тогда
Если Свойство.НижняяГраница = 1
И Не Свойство.ВозможноПустое Тогда
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.СформироватьСтрокуСимволов(" ", Уровень);
СообщениеОбОшибке = СообщениеОбОшибке + "->" + Свойство.Имя + " - " + НСтр("ru = 'не заполнено обязательное поле.'");
Отступ = СтроковыеФункцииКлиентСервер.СформироватьСтрокуСимволов(" ", Уровень);
СообщениеОбОшибке = Отступ + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '%1: не заполнено обязательное поле.'"),
Свойство.Имя);
СтекОшибок.Добавить(СообщениеОбОшибке);
КонецЕсли;
Продолжить;
@@ -4189,8 +4185,10 @@
Попытка
Свойство.Тип.Проверить(ЗначениеСвойстваXDTO.ЛексическоеЗначение);
Исключение
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.СформироватьСтрокуСимволов(" ", Уровень);
СообщениеОбОшибке = СообщениеОбОшибке + "->" + Свойство.Имя + " - " + НСтр("ru = 'значение поля не соответствует заданным ограничениям.'");
Отступ = СтроковыеФункцииКлиентСервер.СформироватьСтрокуСимволов(" ", Уровень);
СообщениеОбОшибке = Отступ + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '%1: значение поля не соответствует заданным ограничениям.'"),
Свойство.Имя);
СтекОшибок.Добавить(СообщениеОбОшибке);
КонецПопытки;
ИначеЕсли ЭтоСписокXDTO Тогда
@@ -4201,8 +4199,8 @@
ЗаполнитьОшибкиПроверкиОбъектаXDTO(ЭлементСпискаXDTO, Свойство.Тип, НовыйСтекОшибок, Уровень + 1);
Если НовыйСтекОшибок.Количество() > 0 Тогда
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.СформироватьСтрокуСимволов(" ", Уровень);
СообщениеОбОшибке = СообщениеОбОшибке + "->" + Свойство.Имя + "[" + XMLСтрока(Сч) + "]";
Отступ = СтроковыеФункцииКлиентСервер.СформироватьСтрокуСимволов(" ", Уровень);
СообщениеОбОшибке = Отступ + Свойство.Имя + "[" + XMLСтрока(Сч) + "]";
СтекОшибок.Добавить(СообщениеОбОшибке);
Для Каждого НоваяОшибка Из НовыйСтекОшибок Цикл
СтекОшибок.Добавить(НоваяОшибка);
@@ -4214,8 +4212,8 @@
ЗаполнитьОшибкиПроверкиОбъектаXDTO(ЗначениеСвойстваXDTO, Свойство.Тип, НовыйСтекОшибок, Уровень + 1);
Если НовыйСтекОшибок.Количество() > 0 Тогда
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.СформироватьСтрокуСимволов(" ", Уровень);
СообщениеОбОшибке = СообщениеОбОшибке + "->" + Свойство.Имя;
Отступ = СтроковыеФункцииКлиентСервер.СформироватьСтрокуСимволов(" ", Уровень);
СообщениеОбОшибке = Отступ + Свойство.Имя;
СтекОшибок.Добавить(СообщениеОбОшибке);
Для Каждого НоваяОшибка Из НовыйСтекОшибок Цикл
СтекОшибок.Добавить(НоваяОшибка);
@@ -190,14 +190,20 @@
Типы.Добавить(Метаданные.РегистрыСведений.ДанныеОбъектовДляРегистрацииВОбменах);
Типы.Добавить(Метаданные.РегистрыСведений.ИзмененияОбщихДанныхУзлов);
Типы.Добавить(Метаданные.РегистрыСведений.НастройкиОбменаДаннымиXDTO);
Типы.Добавить(Метаданные.РегистрыСведений.НастройкиТранспортаОбменаДанными);
Типы.Добавить(Метаданные.РегистрыСведений.НастройкиТранспортаОбменаОбластиДанных);
Типы.Добавить(Метаданные.РегистрыСведений.ОбработчикиСобытийСинхронизацииДанных);
Типы.Добавить(Метаданные.РегистрыСведений.ОбщиеНастройкиУзловИнформационныхБаз);
Типы.Добавить(Метаданные.РегистрыСведений.ПсевдонимыПредопределенныхУзлов);
Типы.Добавить(Метаданные.РегистрыСведений.ПубличныеИдентификаторыСинхронизируемыхОбъектов);
Типы.Добавить(Метаданные.РегистрыСведений.РезультатыОбменаДанными);
Типы.Добавить(Метаданные.РегистрыСведений.СессииОбменаСообщениямиСистемы);
Типы.Добавить(Метаданные.РегистрыСведений.СообщенияОбменаДаннымиОбластейДанных);
Типы.Добавить(Метаданные.РегистрыСведений.СоответствияОбъектовИнформационныхБаз);
Типы.Добавить(Метаданные.РегистрыСведений.СостоянияОбменовДаннымиОбластейДанных);
Типы.Добавить(Метаданные.РегистрыСведений.СостоянияУспешныхОбменовДаннымиОбластейДанных);
Типы.Добавить(Метаданные.РегистрыСведений.УдалитьРезультатыОбменаДанными);
КонецПроцедуры
@@ -1047,7 +1047,7 @@
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
КлючЗадания = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'ОбменДаннымиСВнешнейСистемой (%1)'"),
НСтр("ru = 'Обмен данными с внешней системой (%1)'"),
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Корреспондент, "Код"));
ПараметрыЗадания = Новый Структура;
@@ -9601,7 +9601,7 @@
// Узел информационной базы не должен быть пустым.
СтрокаСообщенияОбОшибке = НСтр(
"ru = 'Не задан узел информационной базы с которым нужно производить обмен информацией. Обмен отменен.'",
"ru = 'Не задан узел информационной базы, с которой нужно производить обмен информацией. Обмен отменен.'",
ОбщегоНазначения.КодОсновногоЯзыка());
ЗаписьЖурналаРегистрацииОбменаДанными(СтрокаСообщенияОбОшибке, СтруктураНастроекОбмена, Истина);
ЗафиксироватьЗавершениеИнициализацииОбмена(СтруктураНастроекОбмена);
@@ -9632,7 +9632,7 @@
// Узел информационной базы не должен быть пустым.
СтрокаСообщенияОбОшибке = НСтр(
"ru = 'Не задан узел информационной базы с которым нужно производить обмен информацией. Обмен отменен.'",
"ru = 'Не задан узел информационной базы, с которой нужно производить обмен информацией. Обмен отменен.'",
ОбщегоНазначения.КодОсновногоЯзыка());
ЗаписьЖурналаРегистрацииОбменаДанными(СтрокаСообщенияОбОшибке, СтруктураНастроекОбмена, Истина);
ЗафиксироватьЗавершениеИнициализацииОбмена(СтруктураНастроекОбмена);
@@ -10224,20 +10224,24 @@
КонецЕсли;
ТекстСообщения = ТекстСообщения + ?(ПустаяСтрока(ТекстСообщения), "", Символы.ПС) + Сообщение.Текст;
КонецЦикла;
ТекстСообщения = СокрЛП(ТекстСообщения);
ПричинаОшибки = ТекстСообщения;
Если Не ПустаяСтрока(СокрЛП(ТекстСообщения)) Тогда
ПричинаОшибки = " " + НСтр("ru = 'По причине %1.'");
ПричинаОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ПричинаОшибки, ТекстСообщения);
СтрокаСообщения = "";
Если Не ПустаяСтрока(ТекстСообщения) Тогда
СтрокаСообщения = НСтр("ru = 'Не удалось провести документ %1, полученный из другой информационной базы.
|По причине: %2.
|Возможно, не заполнены все реквизиты, обязательные к заполнению.'",
ОбщегоНазначения.КодОсновногоЯзыка());
СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
СтрокаСообщения, Строка(Объект), ТекстСообщения);
Иначе
СтрокаСообщения = НСтр("ru = 'Не удалось провести документ %1, полученный из другой информационной базы.
|Возможно, не заполнены все реквизиты, обязательные к заполнению.'",
ОбщегоНазначения.КодОсновногоЯзыка());
СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
СтрокаСообщения, Строка(Объект));
КонецЕсли;
СтрокаСообщения = НСтр("ru = 'Не удалось провести документ %1, полученный из другой информационной базы.%2
|Возможно не заполнены все реквизиты, обязательные к заполнению.'",
ОбщегоНазначения.КодОсновногоЯзыка());
СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, Строка(Объект), ПричинаОшибки);
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрацииОбменДанными(), УровеньЖурналаРегистрации.Предупреждение,,, СтрокаСообщения);
Если РегистрироватьПроблемыВРезультатахОбмена Тогда
@@ -11364,10 +11368,15 @@
Архиватор.Записать();
Исключение
ИнформацияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Ошибка при запаковке файлов ""%1"" в архив ""%2"" по причине:
|%3'"),
МаскаУпаковкиФайлов,
ПолноеИмяФайлаАрхива,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
СтрокаСообщения = НСтр("ru = 'Ошибка при запаковке файлов архива: %1 из каталог: %2'");
СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, ПолноеИмяФайлаАрхива, МаскаУпаковкиФайлов);
ОбщегоНазначения.СообщитьПользователю(СтрокаСообщения);
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрацииОбменДанными(),
УровеньЖурналаРегистрации.Ошибка, , , ИнформацияОбОшибке);
Результат = Ложь;
КонецПопытки;
@@ -14075,8 +14084,8 @@
Результат = Новый Структура();
Результат.Вставить("Именительный", НСтр("ru = 'Настройка синхронизация данных'"));
Результат.Вставить("Родительный", НСтр("ru = 'Настройки синхронизации данных'"));
Результат.Вставить("Именительный", НСтр("ru = 'Настройка синхронизации данных'"));
Результат.Вставить("Родительный", НСтр("ru = 'Настройки синхронизации данных'"));
Возврат Результат;
@@ -892,7 +892,7 @@
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
КлючЗадания = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'ОбменДаннымиСВнешнейСистемой (%1)'"),
НСтр("ru = 'Обмен данными с внешней системой (%1)'"),
Источник.Код);
Отбор = Новый Структура;
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.2.189";
Описание.Версия = "3.1.2.196";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -108,7 +108,7 @@
// Доопределяет действия при записи пользователя информационной базы.
// Например, если требуется синхронно обновить запись в соответствующем регистре и т.п.
// Вызывается из процедуры Пользователи.ЗаписатьПользователяИБ, если пользователь был действительно изменен.
// Вызывается из процедуры Пользователи.УстановитьСвойстваПользователяИБ, если пользователь был действительно изменен.
// Если поле Имя в структуре СтарыеСвойства не заполнено, то создается новый пользователь ИБ.
//
// Параметры:
@@ -608,16 +608,7 @@
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЕСТЬNULL(СУММА(ПрисоединенныеФайлы.Размер), 0) КАК РазмерФайлов
|ИЗ
| Справочник.Файлы КАК ПрисоединенныеФайлы
|ГДЕ
| ПрисоединенныеФайлы.Том = &Том
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЕСТЬNULL(СУММА(Версии.Размер), 0)
| ЕСТЬNULL(СУММА(Версии.Размер), 0) КАК РазмерФайлов
|ИЗ
| Справочник.ВерсииФайлов КАК Версии
|ГДЕ
@@ -625,13 +616,17 @@
Для Каждого Тип Из ТипыПрисоединенныхФайлов Цикл
Если Тип = Тип("СправочникСсылка.Файлы")
Или Тип = Тип("СправочникСсылка.ВерсииФайлов")
Если Тип = Тип("СправочникСсылка.ВерсииФайлов")
Или Тип = Тип("СправочникСсылка.ИдентификаторыОбъектовМетаданных") Тогда
Продолжить;
КонецЕсли;
МетаданныеСправочника = Метаданные.НайтиПоТипу(Тип);
Если МетаданныеСправочника.Реквизиты.Найти("ТекущаяВерсия") <> Неопределено Тогда
Продолжить;
КонецЕсли;
ТекстЗапросаПоСправочнику = "ВЫБРАТЬ
| ЕСТЬNULL(СУММА(ПрисоединенныеФайлы.Размер), 0)
|ИЗ
@@ -33,26 +33,6 @@
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПрисоединенныеФайлы") Тогда
Обработчик = "ПрисоединенныеФайлыСлужебный";
ОбщийМодуль = ОбщегоНазначения.ОбщийМодуль(Обработчик);
Если ОбщийМодуль <> Неопределено Тогда
СправочникиФайловОбработчика = ОбщийМодуль.СправочникиФайлов();
Для Каждого СправочникФайловОбработчика Из СправочникиФайловОбработчика Цикл
СправочникиФайлов.Вставить(СправочникФайловОбработчика.ПолноеИмя(), Обработчик);
КонецЦикла;
ОбъектыХраненияОбработчика = ОбщийМодуль.ОбъектыХраненияФайловИнформационнойБазе();
Для Каждого ОбъектХраненияОбработчика Из ОбъектыХраненияОбработчика Цикл
ОбъектыХраненияВИнформационнойБазе.Вставить(ОбъектХраненияОбработчика.ПолноеИмя(), Обработчик);
КонецЦикла;
КонецЕсли;
КонецЕсли;
Кэш = Новый Структура("СправочникиФайлов, ОбъектыХранения", СправочникиФайлов, ОбъектыХраненияВИнформационнойБазе);
Возврат Кэш;
@@ -322,6 +322,8 @@
Если Не ПустаяСтрока(Сервис) Тогда
Если Сервис = "https://webdav.yandex.ru" Тогда
АдресОбъекта = СтрЗаменить(Href, "https://webdav.yandex.ru", "https://disk.yandex.ru/client/disk");
ИначеЕсли Сервис = "https://webdav.yandex.com" Тогда
АдресОбъекта = СтрЗаменить(Href, "https://webdav.yandex.com", "https://disk.yandex.com/client/disk");
ИначеЕсли Сервис = "https://webdav.4shared.com" Тогда
АдресОбъекта = "http://www.4shared.com/folder";
ИначеЕсли Сервис = "https://dav.box.com/dav" Тогда
@@ -658,7 +658,9 @@
Или СтрНачинаетсяС(Строка, "https:")
Или СтрНачинаетсяС(Строка, "mailto:")
Или СтрНачинаетсяС(Строка, "tel:")
Или СтрНачинаетсяС(Строка, "skype:");
Или СтрНачинаетсяС(Строка, "skype:")
Или СтрНачинаетсяС(Строка, "market:")
Или СтрНачинаетсяС(Строка, "itms-apps:");
КонецФункции
+9 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="74ddfb69-09f7-4c03-8f12-b02df4177d16">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="43aaacd7-1a51-4321-9eac-de3166f3740b">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="f5ede807-743c-485b-a1f7-bf2bac7a234d"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="f42e0d61-dda5-4232-b346-f4178dd0bdc4"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="8129014e-e344-46e2-a73c-2a27b25c7fc6"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="f94a64ac-681e-4ce1-ada9-8ded64405fc6"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="dc736159-55b2-443f-8e22-da8847270cbc"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="cad1ec98-b248-491b-9574-df4e95456206"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="517b9cce-757a-4cae-8d0b-32c905280918"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="c6d3990d-3003-412a-81f2-459e3b9491f9"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="9a10be9a-8b8e-4898-a05f-0fcf690ef121"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="a466a5b6-8c1b-4776-a57f-d4ee07c18539"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="dbf92cca-b6b4-4d5b-a971-6ac561d4579f"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="b4d62801-3811-44fc-9a32-8965fc1d6257"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="2d699631-44ff-411c-a9d4-4a5a5f788090"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="6f0b9ede-9209-428e-bfdc-eef3c23b8077"/>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor>
<version>3.1.2.189</version>
<version>3.1.2.196</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -1 +1 @@
{6,1,1,bb2341fd-718d-4a00-8092-f4cfa6312305,1,b1a28548-8f11-41f2-a83d-6010a3b0fccb,"3.1.2.189","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5902,1,0,74ddfb69-09f7-4c03-8f12-b02df4177d16,74ddfb69-09f7-4c03-8f12-b02df4177d16,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,1,0,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,1,0,64f548c8-c1fc-434e-b3ee-5be367ead1db,64f548c8-c1fc-434e-b3ee-5be367ead1db,1,0,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184-4558-8a28-7079ccf28b89,1,0,2009c673-c1a5-45fc-8da2-a36c435085a6,2009c673-c1a5Line truncated
{6,1,1,61047e28-91c7-435a-b36e-e3a1860cd8c4,1,dc04671c-8798-4a70-a9c1-67e4a44fa485,"3.1.2.196","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5902,1,0,43aaacd7-1a51-4321-9eac-de3166f3740b,43aaacd7-1a51-4321-9eac-de3166f3740b,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,1,0,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,1,0,64f548c8-c1fc-434e-b3ee-5be367ead1db,64f548c8-c1fc-434e-b3ee-5be367ead1db,1,0,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184-4558-8a28-7079ccf28b89,1,0,2009c673-c1a5-45fc-8da2-a36c435085a6,2009c673-c1a5Line truncated
@@ -27,7 +27,7 @@
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия = "ВыборЗначенийЭлементовОтбораЖурналаРегистрации"
И Источник = ЭтотОбъект Тогда
И Источник.УникальныйИдентификатор = ЭтотОбъект.УникальныйИдентификатор Тогда
Если РедакторСоставаСвойстваИмяЭлемента = Элементы.Пользователи.Имя Тогда
СписокПользователей = Параметр;
ИначеЕсли РедакторСоставаСвойстваИмяЭлемента = Элементы.События.Имя Тогда
@@ -45,7 +45,7 @@
Функция ВерсияКалендарей() Экспорт
Возврат 34;
Возврат 35;
КонецФункции
@@ -57,7 +57,7 @@
Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт
Возврат "3.1.2.119";
Возврат "3.1.2.194";
КонецФункции
@@ -17,6 +17,7 @@
<Item Calendar="01" Year="2019" DayType="Предпраздничный" Date="20191004" SwapDate=""/>
<Item Calendar="01" Year="2019" DayType="Праздник" Date="20191005" SwapDate="20191007"/>
<Item Calendar="01" Year="2019" DayType="Суббота" Date="20191007" SwapDate="20191005"/>
<Item Calendar="01" Year="2020" DayType="Праздник" Date="20200525" SwapDate=""/>
<Item Calendar="01" Year="2020" DayType="Праздник" Date="20201005" SwapDate=""/>
<Item Calendar="02" Year="2014" DayType="Праздник" Date="20140728" SwapDate=""/>
<Item Calendar="02" Year="2014" DayType="Предпраздничный" Date="20141003" SwapDate=""/>
@@ -54,6 +55,10 @@
<Item Calendar="02" Year="2019" DayType="Воскресенье" Date="20190812" SwapDate="20190811"/>
<Item Calendar="02" Year="2019" DayType="Предпраздничный" Date="20191010" SwapDate=""/>
<Item Calendar="02" Year="2019" DayType="Праздник" Date="20191011" SwapDate=""/>
<Item Calendar="02" Year="2020" DayType="Праздник" Date="20200524" SwapDate="20200525"/>
<Item Calendar="02" Year="2020" DayType="Воскресенье" Date="20200525" SwapDate="20200524"/>
<Item Calendar="02" Year="2020" DayType="Предпраздничный" Date="20200730" SwapDate=""/>
<Item Calendar="02" Year="2020" DayType="Праздник" Date="20200731" SwapDate=""/>
<Item Calendar="02" Year="2020" DayType="Праздник" Date="20201011" SwapDate="20201012"/>
<Item Calendar="02" Year="2020" DayType="Воскресенье" Date="20201012" SwapDate="20201011"/>
<Item Calendar="03" Year="2016" DayType="Предпраздничный" Date="20160208" SwapDate=""/>
@@ -110,8 +115,11 @@
<Item Calendar="05" Year="2019" DayType="Праздник" Date="20190812" SwapDate=""/>
<Item Calendar="05" Year="2019" DayType="Праздник" Date="20190915" SwapDate="20190916"/>
<Item Calendar="05" Year="2019" DayType="Воскресенье" Date="20190916" SwapDate="20190915"/>
<Item Calendar="05" Year="2020" DayType="Праздник" Date="20200525" SwapDate=""/>
<Item Calendar="05" Year="2020" DayType="Праздник" Date="20200726" SwapDate="20200727"/>
<Item Calendar="05" Year="2020" DayType="Воскресенье" Date="20200727" SwapDate="20200726"/>
<Item Calendar="05" Year="2020" DayType="Предпраздничный" Date="20200730" SwapDate=""/>
<Item Calendar="05" Year="2020" DayType="Праздник" Date="20200731" SwapDate=""/>
<Item Calendar="05" Year="2020" DayType="Предпраздничный" Date="20200914" SwapDate=""/>
<Item Calendar="05" Year="2020" DayType="Праздник" Date="20200915" SwapDate=""/>
<Item Calendar="06" Year="2016" DayType="Предпраздничный" Date="20160705" SwapDate=""/>
@@ -134,6 +142,9 @@
<Item Calendar="06" Year="2019" DayType="Праздник" Date="20190605" SwapDate=""/>
<Item Calendar="06" Year="2019" DayType="Праздник" Date="20190606" SwapDate=""/>
<Item Calendar="06" Year="2019" DayType="Праздник" Date="20190812" SwapDate=""/>
<Item Calendar="06" Year="2020" DayType="Праздник" Date="20200525" SwapDate=""/>
<Item Calendar="06" Year="2020" DayType="Предпраздничный" Date="20200730" SwapDate=""/>
<Item Calendar="06" Year="2020" DayType="Праздник" Date="20200731" SwapDate=""/>
<Item Calendar="07" Year="2016" DayType="Праздник" Date="20160328" SwapDate=""/>
<Item Calendar="07" Year="2016" DayType="Праздник" Date="20160521" SwapDate=""/>
<Item Calendar="07" Year="2016" DayType="Нерабочий" Date="20160705" SwapDate=""/>
@@ -164,6 +175,9 @@
<Item Calendar="07" Year="2019" DayType="Праздник" Date="20190920" SwapDate=""/>
<Item Calendar="07" Year="2020" DayType="Праздник" Date="20200328" SwapDate=""/>
<Item Calendar="07" Year="2020" DayType="Праздник" Date="20200521" SwapDate=""/>
<Item Calendar="07" Year="2020" DayType="Праздник" Date="20200525" SwapDate=""/>
<Item Calendar="07" Year="2020" DayType="Предпраздничный" Date="20200730" SwapDate=""/>
<Item Calendar="07" Year="2020" DayType="Праздник" Date="20200731" SwapDate=""/>
<Item Calendar="07" Year="2020" DayType="Праздник" Date="20200901" SwapDate=""/>
<Item Calendar="07" Year="2020" DayType="Праздник" Date="20200920" SwapDate=""/>
<Item Calendar="08" Year="2016" DayType="Предпраздничный" Date="20160208" SwapDate=""/>
@@ -231,12 +245,15 @@
<Item Calendar="09" Year="2019" DayType="Нерабочий" Date="20190507" SwapDate=""/>
<Item Calendar="09" Year="2019" DayType="Нерабочий" Date="20190605" SwapDate=""/>
<Item Calendar="09" Year="2019" DayType="Нерабочий" Date="20190812" SwapDate=""/>
<Item Calendar="09" Year="2019" DayType="Предпраздничный" Date="20190906" SwapDate=""/>
<Item Calendar="09" Year="2019" DayType="Праздник" Date="20190907" SwapDate="20190909"/>
<Item Calendar="09" Year="2019" DayType="Предпраздничный" Date="20190905" SwapDate=""/>
<Item Calendar="09" Year="2019" DayType="Праздник" Date="20190906" SwapDate=""/>
<Item Calendar="09" Year="2019" DayType="Суббота" Date="20190907" SwapDate="20190909"/>
<Item Calendar="09" Year="2019" DayType="Суббота" Date="20190909" SwapDate="20190907"/>
<Item Calendar="09" Year="2020" DayType="Нерабочий" Date="20200428" SwapDate=""/>
<Item Calendar="09" Year="2020" DayType="Праздник" Date="20200503" SwapDate="20200505"/>
<Item Calendar="09" Year="2020" DayType="Воскресенье" Date="20200505" SwapDate="20200503"/>
<Item Calendar="09" Year="2020" DayType="Нерабочий" Date="20200525" SwapDate=""/>
<Item Calendar="09" Year="2020" DayType="Нерабочий" Date="20200731" SwapDate=""/>
<Item Calendar="11" Year="2016" DayType="Праздник" Date="20160822" SwapDate=""/>
<Item Calendar="11" Year="2017" DayType="Предпраздничный" Date="20170821" SwapDate=""/>
<Item Calendar="11" Year="2017" DayType="Праздник" Date="20170822" SwapDate=""/>
@@ -294,6 +311,9 @@
<Item Calendar="16" Year="2019" DayType="Праздник" Date="20190830" SwapDate=""/>
<Item Calendar="16" Year="2019" DayType="Предпраздничный" Date="20191105" SwapDate=""/>
<Item Calendar="16" Year="2019" DayType="Праздник" Date="20191106" SwapDate=""/>
<Item Calendar="16" Year="2020" DayType="Праздник" Date="20200524" SwapDate=""/>
<Item Calendar="16" Year="2020" DayType="Предпраздничный" Date="20200730" SwapDate=""/>
<Item Calendar="16" Year="2020" DayType="Праздник" Date="20200731" SwapDate=""/>
<Item Calendar="16" Year="2020" DayType="Праздник" Date="20200830" SwapDate=""/>
<Item Calendar="16" Year="2020" DayType="Предпраздничный" Date="20201105" SwapDate=""/>
<Item Calendar="16" Year="2020" DayType="Праздник" Date="20201106" SwapDate=""/>
@@ -392,6 +412,9 @@
<Item Calendar="20" Year="2020" DayType="Праздник" Date="20200323" SwapDate=""/>
<Item Calendar="20" Year="2020" DayType="Предпраздничный" Date="20200415" SwapDate=""/>
<Item Calendar="20" Year="2020" DayType="Праздник" Date="20200416" SwapDate=""/>
<Item Calendar="20" Year="2020" DayType="Праздник" Date="20200525" SwapDate=""/>
<Item Calendar="20" Year="2020" DayType="Предпраздничный" Date="20200730" SwapDate=""/>
<Item Calendar="20" Year="2020" DayType="Праздник" Date="20200731" SwapDate=""/>
<Item Calendar="21" Year="2016" DayType="Предпраздничный" Date="20160623" SwapDate=""/>
<Item Calendar="21" Year="2016" DayType="Праздник" Date="20160624" SwapDate=""/>
<Item Calendar="21" Year="2017" DayType="Предпраздничный" Date="20170623" SwapDate=""/>
@@ -477,6 +500,11 @@
<Item Calendar="91" Year="2019" DayType="Праздник" Date="20190812" SwapDate=""/>
<Item Calendar="91" Year="2020" DayType="Предпраздничный" Date="20200317" SwapDate=""/>
<Item Calendar="91" Year="2020" DayType="Праздник" Date="20200318" SwapDate=""/>
<Item Calendar="91" Year="2020" DayType="Праздник" Date="20200420" SwapDate=""/>
<Item Calendar="91" Year="2020" DayType="Праздник" Date="20200525" SwapDate=""/>
<Item Calendar="91" Year="2020" DayType="Праздник" Date="20200608" SwapDate=""/>
<Item Calendar="91" Year="2020" DayType="Предпраздничный" Date="20200730" SwapDate=""/>
<Item Calendar="91" Year="2020" DayType="Праздник" Date="20200731" SwapDate=""/>
<Item Calendar="92" Year="2016" DayType="Предпраздничный" Date="20160317" SwapDate=""/>
<Item Calendar="92" Year="2016" DayType="Праздник" Date="20160318" SwapDate=""/>
<Item Calendar="92" Year="2017" DayType="Предпраздничный" Date="20170317" SwapDate=""/>
@@ -1062,6 +1062,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<markRequiredComplete>true</markRequiredComplete>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
@@ -1069,6 +1070,7 @@
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<autoMarkIncomplete>true</autoMarkIncomplete>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
@@ -820,9 +820,7 @@
Имя = СокрЛП(Имя);
Фамилия = СокрЛП(Фамилия);
Отчество = СокрЛП(Отчество);
ТекущийОбъект.Наименование = СокрП(Фамилия + " " + Имя + " " + Отчество)
+ " (" + НСтр("ru = 'Заявление на новый сертификат'") + ")";
НаименованиеСертификата = "";
РеквизитыОрганизации = РеквизитыОрганизации();
РеквизитыОрганизации.Вставить("Организация");
@@ -862,7 +860,10 @@
ОбновитьЗначение(Содержание, "Программа", Объект.Программа);
ОбновитьЗначение(Содержание, "ИдентификаторЗаявленияВОблачныйСервис");
Если Объект.СостояниеЗаявления = Перечисления.СостоянияЗаявленияНаВыпускСертификата.Подготовлено Тогда
Если Объект.СостояниеЗаявления = Перечисления.СостоянияЗаявленияНаВыпускСертификата.НеПодготовлено Тогда
НаименованиеСертификата = СокрП(Фамилия + " " + Имя + " " + Отчество)
+ " (" + НСтр("ru = 'Заявление на новый сертификат'") + ")";
ИначеЕсли Объект.СостояниеЗаявления = Перечисления.СостоянияЗаявленияНаВыпускСертификата.Подготовлено Тогда
ОбновитьЗначение(Содержание, "ВариантАлгоритмов");
ОбновитьЗначение(Содержание, "ДокументыПечатались");
@@ -900,14 +901,21 @@
ОбновитьЗначение(Содержание, "ДатаОбновленияСостояния");
ОбновитьЗначение(Содержание, "СостояниеОбработкиЗаявления");
НовоеНаименование = СокрП(Фамилия + " " + Имя + " " + Отчество) + " (" + НСтр("ru = 'Удалить'") + ")";
Если ТекущийОбъект.Наименование <> НовоеНаименование Тогда
ТекущийОбъект.Наименование = НовоеНаименование;
КонецЕсли;
НаименованиеСертификата = СокрП(Фамилия + " " + Имя + " " + Отчество) + " (" + НСтр("ru = 'Удалить'") + ")";
ИначеЕсли Объект.СостояниеЗаявления = Перечисления.СостоянияЗаявленияНаВыпускСертификата.Исполнено Тогда
ОбновитьЗначение(Содержание, "ОшибкаУстановкиСертификата");
ОбновитьЗначение(Содержание, "ДатаУстановкиСертификата");
НаименованиеСертификата = ЭлектроннаяПодпись.ПредставлениеСертификата(ТекущийОбъект.Ссылка);
КонецЕсли;
Если Не ПустаяСтрока(НаименованиеСертификата)
И ТекущийОбъект.Наименование <> НаименованиеСертификата Тогда
ТекущийОбъект.Наименование = НаименованиеСертификата;
КонецЕсли;
ЭтоНовый = ТекущийОбъект.ЭтоНовый();
@@ -3274,7 +3282,7 @@
СоздатьОбъектКриптографии(Новый ОписаниеОповещения(
"СоздатьКлючИЗапросНаСертификатПослеСозданияОбъектаКриптографии", ЭтотОбъект, Контекст),
НСтр("ru = 'Для создания ключа электронной подписи и запроса на сертификат
|требуется установить расширение для веб-клиента 1С:Предприятия.'"),
|требуется установить расширение работы с файлами.'"),
НСтр("ru = 'Для создания ключа электронной подписи и запроса на сертификат
|требуется установить внешнюю компоненту.'"));
КонецЕсли;
@@ -4157,7 +4165,7 @@
СоздатьОбъектКриптографии(Новый ОписаниеОповещения(
"УстановитьСертификатПослеСозданияОбъектаКриптографии", ЭтотОбъект, Контекст),
НСтр("ru = 'Для установки сертификата на компьютер требуется
|установить расширение для веб-клиента 1С:Предприятия.'"),
|установить расширение работы с файлами.'"),
НСтр("ru = 'Для установки сертификата на компьютер требуется
|установить внешнюю компоненту.'"));
КонецЕсли;
@@ -4417,7 +4425,7 @@
СоздатьОбъектКриптографии(Новый ОписаниеОповещения(
"УстановитьСертификатПослеПроверкиНаличияСертификат", ЭтотОбъект, Контекст),
НСтр("ru = 'Для установки сертификата на компьютер требуется
|установить расширение для веб-клиента 1С:Предприятия.'"),
|установить расширение работы с файлами.'"),
НСтр("ru = 'Для установки сертификата на компьютер требуется
|установить внешнюю компоненту.'"));
@@ -4570,9 +4578,13 @@
Если Установлен Тогда
СостояниеОбработкиЗаявления = НСтр("ru = 'Заявление исполнено.'");
Объект.СостояниеЗаявления = Перечисления.СостоянияЗаявленияНаВыпускСертификата.Исполнено;
ЗаписатьЗаявление();
Иначе
СостояниеОбработкиЗаявления = НСтр("ru = 'Исполнено. Сертификат не установлен.'");
Объект.СостояниеЗаявления = Перечисления.СостоянияЗаявленияНаВыпускСертификата.ИсполненоСертификатНеУстановлен;
КонецЕсли;
ЗаписатьЗаявление();
КонецПроцедуры
#КонецОбласти
@@ -12144,7 +12144,7 @@
ПрОбъекта = ТипЗнч(Объект);
КонецЕсли;
ИмяСобытия = НСтр("ru = 'ВыгрузкаОбъекта: %1'");
ИмяСобытия = НСтр("ru = 'Выгрузка объекта: %1'");
ИмяСобытия = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ИмяСобытия, ПрОбъекта);
ЗаписатьВПротоколВыполнения(ИмяСобытия, , Ложь, 1, 7);
@@ -16223,7 +16223,7 @@
Если Не ЗначениеЗаполнено(УзелОбменаПолучатель)
ИЛИ УзелОбменаПолучатель <> УзелОбменаЗагрузкаДанных Тогда
СтрокаСообщения = НСтр("ru = 'Не найден узел обмена для загрузки данных. План обмена: %1, Код: %2'");
СтрокаСообщения = НСтр("ru = 'Не найден узел обмена для загрузки данных. План обмена: %1, код: %2.'");
СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, ИмяПланаОбмена(), КодОтКого);
ВызватьИсключение СтрокаСообщения;
КонецЕсли;
@@ -336,9 +336,9 @@
ИмяПоля = ПолеТаблицы.Ключ;
ИскомыеСтроки = СтрСоединить(КандидатыДублей.ВыгрузитьКолонку(ИмяПоля), "~");
СтрокаДляПоиска = ЭталонныйЭлемент[ИмяПоля];
ИндексыСтрок = НечеткийПоиск.StringSearch(СтрокаДляПоиска, ИскомыеСтроки, "~",
ИндексыСтрок = НечеткийПоиск.StringSearch(НРег(СтрокаДляПоиска), НРег(ИскомыеСтроки), "~",
СравнениеСтрокНаПодобие.ДлинаНебольшихСтрок, СравнениеСтрокНаПодобие.ПроцентСовпаденияНебольшихСтрок,
СравнениеСтрокНаПодобие.ПроцентСовпаденияСтрок, СловаИсключения);
СравнениеСтрокНаПодобие.ПроцентСовпаденияСтрок);
Если ПустаяСтрока(ИндексыСтрок) Тогда
Продолжить;
КонецЕсли;
@@ -123,67 +123,11 @@
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>РазвернутьВсе</name>
<id>41</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>РазвернутьВсеРасширеннаяПодсказка</name>
<id>42</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.РазвернутьВсе</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>43</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>СвернутьВсеРасширеннаяПодсказка</name>
<id>44</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.СвернутьВсе</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Еще</value>
</title>
<extendedTooltip>
<name>КомандыРасширеннаяПодсказка</name>
<id>34</id>
@@ -194,12 +138,64 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Popup</type>
<extInfo xsi:type="form:PopupGroupExtInfo">
<representation>Auto</representation>
<importance>Normal</importance>
<extInfo xsi:type="form:ButtonGroupExtInfo">
<representation>Compact</representation>
</extInfo>
</items>
<items xsi:type="form:Button">
<name>РазвернутьВсе</name>
<id>41</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>РазвернутьВсеРасширеннаяПодсказка</name>
<id>42</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.РазвернутьВсе</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>СвернутьВсе</name>
<id>43</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>СвернутьВсеРасширеннаяПодсказка</name>
<id>44</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.СвернутьВсе</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -218,6 +214,7 @@
<type>CommandBar</type>
<extInfo xsi:type="form:CommandBarExtInfo">
<horizontalAlign>Right</horizontalAlign>
<commandSource>Item.ДеревоРазделовПоиска</commandSource>
</extInfo>
</items>
<visible>true</visible>
@@ -260,14 +257,12 @@
<excludedCommands>Add</excludedCommands>
<excludedCommands>Change</excludedCommands>
<excludedCommands>Copy</excludedCommands>
<excludedCommands>CopyToClipboard</excludedCommands>
<excludedCommands>Delete</excludedCommands>
<excludedCommands>EndEdit</excludedCommands>
<excludedCommands>HierarchicalList</excludedCommands>
<excludedCommands>List</excludedCommands>
<excludedCommands>MoveDown</excludedCommands>
<excludedCommands>MoveUp</excludedCommands>
<excludedCommands>OutputList</excludedCommands>
<excludedCommands>ShowRowRearrangement</excludedCommands>
<excludedCommands>SortListAsc</excludedCommands>
<excludedCommands>SortListDesc</excludedCommands>
@@ -422,6 +417,7 @@
<showInCard>true</showInCard>
</extInfo>
</items>
<commandBarLocation>None</commandBarLocation>
<autoCommandBar>
<name>ДеревоРазделовПоискаКоманднаяПанель</name>
<id>6</id>
@@ -81,7 +81,11 @@
ОтправитьДанные = Истина;
КонецЕсли;
Если Не ПолучитьДанные И Не ОтправитьДанные Тогда
Если ПолученоСообщениеДляСопоставленияДанных Тогда
ОтправитьДанные = Ложь;
КонецЕсли;
Если Не ПолучитьДанные И Не ОтправитьДанные И Не ПолученоСообщениеДляСопоставленияДанных Тогда
ВызватьИсключение НСтр("ru = 'Заданный сценарий синхронизации данных не поддерживается.'");
КонецЕсли;
@@ -2296,8 +2300,6 @@
&НаСервере
Процедура ЗавершениеАнализаДанныхНаСервере()
ЗафиксироватьОшибку = Ложь;
// Проверка перехода на новый обмен данными.
ПроверкаНеобходимостиПереходаНаНовыйОбмен();
Если ЗакрытьФормуБезусловно Тогда
@@ -2312,12 +2314,11 @@
ОшибкаРасхожденияВерсийПриПолученииДанных = РезультатАнализа;
ИначеЕсли РезультатАнализа.Отказ Тогда
ПропуститьПолучениеДанных = Истина;
ЗафиксироватьОшибку = Истина;
Если РезультатАнализа.Свойство("РезультатВыполненияОбмена")
И РезультатАнализа.РезультатВыполненияОбмена = Перечисления.РезультатыВыполненияОбмена.Предупреждение_СообщениеОбменаБылоРанееПринято Тогда
ПропуститьПолучениеДанных = Истина;
СтруктураНастроекОбмена = Новый Структура;
СтруктураНастроекОбмена.Вставить("УзелИнформационнойБазы", Объект.УзелИнформационнойБазы);
СтруктураНастроекОбмена.Вставить("РезультатВыполненияОбмена", РезультатАнализа.РезультатВыполненияОбмена);
@@ -2331,7 +2332,8 @@
ОбменДаннымиПовтИсп.ЭтоУзелРаспределеннойИнформационнойБазы(Объект.УзелИнформационнойБазы));
ОбменДаннымиСервер.ЗафиксироватьЗавершениеОбмена(СтруктураНастроекОбмена);
Иначе
ВызватьИсключение РезультатАнализа.СообщениеОбОшибке;
КонецЕсли;
Иначе
@@ -2351,13 +2353,15 @@
Исключение
ПропуститьПолучениеДанных = Истина;
СообщениеОбОшибке = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
Информация = ИнформацияОбОшибке();
СообщениеОбОшибке = КраткоеПредставлениеОшибки(Информация);
ОбменДаннымиВызовСервера.ЗафиксироватьЗавершениеОбменаСОшибкой(
Объект.УзелИнформационнойБазы,
"ЗагрузкаДанных",
ДатаНачалаОперации,
СообщениеОбОшибке);
ПодробноеПредставлениеОшибки(Информация));
КонецПопытки;
КонецПроцедуры
@@ -2954,10 +2958,7 @@
// Загрузка данных.
ТаблицаПереходовНоваяСтрокаДлительнаяОперация(ИмяСтраницыСинхронизацияЗагрузка, "СтраницаНавигацииОжидание", Истина, "ЗагрузкаДанных_ОбработкаДлительнойОперации", "ЗагрузкаДанных_ПриОткрытии");
КонецЕсли;
Если ОтправитьДанные Тогда
ИначеЕсли ОтправитьДанные Тогда
Если РежимДополненияВыгрузки Тогда
РезультатВыгрузкиДанных = "";
ТаблицаПереходовНоваяСтрока("СтраницаВопросОСоставеВыгрузки", "СтраницаНавигацииПродолжение", "СтраницаВопросОСоставеВыгрузки_ПриОткрытии");
@@ -837,14 +837,9 @@
ОписаниеВариантаНастройки.НаименованиеКорреспондента);
Если РезервноеКопирование Тогда
ЧастиНадписиРезервноеКопирование = Новый Массив;
ЧастиНадписиРезервноеКопирование.Добавить(НСтр("ru = 'Перед началом настройки новой синхронизации данных рекомендуется'"));
ЧастиНадписиРезервноеКопирование.Добавить(" ");
ЧастиНадписиРезервноеКопирование.Добавить(
Новый ФорматированнаяСтрока(НСтр("ru = 'создать резервную копию данных'"), , , , НавигационнаяСсылкаОбработкиРезервногоКопирования));
ЧастиНадписиРезервноеКопирование.Добавить(".");
Элементы.ДекорацияРезервноеКопированиеНадпись.Заголовок = Новый ФорматированнаяСтрока(ЧастиНадписиРезервноеКопирование);
Элементы.ДекорацияРезервноеКопированиеНадпись.Заголовок = СтроковыеФункции.ФорматированнаяСтрока(
НСтр("ru = 'Перед началом настройки новой синхронизации данных рекомендуется <a href=""%1"">создать резервную копию данных</a>.'"),
НавигационнаяСсылкаОбработкиРезервногоКопирования);
КонецЕсли;
КонецПроцедуры
@@ -567,7 +567,7 @@
Функция КлючФоновогоЗадания(ИмяПланаОбмена, Действие)
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'ПланОбмена:%1 Действие:%2'"), ИмяПланаОбмена, Действие);
НСтр("ru = 'План обмена: %1, действие: %2'"), ИмяПланаОбмена, Действие);
КонецФункции
@@ -28,21 +28,21 @@
Для Каждого КлючЗначение Из ОбъектРегистрации Цикл
Расшифровка = Расшифровка + "," + КлючЗначение.Значение;
КонецЦикла;
Расшифровка = " (" + Сред(Расшифровка,2) + ")";
Расшифровка = Сред(Расшифровка, 2);
Иначе
ТаблицаРегистрации = "";
ОбъектСтрокой = ОбъектРегистрации;
КонецЕсли;
ЧастиЗаголовка = Новый Массив;
ЧастиЗаголовка.Добавить(НСтр("ru = 'Регистрация'"));
ЧастиЗаголовка.Добавить(" ");
ЧастиЗаголовка.Добавить(ТекущийОбъект.ПредставлениеСсылки(ОбъектСтрокой));
ЧастиЗаголовка.Добавить(Расшифровка);
Заголовок = Новый ФорматированнаяСтрока(ЧастиЗаголовка);
Если ПустаяСтрока(Расшифровка) Тогда
Заголовок = СтрЗаменить(НСтр("ru = 'Регистрация %1'"), "%1", ТекущийОбъект.ПредставлениеСсылки(ОбъектСтрокой));
Иначе
Заголовок = СтрЗаменить(НСтр("ru = 'Регистрация %1 (%2)'"), "%1", ТекущийОбъект.ПредставлениеСсылки(ОбъектСтрокой));
Заголовок = СтрЗаменить(Заголовок, "%2", Расшифровка);
КонецЕсли;
ПрочитатьУзлыОбмена();
КонецПроцедуры
&НаКлиенте
@@ -250,9 +250,7 @@
&НаКлиенте
Процедура ПерейтиНаСтраницуИнформацииИВыполненияРезервногоКопирования(ПерейтиДалее)
Если Не ПроверитьЗаполнениеРеквизитов(Ложь) Тогда
Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.СтраницаОшибокПриКопировании;
ПерейтиДалее = Ложь;
Если Не ПроверитьЗаполнениеРеквизитов() Тогда
Возврат;
КонецЕсли;
@@ -351,7 +349,7 @@
КонецФункции
&НаКлиенте
Функция ПроверитьЗаполнениеРеквизитов(ВыдаватьОшибку = Истина)
Функция ПроверитьЗаполнениеРеквизитов()
#Если ВебКлиент Тогда
ТекстСообщения = НСтр("ru = 'Создание резервной копии не доступно в веб-клиенте.'");
@@ -364,31 +362,27 @@
Объект.КаталогСРезервнымиКопиями = СокрЛП(Объект.КаталогСРезервнымиКопиями);
Если ПустаяСтрока(Объект.КаталогСРезервнымиКопиями) Тогда
ТекстСообщения = НСтр("ru = 'Не выбран каталог для резервной копии.'");
ЗафиксироватьОшибкуПроверкиРеквизитов(ТекстСообщения, "Объект.КаталогСРезервнымиКопиями", ВыдаватьОшибку);
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстСообщения,, "Объект.КаталогСРезервнымиКопиями");
РеквизитыЗаполнены = Ложь;
ИначеЕсли НайтиФайлы(Объект.КаталогСРезервнымиКопиями).Количество() = 0 Тогда
ТекстСообщения = НСтр("ru = 'Указан несуществующий каталог.'");
ЗафиксироватьОшибкуПроверкиРеквизитов(ТекстСообщения, "Объект.КаталогСРезервнымиКопиями", ВыдаватьОшибку);
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстСообщения,, "Объект.КаталогСРезервнымиКопиями");
РеквизитыЗаполнены = Ложь;
Иначе
ИмяФайла = "test.test1С";
Попытка
ТестовыйФайл = Новый ЗаписьXML;
ТестовыйФайл.ОткрытьФайл(Объект.КаталогСРезервнымиКопиями + "/test.test1С");
ТестовыйФайл.ОткрытьФайл(Объект.КаталогСРезервнымиКопиями + "/" + ИмяФайла);
ТестовыйФайл.ЗаписатьОбъявлениеXML();
ТестовыйФайл.Закрыть();
Исключение
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Нет доступа к каталогу с резервными копиями
|по причине:
|%1'"),
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗафиксироватьОшибкуПроверкиРеквизитов(ТекстСообщения, "Объект.КаталогСРезервнымиКопиями", ВыдаватьОшибку);
НСтр("ru = 'Нет прав на запись в каталог с резервными копиями.
|Не удалось создать тестовый файл %1 по причине: %2'"),
ИмяФайла, КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстСообщения,, "Объект.КаталогСРезервнымиКопиями");
РеквизитыЗаполнены = Ложь;
КонецПопытки;
@@ -406,11 +400,9 @@
КонецЕсли;
Если ТребуетсяВводПароля И ПустаяСтрока(ПарольАдминистратораИБ) Тогда
ТекстСообщения = НСтр("ru = 'Не задан пароль администратора.'");
ЗафиксироватьОшибкуПроверкиРеквизитов(ТекстСообщения, "ПарольАдминистратораИБ", ВыдаватьОшибку);
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстСообщения,, "ПарольАдминистратораИБ");
РеквизитыЗаполнены = Ложь;
КонецЕсли;
#КонецЕсли
@@ -419,18 +411,6 @@
КонецФункции
&НаКлиенте
Процедура ЗафиксироватьОшибкуПроверкиРеквизитов(ТекстОшибки, ПутьКРеквизиту, ВыдаватьОшибку)
Если ВыдаватьОшибку Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибки,, ПутьКРеквизиту);
Иначе
ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(РезервноеКопированиеИБКлиент.СобытиеЖурналаРегистрации(),
"Ошибка", ТекстОшибки, , Истина);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УстановитьОбработчикОжиданияИстеченияТаймаутаРезервногоКопирования()
@@ -89,30 +89,36 @@
Процедура ЗагрузитьОбновитьПараметрыРаботыПрограммы(Параметры) Экспорт
ПараметрыПродолжения = Параметры;
ПодключитьОбработчикОжидания("НачатьОбновлениеПараметровРаботыПрограммы", 0.1, Истина);
ПодключитьОбработчикОжидания("НачатьЗагрузкуПараметровРаботыПрограммы", 0.1, Истина);
КонецПроцедуры
&НаКлиенте
Процедура НачатьОбновлениеПараметровРаботыПрограммы()
Процедура НачатьЗагрузкуПараметровРаботыПрограммы()
РезультатВыполнения = ЗагрузитьОбновитьПараметрыРаботыПрограммыВФоне();
РезультатВыполнения = ЗагрузитьПараметрыРаботыПрограммыВФоне();
ДополнительныеПараметры = Новый Структура("КраткоеПредставлениеОшибки, ПодробноеПредставлениеОшибки");
Если РезультатВыполнения = "ЗапускНеТребуется" Тогда
Результат = Новый Структура("Статус", "ЗапускНеТребуется");
ЗавершитьОбновлениеПараметровРаботыПрограммы(Результат, ДополнительныеПараметры);
Возврат;
ИначеЕсли РезультатВыполнения = "ТребуетсяПерезапускСеанса" Тогда
Если РезультатВыполнения = "ТребуетсяПерезапускСеанса" Тогда
ПрекратитьРаботуСистемы(Истина);
ИначеЕсли РезультатВыполнения = "ЗагрузкаПараметровРаботыПрограммыНеТребуется" Тогда
Результат = Новый Структура("Статус", РезультатВыполнения);
НачатьОбновлениеПараметровРаботыПрограммы(Результат, ДополнительныеПараметры);
Возврат;
ИначеЕсли РезультатВыполнения = "ЗагрузкаИОбновлениеПараметровРаботыПрограммыНеТребуются" Тогда
Результат = Новый Структура("Статус", РезультатВыполнения);
НачатьОбновлениеПараметровРаботыВерсийРасширений(Результат, ДополнительныеПараметры);
Возврат;
КонецЕсли;
ОповещениеОЗавершении = Новый ОписаниеОповещения("ЗавершитьОбновлениеПараметровРаботыПрограммы",
ОповещениеОЗавершении = Новый ОписаниеОповещения("НачатьОбновлениеПараметровРаботыПрограммы",
ЭтотОбъект, ДополнительныеПараметры);
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
ПараметрыОжидания.Интервал = 2;
ПараметрыОжидания.Интервал = 1;
ПараметрыОжидания.ВыводитьПрогрессВыполнения = Истина;
ПараметрыОжидания.ОповещениеОПрогрессеВыполнения = Новый ОписаниеОповещения("ПрогрессОбновленияПараметровРаботыПрограммы", ЭтотОбъект);
ДлительныеОперацииКлиент.ОжидатьЗавершение(РезультатВыполнения, ОповещениеОЗавершении, ПараметрыОжидания);
@@ -120,14 +126,14 @@
КонецПроцедуры
&НаСервере
Функция ЗагрузитьОбновитьПараметрыРаботыПрограммыВФоне()
Функция ЗагрузитьПараметрыРаботыПрограммыВФоне()
ОбновитьПовторноИспользуемыеЗначения();
Если ОбщегоНазначения.РазделениеВключено()
И ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
Возврат "ЗапускНеТребуется";
Возврат "ЗагрузкаИОбновлениеПараметровРаботыПрограммыНеТребуются";
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбновлениеКонфигурации") Тогда
@@ -138,8 +144,12 @@
КонецЕсли;
КонецЕсли;
Если Не РегистрыСведений.ПараметрыРаботыПрограммы.ТребуетсяЗагрузитьПараметрыРаботыПрограммы() Тогда
Возврат "ЗагрузкаПараметровРаботыПрограммыНеТребуется";
КонецЕсли;
// Вызов длительной операции (обычно в фоновом задании).
Возврат РегистрыСведений.ПараметрыРаботыПрограммы.ЗагрузитьОбновитьПараметрыРаботыПрограммыВФоне(0,
Возврат РегистрыСведений.ПараметрыРаботыПрограммы.ЗагрузитьПараметрыРаботыПрограммыВФоне(0,
УникальныйИдентификатор, Истина);
КонецФункции
@@ -166,11 +176,110 @@
КонецПроцедуры
&НаКлиенте
Процедура НачатьОбновлениеПараметровРаботыПрограммы(Результат, ДополнительныеПараметры) Экспорт
Попытка
ОбработанныйРезультат = ОбработанныйРезультатДлительнойОперации(Результат,
"ЗагрузкаПараметровРаботыПрограммы");
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ОбработанныйРезультат = Новый Структура;
ОбработанныйРезультат.Вставить("КраткоеПредставлениеОшибки",
КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
ОбработанныйРезультат.Вставить("ПодробноеПредставлениеОшибки",
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
КонецПопытки;
Если ЗначениеЗаполнено(ОбработанныйРезультат.КраткоеПредставлениеОшибки) Тогда
СообщениеОНеудачномОбновлении(ОбработанныйРезультат, Неопределено);
Возврат;
КонецЕсли;
РезультатВыполнения = ОбновитьПараметрыРаботыПрограммыВФоне();
ДополнительныеПараметры = Новый Структура("КраткоеПредставлениеОшибки, ПодробноеПредставлениеОшибки");
ОповещениеОЗавершении = Новый ОписаниеОповещения("НачатьОбновлениеПараметровРаботыВерсийРасширений",
ЭтотОбъект, ДополнительныеПараметры);
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
ПараметрыОжидания.Интервал = 1;
ПараметрыОжидания.ВыводитьПрогрессВыполнения = Истина;
ПараметрыОжидания.ОповещениеОПрогрессеВыполнения = Новый ОписаниеОповещения("ПрогрессОбновленияПараметровРаботыПрограммы", ЭтотОбъект);
ДлительныеОперацииКлиент.ОжидатьЗавершение(РезультатВыполнения, ОповещениеОЗавершении, ПараметрыОжидания);
КонецПроцедуры
&НаСервере
Функция ОбновитьПараметрыРаботыПрограммыВФоне()
// Вызов длительной операции (обычно в фоновом задании).
Возврат РегистрыСведений.ПараметрыРаботыПрограммы.ОбновитьПараметрыРаботыПрограммыВФоне(0,
УникальныйИдентификатор, Истина);
КонецФункции
&НаКлиенте
Процедура НачатьОбновлениеПараметровРаботыВерсийРасширений(Результат, ДополнительныеПараметры) Экспорт
Попытка
ОбработанныйРезультат = ОбработанныйРезультатДлительнойОперации(Результат,
"ОбновлениеПараметровРаботыПрограммы");
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ОбработанныйРезультат = Новый Структура;
ОбработанныйРезультат.Вставить("КраткоеПредставлениеОшибки",
КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
ОбработанныйРезультат.Вставить("ПодробноеПредставлениеОшибки",
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
КонецПопытки;
Если ЗначениеЗаполнено(ОбработанныйРезультат.КраткоеПредставлениеОшибки) Тогда
СообщениеОНеудачномОбновлении(ОбработанныйРезультат, Неопределено);
Возврат;
КонецЕсли;
РезультатВыполнения = ОбновитьПараметрыРаботыВерсийРасширенийВФоне();
Если РезультатВыполнения = "ОбновлениеПараметровРаботыВерсийРасширенийНеТребуется" Тогда
Результат = Новый Структура("Статус", РезультатВыполнения);
ЗавершитьОбновлениеПараметровРаботыПрограммы(Результат, ДополнительныеПараметры);
Возврат;
КонецЕсли;
ДополнительныеПараметры = Новый Структура("КраткоеПредставлениеОшибки, ПодробноеПредставлениеОшибки");
ОповещениеОЗавершении = Новый ОписаниеОповещения("ЗавершитьОбновлениеПараметровРаботыПрограммы",
ЭтотОбъект, ДополнительныеПараметры);
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
ПараметрыОжидания.Интервал = 1;
ПараметрыОжидания.ВыводитьПрогрессВыполнения = Истина;
ПараметрыОжидания.ОповещениеОПрогрессеВыполнения = Новый ОписаниеОповещения("ПрогрессОбновленияПараметровРаботыПрограммы", ЭтотОбъект);
ДлительныеОперацииКлиент.ОжидатьЗавершение(РезультатВыполнения, ОповещениеОЗавершении, ПараметрыОжидания);
КонецПроцедуры
&НаСервере
Функция ОбновитьПараметрыРаботыВерсийРасширенийВФоне()
Если Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
Возврат "ОбновлениеПараметровРаботыВерсийРасширенийНеТребуется";
КонецЕсли;
// Вызов длительной операции (обычно в фоновом задании).
Возврат РегистрыСведений.ПараметрыРаботыПрограммы.ОбновитьПараметрыРаботыВерсийРасширенийВФоне(0,
УникальныйИдентификатор, Истина);
КонецФункции
&НаКлиенте
Процедура ЗавершитьОбновлениеПараметровРаботыПрограммы(Результат, ДополнительныеПараметры) Экспорт
Попытка
ОбработанныйРезультат = ОбработанныйРезультатДлительнойОперации(Результат);
ОбработанныйРезультат = ОбработанныйРезультатДлительнойОперации(Результат,
"ОбновлениеПараметровРаботыВерсийРасширений");
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ОбработанныйРезультат = Новый Структура;
@@ -186,6 +295,7 @@
КонецЕсли;
ПрогрессВыполнения = ?(ТолькоОбновлениеПараметровРаботыПрограммы, 95, 10);
ОбновитьОтображениеДанных(Элементы.ПрогрессВыполнения);
ПараметрыПродолжения.ПолученныеПараметрыКлиента.Вставить("НеобходимоОбновлениеПараметровРаботыПрограммы");
ПараметрыПродолжения.Вставить("КоличествоПолученныхПараметровКлиента",
@@ -720,9 +830,9 @@
КонецПроцедуры
&НаСервереБезКонтекста
Функция ОбработанныйРезультатДлительнойОперации(Результат)
Функция ОбработанныйРезультатДлительнойОперации(Результат, Операция)
Возврат РегистрыСведений.ПараметрыРаботыПрограммы.ОбработанныйРезультатДлительнойОперации(Результат);
Возврат РегистрыСведений.ПараметрыРаботыПрограммы.ОбработанныйРезультатДлительнойОперации(Результат, Операция);
КонецФункции
@@ -59,9 +59,7 @@
// Вызывает принудительное заполнение всех параметров работы программы.
Процедура ОбновитьВсеПараметрыРаботыПрограммы() Экспорт
СтандартныеПодсистемыСервер.ПроверитьДинамическоеОбновлениеВерсииПрограммы();
ОбновитьПараметрыРаботыПрограммы();
ЗагрузитьОбновитьПараметрыРаботыПрограммы();
КонецПроцедуры
@@ -291,29 +289,74 @@
Если ОбщегоНазначения.РазделениеВключено()
И ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
ОбработатьПараметрыРаботыВерсийРасширений();
ОбновитьПараметрыРаботыВерсийРасширенийCУчетомРежимаВыполнения(Ложь);
Возврат;
КонецЕсли;
Если ЗначениеЗаполнено(ПараметрыСеанса.ПодключенныеРасширения)
И Не ВыполнятьОбновлениеБезФоновогоЗадания() Тогда
Попытка
Если ТребуетсяЗагрузитьПараметрыРаботыПрограммы() Тогда
ЗагрузитьПараметрыРаботыПрограммыCУчетомРежимаВыполнения(Ложь);
КонецЕсли;
Исключение
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными")
И ОбщегоНазначения.ЭтоПодчиненныйУзелРИБ() Тогда
МодульОбменДаннымиСервер = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиСервер");
МодульОбменДаннымиСервер.ВключитьПовторениеЗагрузкиСообщенияОбменаДаннымиПередЗапуском();
КонецЕсли;
ВызватьИсключение;
КонецПопытки;
// Запуск фонового задания.
Результат = ЗагрузитьОбновитьПараметрыРаботыПрограммыВФоне(Неопределено, Неопределено, Ложь);
ОбработанныйРезультат = ОбработанныйРезультатДлительнойОперации(Результат);
Если ЗначениеЗаполнено(ПараметрыСеанса.ПодключенныеРасширения) Тогда
// Запуск фонового задания обновления параметров.
Результат = ОбновитьПараметрыРаботыПрограммыВФоне(Неопределено, Неопределено, Ложь);
ОбработанныйРезультат = ОбработанныйРезультатДлительнойОперации(Результат, Ложь);
Если ЗначениеЗаполнено(ОбработанныйРезультат.КраткоеПредставлениеОшибки) Тогда
ВызватьИсключение ОбработанныйРезультат.ПодробноеПредставлениеОшибки;
КонецЕсли;
Иначе
ЗагрузитьОбновитьПараметрыРаботыПрограммыCУчетомРежимаВыполнения(Ложь);
ОбработатьПараметрыРаботыВерсийРасширений(); // Выше вызывается при обработке результата.
Попытка
ОбновитьПараметрыРаботыПрограммыCУчетомРежимаВыполнения(Ложь);
Исключение
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными")
И ОбщегоНазначения.ЭтоПодчиненныйУзелРИБ() Тогда
МодульОбменДаннымиСервер = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиСервер");
МодульОбменДаннымиСервер.ВключитьПовторениеЗагрузкиСообщенияОбменаДаннымиПередЗапуском();
КонецЕсли;
ВызватьИсключение;
КонецПопытки;
ОбновитьПараметрыРаботыВерсийРасширенийCУчетомРежимаВыполнения(Ложь);
КонецЕсли;
КонецПроцедуры
// Для процедуры ЗагрузитьОбновитьПараметрыРаботыПрограммы и вызова из формы ИндикацияХодаОбновленияИБ.
Функция ТребуетсяЗагрузитьПараметрыРаботыПрограммы() Экспорт
Возврат НеобходимоОбновление() И ОбщегоНазначения.ЭтоПодчиненныйУзелРИБ();
КонецФункции
// Для вызова из формы ИндикацияХодаОбновленияИБ.
Функция ЗагрузитьОбновитьПараметрыРаботыПрограммыВФоне(ОжидатьЗавершение, ИдентификаторФормы, СообщитьПрогресс) Экспорт
Функция ЗагрузитьПараметрыРаботыПрограммыВФоне(ОжидатьЗавершение, ИдентификаторФормы, СообщитьПрогресс) Экспорт
ПараметрыОперации = ДлительныеОперации.ПараметрыВыполненияВФоне(ИдентификаторФормы);
ПараметрыОперации.НаименованиеФоновогоЗадания = НСтр("ru = 'Фоновая загрузка параметров работы программы'");
ПараметрыОперации.ОжидатьЗавершение = ОжидатьЗавершение;
Если ОбщегоНазначения.РежимОтладки() Тогда
СообщитьПрогресс = Ложь;
КонецЕсли;
Возврат ДлительныеОперации.ВыполнитьВФоне(
"РегистрыСведений.ПараметрыРаботыПрограммы.ОбработчикДлительнойОперацииЗагрузкиПараметровРаботыПрограммы",
СообщитьПрогресс,
ПараметрыОперации);
КонецФункции
// Для вызова из формы ИндикацияХодаОбновленияИБ.
Функция ОбновитьПараметрыРаботыПрограммыВФоне(ОжидатьЗавершение, ИдентификаторФормы, СообщитьПрогресс) Экспорт
ПараметрыОперации = ДлительныеОперации.ПараметрыВыполненияВФоне(ИдентификаторФормы);
ПараметрыОперации.НаименованиеФоновогоЗадания = НСтр("ru = 'Фоновое обновление параметров работы программы'");
@@ -325,31 +368,68 @@
СообщитьПрогресс = Ложь;
КонецЕсли;
Если Не ДоступноВыполнениеФоновыхЗаданий() Тогда
Если ЗначениеЗаполнено(ПараметрыСеанса.ПодключенныеРасширения)
И Не ДоступноВыполнениеФоновыхЗаданий() Тогда
ВызватьИсключение
НСтр("ru = 'Обновление параметров работы программы не может быть выполнено,
|т.к. подключены расширения конфигурации, модифицирующие права в ролях конфигурации.
|Для выполнения обновления необходимо отключить такие расширения.'");
НСтр("ru = 'Обновление параметров работы программы, когда подключены расширения конфигурации,
|может быть выполнено только в фоновом задании без расширений конфигурации.
|
|В файловой информационной базе фоновое задание невозможно запустить
|из другого фонового задания, а также из COM-Соединения.
|
|Для выполнения обновления необходимо, либо делать обновление интерактивно
|через запуск 1С:Предприятия, либо временно отключать расширения конфигурации.'");
КонецЕсли;
Возврат ДлительныеОперации.ВыполнитьВФоне(
"РегистрыСведений.ПараметрыРаботыПрограммы.ОбработчикДлительнойОперацииЗагрузкиОбновления",
"РегистрыСведений.ПараметрыРаботыПрограммы.ОбработчикДлительнойОперацииОбновленияПараметровРаботыПрограммы",
СообщитьПрогресс,
ПараметрыОперации);
КонецФункции
// Для вызова из формы ИндикацияХодаОбновленияИБ.
Функция ОбработанныйРезультатДлительнойОперации(Результат) Экспорт
Функция ОбновитьПараметрыРаботыВерсийРасширенийВФоне(ОжидатьЗавершение, ИдентификаторФормы, СообщитьПрогресс) Экспорт
ПараметрыОперации = ДлительныеОперации.ПараметрыВыполненияВФоне(ИдентификаторФормы);
ПараметрыОперации.НаименованиеФоновогоЗадания = НСтр("ru = 'Фоновое обновление параметров работы версий расширений'");
ПараметрыОперации.ОжидатьЗавершение = ОжидатьЗавершение;
Если ОбщегоНазначения.РежимОтладки() Тогда
СообщитьПрогресс = Ложь;
КонецЕсли;
Возврат ДлительныеОперации.ВыполнитьВФоне(
"РегистрыСведений.ПараметрыРаботыПрограммы.ОбработчикДлительнойОперацииОбновленияПараметровВерсийРасширений",
СообщитьПрогресс,
ПараметрыОперации);
КонецФункции
// Для вызова из формы ИндикацияХодаОбновленияИБ.
Функция ОбработанныйРезультатДлительнойОперации(Результат, Операция) Экспорт
КраткоеПредставлениеОшибки = Неопределено;
ПодробноеПредставлениеОшибки = Неопределено;
Если Результат = Неопределено Или Результат.Статус = "Отменено" Тогда
КраткоеПредставлениеОшибки =
НСтр("ru = 'Не удалось обновить параметры работы программы по причине:
|Фоновое задание, выполняющее обновление отменено.'");
Если Операция = "ЗагрузкаПараметровРаботыПрограммы" Тогда
КраткоеПредставлениеОшибки =
НСтр("ru = 'Не удалось загрузить параметры работы программы по причине:
|Фоновое задание, выполняющее загрузку отменено.'");
ИначеЕсли Операция = "ОбновлениеПараметровРаботыПрограммы" Тогда
КраткоеПредставлениеОшибки =
НСтр("ru = 'Не удалось обновить параметры работы программы по причине:
|Фоновое задание, выполняющее обновление отменено.'");
Иначе // ОбновлениеПараметровРаботыВерсийРасширений.
КраткоеПредставлениеОшибки =
НСтр("ru = 'Не удалось обновить параметры работы версий расширений по причине:
|Фоновое задание, выполняющее обновление отменено.'");
КонецЕсли;
ИначеЕсли Результат.Статус = "Выполнено" Тогда
РезультатВыполнения = ПолучитьИзВременногоХранилища(Результат.АдресРезультата);
@@ -357,12 +437,27 @@
Если ТипЗнч(РезультатВыполнения) = Тип("Структура") Тогда
КраткоеПредставлениеОшибки = РезультатВыполнения.КраткоеПредставлениеОшибки;
ПодробноеПредставлениеОшибки = РезультатВыполнения.ПодробноеПредставлениеОшибки;
Иначе
ИначеЕсли Операция = "ЗагрузкаПараметровРаботыПрограммы" Тогда
КраткоеПредставлениеОшибки =
НСтр("ru = 'Не удалось загрузить параметры работы программы по причине:
|Фоновое задание, выполняющее загрузку не вернуло результат.'");
ИначеЕсли Операция = "ОбновлениеПараметровРаботыПрограммы" Тогда
КраткоеПредставлениеОшибки =
НСтр("ru = 'Не удалось обновить параметры работы программы по причине:
|Фоновое задание, выполняющее обновление не вернуло результат.'");
Иначе // ОбновлениеПараметровРаботыВерсийРасширений.
КраткоеПредставлениеОшибки =
НСтр("ru = 'Не удалось обновить параметры работы версий расширений по причине:
|Фоновое задание, выполняющее обновление не вернуло результат.'");
КонецЕсли;
ИначеЕсли Результат.Статус <> "ЗапускНеТребуется" Тогда
ИначеЕсли Результат.Статус <> "ЗагрузкаПараметровРаботыПрограммыНеТребуется"
И Результат.Статус <> "ЗагрузкаИОбновлениеПараметровРаботыПрограммыНеТребуются"
И Результат.Статус <> "ОбновлениеПараметровРаботыВерсийРасширенийНеТребуется" Тогда
// Ошибка выполнения фонового задания.
КраткоеПредставлениеОшибки = Результат.КраткоеПредставлениеОшибки;
ПодробноеПредставлениеОшибки = Результат.ПодробноеПредставлениеОшибки;
@@ -384,10 +479,6 @@
ОбработанныйРезультат.Вставить("КраткоеПредставлениеОшибки", КраткоеПредставлениеОшибки);
ОбработанныйРезультат.Вставить("ПодробноеПредставлениеОшибки", ПодробноеПредставлениеОшибки);
Если Не ЗначениеЗаполнено(КраткоеПредставлениеОшибки) Тогда
ОбработатьПараметрыРаботыВерсийРасширений();
КонецЕсли;
Возврат ОбработанныйРезультат;
КонецФункции
@@ -396,15 +487,15 @@
#Область СлужебныеПроцедурыИФункции
// Для вызова из фонового задания без подключенных расширений конфигурации.
Процедура ОбработчикДлительнойОперацииЗагрузкиОбновления(СообщитьПрогресс, АдресХранилища) Экспорт
// Для вызова из фонового задания с текущим составом расширений конфигурации.
Процедура ОбработчикДлительнойОперацииЗагрузкиПараметровРаботыПрограммы(СообщитьПрогресс, АдресХранилища) Экспорт
РезультатВыполнения = Новый Структура;
РезультатВыполнения.Вставить("КраткоеПредставлениеОшибки", Неопределено);
РезультатВыполнения.Вставить("ПодробноеПредставлениеОшибки", Неопределено);
Попытка
ЗагрузитьОбновитьПараметрыРаботыПрограммыCУчетомРежимаВыполнения(СообщитьПрогресс);
ЗагрузитьПараметрыРаботыПрограммыCУчетомРежимаВыполнения(СообщитьПрогресс);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
РезультатВыполнения.КраткоеПредставлениеОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке);
@@ -422,12 +513,174 @@
КонецПроцедуры
Процедура ЗагрузитьОбновитьПараметрыРаботыПрограммыCУчетомРежимаВыполнения(СообщитьПрогресс)
// Для вызова из фонового задания без подключенных расширений конфигурации.
Процедура ОбработчикДлительнойОперацииОбновленияПараметровРаботыПрограммы(СообщитьПрогресс, АдресХранилища) Экспорт
РезультатВыполнения = Новый Структура;
РезультатВыполнения.Вставить("КраткоеПредставлениеОшибки", Неопределено);
РезультатВыполнения.Вставить("ПодробноеПредставлениеОшибки", Неопределено);
Попытка
ОбновитьПараметрыРаботыПрограммыCУчетомРежимаВыполнения(СообщитьПрогресс);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
РезультатВыполнения.КраткоеПредставлениеОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке);
РезультатВыполнения.ПодробноеПредставлениеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
// Переход в режим открытия формы повторной синхронизации данных перед запуском
// с двумя вариантами "Синхронизировать и продолжить" и "Продолжить".
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными")
И ОбщегоНазначения.ЭтоПодчиненныйУзелРИБ() Тогда
МодульОбменДаннымиСервер = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиСервер");
МодульОбменДаннымиСервер.ВключитьПовторениеЗагрузкиСообщенияОбменаДаннымиПередЗапуском();
КонецЕсли;
КонецПопытки;
ПоместитьВоВременноеХранилище(РезультатВыполнения, АдресХранилища);
КонецПроцедуры
// Для вызова из фонового задания с текущим составом расширений конфигурации.
Процедура ОбработчикДлительнойОперацииОбновленияПараметровВерсийРасширений(СообщитьПрогресс, АдресХранилища) Экспорт
РезультатВыполнения = Новый Структура;
РезультатВыполнения.Вставить("КраткоеПредставлениеОшибки", Неопределено);
РезультатВыполнения.Вставить("ПодробноеПредставлениеОшибки", Неопределено);
Попытка
ОбновитьПараметрыРаботыВерсийРасширенийCУчетомРежимаВыполнения(СообщитьПрогресс);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
РезультатВыполнения.КраткоеПредставлениеОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке);
РезультатВыполнения.ПодробноеПредставлениеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
// Переход в режим открытия формы повторной синхронизации данных перед запуском
// с двумя вариантами "Синхронизировать и продолжить" и "Продолжить".
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными")
И ОбщегоНазначения.ЭтоПодчиненныйУзелРИБ() Тогда
МодульОбменДаннымиСервер = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиСервер");
МодульОбменДаннымиСервер.ВключитьПовторениеЗагрузкиСообщенияОбменаДаннымиПередЗапуском();
КонецЕсли;
КонецПопытки;
ПоместитьВоВременноеХранилище(РезультатВыполнения, АдресХранилища);
КонецПроцедуры
Процедура ЗагрузитьПараметрыРаботыПрограммыCУчетомРежимаВыполнения(СообщитьПрогресс)
СтандартныеПодсистемыСервер.ПроверитьДинамическоеОбновлениеВерсииПрограммы();
Если ЗначениеЗаполнено(ПараметрыСеанса.ПодключенныеРасширения)
И Не ВыполнятьОбновлениеБезФоновогоЗадания() Тогда
Если ОбщегоНазначения.РазделениеВключено()
И ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
ВызватьИсключение
НСтр("ru = 'Не удалось загрузить параметры работы программы по причине:
|Загрузку невозможно выполнить в области данных.'");
КонецЕсли;
НастройкаПодчиненногоУзлаРИБ = Ложь;
Если Не НеобходимоОбновление(НастройкаПодчиненногоУзлаРИБ)
Или Не ОбщегоНазначения.ЭтоПодчиненныйУзелРИБ() Тогда
Возврат;
КонецЕсли;
// РИБ-обмен данными, обновление в подчиненном узле ИБ.
МодульОценкаПроизводительности = Неопределено;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОценкаПроизводительности") Тогда
МодульОценкаПроизводительности = ОбщегоНазначения.ОбщийМодуль("ОценкаПроизводительности");
ВремяНачала = МодульОценкаПроизводительности.НачатьЗамерВремени();
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда
МодульОбменДаннымиСервер = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиСервер");
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
Если Не НастройкаПодчиненногоУзлаРИБ Тогда
СтандартнаяОбработка = Истина;
ОбщегоНазначенияПереопределяемый.ПередЗагрузкойПриоритетныхДанныхВПодчиненномРИБУзле(
СтандартнаяОбработка);
Если СтандартнаяОбработка = Истина
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда
// Загрузка предопределенных элементов и идентификаторов объектов метаданных из главного узла.
МодульОбменДаннымиСервер.ЗагрузитьПриоритетныеДанныеВПодчиненныйУзелРИБ();
КонецЕсли;
Если СообщитьПрогресс Тогда
ДлительныеОперации.СообщитьПрогресс(5);
КонецЕсли;
КонецЕсли;
// Проверка загрузки идентификаторов объектов метаданных из главного узла.
СписокКритичныхИзменений = "";
Попытка
Справочники.ИдентификаторыОбъектовМетаданных.ВыполнитьОбновлениеДанных(Ложь, Ложь, Истина, , СписокКритичныхИзменений);
Исключение
// Переход в режим открытия формы повторной синхронизации данных перед запуском
// с одним вариантом "Синхронизировать и продолжить".
Если Не НастройкаПодчиненногоУзлаРИБ
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда
МодульОбменДаннымиСервер.ВключитьПовторениеЗагрузкиСообщенияОбменаДаннымиПередЗапуском();
КонецЕсли;
ВызватьИсключение;
КонецПопытки;
Если ЗначениеЗаполнено(СписокКритичныхИзменений) Тогда
ИмяСобытия = НСтр("ru = 'Идентификаторы объектов метаданных.Требуется загрузить критичные изменения'",
ОбщегоНазначения.КодОсновногоЯзыка());
ЗаписьЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Ошибка, , , СписокКритичныхИзменений);
// Переход в режим открытия формы повторной синхронизации данных перед запуском
// с одним вариантом "Синхронизировать и продолжить".
Если Не НастройкаПодчиненногоУзлаРИБ
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда
МодульОбменДаннымиСервер.ВключитьПовторениеЗагрузкиСообщенияОбменаДаннымиПередЗапуском();
КонецЕсли;
ТекстОшибки =
НСтр("ru = 'Информационная база не может быть обновлена из-за проблемы в главном узле:
|- главный узел был некорректно обновлен (возможно не был увеличен номер версии конфигурации,
| из-за чего не заполнился справочник Идентификаторы объектов метаданных);
|- либо были отменены к выгрузке приоритетные данные (элементы
| справочника Идентификаторы объектов метаданных).
|
|Необходимо заново выполнить обновление главного узла, зарегистрировать к выгрузке
|приоритетные данные и повторить синхронизацию данных:
|- в главном узле запустите программу с параметром /C ЗапуститьОбновлениеИнформационнойБазы;
|%1'");
Если НастройкаПодчиненногоУзлаРИБ Тогда
// Настройка подчиненного узла РИБ при первом запуске.
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОшибки,
НСтр("ru = '- затем повторите создание подчиненного узла.'"));
Иначе
// Обновление подчиненного узла РИБ.
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОшибки,
НСтр("ru = '- затем повторите синхронизацию данных с этой информационной базой
| (сначала в главном узле, затем в этой информационной базе после перезапуска).'"));
КонецЕсли;
ВызватьИсключение ТекстОшибки;
КонецЕсли;
Если СообщитьПрогресс Тогда
ДлительныеОперации.СообщитьПрогресс(10);
КонецЕсли;
Если МодульОценкаПроизводительности <> Неопределено Тогда
МодульОценкаПроизводительности.ЗакончитьЗамерВремени("ВремяЗагрузкиПриоритетныхДанных", ВремяНачала);
КонецЕсли;
КонецПроцедуры
Процедура ОбновитьПараметрыРаботыПрограммыCУчетомРежимаВыполнения(СообщитьПрогресс)
СтандартныеПодсистемыСервер.ПроверитьДинамическоеОбновлениеВерсииПрограммы();
Если ЗначениеЗаполнено(ПараметрыСеанса.ПодключенныеРасширения) Тогда
ВызватьИсключение
НСтр("ru = 'Не удалось обновить параметры работы программы по причине:
|Найдены подключенные расширения конфигурации.'");
@@ -440,101 +693,12 @@
|Обновление невозможно выполнить в области данных.'");
КонецЕсли;
НастройкаПодчиненногоУзлаРИБ = Ложь;
Если Не НеобходимоОбновление(НастройкаПодчиненногоУзлаРИБ) Тогда
Возврат;
КонецЕсли;
МодульОценкаПроизводительности = Неопределено;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОценкаПроизводительности") Тогда
МодульОценкаПроизводительности = ОбщегоНазначения.ОбщийМодуль("ОценкаПроизводительности");
ВремяНачала = МодульОценкаПроизводительности.НачатьЗамерВремени();
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
Если ОбщегоНазначения.ЭтоПодчиненныйУзелРИБ() Тогда
// Есть РИБ-обмен данными и обновление в подчиненном узле ИБ.
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда
МодульОбменДаннымиСервер = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиСервер");
КонецЕсли;
Если Не НастройкаПодчиненногоУзлаРИБ Тогда
СтандартнаяОбработка = Истина;
ОбщегоНазначенияПереопределяемый.ПередЗагрузкойПриоритетныхДанныхВПодчиненномРИБУзле(
СтандартнаяОбработка);
Если СтандартнаяОбработка = Истина
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда
// Загрузка предопределенных элементов и идентификаторов объектов метаданных из главного узла.
МодульОбменДаннымиСервер.ЗагрузитьПриоритетныеДанныеВПодчиненныйУзелРИБ();
КонецЕсли;
Если СообщитьПрогресс Тогда
ДлительныеОперации.СообщитьПрогресс(5);
КонецЕсли;
КонецЕсли;
// Проверка загрузки идентификаторов объектов метаданных из главного узла.
СписокКритичныхИзменений = "";
Попытка
Справочники.ИдентификаторыОбъектовМетаданных.ВыполнитьОбновлениеДанных(Ложь, Ложь, Истина, , СписокКритичныхИзменений);
Исключение
// Переход в режим открытия формы повторной синхронизации данных перед запуском
// с одним вариантом "Синхронизировать и продолжить".
Если Не НастройкаПодчиненногоУзлаРИБ
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда
МодульОбменДаннымиСервер.ВключитьПовторениеЗагрузкиСообщенияОбменаДаннымиПередЗапуском();
КонецЕсли;
ВызватьИсключение;
КонецПопытки;
Если ЗначениеЗаполнено(СписокКритичныхИзменений) Тогда
ИмяСобытия = НСтр("ru = 'Идентификаторы объектов метаданных.Требуется загрузить критичные изменения'",
ОбщегоНазначения.КодОсновногоЯзыка());
ЗаписьЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Ошибка, , , СписокКритичныхИзменений);
// Переход в режим открытия формы повторной синхронизации данных перед запуском
// с одним вариантом "Синхронизировать и продолжить".
Если Не НастройкаПодчиненногоУзлаРИБ
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда
МодульОбменДаннымиСервер.ВключитьПовторениеЗагрузкиСообщенияОбменаДаннымиПередЗапуском();
КонецЕсли;
ТекстОшибки =
НСтр("ru = 'Информационная база не может быть обновлена из-за проблемы в главном узле:
|- главный узел был некорректно обновлен (возможно не был увеличен номер версии конфигурации,
| из-за чего не заполнился справочник Идентификаторы объектов метаданных);
|- либо были отменены к выгрузке приоритетные данные (элементы
| справочника Идентификаторы объектов метаданных).
|
|Необходимо заново выполнить обновление главного узла, зарегистрировать к выгрузке
|приоритетные данные и повторить синхронизацию данных:
|- в главном узле запустите программу с параметром /C ЗапуститьОбновлениеИнформационнойБазы;
|%1'");
Если НастройкаПодчиненногоУзлаРИБ Тогда
// Настройка подчиненного узла РИБ при первом запуске.
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОшибки,
НСтр("ru = '- затем повторите создание подчиненного узла.'"));
Иначе
// Обновление подчиненного узла РИБ.
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОшибки,
НСтр("ru = '- затем повторите синхронизацию данных с этой информационной базой
| (сначала в главном узле, затем в этой информационной базе после перезапуска).'"));
КонецЕсли;
ВызватьИсключение ТекстОшибки;
КонецЕсли;
Если СообщитьПрогресс Тогда
ДлительныеОперации.СообщитьПрогресс(10);
КонецЕсли;
КонецЕсли;
// Нет РИБ-обмена данными
// или обновление в главном узле ИБ
// или обновление при первом запуске подчиненного узла
@@ -547,12 +711,16 @@
КонецПроцедуры
Процедура ОбработатьПараметрыРаботыВерсийРасширений()
Процедура ОбновитьПараметрыРаботыВерсийРасширенийCУчетомРежимаВыполнения(СообщитьПрогресс)
Если Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
Возврат;
КонецЕсли;
Если СообщитьПрогресс Тогда
ДлительныеОперации.СообщитьПрогресс(65);
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
ПараметрЗапускаКлиента = ПараметрыСеанса.ПараметрыКлиентаНаСервере.Получить("ПараметрЗапуска");
УстановитьПривилегированныйРежим(Ложь);
@@ -560,8 +728,16 @@
РегистрыСведений.ПараметрыРаботыВерсийРасширений.ОчиститьВсеПараметрыРаботыРасширений();
КонецЕсли;
Если СообщитьПрогресс Тогда
ДлительныеОперации.СообщитьПрогресс(75);
КонецЕсли;
РегистрыСведений.ПараметрыРаботыВерсийРасширений.ЗаполнитьВсеПараметрыРаботыРасширений();
Если СообщитьПрогресс Тогда
ДлительныеОперации.СообщитьПрогресс(95);
КонецЕсли;
КонецПроцедуры
// Для функции ИзмененияПараметраРаботыПрограммы.
@@ -574,18 +750,18 @@
КонецФункции
// Для процедур ЗагрузитьОбновитьПараметрыРаботыПрограммы, ОбновитьВсеПараметрыРаботыПрограммы.
// Для процедур ЗагрузитьОбновитьПараметрыРаботыПрограммы.
Процедура ОбновитьПараметрыРаботыПрограммы(СообщитьПрогресс = Ложь)
Если СообщитьПрогресс Тогда
ДлительныеОперации.СообщитьПрогресс(30);
ДлительныеОперации.СообщитьПрогресс(15);
КонецЕсли;
Если Не СтандартныеПодсистемыПовтИсп.ОтключитьИдентификаторыОбъектовМетаданных() Тогда
Справочники.ИдентификаторыОбъектовМетаданных.ВыполнитьОбновлениеДанных(Ложь, Ложь, Ложь);
КонецЕсли;
Если СообщитьПрогресс Тогда
ДлительныеОперации.СообщитьПрогресс(60);
ДлительныеОперации.СообщитьПрогресс(25);
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
@@ -593,18 +769,26 @@
МодульУправлениеДоступомСлужебный.ОбновитьПараметрыОграниченияДоступа();
КонецЕсли;
Если СообщитьПрогресс Тогда
ДлительныеОперации.СообщитьПрогресс(45);
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтрольВеденияУчета") Тогда
МодульКонтрольВеденияУчетаСлужебный = ОбщегоНазначения.ОбщийМодуль("КонтрольВеденияУчетаСлужебный");
МодульКонтрольВеденияУчетаСлужебный.ОбновитьПараметрыПроверокУчета();
КонецЕсли;
Если СообщитьПрогресс Тогда
ДлительныеОперации.СообщитьПрогресс(55);
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда
МодульОбменДаннымиСервер = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиСервер");
МодульОбменДаннымиСервер.ВыполнитьОбновлениеПравилДляОбменаДанными();
КонецЕсли;
Если СообщитьПрогресс Тогда
ДлительныеОперации.СообщитьПрогресс(100);
ДлительныеОперации.СообщитьПрогресс(65);
КонецЕсли;
ИмяПараметра = "СтандартныеПодсистемы.БазоваяФункциональность.ДатаОбновленияВсехПараметровРаботыПрограммы";
@@ -745,37 +929,14 @@
КонецФункции
Функция ВыполнятьОбновлениеБезФоновогоЗадания()
Если Не ДоступноВыполнениеФоновыхЗаданий()
И Не ЕстьРолиМодифицированныеРасширениями() Тогда
Возврат Истина;
КонецЕсли;
Возврат Ложь;
КонецФункции
Функция ЕстьРолиМодифицированныеРасширениями()
Для Каждого Роль Из Метаданные.Роли Цикл
Если Роль.ЕстьИзмененияРасширениямиКонфигурации() Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
Возврат Ложь;
КонецФункции
Функция ДоступноВыполнениеФоновыхЗаданий()
Если ТекущийРежимЗапуска() = Неопределено
И ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
Сеанс = ПолучитьТекущийСеансИнформационнойБазы();
Если Сеанс.ИмяПриложения = "COMConnection" Тогда
Если Сеанс.ИмяПриложения = "COMConnection"
Или Сеанс.ИмяПриложения = "BackgroundJob" Тогда
Возврат Ложь;
КонецЕсли;
КонецЕсли;
@@ -234,7 +234,7 @@
<id>596</id>
<title>
<key>ru</key>
<value>При отправке данных в другую программу, обнаружены объекты информационной базы, которые зарегистрированы к обмену, но не могут быть выгружены по различным причинам. Необходимо открыть проблемный объект и устранить причины, мешающие его отправке в другую программу. При последующей отправке в другую программу список проблем будет актуализирован.</value>
<value>При отправке данных в другую программу обнаружены объекты информационной базы, которые зарегистрированы к обмену, но не могут быть выгружены по различным причинам. Необходимо открыть проблемный объект и устранить причины, мешающие его отправке в другую программу. При последующей отправке в другую программу список проблем будет актуализирован.</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
@@ -4434,7 +4434,7 @@
<id>178</id>
<title>
<key>ru</key>
<value>При синхронизации были получены данные, которые были отклонены из-за установленного запрета на загрузку данных, в результате чего появилась непринятая версия документа. Для того чтобы принять версию несмотря на запрет используйте команду &quot;Принять версию&quot;.</value>
<value>При синхронизации были получены данные, которые были отклонены из-за установленного запрета на загрузку данных, в результате чего появилась непринятая версия документа. Для того чтобы принять версию несмотря на запрет, используйте команду &quot;Принять версию&quot;.</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
@@ -199,7 +199,7 @@
</type>
<toolTip>
<key>ru</key>
<value>Узел плана обмена, в разрезе которого храниться информация сопоставления объектов.</value>
<value>Узел плана обмена, для которого хранится информация сопоставления объектов.</value>
</toolTip>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
@@ -46,6 +46,10 @@
Если РазрешеноИзменятьВарианты Тогда
Форма.НастройкиОтчета.Вставить("ФормаНастроекРасширенныйРежим", 1);
КонецЕсли;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Форма.Элементы, "ВыбратьНастройки", "Видимость", Ложь);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Форма.Элементы, "СохранитьНастройки", "Видимость", Ложь);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Форма.Элементы, "ПоделитьсяНастройками", "Видимость", Ложь);
КонецПроцедуры
// См. ОтчетыПереопределяемый.ПриОпределенииПараметровВыбора.
@@ -1315,6 +1315,93 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ОбщиеВнешниеКомпоненты</name>
<right>
@@ -2331,93 +2418,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>CommonCommand.СозданиеСвязанныхОбъектов</name>
<right>
@@ -1898,6 +1898,45 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>Document.ТелефонныйЗвонок</name>
<right>
@@ -3233,45 +3272,6 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>Constant.ИспользоватьДополнительныйЯзык2</name>
<right>
@@ -330,17 +330,6 @@
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ОбработчикиСобытийСинхронизацииДанных</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.КлючиДоступа</name>
<right>
@@ -539,17 +528,6 @@
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.НастройкиОбменаДаннымиXDTO</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.ИспользоватьПризнакРассмотрено</name>
<right>
@@ -1519,17 +1497,6 @@
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.НастройкиТранспортаОбменаДанными</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.СтатусОбновленияКонфигурации</name>
<right>
@@ -2073,17 +2040,6 @@
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ПсевдонимыПредопределенныхУзлов</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ГруппыИсполнителейЗадач</name>
<right>
@@ -2203,17 +2159,6 @@
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.УдалитьРезультатыОбменаДанными</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ИспользованиеДополнительныхОтчетовИОбработокСервисаВАвтономномРабочемМесте</name>
<right>
@@ -21,9 +21,14 @@
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Если Не ЗначениеЗаполнено(ИмяФайла) Тогда
ИмяФайла = КаталогДокументов() + "ReportOptions.zip";
КонецЕсли;
Обработчик = Новый ОписаниеОповещения(
"ПослеУстановкиРасширенияРаботыСФайлами",
ЭтотОбъект);
ТекстПредложения = НСтр("ru = 'Для сохранения варианта отчета в файл необходимо
|установить расширение для работы с файлами.'");
ФайловаяСистемаКлиент.ПодключитьРасширениеДляРаботыСФайлами(Обработчик, ТекстПредложения, Ложь);
КонецПроцедуры
@@ -313,4 +318,32 @@
КонецПроцедуры
&НаКлиенте
Процедура ПослеУстановкиРасширенияРаботыСФайлами(Знач РасширениеПодключено, ДополнительныеПараметры) Экспорт
РасширениеПодключено = (РасширениеПодключено = Истина);
Элементы.Сохранить.Доступность = РасширениеПодключено;
Элементы.ИмяФайла.ТолькоПросмотр = Не РасширениеПодключено;
Если Не РасширениеПодключено
Или ЗначениеЗаполнено(ИмяФайла) Тогда
Возврат;
КонецЕсли;
Обработчик = Новый ОписаниеОповещения("ПослеПолученияКаталогаДокументов", ЭтотОбъект);
НачатьПолучениеКаталогаДокументов(Обработчик);
КонецПроцедуры
&НаКлиенте
Процедура ПослеПолученияКаталогаДокументов(ИмяКаталогаДокументов, ДополнительныеПараметры) Экспорт
Если ЗначениеЗаполнено(ИмяКаталогаДокументов) Тогда
ИмяФайла = ИмяКаталогаДокументов + "ReportOptions.zip";
КонецЕсли;
КонецПроцедуры
#КонецОбласти