diff --git a/CommonModules/ирОбщий/Ext/Module.bsl b/CommonModules/ирОбщий/Ext/Module.bsl
index 0c52edac2..9813c2ac8 100644
--- a/CommonModules/ирОбщий/Ext/Module.bsl
+++ b/CommonModules/ирОбщий/Ext/Module.bsl
@@ -16215,6 +16215,60 @@
КонецФункции
+Функция СсылкаВПолныйИдентификаторЛкс(Знач ЗначениеЯчейки) Экспорт
+
+ ИдентификаторСсылки = СтроковыйИдентификаторСсылкиЛкс(ЗначениеЯчейки, Истина);
+ Возврат ИдентификаторСсылки;
+
+КонецФункции
+
+Функция СсылкаИзПолногоИдентификатораЛкс(Знач Идентификатор) Экспорт
+
+ Фрагменты = СтрРазделитьЛкс(Идентификатор);
+ #Если Сервер И Не Сервер Тогда
+ Фрагменты = Новый Массив;
+ #КонецЕсли
+ СтрокаЗначения = Фрагменты[0];
+ Фрагменты.Удалить(0);
+ Ссылка = XMLЗначение(Тип(СтрСоединитьЛкс(Фрагменты, ".")), СтрокаЗначения);
+ Возврат Ссылка;
+
+КонецФункции
+
+Функция СтроковыйИдентификаторЗначенияЛкс(Значение, СсылкаВместеСТипом = Ложь) Экспорт
+
+ ИдентификаторЗначения = СтроковыйИдентификаторСсылкиЛкс(Значение, СсылкаВместеСТипом);
+ Если Истина
+ И ИдентификаторЗначения = Неопределено
+ // ускорение
+ И Значение <> Неопределено
+ И XMLТипЗнч(Значение) = Неопределено
+ И ТипЗнч(Значение) <> Тип("ТаблицаЗначений")
+ И Не ЛиКоллекцияЛкс(Значение)
+ Тогда
+ Попытка
+ ИдентификаторЗначения = ПоследнийФрагментЛкс(ПолучитьПолноеИмяПредопределенногоЗначения(Значение)); // имя системного перечисления
+ Исключение
+ КонецПопытки;
+ КонецЕсли;
+ Если ИдентификаторЗначения = Неопределено Тогда
+ Попытка
+ ИдентификаторЗначения = XMLСтрока(Значение);
+ Исключение
+ ИдентификаторЗначения = "" + Значение;
+ КонецПопытки;
+ КонецЕсли;
+ Возврат ИдентификаторЗначения;
+
+КонецФункции
+
+Функция РазмерЗначенияЛкс(Значение) Экспорт
+
+ Результат = СтрДлина(ЗначениеВСтрокуВнутр(Новый ХранилищеЗначения(Значение)));
+ Возврат Результат;
+
+КонецФункции
+
Функция ПредставлениеДопСвойствОбъектаЛкс(Объект)
Попытка
@@ -22218,60 +22272,6 @@
КонецПроцедуры
-Функция СсылкаВПолныйИдентификаторЛкс(Знач ЗначениеЯчейки) Экспорт
-
- ИдентификаторСсылки = СтроковыйИдентификаторСсылкиЛкс(ЗначениеЯчейки, Истина);
- Возврат ИдентификаторСсылки;
-
-КонецФункции
-
-Функция СсылкаИзПолногоИдентификатораЛкс(Знач Идентификатор) Экспорт
-
- Фрагменты = СтрРазделитьЛкс(Идентификатор);
- #Если Сервер И Не Сервер Тогда
- Фрагменты = Новый Массив;
- #КонецЕсли
- СтрокаЗначения = Фрагменты[0];
- Фрагменты.Удалить(0);
- Ссылка = XMLЗначение(Тип(СтрСоединитьЛкс(Фрагменты, ".")), СтрокаЗначения);
- Возврат Ссылка;
-
-КонецФункции
-
-Функция СтроковыйИдентификаторЗначенияЛкс(Значение, СсылкаВместеСТипом = Ложь) Экспорт
-
- ИдентификаторЗначения = СтроковыйИдентификаторСсылкиЛкс(Значение, СсылкаВместеСТипом);
- Если Истина
- И ИдентификаторЗначения = Неопределено
- // ускорение
- И Значение <> Неопределено
- И XMLТипЗнч(Значение) = Неопределено
- И ТипЗнч(Значение) <> Тип("ТаблицаЗначений")
- И Не ЛиКоллекцияЛкс(Значение)
- Тогда
- Попытка
- ИдентификаторЗначения = ПоследнийФрагментЛкс(ПолучитьПолноеИмяПредопределенногоЗначения(Значение)); // имя системного перечисления
- Исключение
- КонецПопытки;
- КонецЕсли;
- Если ИдентификаторЗначения = Неопределено Тогда
- Попытка
- ИдентификаторЗначения = XMLСтрока(Значение);
- Исключение
- ИдентификаторЗначения = "" + Значение;
- КонецПопытки;
- КонецЕсли;
- Возврат ИдентификаторЗначения;
-
-КонецФункции
-
-Функция РазмерЗначенияЛкс(Значение) Экспорт
-
- Результат = СтрДлина(ЗначениеВСтрокуВнутр(Новый ХранилищеЗначения(Значение)));
- Возврат Результат;
-
-КонецФункции
-
Процедура ТабличноеПолеВставитьКолонкуНомерСтрокиЛкс(Знач ТабличноеПоле) Экспорт
ИмяКолонкиНомерСтроки = ирКэш.ИмяКолонкиНомерСтрокиЛкс();
diff --git a/ConfigDumpInfo.xml b/ConfigDumpInfo.xml
index acf6cdda9..7f8600569 100644
--- a/ConfigDumpInfo.xml
+++ b/ConfigDumpInfo.xml
@@ -78,8 +78,8 @@
-
-
+
+
@@ -536,7 +536,7 @@
-
+
@@ -890,7 +890,7 @@
-
+
@@ -930,7 +930,7 @@
-
+
@@ -1979,7 +1979,7 @@
-
+
@@ -2001,7 +2001,7 @@
-
+
@@ -2484,7 +2484,7 @@
-
+
@@ -2496,7 +2496,7 @@
-
+
@@ -3106,7 +3106,7 @@
-
+
diff --git a/Configuration.xml b/Configuration.xml
index 5c3a2fcaf..dfba8958a 100644
--- a/Configuration.xml
+++ b/Configuration.xml
@@ -51,7 +51,7 @@
Role.ирРазработчик
Tormozit
- 6.02.2
+ 6.02.3
false
true
diff --git a/DataProcessors/ирЗагрузкаТабличныхДанных/Ext/ObjectModule.bsl b/DataProcessors/ирЗагрузкаТабличныхДанных/Ext/ObjectModule.bsl
index 897f2aec9..16a9ef65a 100644
--- a/DataProcessors/ирЗагрузкаТабличныхДанных/Ext/ObjectModule.bsl
+++ b/DataProcessors/ирЗагрузкаТабличныхДанных/Ext/ObjectModule.bsl
@@ -147,7 +147,10 @@
Если МассивЧастей[0] >= 1000 Тогда
ПозицияГода = 0;
КонецЕсли;
- Если ПозицияГода <> 2 Тогда
+ Если Истина
+ И ПозицияГода <> Неопределено
+ И ПозицияГода <> 2
+ Тогда
Временно = МассивЧастей[ПозицияГода];
МассивЧастей[ПозицияГода] = МассивЧастей[2];
МассивЧастей[2] = Временно;
diff --git a/DataProcessors/ирПодготовкаКИзменениюСтруктурыБД/Ext/ObjectModule.bsl b/DataProcessors/ирПодготовкаКИзменениюСтруктурыБД/Ext/ObjectModule.bsl
index 62c20bf54..71f63d6ff 100644
--- a/DataProcessors/ирПодготовкаКИзменениюСтруктурыБД/Ext/ObjectModule.bsl
+++ b/DataProcessors/ирПодготовкаКИзменениюСтруктурыБД/Ext/ObjectModule.bsl
@@ -341,7 +341,7 @@
| ИЛИ ИСТИНА";
Иначе
Для Каждого Тип Из ТипЗначенияТекущий.Типы() Цикл
- Если ирОбщий.ЛиТипСсылкиБДЛкс(Тип) Тогда
+ Если ирОбщий.ЛиТипСсылкиБДЛкс(Тип, Ложь) Тогда
Если Не ТипЗначенияНовый.СодержитТип(Тип) Тогда
ВыражениеНеопределено = ВыражениеНеопределено + "
| ИЛИ (" + ИмяПоля + " ССЫЛКА " + Метаданные.НайтиПоТипу(Тип).ПолноеИмя() + ")";
@@ -632,7 +632,8 @@
ирОбщий.СообщитьЛкс("Пропускаем " + ПолноеИмяРегистра + " из-за использования типов добавленнных объектов", СтатусСообщения.Внимание);
Продолжить;
КонецЕсли;
- ТаблицаНабораТекущая = РегистрыСведений[МетаобъектТекущий.Имя].СоздатьНаборЗаписей().Выгрузить();
+ //ТаблицаНабораТекущая = РегистрыСведений[МетаобъектТекущий.Имя].СоздатьНаборЗаписей().Выгрузить(); // Так будут ошибки толстого клиента
+ ТаблицаНабораТекущая = ирОбщий.ПустаяТаблицаЗначенийИзТаблицыБДЛкс(ПолноеИмяРегистра);
#Если Сервер И Не Сервер Тогда
ТаблицаНабораКОМ = Новый ТаблицаЗначений;
ТаблицаНабораНовая = Новый ТаблицаЗначений;
diff --git a/DataProcessors/ирСинтаксПомощник/Ext/ObjectModule.bsl b/DataProcessors/ирСинтаксПомощник/Ext/ObjectModule.bsl
index 9939118ca..0283460cc 100644
--- a/DataProcessors/ирСинтаксПомощник/Ext/ObjectModule.bsl
+++ b/DataProcessors/ирСинтаксПомощник/Ext/ObjectModule.bsl
@@ -44,8 +44,9 @@
ПараметрыКоманды = " -o " + ФайлАрхива.Имя + " """ + ПутьКЭлементу + """";
Если ирКэш.ЛиПлатформаWindowsЛкс() Тогда
// Так быстрее - 150мс
+ ПолноеИмяРаспаковщика = ФайлРаспаковщикаZIP.ПолноеИмя;
ВК = ирКэш.ВКОбщаяЛкс();
- ВК.Run(ФайлРаспаковщикаZIP.ПолноеИмя, ПараметрыКоманды, ПутьКэшаСинтаксПомощника(), Истина, Ложь);
+ ВК.Run(ПолноеИмяРаспаковщика, ПараметрыКоманды, ПутьКэшаСинтаксПомощника(), Истина, Ложь); // В 8.2 все параметры метода ВК зачем то должны быть доступны на запись https://www.hostedredmine.com/issues/931482
Иначе
// Так медленнее - 200мс
ирОбщий.ЗапуститьСкрытоеПриложениеИДождатьсяЗавершенияЛкс("""" + ФайлРаспаковщикаZIP.ПолноеИмя + """" + ПараметрыКоманды, ПутьКэшаСинтаксПомощника(), Истина);
@@ -464,7 +465,7 @@
#КонецЕсли
шТег = "(?:\s*<[^>]+>\s*)";
шТегНеКлюч = "(?:\s*<[^>""]+>\s*)";
-шТегКлюч = "(?:\s*<(?:div|li|p|b)(?:\s[^>]*)>\s*)";
+шТегКлюч = "(?:\s*<(?:li|(?:div|p|b)(?:\s[^>]*))>\s*)"; // используется в описании функций языка выражений компоновки
шКонецТегаКлюч = "(?:\s*(?:div|li|p|b)>\s*)";
шТип = "\s*(?:<[^>""]+""(?:[^""]*)"">)?((?:[" + мПлатформа.шБукваЦифра + "\-\s\:\&\/]+))(?:(?:<[^>""]+>)?(,|;))?";
СоответствиеЗамены = Новый Соответствие;
diff --git a/Subsystems/ИнструментыРазработчикаTormozit.xml b/Subsystems/ИнструментыРазработчикаTormozit.xml
index c37cde08f..129b21c7d 100644
--- a/Subsystems/ИнструментыРазработчикаTormozit.xml
+++ b/Subsystems/ИнструментыРазработчикаTormozit.xml
@@ -6,7 +6,7 @@
ru
- Инструменты разработчика 6.02.2
+ Инструменты разработчика 6.02.3
en
@@ -17,7 +17,7 @@
Инструменты разработчика 5.99.1
- 6.02.2
+ 6.02.3
true
true
diff --git a/VERSION b/VERSION
index f724daa77..57b8b6f36 100644
--- a/VERSION
+++ b/VERSION
@@ -1,2 +1,2 @@
-398
+399