Skip to content

Commit

Permalink
Исправлены замечания сонар
Browse files Browse the repository at this point in the history
  • Loading branch information
alkoleft committed Aug 22, 2023
1 parent c996aff commit 1138b5f
Show file tree
Hide file tree
Showing 9 changed files with 95 additions and 115 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -87,4 +87,12 @@

КонецФункции

Функция ЭтоПеречисление(Значение) Экспорт

Описание = ОписаниеОбъектаМетаданных(Значение);

Возврат Описание <> Неопределено И Описание.ОписаниеТипа.Имя = "Перечисление";

КонецФункции

#КонецОбласти
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
|</TypeDescription>");

Возврат СериализаторXDTO.ПрочитатьXML(ЧтениеXML);

КонецФункции

Функция УстановленБезопасныйРежим() Экспорт
Expand All @@ -54,21 +54,24 @@

ЧастиИмени = СтрРазделить(ИмяМакета, ".");

Если ЧастиИмени.Количество() < 2 Тогда
КоличествоБлоковДляОбщегоМакета = 2;
КоличествоБлоковМакетаМенеджера = 3;

Если ЧастиИмени.Количество() < КоличествоБлоковДляОбщегоМакета Тогда
ВызватьИсключение СтрШаблон("Некорректное имя макет, если вы хотите получить данные общего макета необходимо указать `ОбщийМакет.%1`",
ИмяМакета);
КонецЕсли;

ИндексОбласти = 0;
Если СтрСравнить(ЧастиИмени[0], "ОбщийМакет") = 0 Тогда
Макет = ПолучитьОбщийМакет(ЧастиИмени[1]);
ИндексОбласти = 2;
ИначеЕсли ЧастиИмени.Количество() >= 3 Тогда
ИндексОбласти = КоличествоБлоковДляОбщегоМакета;
ИначеЕсли ЧастиИмени.Количество() >= КоличествоБлоковМакетаМенеджера Тогда
Менеджер = Менеджер(СтрШаблон("%1.%2", ЧастиИмени[0], ЧастиИмени[1]));
Макет = Менеджер.ПолучитьМакет(ЧастиИмени[2]);
ИндексОбласти = 3;
Макет = Менеджер.ПолучитьМакет(ЧастиИмени[КоличествоБлоковМакетаМенеджера - 1]);
ИндексОбласти = КоличествоБлоковМакетаМенеджера;
Иначе
ВызватьИсключение СтрШаблон("Некорреткное имя макета `%1`", ИмяМакета);
ВызватьИсключение СтрШаблон("Некорректное имя макета `%1`", ИмяМакета);
КонецЕсли;

Если ЧастиИмени.Количество() > ИндексОбласти Тогда
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,21 +84,28 @@
МассивРазделителей.Добавить("-");

СтрокаДаты = Неопределено;

КоличествоБлоковДаты = 3;
ДлинаГода = 4;

Для Каждого Разделитель Из МассивРазделителей Цикл

Если ЗначениеЗаполнено(СтрокаДаты) Тогда
Прервать;
КонецЕсли;

МассивЧастейДат = СтрРазделить(Значение, Разделитель);
Если МассивЧастейДат.Количество() = 3 Тогда
Если СтрДлина(МассивЧастейДат[2]) = 4 Тогда

Если МассивЧастейДат.Количество() = КоличествоБлоковДаты Тогда

Если СтрДлина(МассивЧастейДат[2]) = ДлинаГода Тогда
СтрокаДаты = МассивЧастейДат[2] + МассивЧастейДат[1] + МассивЧастейДат[0];
ИначеЕсли СтрДлина(МассивЧастейДат[0]) = 4 Тогда
ИначеЕсли СтрДлина(МассивЧастейДат[0]) = ДлинаГода Тогда
СтрокаДаты = МассивЧастейДат[0] + МассивЧастейДат[1] + МассивЧастейДат[2];
Иначе
СтрокаДаты = "20" + МассивЧастейДат[2] + МассивЧастейДат[1] + МассивЧастейДат[0];
КонецЕсли;

КонецЕсли;

КонецЦикла;
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
ПодготовитьПараметрыЗаполненияТаблицы(КэшЗначений, ЗаменяемыеЗначения, ПараметрыЗаполнения, Колонки);
ПараметрыСоздания = ПараметрыЗаполнения.СозданиеОбъектовМетаданных;

Выборка = ЮТПреобразованияСервер.ВыборкаИзТабличногоДокумента(ТабличныйДокумент);
Выборка = ВыборкаИзТабличногоДокумента(ТабличныйДокумент);

Пока Выборка.Следующий() Цикл

Expand All @@ -46,7 +46,7 @@
Продолжить;
КонецЕсли;

Значение = ЗачениеЯчейки(Выборка, ЗначениеПредставления, ОписаниеКолонки, ЗаменяемыеЗначения, КэшЗначений, ПараметрыСоздания);
Значение = ЗначениеЯчейки(Выборка, ЗначениеПредставления, ОписаниеКолонки, ЗаменяемыеЗначения, КэшЗначений, ПараметрыСоздания);
Строка[ОписаниеКолонки.Имя] = Значение;

КонецЦикла;
Expand All @@ -61,6 +61,22 @@

#Область СлужебныеПроцедурыИФункции

Функция ВыборкаИзТабличногоДокумента(ТабличныйДокумент)

ВсегоСтрок = ТабличныйДокумент.ВысотаТаблицы;
ВсегоКолонок = ТабличныйДокумент.ШиринаТаблицы;

Область = ТабличныйДокумент.Область(1, 1, ВсегоСтрок, ВсегоКолонок);

ИсточникДанных = Новый ОписаниеИсточникаДанных(Область);
ПостроительОтчета = Новый ПостроительОтчета;
ПостроительОтчета.ИсточникДанных = ИсточникДанных;
ПостроительОтчета.Выполнить();

Возврат ПостроительОтчета.Результат.Выбрать();

КонецФункции

Функция ТабличныйДокумент(Знач ТабличныйДокумент)

ТипПараметра = ТипЗнч(ТабличныйДокумент);
Expand All @@ -85,30 +101,24 @@
Для Инд = 1 По ТабличныйДокумент.ШиринаТаблицы Цикл

ИмяКолонки = ТабличныйДокумент.Область(1, Инд).Текст;

Если ПустаяСтрока(ИмяКолонки) Тогда
Прервать;
КонецЕсли;

ЧастиИмени = СтрРазделить(ИмяКолонки, ".");

Если ОписанияТипов[ЧастиИмени[0]] = Неопределено Тогда
Если ПустаяСтрока(ИмяКолонки) ИЛИ ОписанияТипов[ЧастиИмени[0]] = Неопределено Тогда
Продолжить;
КонецЕсли;

ЭтоВложенныйРеквизит = ЧастиИмени.Количество() = 2;
ЭтоОсновнойРеквизит = ЧастиИмени.Количество() = 1;

ОписаниеКолонки = Новый Структура;
ОписаниеКолонки.Вставить("Индекс", Инд - 1);
ОписаниеКолонки = ОписаниеКолонки(Инд - 1);

Если ЭтоОсновнойРеквизит Тогда
ОписаниеКолонки.Вставить("Имя", ИмяКолонки);
ОписаниеКолонки.Имя = ИмяКолонки;
Иначе
ОписаниеКолонки.Вставить("Имя", ЧастиИмени[1]);
ОписаниеКолонки.Имя = ЧастиИмени[1];
КонецЕсли;

ОписаниеКолонки.Вставить("ОписаниеТипа", ОписанияТипов[ИмяКолонки]);
ОписаниеКолонки.ОписаниеТипа = ОписанияТипов[ИмяКолонки];

Если ОписаниеКолонки.ОписаниеТипа = Неопределено И ЭтоВложенныйРеквизит Тогда

Expand All @@ -123,25 +133,11 @@

КонецЕсли;

ОписаниеКолонки.Вставить("ТипЗначения", ОписаниеКолонки.ОписаниеТипа.Типы()[0]);
ОписаниеКолонки.Вставить("Ссылочный", ЮТТипыДанныхСлужебный.ЭтоСсылочныйТип(ОписаниеКолонки.ТипЗначения));
ОписаниеКолонки.Вставить("ДополнительныеРеквизиты", Новый Массив());
ОписаниеКолонки.Вставить("Составное", Ложь);
ОписаниеКолонки.Вставить("Менеджер", Неопределено);
ОписаниеКолонки.Вставить("ОписаниеОбъектаМетаданных", Неопределено);
ОписаниеКолонки.Вставить("ЭтоПеречисление", Ложь);
ОписаниеКолонки.Вставить("ЭтоЧисло", ОписаниеКолонки.ТипЗначения = Тип("Число"));
ОписаниеКолонки.Вставить("ЭтоДата", ОписаниеКолонки.ТипЗначения = Тип("Дата"));

Если ОписаниеКолонки.Ссылочный Тогда
ОписаниеКолонки.ОписаниеОбъектаМетаданных = ЮТМетаданные.ОписаниеОбъектаМетаданных(ОписаниеКолонки.ТипЗначения);
ОписаниеКолонки.ЭтоПеречисление = СтрСравнить(ОписаниеКолонки.ОписаниеОбъектаМетаданных.ОписаниеТипа.Имя, "Перечисление") = 0; // TODO
ОписаниеКолонки.Менеджер = ЮТОбщий.Менеджер(ОписаниеКолонки.ТипЗначения);
КонецЕсли;
ДозаполнитьОписаниеКолонки(ОписаниеКолонки);

ВсеКолонки.Добавить(ОписаниеКолонки);

Если ЧастиИмени.Количество() = 1 Тогда
Если ЭтоОсновнойРеквизит Тогда

Колонки.Добавить(ОписаниеКолонки);
ОсновныеКолонки.Вставить(ИмяКолонки, ОписаниеКолонки);
Expand All @@ -167,7 +163,45 @@

КонецФункции

Функция ЗачениеЯчейки(СтрокаДанных, ЗначениеПредставления, ОписаниеКолонки, ЗаменяемыеЗначения, КэшЗначений, ПараметрыСоздания)
Функция ОписаниеКолонки(Индекс)

ОписаниеКолонки = Новый Структура;
ОписаниеКолонки.Вставить("Индекс", Индекс);
ОписаниеКолонки.Вставить("Имя", "");

ОписаниеКолонки.Вставить("ОписаниеТипа", Неопределено);
ОписаниеКолонки.Вставить("ТипЗначения", Неопределено);
ОписаниеКолонки.Вставить("Ссылочный", Ложь);
ОписаниеКолонки.Вставить("ДополнительныеРеквизиты", Новый Массив());
ОписаниеКолонки.Вставить("Составное", Ложь);
ОписаниеКолонки.Вставить("Менеджер", Неопределено);
ОписаниеКолонки.Вставить("ОписаниеОбъектаМетаданных", Неопределено);
ОписаниеКолонки.Вставить("ЭтоПеречисление", Ложь);
ОписаниеКолонки.Вставить("ЭтоЧисло", Ложь);
ОписаниеКолонки.Вставить("ЭтоДата", Ложь);

Возврат ОписаниеКолонки;

КонецФункции

Процедура ДозаполнитьОписаниеКолонки(ОписаниеКолонки)

ТипЗначения = ОписаниеКолонки.ОписаниеТипа.Типы()[0];
ОписаниеКолонки.ТипЗначения = ТипЗначения;

ОписаниеКолонки.Ссылочный = ЮТТипыДанныхСлужебный.ЭтоСсылочныйТип(ТипЗначения);
ОписаниеКолонки.ЭтоЧисло = ТипЗначения = Тип("Число");
ОписаниеКолонки.ЭтоДата = ТипЗначения = Тип("Дата");

Если ОписаниеКолонки.Ссылочный Тогда
ОписаниеКолонки.ОписаниеОбъектаМетаданных = ЮТМетаданные.ОписаниеОбъектаМетаданных(ТипЗначения);
ОписаниеКолонки.ЭтоПеречисление = ЮТМетаданные.ЭтоПеречисление(ОписаниеКолонки.ОписаниеОбъектаМетаданных);
ОписаниеКолонки.Менеджер = ЮТОбщий.Менеджер(ОписаниеКолонки.ОписаниеОбъектаМетаданных);
КонецЕсли;

КонецПроцедуры

Функция ЗначениеЯчейки(СтрокаДанных, ЗначениеПредставления, ОписаниеКолонки, ЗаменяемыеЗначения, КэшЗначений, ПараметрыСоздания)

Значение = ЗаменяемыеЗначения[ЗначениеПредставления];

Expand Down Expand Up @@ -235,12 +269,7 @@
Продолжить;
КонецЕсли;

Значение = ЗачениеЯчейки(СтрокаТаблицы,
ПредставлениеЗначения,
ОписаниеВложеннойКолонки,
ЗаменяемыеЗначения,
КэшЗначений,
Параметры);
Значение = ЗначениеЯчейки(СтрокаТаблицы, ПредставлениеЗначения, ОписаниеВложеннойКолонки, ЗаменяемыеЗначения, КэшЗначений, Параметры);
ЗначенияРеквизитов.Вставить(ОписаниеВложеннойКолонки.Имя, Значение);

КонецЦикла;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@
Для Инд = 0 По Таблица.Количество() - 1 Цикл
Запись = Новый Структура(Реквизиты);
ЗаполнитьЗначенияСвойств(Запись, Таблица[Инд]);
Результат[Инд] = Запись
Результат[Инд] = Запись;
КонецЦикла;

Возврат Результат;
Expand Down
1 change: 0 additions & 1 deletion exts/yaxunit/src/Configuration/Configuration.mdo
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,6 @@
<commonModules>CommonModule.ЮТПредикаты</commonModules>
<commonModules>CommonModule.ЮТПредикатыКлиентСервер</commonModules>
<commonModules>CommonModule.ЮТПреобразования</commonModules>
<commonModules>CommonModule.ЮТПреобразованияСервер</commonModules>
<commonModules>CommonModule.ЮТРасширения</commonModules>
<commonModules>CommonModule.ЮТРегистрацияОшибок</commonModules>
<commonModules>CommonModule.ЮТСобытия</commonModules>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@
Данные.Добавить(Новый(СтрШаблон("%1Объект.%2", Вид, Справочник.Имя)));
Данные.Добавить(Тип(СтрШаблон("%1Объект.%2", Вид, Справочник.Имя)));
Данные.Добавить(Тип(СтрШаблон("%1Менеджер.%2", Вид, Справочник.Имя)));
КонецЕсли
КонецЕсли;

КонецЦикла;

Expand Down

0 comments on commit 1138b5f

Please sign in to comment.