3_1_4_265

This commit is contained in:
Компания 1С committed 2021-05-27 23:27:00 +03:00
1 parent 21bb66cf43
commit d95d4df5be
38 files changed
+718 -457

No files matched your search

@@ -97,7 +97,7 @@
Процедура УстановитьЗаголовок()
ЗначенияРеквизитов = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
Объект.Владелец, "Заголовок, ЗаголовокФормыЗначения");
Объект.Владелец, "Заголовок, ЗаголовокФормыЗначения", , ТекущийЯзык().КодЯзыка);
ИмяСвойства = СокрЛП(ЗначенияРеквизитов.ЗаголовокФормыЗначения);
@@ -168,7 +168,8 @@
ОтменитьТранзакцию();
Продолжить;
КонецЕсли;
ИмяНабора = Сред(ОбновляемыйНабор.ИмяПредопределенныхДанных, 8, СтрДлина(ОбновляемыйНабор.ИмяПредопределенныхДанных) - 7);
ДлинаПрефикса = СтрДлина("Удалить");
ИмяНабора = Сред(ОбновляемыйНабор.ИмяПредопределенныхДанных, ДлинаПрефикса + 1, СтрДлина(ОбновляемыйНабор.ИмяПредопределенныхДанных) - ДлинаПрефикса);
ОписаниеНовогоНабора = ПредопределенныеНаборыСвойств.Получить(ИмяНабора); // см. Справочники.НаборыДополнительныхРеквизитовИСведений.СвойстваНабора
Если ОписаниеНовогоНабора = Неопределено Тогда
ОтменитьТранзакцию();
@@ -1512,36 +1512,36 @@
Массив = СтрРазделить(Текст, ";", Ложь);
Для каждого Подстрока Из Массив Цикл
Если СтрНайти(Подстрока, "ДП=") > 0 ИЛИ СтрНайти(Подстрока, "DE=") > 0 Тогда
Если СтрНайти(Подстрока, "ДП=") > 0 ИЛИ СтрНайти(Подстрока, "DE=") > 0 Тогда // @Non-NLS
ТекстПредупреждения = ТекстПредупреждения + Символы.ПС
+ " - " + НСтр("ru = 'представление пустой даты'");
Продолжить;
КонецЕсли;
Если СтрНайти(Подстрока, "ЧН=") > 0 ИЛИ СтрНайти(Подстрока, "NZ=") > 0 Тогда
Если СтрНайти(Подстрока, "ЧН=") > 0 ИЛИ СтрНайти(Подстрока, "NZ=") > 0 Тогда // @Non-NLS
ТекстПредупреждения = ТекстПредупреждения + Символы.ПС
+ " - " + НСтр("ru = 'представление пустого числа'");
Продолжить;
КонецЕсли;
Если СтрНайти(Подстрока, "ДФ=") > 0 ИЛИ СтрНайти(Подстрока, "DF=") > 0 Тогда
Если СтрНайти(Подстрока, "ддд") > 0 ИЛИ СтрНайти(Подстрока, "ddd") > 0 Тогда
Если СтрНайти(Подстрока, "ДФ=") > 0 ИЛИ СтрНайти(Подстрока, "DF=") > 0 Тогда // @Non-NLS
Если СтрНайти(Подстрока, "ддд") > 0 ИЛИ СтрНайти(Подстрока, "ddd") > 0 Тогда // @Non-NLS
ТекстПредупреждения = ТекстПредупреждения + Символы.ПС
+ " - " + НСтр("ru = 'кратное название дня недели'");
КонецЕсли;
Если СтрНайти(Подстрока, "дддд") > 0 ИЛИ СтрНайти(Подстрока, "dddd") > 0 Тогда
Если СтрНайти(Подстрока, "дддд") > 0 ИЛИ СтрНайти(Подстрока, "dddd") > 0 Тогда // @Non-NLS
ТекстПредупреждения = ТекстПредупреждения + Символы.ПС
+ " - " + НСтр("ru = 'полное название дня недели'");
КонецЕсли;
Если СтрНайти(Подстрока, "МММ") > 0 ИЛИ СтрНайти(Подстрока, "MMM") > 0 Тогда
Если СтрНайти(Подстрока, "МММ") > 0 ИЛИ СтрНайти(Подстрока, "MMM") > 0 Тогда // @Non-NLS
ТекстПредупреждения = ТекстПредупреждения + Символы.ПС
+ " - " + НСтр("ru = 'кратное название месяца'");
КонецЕсли;
Если СтрНайти(Подстрока, "ММММ") > 0 ИЛИ СтрНайти(Подстрока, "MMMM") > 0 Тогда
Если СтрНайти(Подстрока, "ММММ") > 0 ИЛИ СтрНайти(Подстрока, "MMMM") > 0 Тогда // @Non-NLS
ТекстПредупреждения = ТекстПредупреждения + Символы.ПС
+ " - " + НСтр("ru = 'полное название месяца'");
КонецЕсли;
КонецЕсли;
Если СтрНайти(Подстрока, "ДЛФ=") > 0 ИЛИ СтрНайти(Подстрока, "DLF=") > 0 Тогда
Если СтрНайти(Подстрока, "ДД") > 0 ИЛИ СтрНайти(Подстрока, "DD") > 0 Тогда
Если СтрНайти(Подстрока, "ДЛФ=") > 0 ИЛИ СтрНайти(Подстрока, "DLF=") > 0 Тогда // @Non-NLS
Если СтрНайти(Подстрока, "ДД") > 0 ИЛИ СтрНайти(Подстрока, "DD") > 0 Тогда // @Non-NLS
ТекстПредупреждения = ТекстПредупреждения + Символы.ПС
+ " - " + НСтр("ru = 'длинная дата (месяц прописью)'");
КонецЕсли;
@@ -31,7 +31,9 @@
ОпределитьПоведениеВМобильномКлиенте();
// Определение ключевых параметров отчета.
РежимРасшифровки = (Параметры.Свойство("Расшифровка") И Параметры.Расшифровка <> Неопределено);
РежимРасшифровки = (Параметры.Свойство("Расшифровка") И Параметры.Расшифровка <> Неопределено)
Или Параметры.Свойство("ПредставлениеВарианта") И Параметры.ПредставлениеВарианта = "Расшифровка";
ПравоВывода = ПравоДоступа("Вывод", Метаданные);
ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
@@ -638,6 +640,11 @@
КонецЕсли;
НастройкиОтчета.Вставить("РезультатНастройки", Результат);
Если ТипЗнч(Результат) = Тип("Структура") Тогда
НастройкиОтчета.Вставить("ОтчетСформирован", Результат.Переформировать);
КонецЕсли;
ПодключитьОбработчикОжидания("ОбновитьЭлементыФормыНастроекОтложенно", 0.1, Истина);
КонецПроцедуры
@@ -1236,6 +1243,8 @@
СброситьТекущуюОбласть();
ПоказатьВыбранныйУровеньГруппировок();
НастройкиОтчета.Вставить("ОтчетСформирован", ОтчетСформирован);
КонецПроцедуры
&НаСервере
@@ -2219,6 +2228,8 @@
ОтчетыСервер.ОбновитьЭлементыФормыНастроек(
ЭтотОбъект, Элементы.КомпоновщикНастроекПользовательскиеНастройки, ПараметрыОбновления);
ОтчетСформирован = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(НастройкиОтчета, "ОтчетСформирован", Ложь);
Если ПараметрыОбновления.ИмяСобытия <> "ПослеФормирования" Тогда
Переформировать = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ПараметрыОбновления, "Переформировать", Ложь);
@@ -2232,8 +2243,9 @@
ОтчетыКлиентСервер.ОтобразитьСостояниеОтчета(
ЭтотОбъект, НСтр("ru = 'Отчет формируется...'"), БиблиотекаКартинок.ДлительнаяОперация48);
ИначеЕсли ПараметрыОбновления.ВариантМодифицирован
Или ПараметрыОбновления.ПользовательскиеНастройкиМодифицированы Тогда
ИначеЕсли Не ОтчетСформирован
И (ПараметрыОбновления.ВариантМодифицирован
Или ПараметрыОбновления.ПользовательскиеНастройкиМодифицированы) Тогда
ОтчетыКлиентСервер.ОповеститьОИзмененииНастроек(ЭтотОбъект);
КонецЕсли;
@@ -503,11 +503,12 @@
УстановитьПривилегированныйРежим(Истина);
// Правила обмена не мигрируют в РИБ, поэтому выполняем загрузку правил.
ОбменДаннымиСервер.ВыполнитьОбновлениеПравилДляОбменаДанными();
ЗагрузитьДанныеНачальногоОбраза();
ЗагрузитьПараметрыИзНачальногоОбраза();
// Правила обмена не мигрируют в РИБ, поэтому выполняем загрузку правил.
ОбменДаннымиСервер.ВыполнитьОбновлениеПравилДляОбменаДанными();
УстановитьПривилегированныйРежим(Ложь);
ОбменДаннымиСервер.ПриПродолженииНастройкиПодчиненногоУзлаРИБ();
@@ -2059,7 +2059,7 @@
КонецФункции
Функция РаспознатьАдресВебСервис(ЧастиАдреса, Представление, ВСтруктуру)
Функция РаспознатьАдресВебСервис(ЧастиАдреса, Знач Представление, ВСтруктуру)
Адрес = ОписаниеНовойКонтактнойИнформации();
АдресДляПроверки = Новый Массив;
@@ -2083,6 +2083,9 @@
КонецЦикла;
Представление = СтрЗаменить(Представление, "№", ""); // Обратная совместимость
Представление = СтрЗаменить(Представление, " ", " ");
ТекстGETЗапроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("recognize?text=%1&limit=20",
КодироватьСтроку(Представление, СпособКодированияСтроки.КодировкаURL));
@@ -7512,7 +7515,7 @@
КонецФункции
Функция ПрефиксВерсииЗапроса() Экспорт
Возврат "rest/v2/";
Возврат "rest/v3/";
КонецФункции
// Возвращает информацию из классификатора субъектов РФ.
@@ -1305,6 +1305,8 @@
//
Процедура УстановитьТекущимКонтакт(Контакт, Форма) Экспорт
ПрефиксТаблица = ВзаимодействияКлиентСервер.ПрефиксТаблица();
Если ТипЗнч(Контакт) = Тип("СправочникСсылка.Пользователи") Тогда
Форма.Элементы.СтраницыСписки.ТекущаяСтраница = Форма.Элементы.СтраницаПользователей;
@@ -1321,10 +1323,10 @@
Форма.Элементы["Страница_" + ?(ЭлементМассиваОписания.ЕстьВладелец,
ЭлементМассиваОписания.ИмяВладельца,
ЭлементМассиваОписания.Имя)];
ТаблицаФормы = ТаблицаФормыПоИмени(Форма, "Таблица_" + ЭлементМассиваОписания.Имя);
ТаблицаФормы = ТаблицаФормыПоИмени(Форма, ПрефиксТаблица + ЭлементМассиваОписания.Имя);
ТаблицаФормы.ТекущаяСтрока = Контакт;
Если ЭлементМассиваОписания.ЕстьВладелец Тогда
ТаблицаФормы = ТаблицаФормыПоИмени(Форма, "Таблица_" + ЭлементМассиваОписания.ИмяВладельца);
ТаблицаФормы = ТаблицаФормыПоИмени(Форма, ПрефиксТаблица + ЭлементМассиваОписания.ИмяВладельца);
ТаблицаФормы.ТекущаяСтрока = Контакт.Владелец;
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Форма["Список_" + ЭлементМассиваОписания.Имя],"Владелец",Контакт.Владелец,,,Истина);
@@ -2254,7 +2256,7 @@
| И &УсловиеИерархический
| И (НЕ ТаблицаСправочника.ПометкаУдаления)";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяПоляНаименованиеВладельца", ?(ЭлементМассиваОписания.ЕстьВладелец," ТаблицаСправочника.Владелец.Наименование",""""));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяПоляНаименованиеВладельца", ?(ЭлементМассиваОписания.ЕстьВладелец," ТаблицаСправочника.Владелец.Наименование",""""""));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяПоляНаименование", "ТаблицаСправочника." + ЭлементМассиваОписания.ИмяРеквизитаПредставлениеКонтакта);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТаблицаСправочника", "Справочник." +ЭлементМассиваОписания.Имя);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "И &УсловиеИерархический", ?(ЭлементМассиваОписания.Иерархический," И (НЕ ТаблицаСправочника.ЭтоГруппа)",""));
@@ -3828,6 +3830,7 @@
ДобавляемыеРеквизиты = Новый Массив;
ОписанияКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
ПрефиксТаблица = ВзаимодействияКлиентСервер.ПрефиксТаблица();
// Создадим динамические списки.
Для каждого ОписаниеКонтакта Из ОписанияКонтактов Цикл
@@ -3877,7 +3880,7 @@
КонецЕсли;
ЭлементТаблица = Форма.Элементы.Добавить("Таблица_" + ОписаниеКонтакта.Имя, Тип("ТаблицаФормы"),
ЭлементТаблица = Форма.Элементы.Добавить(ПрефиксТаблица + ОписаниеКонтакта.Имя, Тип("ТаблицаФормы"),
Форма.Элементы[?(ОписаниеКонтакта.ЕстьВладелец,
"Страница_" + ОписаниеКонтакта.ИмяВладельца,
"Страница_" + ОписаниеКонтакта.Имя)]);
@@ -3890,12 +3893,12 @@
ЭлементТаблица.УстановитьДействие("ПриАктивизацииСтроки", "Подключаемый_СписокКонтактыПриАктивизацииСтроки");
КонецЕсли;
Если ОписаниеКонтакта.ЕстьВладелец Тогда
Форма.Элементы["Таблица_" + ОписаниеКонтакта.ИмяВладельца].УстановитьДействие(
Форма.Элементы[ПрефиксТаблица + ОписаниеКонтакта.ИмяВладельца].УстановитьДействие(
"ПриАктивизацииСтроки", "Подключаемый_СписокВладелецПриАктивизацииСтроки");
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Форма["Список_" + ОписаниеКонтакта.Имя], "Владелец", Неопределено, , , Истина);
ЭлементТаблица.Высота = 5;
Форма.Элементы["Таблица_" + ОписаниеКонтакта.ИмяВладельца].Высота = 5;
Форма.Элементы[ПрефиксТаблица + ОписаниеКонтакта.ИмяВладельца].Высота = 5;
Иначе
ЭлементТаблица.Высота = 10;
КонецЕсли;
@@ -586,7 +586,7 @@
//
Процедура КонтактВладелецПриАктивизацииСтроки(Элемент,Форма) Экспорт
ИмяТаблицыБезПрефикса = Прав(Элемент.Имя,СтрДлина(Элемент.Имя)-8);
ИмяТаблицыБезПрефикса = Прав(Элемент.Имя,СтрДлина(Элемент.Имя) - СтрДлина(ВзаимодействияКлиентСервер.ПрефиксТаблица()));
ЗначениеОтбора = ?(Элемент.ТекущиеДанные = Неопределено, Неопределено, Элемент.ТекущиеДанные.Ссылка);
МассивОписанияКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
@@ -109,6 +109,10 @@
#Область СлужебныеПроцедурыИФункции
Функция ПрефиксТаблица() Экспорт
Возврат "Таблица_";
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Определение типа ссылки
@@ -220,8 +220,8 @@
// Подготовить компоненту генерации изображения штрихкода.
//
// Параметры:
// ВнешняяКомпонента - ОбъектВнешнейКомпоненты - объект внешней компоненты
// Параметры:
// ВнешняяКомпонента - см. ГенерацияШтрихкодаСерверПовтИсп.ПодключитьКомпонентуГенерацииИзображенияШтрихкода
//
Процедура ПодготовитьКомпонентуГенерацииИзображенияШтрихкода(ВнешняяКомпонента)
@@ -252,23 +252,8 @@
// Подготовить изображения штрихкода.
//
// Параметры:
// ВнешняяКомпонента - ОбъектВнешнейКомпоненты:
// * Высота - Число
// * Ширина - Число
// * АвтоТип - Булево
// * ТипКода - Число
// * ТипВходныхДанных - Число
// * GS1DatabarКоличествоСтрок - Число
// * УбратьЛишнийФон - Булево
// * ОтображатьТекст - Булево
// * ЗначениеКода - Строка
// * УголПоворота - Число
// * УровеньКоррекцииQR - Число
// * ВертикальноеВыравниваниеКода - Число
// * РазмерШрифта - Число
// * ЛоготипКартинка - Строка
// * ЛоготипРазмерПроцентОтШК - Число
// ПараметрыШтрихкода - см. ГенерацияШтрихкода.ПараметрыГенерацииШтрихкода.
// ВнешняяКомпонента - см. ГенерацияШтрихкодаСерверПовтИсп.ПодключитьКомпонентуГенерацииИзображенияШтрихкода
// ПараметрыШтрихкода - см. ГенерацияШтрихкода.ПараметрыГенерацииШтрихкода
//
// Возвращаемое значение:
// Структура:
@@ -10,12 +10,57 @@
// Функция выполняет подключение внешней компоненты и ее первоначальную настройку.
// Выполняет подключение внешней компоненты.
// Функция возвращает Неопределено, если компоненту не удалось загрузить.
//
// Параметры:
// ТипПлатформыКомпоненты - Строка - тип платформы
// Возвращаемое значение:
// ОбъектВнешнейКомпоненты
// Неопределено - если компоненту не удалось загрузить.
// Параметры:
// ТипПлатформыКомпоненты - Строка - тип платформы
//
// Возвращаемое значение:
// ОбъектВнешнейКомпоненты:
// * ECL - Число
// * GS1DatabarКоличествоСтрок - Число
// * АвтоТип - Булево
// * Версия - Строка
// * ВертикальноеВыравниваниеКода - Число
// * ВертСмещение - Число
// * ВидимостьКС - Булево
// * ВыравниваниеКода - Число
// * Высота - Число
// * ГорСмещение - Число
// * ГрафикаУстановлена - Булево
// * ЗначениеКода - Строка
// * ИмяФайла - Строка
// * КоличествоСтолбцов - Число
// * КоличествоСтрок - Число
// * КоличествоШрифтов - Число
// * КонтрольныйСимвол - Строка
// * ЛоготипКартинка - Картинка
// * ЛоготипРазмерПроцентОтШК - Число
// * МаксимальныйРазмерШрифтаДляПринтеровНизкогоРазрешения - Число
// * МинимальнаяВысотаКода - Число
// * МинимальнаяШиринаКода - Число
// * ОриентацияТекста - Число
// * ОтображатьТекст - Булево
// * ПоложениеТекста - Число
// * ПрозрачныйФон - Булево
// * Пропорции - Строка
// * РазделителиКода - Число
// * РазмерКрая - Число
// * РазмерШрифта - Число
// * Результат - Число
// * СодержитКС - Булево
// * ТекстКода - Строка
// * ТипВходныхДанных - Число
// * ТипКода - Число
// * УбратьЛишнийФон - Булево
// * УголПоворота - Число
// * УровеньКоррекцииQR - Число
// * ЦветПолос - Число
// * ЦветТекста - Число
// * ЦветФона - Число
// * Ширина - Число
// * Шрифт - Строка
// Неопределено
//
Функция ПодключитьКомпонентуГенерацииИзображенияШтрихкода(ТипПлатформыКомпоненты) Экспорт
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.4.252";
Описание.Версия = "3.1.4.265";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -7576,6 +7576,7 @@
КонецЕсли;
СтатистикаВыполнения = ОбработчикОбновления.СтатистикаВыполнения.Получить();
ДобавитьКоличествоЗапусков = Истина;
Если Параметры.ОбработкаЗавершена Тогда
СтатистикаВыполнения.Вставить("ЗавершениеОбработкиДанных", ТекущаяДатаСеанса());
@@ -7599,6 +7600,8 @@
МинимальнаяОчередь = МинимальнаяОчередьОтложеннойОбработки();
КонецЕсли;
ДобавитьКоличествоЗапусков = (ЕстьОбработанныеОбъекты Или ОчередьОбработчика = МинимальнаяОчередь);
Если Не ЕстьОбработанныеОбъекты
И ОчередьОбработчика = МинимальнаяОчередь Тогда
ЧислоПопыток = ОбработчикОбновления.ЧислоПопыток;
@@ -7628,7 +7631,12 @@
СтатистикаВыполнения.Вставить("ПрогрессВыполнения", Параметры.ПрогрессВыполнения);
КонецЕсли;
КоличествоЗапусковПроцедурыОбновления = КоличествоЗапусковПроцедурыОбновления(СтатистикаВыполнения) + 1;
Если ДобавитьКоличествоЗапусков Тогда
КоличествоЗапусковПроцедурыОбновления = КоличествоЗапусковПроцедурыОбновления(СтатистикаВыполнения) + 1;
Иначе
КоличествоЗапусковПроцедурыОбновления = КоличествоЗапусковПроцедурыОбновления(СтатистикаВыполнения);
КонецЕсли;
ДлительностьВыполнения = ЗавершениеОбработкиДанных - КонтекстОбработчика.НачалоОбработкиДанных;
Если СтатистикаВыполнения["ДлительностьВыполнения"] <> Неопределено Тогда
ДлительностьВыполнения = ДлительностьВыполнения + СтатистикаВыполнения["ДлительностьВыполнения"];
@@ -318,15 +318,6 @@
Возврат СтруктураСклонения;
КонецЕсли;
Попытка
ПроверитьВерсиюПлатформы();
Исключение
Если ПоказыватьСообщения Тогда
ВызватьИсключение;
КонецЕсли;
Возврат Неопределено;
КонецПопытки;
ОписаниеСтроки = Неопределено;
ЗаполнитьОписаниеСтрокиПоПараметрамСклонения(ОписаниеСтроки, ПараметрыСклонения, "СклонениеПредставленийОбъектов.ДанныеСклонения");
@@ -340,7 +331,12 @@
КонецЕсли;
Для Каждого ИмяПадежа Из ИменаПадежей Цикл
РезультатСклонения = ПолучитьСклоненияСтроки(Представление, ОписаниеСтроки, "ПД=" + ИмяПадежа)[0];
Попытка
РезультатСклонения = ПолучитьСклоненияСтроки(Представление, ОписаниеСтроки, "ПД=" + ИмяПадежа)[0];
Исключение
ЗарегистрироватьОшибкуВстроенногоМетодаСклонения(ИнформацияОбОшибке(), ПоказыватьСообщения);
Возврат Неопределено;
КонецПопытки;
Если ПараметрыСклонения.ЭтоФИО Тогда
ВосстановитьФИОПослеСклонения(РезультатСклонения, ОписанияСловФИО);
КонецЕсли;
@@ -351,21 +347,57 @@
КонецФункции
Процедура ПроверитьВерсиюПлатформы()
Процедура ЗарегистрироватьОшибкуВстроенногоМетодаСклонения(ИнформацияОбОшибке, ПоказыватьСообщения)
ПодробноеПредставление = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
ДополнитьПредставлениеПроблемыРекомендацией(ПодробноеПредставление);
ЗаписьЖурналаРегистрации(
НСтр("ru = 'Склонение.Получение склонения строки'", ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Предупреждение, , ,
ПодробноеПредставление);
Если Не ПоказыватьСообщения Тогда
Возврат;
КонецЕсли;
КраткоеПредставление = КраткоеПредставлениеОшибки(ИнформацияОбОшибке);
ДополнитьПредставлениеПроблемыРекомендацией(КраткоеПредставление);
ВызватьИсключение КраткоеПредставление;
КонецПроцедуры
Процедура ДополнитьПредставлениеПроблемыРекомендацией(Представление)
Если Не ВерсияПлатформыНижеРекомендуемой() Тогда
Возврат;
КонецЕсли;
Если Не ПустаяСтрока(Представление) Тогда
Представление = Представление + Символы.ПС + Символы.ПС;
КонецЕсли;
Представление = Представление +
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Для корректной работы склонения представлений рекомендуется:
|* или обновить технологическую платформу ""1С:Предприятие"" до версии %1 или более новой,
|* или включить альтернативный сервис склонения Морфер (в разделе Администрирование).'"),
РекомендуемаяВерсия());
КонецПроцедуры
Функция ВерсияПлатформыНижеРекомендуемой()
СистемнаяИнформация = Новый СистемнаяИнформация();
ВерсияПлатформы = СистемнаяИнформация.ВерсияПриложения;
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияПлатформы, "8.3.14.1970") < 0
ИЛИ (ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияПлатформы, "8.3.15.0") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияПлатформы, "8.3.15.1747") < 0) Тогда
ВызватьИсключение
НСтр("ru = 'Для корректной работы склонения представлений рекомендуется:
|* или обновить технологическую платформу ""1С:Предприятие"" до версии 8.3.14.1970 или более новой (либо до версии 8.3.15.1747 или более новой),
|* или включить альтернативный сервис склонения Морфер (в разделе Администрирование).'");
КонецЕсли;
КонецПроцедуры
Возврат ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияПлатформы, РекомендуемаяВерсия()) < 0;
КонецФункции
Функция РекомендуемаяВерсия()
Возврат "8.3.18.1128";
КонецФункции
Процедура ЗаписатьВРегистрСклонения(Представление, Объект, Склонения)
@@ -533,7 +565,7 @@
// АПК:154-выкл Ошибка при вызове сервиса склонений не является критичной.
ИмяСобытия = НСтр("ru = 'Вызов веб-сервиса склонения'", ОбщегоНазначения.КодОсновногоЯзыка());
ИмяСобытия = НСтр("ru = 'Склонение.Вызов веб-сервиса'", ОбщегоНазначения.КодОсновногоЯзыка());
ЗаписьЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Предупреждение,,,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
@@ -549,7 +581,7 @@
|%1'"),
КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения);
ВызватьИсключение ТекстСообщения;
КонецПроцедуры
@@ -8,13 +8,14 @@
#Область СлужебныеПроцедурыИФункции
Функция ДлительнаяОперацияСклоненияПоПадежам(ИдентификаторФормы, Представление, ПараметрыСклонения) Экспорт
Функция ДлительнаяОперацияСклоненияПоПадежам(
ИдентификаторФормы, Представление, ПараметрыСклонения, ПоказыватьСообщения = Ложь) Экспорт
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(ИдентификаторФормы);
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НСтр("ru = 'Склонение'");
Возврат ДлительныеОперации.ВыполнитьФункцию(ПараметрыВыполнения,
"СклонениеПредставленийОбъектов.ДанныеСклонения", Представление, ПараметрыСклонения);
"СклонениеПредставленийОбъектов.ДанныеСклонения", Представление, ПараметрыСклонения, ПоказыватьСообщения);
КонецФункции
@@ -130,7 +130,8 @@
ДлительнаяОперация = СклонениеПредставленийОбъектовВызовСервера.ДлительнаяОперацияСклоненияПоПадежам(
Форма.УникальныйИдентификатор,
Представление,
ПараметрыСклонения);
ПараметрыСклонения,
ПоказыватьСообщения);
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(Форма);
ПараметрыОжидания.ВыводитьОкноОжидания = ПоказыватьСообщения;
@@ -182,6 +182,7 @@
// См. ВыгрузкаЗагрузкаДанныхПереопределяемый.ПриЗаполненииТиповИсключаемыхИзВыгрузкиЗагрузки.
Процедура ПриЗаполненииТиповИсключаемыхИзВыгрузкиЗагрузки(Типы) Экспорт
Типы.Добавить(Метаданные.РегистрыСведений.НеудаленныеОбъекты);
Типы.Добавить(Метаданные.РегистрыСведений.УдаляемыеОбъекты);
Типы.Добавить(Метаданные.Константы.ПроверятьИспользованиеУдаляемыхОбъектов);
@@ -23629,7 +23629,7 @@
// Число нужно увеличивать при внесении изменений в состав параметров кэша
// (в том числе при изменении версии шаблонов).
Возврат "21";
Возврат "22";
КонецФункции
@@ -25019,7 +25019,9 @@
Если Параметры.ИспользуетсяОграничениеПоВладельцу
Или Параметры.ЭтоСсылочныйТип Тогда
ПолеВладельца = Параметры.ПолеВладельца; // См. НовоеПолеВладельца
СвойстваОграничения = СвойстваОграниченияСписка(СвойстваСписка.ПолноеИмя,
Контекст.ДополнительныйКонтекст);
ПолеВладельца = СвойстваОграничения.ПолеВладельца; // См. НовоеПолеВладельца
Если ПолеВладельца <> Неопределено Тогда
Поля = ":" + ПолеВладельца.Имя;
Если Не Параметры.ИспользуетсяОграничениеПоВладельцу Тогда
@@ -26298,6 +26300,10 @@
Контекст.Вставить("НеиспользуемыеТипыЗначенийДоступа", Новый Массив);
Контекст.Вставить("ВсеВидыОграниченийПрав", Результат.ВсеВидыОграниченийПрав);
Если Не Контекст.ЭтоСсылочныйТип Тогда
Результат.ИмяОтдельногоРегистраКлючей = Контекст.ИмяОтдельногоРегистраКлючей;
КонецЕсли;
ЗаполнитьСвойстваПолей(Контекст);
Если ДляВнешнихПользователей И Не ОбщийКонтекст.ВнешниеПользователиВключены Тогда
@@ -26356,10 +26362,6 @@
Контекст.Удалить("ИмяПрава");
Если Не Контекст.ЭтоСсылочныйТип Тогда
Результат.ИмяОтдельногоРегистраКлючей = Контекст.ИмяОтдельногоРегистраКлючей;
КонецЕсли;
Если Результат.ИспользуетсяОграничениеПоВладельцу Тогда
Контекст.ВедущиеСпискиПоЗначениямПолей = ОписаниеВедущихСписковПоЗначениямПолей();
КонецЕсли;
@@ -31,8 +31,8 @@
//
Функция КонтактнаяИнформация(Источник, Отбор) Экспорт
КонтактнаяИнформацияОбъекты = Новый Массив;
КонтактнаяИнформацияСсылки = Новый Массив;
КонтактнаяИнформацияОбъекты = Новый Массив; // Массив из СправочникОбъект
КонтактнаяИнформацияСсылки = Новый Массив; // Массив из ОпределяемыйТип.ВладелецКонтактнойИнформации
Если ТипЗнч(Источник) = Тип("Массив") Тогда
СсылкиИлиОбъекты = Источник;
@@ -704,33 +704,33 @@
Массив = СтрРазделить(ОписаниеСвойства.ФорматСвойства, ";", Ложь);
Для каждого Подстрока Из Массив Цикл
Если СтрНайти(Подстрока, "ДП=") > 0 ИЛИ СтрНайти(Подстрока, "DE=") > 0 Тогда
Если СтрНайти(Подстрока, "ДП=") > 0 ИЛИ СтрНайти(Подстрока, "DE=") > 0 Тогда // @Non-NLS
Продолжить;
КонецЕсли;
Если СтрНайти(Подстрока, "ЧН=") > 0 ИЛИ СтрНайти(Подстрока, "NZ=") > 0 Тогда
Если СтрНайти(Подстрока, "ЧН=") > 0 ИЛИ СтрНайти(Подстрока, "NZ=") > 0 Тогда // @Non-NLS
Продолжить;
КонецЕсли;
Если СтрНайти(Подстрока, "ДФ=") > 0 ИЛИ СтрНайти(Подстрока, "DF=") > 0 Тогда
Если СтрНайти(Подстрока, "ддд") > 0 ИЛИ СтрНайти(Подстрока, "ddd") > 0 Тогда
Подстрока = СтрЗаменить(Подстрока, "ддд", "дд");
Если СтрНайти(Подстрока, "ДФ=") > 0 ИЛИ СтрНайти(Подстрока, "DF=") > 0 Тогда // @Non-NLS
Если СтрНайти(Подстрока, "ддд") > 0 ИЛИ СтрНайти(Подстрока, "ddd") > 0 Тогда // @Non-NLS
Подстрока = СтрЗаменить(Подстрока, "ддд", "дд"); // @Non-NLS-1, @Non-NLS-2
Подстрока = СтрЗаменить(Подстрока, "ddd", "dd");
КонецЕсли;
Если СтрНайти(Подстрока, "дддд") > 0 ИЛИ СтрНайти(Подстрока, "dddd") > 0 Тогда
Подстрока = СтрЗаменить(Подстрока, "дддд", "дд");
Если СтрНайти(Подстрока, "дддд") > 0 ИЛИ СтрНайти(Подстрока, "dddd") > 0 Тогда // @Non-NLS
Подстрока = СтрЗаменить(Подстрока, "дддд", "дд"); // @Non-NLS-1, @Non-NLS-2
Подстрока = СтрЗаменить(Подстрока, "dddd", "dd");
КонецЕсли;
Если СтрНайти(Подстрока, "МММ") > 0 ИЛИ СтрНайти(Подстрока, "MMM") > 0 Тогда
Подстрока = СтрЗаменить(Подстрока, "МММ", "ММ");
Если СтрНайти(Подстрока, "МММ") > 0 ИЛИ СтрНайти(Подстрока, "MMM") > 0 Тогда // @Non-NLS
Подстрока = СтрЗаменить(Подстрока, "МММ", "ММ"); // @Non-NLS-1, @Non-NLS-2
Подстрока = СтрЗаменить(Подстрока, "MMM", "MM");
КонецЕсли;
Если СтрНайти(Подстрока, "ММММ") > 0 ИЛИ СтрНайти(Подстрока, "MMMM") > 0 Тогда
Подстрока = СтрЗаменить(Подстрока, "ММММ", "ММ");
Если СтрНайти(Подстрока, "ММММ") > 0 ИЛИ СтрНайти(Подстрока, "MMMM") > 0 Тогда // @Non-NLS
Подстрока = СтрЗаменить(Подстрока, "ММММ", "ММ"); // @Non-NLS-1, @Non-NLS-2
Подстрока = СтрЗаменить(Подстрока, "MMMM", "MM");
КонецЕсли;
КонецЕсли;
Если СтрНайти(Подстрока, "ДЛФ=") > 0 ИЛИ СтрНайти(Подстрока, "DLF=") > 0 Тогда
Если СтрНайти(Подстрока, "ДД") > 0 ИЛИ СтрНайти(Подстрока, "DD") > 0 Тогда
Подстрока = СтрЗаменить(Подстрока, "ДД", "Д");
Если СтрНайти(Подстрока, "ДЛФ=") > 0 ИЛИ СтрНайти(Подстрока, "DLF=") > 0 Тогда // @Non-NLS
Если СтрНайти(Подстрока, "ДД") > 0 ИЛИ СтрНайти(Подстрока, "DD") > 0 Тогда // @Non-NLS
Подстрока = СтрЗаменить(Подстрока, "ДД", "Д"); // @Non-NLS-1, @Non-NLS-2
Подстрока = СтрЗаменить(Подстрока, "DD", "D");
КонецЕсли;
КонецЕсли;
@@ -1363,7 +1363,7 @@
// ОписаниеПрограммы = ЭлектроннаяПодпись.НовоеОписаниеПрограммы();
// ОписаниеПрограммы.ИмяПрограммы = "Infotecs Cryptographic Service Provider";
// ОписаниеПрограммы.ТипПрограммы = 2;
// ОписаниеПрограммы.АлгоритмПодписи = "GOST 34.10-2012 512";
// ОписаниеПрограммы.АлгоритмПодписи = "GOST R 34.10-2001";
// ОписаниеПрограмм.Добавить(ОписаниеПрограммы);
//
// ЭлектроннаяПодпись.ЗаполнитьСписокПрограмм(ОписаниеПрограмм);
@@ -1545,24 +1545,9 @@
КонецЦикла;
КонецЕсли;
Если ТипЗнч(Ключи) <> Тип("Соответствие") Тогда
ОчиститьСтарыеКлючи = ТипЗнч(Ключи) <> Тип("Соответствие");
Если ОчиститьСтарыеКлючи Тогда
Ключи = Новый Соответствие;
Отбор = Новый Структура("Пользователь", ИмяПользователя);
Выборка = ХранилищеСистемныхНастроек.Выбрать(Отбор);
Пока Выборка.Следующий() Цикл
Если Не СтрНачинаетсяС(Выборка.КлючОбъекта, ИмяФормы) Или Выборка.КлючНастроек <> "" Тогда
Продолжить;
КонецЕсли;
ЧастиКлючаОбъекта = СтрРазделить(Выборка.КлючОбъекта, "/");
Если ЧастиКлючаОбъекта.Количество() < 2 Тогда
Продолжить;
КонецЕсли;
ПоследняяЧастьКлюча = ЧастиКлючаОбъекта[ЧастиКлючаОбъекта.ВГраница()];
Если СтрНайти(ПоследняяЧастьКлюча, "НастройкиОкна") > 0
Или СтрНайти(ПоследняяЧастьКлюча, "WindowSettings") > 0 Тогда
ХранилищеСистемныхНастроек.Удалить(Выборка.КлючОбъекта, "", ИмяПользователя);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КлючиДня = Ключи.Получить(НачалоДня);
@@ -1575,6 +1560,42 @@
Форма.КлючСохраненияПоложенияОкна = НовыйКлючСохраненияПоложенияОкна;
Если Не ОчиститьСтарыеКлючи Тогда
Возврат;
КонецЕсли;
Отбор = Новый Структура("Пользователь", ИмяПользователя);
Выборка = ХранилищеСистемныхНастроек.Выбрать(Отбор);
Пока Истина Цикл
Попытка
ЕстьСледующей = Выборка.Следующий();
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ЗаписьЖурналаРегистрации(
НСтр("ru = 'Ошибка выполнения'", ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,,,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
Прервать;
КонецПопытки;
Если Не ЕстьСледующей Тогда
Прервать;
КонецЕсли;
Если Не СтрНачинаетсяС(Выборка.КлючОбъекта, ИмяФормы)
Или Выборка.КлючНастроек <> ""
Или Выборка.КлючОбъекта = КлючОбъектаХранения Тогда
Продолжить;
КонецЕсли;
ЧастиКлючаОбъекта = СтрРазделить(Выборка.КлючОбъекта, "/");
Если ЧастиКлючаОбъекта.Количество() < 2 Тогда
Продолжить;
КонецЕсли;
ПоследняяЧастьКлюча = ЧастиКлючаОбъекта[ЧастиКлючаОбъекта.ВГраница()];
Если СтрНайти(ПоследняяЧастьКлюча, "НастройкиОкна") > 0
Или СтрНайти(ПоследняяЧастьКлюча, "WindowSettings") > 0 Тогда
ХранилищеСистемныхНастроек.Удалить(Выборка.КлючОбъекта, "", ИмяПользователя);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
@@ -333,8 +333,10 @@
// Для функции МенеджерКриптографииАлгоритмыУстановлены.
Функция ВыполненОбходНарушенияОбратнойСовместимостиВViPNetCSP_4_4(ОписаниеПрограммы, Менеджер)
Если ОписаниеПрограммы.ИмяПрограммы <> "Infotecs GOST 2012/512 Cryptographic Service Provider"
Или ОписаниеПрограммы.ТипПрограммы <> 77 Тогда
Если Не ( ОписаниеПрограммы.ИмяПрограммы = "Infotecs GOST 2012/512 Cryptographic Service Provider"
И ОписаниеПрограммы.ТипПрограммы = 77)
И Не ( ОписаниеПрограммы.ИмяПрограммы = "Infotecs GOST 2012/1024 Cryptographic Service Provider"
И ОписаниеПрограммы.ТипПрограммы = 78) Тогда
Возврат Ложь;
КонецЕсли;
@@ -370,6 +372,22 @@
АлгоритмПодписи = "GOST 34.10-2012 256";
АлгоритмХеширования = "GOST 34.11-2012 256";
АлгоритмШифрования = "GOST 28147-89";
ИначеЕсли АлгоритмПодписи = "GOST 34.10-2012 512"
И АлгоритмХеширования = "GOST 34.11-2012 512"
И АлгоритмШифрования = "GOST 28147-89" Тогда
АлгоритмПодписи = "GR 34.10-2012 512";
АлгоритмХеширования = "GR 34.11-2012 512";
АлгоритмШифрования = "GOST 28147-89";
ИначеЕсли АлгоритмПодписи = "GR 34.10-2012 512"
И АлгоритмХеширования = "GR 34.11-2012 512"
И АлгоритмШифрования = "GOST 28147-89" Тогда
АлгоритмПодписи = "GOST 34.10-2012 512";
АлгоритмХеширования = "GOST 34.11-2012 512";
АлгоритмШифрования = "GOST 28147-89";
Иначе
Возврат Ложь;
КонецЕсли;
+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="a34b3bd2-b4bb-11eb-c085-0242ac110002">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="6ef1391e-bf28-11eb-3d92-0242ac110002">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="a34b3bd3-b4bb-11eb-c085-0242ac110002"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="a34b3c0e-b4bb-11eb-c085-0242ac110002"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="a34b3c18-b4bb-11eb-c085-0242ac110002"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="a34b3c19-b4bb-11eb-c085-0242ac110002"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="a34b3c22-b4bb-11eb-c085-0242ac110002"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="a34b3c2c-b4bb-11eb-c085-0242ac110002"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="0bd470cd-8484-463d-ad29-10079f9d1557"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="6ef13928-bf28-11eb-3d92-0242ac110002"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="6ef1395a-bf28-11eb-3d92-0242ac110002"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="6ef13964-bf28-11eb-3d92-0242ac110002"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="6ef1396e-bf28-11eb-3d92-0242ac110002"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="6ef1396f-bf28-11eb-3d92-0242ac110002"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="6ef13978-bf28-11eb-3d92-0242ac110002"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="cfbfb998-1eaa-4f09-867a-c730d35de4fb"/>
<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.4.252</version>
<version>3.1.4.265</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -1 +1 @@
{6,1,1,0360147a-b4bc-11eb-6b9a-0242ac110002,1,eb6342ca-b4bb-11eb-ff90-0242ac110002,"3.1.4.252","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6268,1,0,a34b3bd2-b4bb-11eb-c085-0242ac110002,a34b3bd2-b4bb-11eb-c085-0242ac110002,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63Line truncated
{6,1,1,cba9ce50-bf28-11eb-0f96-0242ac110002,1,b411f9c0-bf28-11eb-bc9b-0242ac110002,"3.1.4.265","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6268,1,0,6ef1391e-bf28-11eb-3d92-0242ac110002,6ef1391e-bf28-11eb-3d92-0242ac110002,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63Line truncated
@@ -844,7 +844,7 @@
Объект.ВариантЗаписиОбъекта = "Записывать";
Если Не КонтекстныйВызов Тогда
ВидыИзменяемыхОбъектов = ХранилищеОбщихНастроекЗагрузить("ГрупповоеИзменениеОбъектов", "ВидыИзменяемыхОбъектов", "");
ВидыИзменяемыхОбъектов = ЗагрузитьНастройкуВидовИзменяемыхОбъектов();
Если Не ПустаяСтрока(ВидыИзменяемыхОбъектов) Тогда
ПредставлениеИзменяемыхОбъектов = ПредставлениеИзменяемыхОбъектов();
ВыбранныеОбъектыВКонтексте.Очистить();
@@ -875,6 +875,25 @@
КонецПроцедуры
&НаСервере
Функция ЗагрузитьНастройкуВидовИзменяемыхОбъектов()
ВидыИзменяемыхОбъектов = ХранилищеОбщихНастроекЗагрузить("ГрупповоеИзменениеОбъектов", "ВидыИзменяемыхОбъектов", "");
СписокВидов = Новый Массив;
Для Каждого ИмяОбъектаМетаданных Из СтрРазделить(ВидыИзменяемыхОбъектов, ",", Ложь) Цикл
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ИмяОбъектаМетаданных);
Если ОбъектМетаданных <> Неопределено Тогда
СписокВидов.Добавить(ОбъектМетаданных.ПолноеИмя());
КонецЕсли;
КонецЦикла;
ВидыИзменяемыхОбъектов = СтрСоединить(СписокВидов, ",");
Возврат ВидыИзменяемыхОбъектов;
КонецФункции
// В модели сервиса, базовой конфигурации или без права АдминистраторСистемы нельзя выполнять произвольный алгоритм.
//
&НаСервереБезКонтекста
@@ -45,7 +45,7 @@
Функция ВерсияКалендарей() Экспорт
Возврат 23;
Возврат 24;
КонецФункции
@@ -57,7 +57,7 @@
Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт
Возврат "3.1.4.245";
Возврат "3.1.4.253";
КонецФункции
@@ -311,7 +311,7 @@
<Item Calendar="09" Year="2021" DayType="Праздник" Date="20210503" SwapDate="20210504"/>
<Item Calendar="09" Year="2021" DayType="Суббота" Date="20210504" SwapDate="20210503"/>
<Item Calendar="09" Year="2021" DayType="Нерабочий" Date="20210511" SwapDate=""/>
<Item Calendar="09" Year="2021" DayType="Нерабочий" Date="20210514" SwapDate=""/>
<Item Calendar="09" Year="2021" DayType="Нерабочий" Date="20210513" SwapDate=""/>
<Item Calendar="09" Year="2021" DayType="Нерабочий" Date="20210720" SwapDate=""/>
<Item Calendar="11" Year="2016" DayType="Праздник" Date="20160822" SwapDate=""/>
<Item Calendar="11" Year="2017" DayType="Предпраздничный" Date="20170821" SwapDate=""/>
@@ -234,6 +234,15 @@
&НаКлиенте
Процедура ВыполнитьНачальнуюВыгрузкуДанных(Команда)
Отказ = Ложь;
ПередВыполнениемНачальнойВыгрузки(Отказ);
Если Отказ Тогда
Возврат;
КонецЕсли;
ПараметрыПомощника = Новый Структура;
ПараметрыПомощника.Вставить("УзелОбмена", УзелОбмена);
ПараметрыПомощника.Вставить("НачальнаяВыгрузка");
@@ -253,6 +262,115 @@
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура ПередВыполнениемНачальнойВыгрузки(Отказ)
МассивЗначений = Новый Массив(3);
МассивЗначений[0] = ПредопределенноеЗначение("Перечисление.ВидыТранспортаСообщенийОбмена.COM");
МассивЗначений[1] = ПредопределенноеЗначение("Перечисление.ВидыТранспортаСообщенийОбмена.WS");
// WSПассивныйРежим - проверять не нужно, так как при пассивном соединении управляющий корреспондент самостоятельно
// получить сведения при соединении.
ВидТранспортаПодддерживаетПрямоеПодключение = (МассивЗначений.Найти(ВидТранспорта) <> Неопределено);
Если НЕ ВидТранспортаПодддерживаетПрямоеПодключение
ИЛИ ПоддерживаетсяСопоставлениеДанных Тогда
Возврат;
КонецЕсли;
РезультатПроверки = НастройкаКорреспондентаЗавершена(УзелОбмена, ВидТранспорта);
Если НЕ РезультатПроверки.НастройкаЗавершена Тогда
Отказ = Истина;
ПоказатьПредупреждение(Неопределено, РезультатПроверки.СообщениеОбОшибке);
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция НастройкаКорреспондентаЗавершена(УзелОбмена, ВидТранспорта)
ДанныеПроверки = Новый Структура;
ДанныеПроверки.Вставить("СообщениеОбОшибке", "");
ДанныеПроверки.Вставить("СообщениеОбОшибкеПользователю", "");
ДанныеПроверки.Вставить("НастройкаЗавершена", Ложь);
ДанныеПроверки.Вставить("ПолученыДанныеДляСопоставления", Ложь);
УстановитьПривилегированныйРежим(Истина);
Если ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WS Тогда
ПараметрыПодключения = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(УзелОбмена, Неопределено);
ЕстьПодключение = ОбменДаннымиСервер.ЕстьПодключениеККорреспонденту(УзелОбмена,
ПараметрыПодключения, ДанныеПроверки.СообщениеОбОшибкеПользователю, ДанныеПроверки.НастройкаЗавершена, ДанныеПроверки.ПолученыДанныеДляСопоставления);
Если НЕ ЕстьПодключение Тогда
ШаблонСообщения = НСтр("ru = 'Не удалось подключиться к приложению %1, по причине ""%2"".
|Убедитесь, что:
|- введен правильный пароль;
|- указан корректный адрес для подключения;
|- приложение доступно по указанному в настройках адресу;
|- настройка синхронизации не была удалена в приложении в Интернете.
|Повторите попытку синхронизации.'", ОбщегоНазначения.КодОсновногоЯзыка());
ДанныеПроверки.СообщениеОбОшибке = СтрШаблон(ШаблонСообщения, УзелОбмена.Наименование, ДанныеПроверки.СообщениеОбОшибкеПользователю);
ИначеЕсли НЕ ДанныеПроверки.НастройкаЗавершена Тогда
ШаблонСообщения = НСтр("ru = 'Для продолжения необходимо перейти в программу ""%1"" и завершить в ней настройку синхронизации.
|Выполнение обмена данными отменено.'", ОбщегоНазначения.КодОсновногоЯзыка());
ДанныеПроверки.СообщениеОбОшибке = СтрШаблон(ШаблонСообщения, УзелОбмена.Наименование);
КонецЕсли;
Иначе
ВнешнееСоединение = ОбменДаннымиПовтИсп.ПолучитьВнешнееСоединениеДляУзлаИнформационнойБазы(УзелОбмена, ДанныеПроверки.СообщениеОбОшибке);
Если ВнешнееСоединение = Неопределено Тогда
Возврат ДанныеПроверки;
КонецЕсли;
ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелОбмена);
ЭтотУзелПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьЭтотУзелПланаОбмена(ИмяПланаОбмена);
КодУзла = ОбменДаннымиСервер.ИдентификаторЭтогоУзлаДляОбмена(ЭтотУзелПланаОбмена);
ВнешнееСоединениеУзелПланаОбмена = ВнешнееСоединение.ОбменДаннымиСервер.УзелПланаОбменаПоКоду(ИмяПланаОбмена, КодУзла);
Если ВнешнееСоединениеУзелПланаОбмена = Неопределено Тогда
ШаблонСообщения = НСтр("ru = 'Ошибка. В программе ""%1"" не найдена настройка синхронизации для этой программы.
|Выполнение обмена данными отменено.'", ОбщегоНазначения.КодОсновногоЯзыка());
ДанныеПроверки.СообщениеОбОшибке = СтрШаблон(ШаблонСообщения, УзелОбмена.Наименование);
КонецЕсли;
ДанныеПроверки.НастройкаЗавершена = ВнешнееСоединение.ОбменДаннымиСервер.НастройкаСинхронизацииЗавершена(ВнешнееСоединениеУзелПланаОбмена);
Если НЕ ДанныеПроверки.НастройкаЗавершена Тогда
ШаблонСообщения = НСтр("ru = 'Для продолжения необходимо перейти в программу ""%1"" и завершить в ней настройку синхронизации.
|Выполнение обмена данными отменено.'", ОбщегоНазначения.КодОсновногоЯзыка());
ДанныеПроверки.СообщениеОбОшибке = СтрШаблон(ШаблонСообщения, УзелОбмена.Наименование);
КонецЕсли;
КонецЕсли;
Возврат ДанныеПроверки;
КонецФункции
&НаСервереБезКонтекста
Функция ПрочитатьВидТранспортаДляУзла(УзелОбмена)
Возврат РегистрыСведений.НастройкиТранспортаОбменаДанными.ВидТранспортаСообщенийОбменаПоУмолчанию(УзелОбмена);
КонецФункции
&НаСервереБезКонтекста
Функция СостояниеНастройкиСинхронизации(УзелОбмена)
@@ -282,13 +400,6 @@
КонецФункции
&НаСервереБезКонтекста
Функция ПрочитатьВидТранспортаДляУзла(УзелОбмена)
Возврат РегистрыСведений.НастройкиТранспортаОбменаДанными.ВидТранспортаСообщенийОбменаПоУмолчанию(УзелОбмена);
КонецФункции
&НаКлиенте
Процедура НастроитьПараметрыПодключенияЗавершение(РезультатЗакрытия, ДополнительныеПараметры) Экспорт
@@ -351,18 +462,9 @@
&НаКлиенте
Процедура ВыполнитьЗагрузкуНастроекXDTOПриНеобходимости(ПрерватьНастройку, ОповещениеПродолжения)
МассивЗначений = Новый Массив(3);
МассивЗначений[0] = ПредопределенноеЗначение("Перечисление.ВидыТранспортаСообщенийОбмена.COM");
МассивЗначений[1] = ПредопределенноеЗначение("Перечисление.ВидыТранспортаСообщенийОбмена.WS");
МассивЗначений[2] = ПредопределенноеЗначение("Перечисление.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим");
ВидТранспортаПодддерживаетПрямоеПодключение = (МассивЗначений.Найти(ВидТранспорта) <> Неопределено);
СостояниеНастройки = СостояниеНастройкиСинхронизации(УзелОбмена);
Если (Не СостояниеНастройки.НастройкаСинхронизацииЗавершена
И Не СостояниеНастройки.ПолученыНастройкиXDTOКорреспондента)
ИЛИ (ВидТранспортаПодддерживаетПрямоеПодключение
И НЕ ПоддерживаетсяСопоставлениеДанных) Тогда
Если Не СостояниеНастройки.НастройкаСинхронизацииЗавершена
И Не СостояниеНастройки.ПолученыНастройкиXDTOКорреспондента Тогда
ПараметрыЗагрузки = Новый Структура;
ПараметрыЗагрузки.Вставить("УзелОбмена", УзелОбмена);
@@ -20,19 +20,17 @@
Настройка.Представление = НСтр("ru = 'ViPNet CSP (ГОСТ 2012/256)'");
Настройка.ИмяПрограммы = "Infotecs GOST 2012/512 Cryptographic Service Provider";
Настройка.ТипПрограммы = 77;
// Варианты: GOST 34.10-2012 256, GOST R 34.10-2001, GOST 34.11-2012 512.
Настройка.АлгоритмПодписи = "GOST 34.10-2012 256";
// Варианты: GOST 34.11-2012 256, GOST R 34.11-94, GOST 34.11-2012 512.
Настройка.АлгоритмХеширования = "GOST 34.11-2012 256";
Настройка.АлгоритмШифрования = "GOST 28147-89"; // Один вариант.
// Варианты: GR 34.10-2012 256
Настройка.АлгоритмПодписи = "GR 34.10-2012 256";
// Варианты: GR 34.11-2012 256, GOST R 34.11-94, GR 34.11-2012 512.
Настройка.АлгоритмХеширования = "GR 34.11-2012 256";
Настройка.АлгоритмШифрования = "GOST 28147-89"; // Один вариант.
Настройка.Идентификатор = "VipNet2012";
Настройка.АлгоритмыПодписи.Добавить("GOST 34.10-2012 256");
Настройка.АлгоритмыПодписи.Добавить("GOST R 34.10-2001");
Настройка.АлгоритмыПодписи.Добавить("GOST 34.10-2012 512");
Настройка.АлгоритмыХеширования.Добавить("GOST 34.11-2012 256");
Настройка.АлгоритмыПодписи.Добавить("GR 34.10-2012 256");
Настройка.АлгоритмыХеширования.Добавить("GR 34.11-2012 256");
Настройка.АлгоритмыХеширования.Добавить("GOST R 34.11-94");
Настройка.АлгоритмыХеширования.Добавить("GOST 34.11-2012 512");
Настройка.АлгоритмыХеширования.Добавить("GR 34.11-2012 512");
Настройка.АлгоритмыШифрования.Добавить("GOST 28147-89");
// ViPNet CSP (ГОСТ 2012/512).
@@ -40,19 +38,17 @@
Настройка.Представление = НСтр("ru = 'ViPNet CSP (ГОСТ 2012/512)'");
Настройка.ИмяПрограммы = "Infotecs GOST 2012/1024 Cryptographic Service Provider";
Настройка.ТипПрограммы = 78;
// Варианты: GOST 34.10-2012 512, GOST R 34.10-2001, GOST 34.11-2012 256.
Настройка.АлгоритмПодписи = "GOST 34.10-2012 512";
// Варианты: GOST 34.11-2012 512, GOST R 34.11-94, GOST 34.11-2012 256.
Настройка.АлгоритмХеширования = "GOST 34.11-2012 512";
Настройка.АлгоритмШифрования = "GOST 28147-89"; // Один вариант.
// Варианты: GR 34.10-2012 512
Настройка.АлгоритмПодписи = "GR 34.10-2012 512";
// Варианты: GR 34.11-2012 512, GOST R 34.11-94, GR 34.11-2012 256.
Настройка.АлгоритмХеширования = "GR 34.11-2012 512";
Настройка.АлгоритмШифрования = "GOST 28147-89"; // Один вариант.
Настройка.Идентификатор = "VipNet2012_512";
Настройка.АлгоритмыПодписи.Добавить("GOST 34.10-2012 512");
Настройка.АлгоритмыПодписи.Добавить("GOST R 34.10-2001");
Настройка.АлгоритмыПодписи.Добавить("GOST 34.10-2012 256");
Настройка.АлгоритмыХеширования.Добавить("GOST 34.11-2012 512");
Настройка.АлгоритмыПодписи.Добавить("GR 34.10-2012 512");
Настройка.АлгоритмыХеширования.Добавить("GR 34.11-2012 512");
Настройка.АлгоритмыХеширования.Добавить("GOST R 34.11-94");
Настройка.АлгоритмыХеширования.Добавить("GOST 34.11-2012 256");
Настройка.АлгоритмыХеширования.Добавить("GR 34.11-2012 256");
Настройка.АлгоритмыШифрования.Добавить("GOST 28147-89");
// КриптоПро CSP (ГОСТ 2012/256).
@@ -202,19 +198,17 @@
Настройка.Представление = НСтр("ru = 'ViPNet CSP (ГОСТ 2001)'");
Настройка.ИмяПрограммы = "Infotecs Cryptographic Service Provider";
Настройка.ТипПрограммы = 2;
// Варианты: GOST R 34.10-2001, GOST 34.10-2012 256, GOST 34.11-2012 512.
// Варианты: GOST R 34.10-2001
Настройка.АлгоритмПодписи = "GOST R 34.10-2001";
// Варианты: GOST R 34.11-94, GOST 34.11-2012 256, GOST 34.11-2012 512.
// Варианты: GOST R 34.11-94, GR 34.11-2012 256, GR 34.11-2012 512.
Настройка.АлгоритмХеширования = "GOST R 34.11-94";
Настройка.АлгоритмШифрования = "GOST 28147-89"; // Один вариант.
Настройка.Идентификатор = "VipNet2001";
Настройка.АлгоритмыПодписи.Добавить("GOST R 34.10-2001");
Настройка.АлгоритмыПодписи.Добавить("GOST 34.10-2012 256");
Настройка.АлгоритмыПодписи.Добавить("GOST 34.10-2012 512");
Настройка.АлгоритмыХеширования.Добавить("GOST R 34.11-94");
Настройка.АлгоритмыХеширования.Добавить("GOST 34.11-2012 256");
Настройка.АлгоритмыХеширования.Добавить("GOST 34.11-2012 512");
Настройка.АлгоритмыХеширования.Добавить("GR 34.11-2012 256");
Настройка.АлгоритмыХеширования.Добавить("GR 34.11-2012 512");
Настройка.АлгоритмыШифрования.Добавить("GOST 28147-89");
@@ -142,7 +142,11 @@
Возврат "ЗагрузкаИОбновлениеПараметровРаботыПрограммыНеТребуются";
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбновлениеКонфигурации") Тогда
ПараметрыЗапуска = ПараметрыСеанса.ПараметрыКлиентаНаСервере.Получить("ПараметрЗапуска");
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбновлениеКонфигурации")
И СтрНайти(ПараметрыЗапуска, "ВыполнитьОбновлениеИЗавершитьРаботу") = 0 Тогда
// При запуске обновления из скрипта удаление устаревших исправлений выполняется в
// самом скрипте.
МодульОбновлениеКонфигурации = ОбщегоНазначения.ОбщийМодуль("ОбновлениеКонфигурации");
Попытка
Результат = МодульОбновлениеКонфигурации.ИсправленияИзменены();
@@ -105,32 +105,6 @@
<items xsi:type="form:FormGroup">
<name>КоманднаяПанельПоискПомеченных</name>
<id>681</id>
<items xsi:type="form:Button">
<name>ДеревоПомеченныхНаУдалениеУдалитьВсе</name>
<id>517</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ДеревоПомеченныхНаУдалениеУдалитьВсеРасширеннаяПодсказка</name>
<id>518</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.УдалитьВсе</commandName>
<representation>Auto</representation>
<defaultButton>true</defaultButton>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаАктивныПослеПоискаПомеченные</name>
<id>562</id>
@@ -153,8 +127,8 @@
</extInfo>
</extendedTooltip>
<commandName>Form.Command.УдалитьВыбранные</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<defaultButton>true</defaultButton>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
@@ -386,6 +360,10 @@
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Удалить</value>
</title>
<extendedTooltip>
<name>Группа1РасширеннаяПодсказка7</name>
<id>563</id>
@@ -4107,6 +4085,19 @@
<itemValueType/>
</extInfo>
</attributes>
<attributes>
<name>ВыполняетсяЗадание</name>
<id>3</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>ДеревоПомеченныхНаУдалениеУстановитьВсе</name>
<title>
@@ -4210,24 +4201,6 @@
<currentRowUse>DontUse</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>УдалитьВсе</name>
<title>
<key>ru</key>
<value>Удалить все</value>
</title>
<id>11</id>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>УдалитьВсе</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>УдалитьВыбранные</name>
<title>
@@ -354,20 +354,6 @@
ЗапуститьЗадание(ЗаданияФормы().ПоискПомеченных);
КонецПроцедуры
&НаКлиенте
Процедура УдалитьВсе(Команда)
ОповещениеПодтверждениеУдалитьВсе = Новый ОписаниеОповещения("ПриПодтвержденииУдалитьВсе", ЭтотОбъект, Новый Структура("Команда", Команда));
Если ВыполняемаяОперация = Неопределено И ВыбраныНеВсеОбъектыВДеревеПомеченных() Тогда
ПоказатьВопрос(
ОповещениеПодтверждениеУдалитьВсе,
НСтр("ru='Удалить все помеченные на удаление?'"),
РежимДиалогаВопрос.ДаНет);
Иначе
ВыполнитьОбработкуОповещения(ОповещениеПодтверждениеУдалитьВсе, КодВозвратаДиалога.Да);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УстановитьУдалить(Команда)
Для Каждого ИдентификаторСтроки Из Элементы.МестаИспользованияНеудаленных.ВыделенныеСтроки Цикл
@@ -496,8 +482,25 @@
&НаКлиенте
Процедура УдалитьВыбранные(Команда)
ОтправитьСтатистику(Элементы.ДеревоПомеченныхНаУдалениеУдалитьВыбранные.ИмяКоманды);
ЗапуститьЗадание(ЗаданияФормы().УдалениеПомеченных);
СведенияОВыбранныхОбъектах = КоличествоВыбранныхОбъектов();
Если СведенияОВыбранныхОбъектах.КоличествоВыбранных = СведенияОВыбранныхОбъектах.КоличествоВсего Тогда
ТекстВопроса = НСтр("ru='Удалить все помеченные на удаление?'");
Иначе
ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Удалить помеченные на удаление (%1)?'"),
СведенияОВыбранныхОбъектах.КоличествоВыбранных);
КонецЕсли;
ОповещениеПодтверждениеУдалитьВсе = Новый ОписаниеОповещения(
"ПриПодтвержденииУдалить",
ЭтотОбъект,
СведенияОВыбранныхОбъектах);
ПоказатьВопрос(
ОповещениеПодтверждениеУдалитьВсе,
ТекстВопроса,
РежимДиалогаВопрос.ДаНет);
КонецПроцедуры
&НаКлиенте
@@ -673,7 +676,7 @@
Элементы.ГруппаНастройкиОтбораПоиска.Доступность = Истина;
Элементы.ПредставлениеПрогресса.Видимость = Ложь;
Элементы.ДеревоПомеченныхНаУдалениеУдалитьВсе.КнопкаПоУмолчанию = Истина;
Элементы.ДеревоПомеченныхНаУдалениеУдалитьВыбранные.КнопкаПоУмолчанию = Истина;
КонецПроцедуры
&НаСервере
@@ -685,14 +688,14 @@
Элементы.СтраницыИнформация.ТекущаяСтраница = Элементы.СтраницаВыборОбрабатываемыхОбъектов;
Элементы.СтраницыОтображениеСостояния.Видимость = Истина;
Элементы.СтраницыИнформация.ТолькоПросмотр = Ложь;
Элементы.ГруппаАктивныПослеПоискаПомеченные.Доступность = Истина;
Элементы.КоманднаяПанельПоискПомеченных.Видимость = Истина;
Элементы.КоманднаяПанельОбработкаОшибок.Видимость = Ложь;
Элементы.ГруппаНастройкиОтбораПоиска.Доступность = Истина;
Элементы.ПредставлениеПрогресса.Видимость = Ложь;
Элементы.ДеревоПомеченныхНаУдалениеУдалитьВсе.КнопкаПоУмолчанию = Истина;
Элементы.ДеревоПомеченныхНаУдалениеУдалитьВыбранные.КнопкаПоУмолчанию = Истина;
Элементы.ГруппаАктивныПослеПоискаПомеченные.Доступность = НЕ ВыполняетсяЗадание;
КонецПроцедуры
&НаСервере
@@ -745,17 +748,6 @@
#КонецОбласти
&НаКлиенте
Процедура ОтправитьСтатистику(ИмяКоманды)
Если НЕ ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ЦентрМониторинга") Тогда
Возврат;
КонецЕсли;
ОбщегоНазначенияКлиент.ОбщийМодуль("ЦентрМониторингаКлиент").ЗаписатьОперациюБизнесСтатистики("УдалениеПомеченных.Интерфейс." + ИмяКоманды, 1);
КонецПроцедуры
// Параметры:
// Ссылка - ЛюбаяСсылка
// Возвращаемое значение:
@@ -871,18 +863,27 @@
#Область КомандыФормы
&НаКлиенте
Функция ВыбраныНеВсеОбъектыВДеревеПомеченных()
Результат = Ложь;
Функция КоличествоВыбранныхОбъектов()
Результат = Новый Структура;
Результат.Вставить("КоличествоВыбранных", 0);
Результат.Вставить("КоличествоВсего", 0);
Для каждого СтрокаГруппы Из ДеревоПомеченныхНаУдаление.ПолучитьЭлементы() Цикл
Если СтрокаГруппы.Пометка <> 1 Тогда
Результат = Истина;
Прервать;
КонецЕсли;
Для каждого СтрокаЭлемента Из СтрокаГруппы.ПолучитьЭлементы() Цикл
Если СтрокаЭлемента.Пометка = 1 Тогда
Результат.КоличествоВыбранных = Результат.КоличествоВыбранных + 1;
КонецЕсли;
Результат.КоличествоВсего = Результат.КоличествоВсего + 1;
КонецЦикла;
КонецЦикла;
// При отборе метаданных всегда выбрано не все
Если ОтборМетаданных.Количество() <> 0 Тогда
Результат.КоличествоВсего = -1;
КонецЕсли;
Возврат Результат;
КонецФункции
@@ -966,13 +967,14 @@
КонецПроцедуры
&НаКлиенте
Процедура ПриПодтвержденииУдалитьВсе(Результат, ДополнительныеПараметры) Экспорт
Процедура ПриПодтвержденииУдалить(Результат, ДополнительныеПараметры) Экспорт
Если Результат <> КодВозвратаДиалога.Да Тогда
Возврат;
КонецЕсли;
ОтправитьСтатистику(Элементы.ДеревоПомеченныхНаУдалениеУдалитьВсе.ИмяКоманды);
ДобавитьЗадание(ЗаданияФормы().УдалениеПомеченных, "ПолноеУдаление");
ДеревоПомеченныхНаУдалениеУстановитьВсе(ДополнительныеПараметры.Команда);
ПараметрДействия = ?(ДополнительныеПараметры.КоличествоВсего = ДополнительныеПараметры.КоличествоВыбранных,
"ПолноеУдаление",
"");
ДобавитьЗадание(ЗаданияФормы().УдалениеПомеченных, ПараметрДействия);
ЗапуститьЗадание();
КонецПроцедуры
@@ -1464,6 +1466,7 @@
ПоказатьДиалогПередЗакрытием = Ложь;
ВыполняемаяОперация = Неопределено;
ПараметрЗадания = УдалитьТекущееЗадание();
ВыполняетсяЗадание = Ложь;
Если КоличествоЗаданийВОчереди() = 0 Тогда
УстановитьМонопольныйРежимНаСервере(Ложь);
@@ -1495,6 +1498,8 @@
Возврат;
КонецЕсли;
ВыполняетсяЗадание = Ложь;
Если Результат.Статус = "Ошибка" Тогда
ЗаполнитьИнформациюОшибкамиФоновогоЗадания(ЭтотОбъект, Результат);
@@ -1506,6 +1511,7 @@
Если ДеревоПомеченныхНаУдаление.ПолучитьЭлементы().Количество() = 0 Тогда
Элементы.СтраницыОтображениеСостояния.ТекущаяСтраница = Элементы.СостояниеУдалениеНеТребуется;
ВыполняетсяЗадание = Истина;
УстановитьСостояниеВыбораПомеченныхНаУдалениеСПанельюСостояния();
ОчиститьОчередьЗаданийФормы();
Иначе
@@ -1550,7 +1556,10 @@
Элементы.СтраницыИнформация.ТолькоПросмотр = Истина;
Обработчик = Новый ОписаниеОповещения("ПослеЗавершенияУдаленияПомеченных", ЭтотОбъект);
ВыполняемаяОперация = НачатьУдалениеПомеченныхСервер(УникальныйИдентификатор, РезультатПредыдущегоШага, Параметр = "ПолноеУдаление");
ВыполняемаяОперация = НачатьУдалениеПомеченныхСервер(
УникальныйИдентификатор,
РезультатПредыдущегоШага,
Параметр = "ПолноеУдаление");
ПриНачалеФоновогоЗадания(Обработчик);
КонецПроцедуры
@@ -1627,6 +1636,8 @@
Возврат;
КонецЕсли;
ВыполняетсяЗадание = Ложь;
Если Результат.Статус = "Ошибка" Тогда
УстановитьСостояниеВыбораПомеченныхНаУдалениеСПанельюСостояния();
ЗаполнитьИнформациюОшибкамиФоновогоЗадания(ЭтотОбъект, Результат);
@@ -1776,6 +1787,8 @@
Возврат;
КонецЕсли;
ВыполняетсяЗадание = Ложь;
Если Результат.Статус = "Ошибка" Тогда
УстановитьСостояниеНеуспешноеУдалениеСПанельюСостояния();
ЗаполнитьИнформациюОшибкамиФоновогоЗадания(ЭтотОбъект, Результат);
@@ -1920,6 +1933,8 @@
КонецЕсли;
КонецЕсли;
ВыполняетсяЗадание = Истина;
Если ТекущееЗаданиеФормы.Имя = ЗаданияФормы().УдалениеПомеченных Тогда
НачатьУдалениеПомеченных(ТекущееЗаданиеФормы.Параметр);
ИначеЕсли ТекущееЗаданиеФормы.Имя = ЗаданияФормы().ПоискПомеченных Тогда
@@ -285,12 +285,9 @@
МестаИспользования = МестаИспользованияЭлементовПакета(ПараметрыУдаления, Пакет);
ОсновнойИПодчиненныеОбъекты = Новый Структура;
ОсновнойИПодчиненныеОбъекты.Вставить("Элементы", Новый Массив);
ОсновнойИПодчиненныеОбъекты.Вставить("Код", КодыРезультатаУдаления().Успешно);
ОсновнойИПодчиненныеОбъекты.Вставить("РезультатУдаления");
ОсновнойИПодчиненныеОбъекты = Новый Массив;
Для Каждого Элемент Из Пакет Цикл
ОсновнойИПодчиненныеОбъекты.Элементы.Добавить(Элемент);
ОсновнойИПодчиненныеОбъекты.Добавить(Элемент);
Если НЕ Элемент.ЭтоОсновнойОбъект Тогда
Продолжить;
КонецЕсли;
@@ -300,23 +297,47 @@
НачатьТранзакцию();
Попытка
Для каждого УдаляемыйСсылка Из ОсновнойИПодчиненныеОбъекты.Элементы Цикл
ОсновнойОбъект = ОсновнойИПодчиненныеОбъекты[ОсновнойИПодчиненныеОбъекты.ВГраница()];
Для каждого УдаляемыйСсылка Из ОсновнойИПодчиненныеОбъекты Цикл
Фильтр = Новый Структура("УдаляемыйСсылка", УдаляемыйСсылка.УдаляемыйСсылка);
РезультатУдаления = УдалитьЭлементПакета(
ПараметрыУдаления,
УдаляемыйСсылка,
МестаИспользования.Скопировать(Фильтр),
НеудаленныеЭлементы);
Если РезультатУдаления.Код <> КодыРезультатаУдаления().Успешно Тогда
НельзяУдалятьОсновнойОбъект = Истина;
НеудаленныеЭлементы.Добавить(РезультатУдаления.УдаляемыйСсылка);
КонецЕсли;
ОтразитьРезультатУдаленияЭлементаПакета(
ПараметрыУдаления,
РезультатОбработкиПакета,
РезультатУдаления);
Если НЕ УдаляемыйСсылка.ЭтоОсновнойОбъект И РезультатУдаления.Код = КодыРезультатаУдаления().ОшибкаПриУдалении Тогда
// Если удаление подчиненного элемента завершилось с ошибкой, то удаление других элементов невозможно.
// Возвращаем основной элемент с единственной причиной неудаления - неудаленным дочерним или подчиненным элементом.
НельзяУдалятьОсновнойОбъект = Истина;
НеудаленныеЭлементы.Добавить(РезультатУдаления.УдаляемыйСсылка);
РезультатУдаленияОсновногоЭлемента = РезультатУдаленияЭлемента(ОсновнойОБъект);
РезультатУдаленияОсновногоЭлемента.Код = КодыРезультатаУдаления().ЕстьМестаИспользования;
Фильтр = Новый Структура("УдаляемыйСсылка, МестоИспользования", ОсновнойОбъект.УдаляемыйСсылка, УдаляемыйСсылка.УдаляемыйСсылка);
РезультатУдаленияОсновногоЭлемента.МестаИспользования = МестаИспользования.Скопировать(Фильтр);
ОтразитьРезультатУдаленияЭлементаПакета(
ПараметрыУдаления,
РезультатОбработкиПакета,
РезультатУдаленияОсновногоЭлемента);
Прервать;
ИначеЕсли РезультатУдаления.Код <> КодыРезультатаУдаления().Успешно Тогда
НельзяУдалятьОсновнойОбъект = Истина;
НеудаленныеЭлементы.Добавить(РезультатУдаления.УдаляемыйСсылка);
КонецЕсли;
КонецЦикла;
Если НЕ НельзяУдалятьОсновнойОбъект Тогда
@@ -330,9 +351,7 @@
ВызватьИсключение;
КонецПопытки;
ОсновнойИПодчиненныеОбъекты.Элементы.Очистить();
ОсновнойИПодчиненныеОбъекты.РезультатУдаления = Неопределено;
ОсновнойИПодчиненныеОбъекты.Код = КодыРезультатаУдаления().Успешно;
ОсновнойИПодчиненныеОбъекты.Очистить();
КонецЦикла;
@@ -342,6 +361,21 @@
Возврат РезультатОбработкиПакета;
КонецФункции
Функция РезультатУдаленияЭлемента(Знач Элемент)
Перем Результат;
Результат = Новый Структура();
Результат.Вставить("УдаляемыйСсылка", Элемент.УдаляемыйСсылка);
Результат.Вставить("Код", КодыРезультатаУдаления().Успешно);
Результат.Вставить("МестаИспользования", МестаИспользования());
Результат.Вставить("Сообщения", Новый ФиксированныйМассив(Новый Массив));
Результат.Вставить("ЭтоОсновнойОбъект", Элемент.ЭтоОсновнойОбъект);
Результат.Вставить("ИнформацияОбОшибке");
Возврат Результат;
КонецФункции
#Область ОчисткаСсылокНаУдаляемыеОбъекты
// Параметры:
@@ -775,14 +809,7 @@
// - ИнформацияОбОшибке
//
Функция УдалитьЭлементПакета(ПараметрыУдаления, Элемент, МестаИспользования, НеудаленныеЭлементы)
Результат = Новый Структура();
Результат.Вставить("УдаляемыйСсылка", Элемент.УдаляемыйСсылка);
Результат.Вставить("Код", КодыРезультатаУдаления().Успешно);
Результат.Вставить("МестаИспользования", МестаИспользования());
Результат.Вставить("Сообщения", Новый ФиксированныйМассив(Новый Массив));
Результат.Вставить("ЭтоОсновнойОбъект", Элемент.ЭтоОсновнойОбъект);
Результат.Вставить("ИнформацияОбОшибке");
Результат = РезультатУдаленияЭлемента(Элемент);
// Объект был удален ранее
Если ОбъектУдален(Элемент.УдаляемыйСсылка) Тогда
Возврат Результат;
@@ -2265,6 +2265,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>DataProcessor.ОценкаПроизводительности.Command.ИмпортЗамеровПроизводительности</name>
<right>
@@ -3266,93 +3353,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.АдресныеОбъекты.Command.ЗагрузитьАдресныйКлассификатор</name>
<right>
@@ -21,6 +21,37 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
<right>
@@ -76,37 +107,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -3172,6 +3172,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>DataProcessor.ОценкаПроизводительности.Command.ИмпортЗамеровПроизводительности</name>
<right>
@@ -4605,45 +4644,6 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>Catalog.ЗначенияСвойствОбъектовИерархия</name>
<right>
@@ -259,17 +259,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>