mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2025-02-13 19:42:02 +02:00
Исправлены замечания сонар
This commit is contained in:
parent
e478728ae8
commit
71d0a2d5bd
@ -88,4 +88,12 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоПеречисление(Значение) Экспорт
|
||||
|
||||
Описание = ОписаниеОбъектаМетаданных(Значение);
|
||||
|
||||
Возврат Описание <> Неопределено И Описание.ОписаниеТипа.Имя = "Перечисление";
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -27,7 +27,7 @@
|
||||
|</TypeDescription>");
|
||||
|
||||
Возврат СериализаторXDTO.ПрочитатьXML(ЧтениеXML);
|
||||
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция УстановленБезопасныйРежим() Экспорт
|
||||
@ -54,7 +54,10 @@
|
||||
|
||||
ЧастиИмени = СтрРазделить(ИмяМакета, ".");
|
||||
|
||||
Если ЧастиИмени.Количество() < 2 Тогда
|
||||
КоличествоБлоковДляОбщегоМакета = 2;
|
||||
КоличествоБлоковМакетаМенеджера = 3;
|
||||
|
||||
Если ЧастиИмени.Количество() < КоличествоБлоковДляОбщегоМакета Тогда
|
||||
ВызватьИсключение СтрШаблон("Некорректное имя макет, если вы хотите получить данные общего макета необходимо указать `ОбщийМакет.%1`",
|
||||
ИмяМакета);
|
||||
КонецЕсли;
|
||||
@ -62,13 +65,13 @@
|
||||
ИндексОбласти = 0;
|
||||
Если СтрСравнить(ЧастиИмени[0], "ОбщийМакет") = 0 Тогда
|
||||
Макет = ПолучитьОбщийМакет(ЧастиИмени[1]);
|
||||
ИндексОбласти = 2;
|
||||
ИначеЕсли ЧастиИмени.Количество() >= 3 Тогда
|
||||
ИндексОбласти = КоличествоБлоковДляОбщегоМакета;
|
||||
ИначеЕсли ЧастиИмени.Количество() >= КоличествоБлоковМакетаМенеджера Тогда
|
||||
Менеджер = Менеджер(СтрШаблон("%1.%2", ЧастиИмени[0], ЧастиИмени[1]));
|
||||
Макет = Менеджер.ПолучитьМакет(ЧастиИмени[2]);
|
||||
ИндексОбласти = 3;
|
||||
Макет = Менеджер.ПолучитьМакет(ЧастиИмени[КоличествоБлоковМакетаМенеджера - 1]);
|
||||
ИндексОбласти = КоличествоБлоковМакетаМенеджера;
|
||||
Иначе
|
||||
ВызватьИсключение СтрШаблон("Некорреткное имя макета `%1`", ИмяМакета);
|
||||
ВызватьИсключение СтрШаблон("Некорректное имя макета `%1`", ИмяМакета);
|
||||
КонецЕсли;
|
||||
|
||||
Если ЧастиИмени.Количество() > ИндексОбласти Тогда
|
||||
|
@ -84,6 +84,10 @@
|
||||
МассивРазделителей.Добавить("-");
|
||||
|
||||
СтрокаДаты = Неопределено;
|
||||
|
||||
КоличествоБлоковДаты = 3;
|
||||
ДлинаГода = 4;
|
||||
|
||||
Для Каждого Разделитель Из МассивРазделителей Цикл
|
||||
|
||||
Если ЗначениеЗаполнено(СтрокаДаты) Тогда
|
||||
@ -91,14 +95,17 @@
|
||||
КонецЕсли;
|
||||
|
||||
МассивЧастейДат = СтрРазделить(Значение, Разделитель);
|
||||
Если МассивЧастейДат.Количество() = 3 Тогда
|
||||
Если СтрДлина(МассивЧастейДат[2]) = 4 Тогда
|
||||
|
||||
Если МассивЧастейДат.Количество() = КоличествоБлоковДаты Тогда
|
||||
|
||||
Если СтрДлина(МассивЧастейДат[2]) = ДлинаГода Тогда
|
||||
СтрокаДаты = МассивЧастейДат[2] + МассивЧастейДат[1] + МассивЧастейДат[0];
|
||||
ИначеЕсли СтрДлина(МассивЧастейДат[0]) = 4 Тогда
|
||||
ИначеЕсли СтрДлина(МассивЧастейДат[0]) = ДлинаГода Тогда
|
||||
СтрокаДаты = МассивЧастейДат[0] + МассивЧастейДат[1] + МассивЧастейДат[2];
|
||||
Иначе
|
||||
СтрокаДаты = "20" + МассивЧастейДат[2] + МассивЧастейДат[1] + МассивЧастейДат[0];
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
@ -1,57 +0,0 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
Функция ВыборкаИзТабличногоДокумента(ТабличныйДокумент) Экспорт
|
||||
|
||||
ВсегоСтрок = ТабличныйДокумент.ВысотаТаблицы;
|
||||
ВсегоКолонок = ТабличныйДокумент.ШиринаТаблицы;
|
||||
|
||||
Область = ТабличныйДокумент.Область(1,1,ВсегоСтрок,ВсегоКолонок);
|
||||
|
||||
ИсточникДанных = Новый ОписаниеИсточникаДанных(Область);
|
||||
ПостроительОтчета = Новый ПостроительОтчета;
|
||||
ПостроительОтчета.ИсточникДанных = ИсточникДанных;
|
||||
ПостроительОтчета.Выполнить();
|
||||
|
||||
Возврат ПостроительОтчета.Результат.Выбрать();
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ЕстьЗначенияВСтроке(ТабличныйДокумент, НомерСтроки, СведенияКолонок)
|
||||
|
||||
ЕстьЗаполненныеЗначения = Ложь;
|
||||
|
||||
Для Каждого Сведения Из СведенияКолонок Цикл
|
||||
Если ЕстьЗаполненныеЗначения Тогда
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
НомерКолонки = Сведения.НомерКолонки;
|
||||
ЕстьЗаполненныеЗначения = ЗначениеЗаполнено(ТабличныйДокумент.Область(НомерСтроки, НомерКолонки).Текст);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ЕстьЗаполненныеЗначения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="3c0bb52f-6f25-4bf8-b619-ae076be16a58">
|
||||
<name>ЮТПреобразованияСервер</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Преобразования сервер</value>
|
||||
</synonym>
|
||||
<server>true</server>
|
||||
</mdclass:CommonModule>
|
@ -32,7 +32,7 @@
|
||||
ПодготовитьПараметрыЗаполненияТаблицы(КэшЗначений, ЗаменяемыеЗначения, ПараметрыЗаполнения, Колонки);
|
||||
ПараметрыСоздания = ПараметрыЗаполнения.СозданиеОбъектовМетаданных;
|
||||
|
||||
Выборка = ЮТПреобразованияСервер.ВыборкаИзТабличногоДокумента(ТабличныйДокумент);
|
||||
Выборка = ВыборкаИзТабличногоДокумента(ТабличныйДокумент);
|
||||
|
||||
Пока Выборка.Следующий() Цикл
|
||||
|
||||
@ -46,7 +46,7 @@
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Значение = ЗачениеЯчейки(Выборка, ЗначениеПредставления, ОписаниеКолонки, ЗаменяемыеЗначения, КэшЗначений, ПараметрыСоздания);
|
||||
Значение = ЗначениеЯчейки(Выборка, ЗначениеПредставления, ОписаниеКолонки, ЗаменяемыеЗначения, КэшЗначений, ПараметрыСоздания);
|
||||
Строка[ОписаниеКолонки.Имя] = Значение;
|
||||
|
||||
КонецЦикла;
|
||||
@ -61,6 +61,22 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ВыборкаИзТабличногоДокумента(ТабличныйДокумент)
|
||||
|
||||
ВсегоСтрок = ТабличныйДокумент.ВысотаТаблицы;
|
||||
ВсегоКолонок = ТабличныйДокумент.ШиринаТаблицы;
|
||||
|
||||
Область = ТабличныйДокумент.Область(1, 1, ВсегоСтрок, ВсегоКолонок);
|
||||
|
||||
ИсточникДанных = Новый ОписаниеИсточникаДанных(Область);
|
||||
ПостроительОтчета = Новый ПостроительОтчета;
|
||||
ПостроительОтчета.ИсточникДанных = ИсточникДанных;
|
||||
ПостроительОтчета.Выполнить();
|
||||
|
||||
Возврат ПостроительОтчета.Результат.Выбрать();
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ТабличныйДокумент(Знач ТабличныйДокумент)
|
||||
|
||||
ТипПараметра = ТипЗнч(ТабличныйДокумент);
|
||||
@ -85,30 +101,24 @@
|
||||
Для Инд = 1 По ТабличныйДокумент.ШиринаТаблицы Цикл
|
||||
|
||||
ИмяКолонки = ТабличныйДокумент.Область(1, Инд).Текст;
|
||||
|
||||
Если ПустаяСтрока(ИмяКолонки) Тогда
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
ЧастиИмени = СтрРазделить(ИмяКолонки, ".");
|
||||
|
||||
Если ОписанияТипов[ЧастиИмени[0]] = Неопределено Тогда
|
||||
Если ПустаяСтрока(ИмяКолонки) ИЛИ ОписанияТипов[ЧастиИмени[0]] = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ЭтоВложенныйРеквизит = ЧастиИмени.Количество() = 2;
|
||||
ЭтоОсновнойРеквизит = ЧастиИмени.Количество() = 1;
|
||||
|
||||
ОписаниеКолонки = Новый Структура;
|
||||
ОписаниеКолонки.Вставить("Индекс", Инд - 1);
|
||||
ОписаниеКолонки = ОписаниеКолонки(Инд - 1);
|
||||
|
||||
Если ЭтоОсновнойРеквизит Тогда
|
||||
ОписаниеКолонки.Вставить("Имя", ИмяКолонки);
|
||||
ОписаниеКолонки.Имя = ИмяКолонки;
|
||||
Иначе
|
||||
ОписаниеКолонки.Вставить("Имя", ЧастиИмени[1]);
|
||||
ОписаниеКолонки.Имя = ЧастиИмени[1];
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеКолонки.Вставить("ОписаниеТипа", ОписанияТипов[ИмяКолонки]);
|
||||
ОписаниеКолонки.ОписаниеТипа = ОписанияТипов[ИмяКолонки];
|
||||
|
||||
Если ОписаниеКолонки.ОписаниеТипа = Неопределено И ЭтоВложенныйРеквизит Тогда
|
||||
|
||||
@ -123,25 +133,11 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеКолонки.Вставить("ТипЗначения", ОписаниеКолонки.ОписаниеТипа.Типы()[0]);
|
||||
ОписаниеКолонки.Вставить("Ссылочный", ЮТТипыДанныхСлужебный.ЭтоСсылочныйТип(ОписаниеКолонки.ТипЗначения));
|
||||
ОписаниеКолонки.Вставить("ДополнительныеРеквизиты", Новый Массив());
|
||||
ОписаниеКолонки.Вставить("Составное", Ложь);
|
||||
ОписаниеКолонки.Вставить("Менеджер", Неопределено);
|
||||
ОписаниеКолонки.Вставить("ОписаниеОбъектаМетаданных", Неопределено);
|
||||
ОписаниеКолонки.Вставить("ЭтоПеречисление", Ложь);
|
||||
ОписаниеКолонки.Вставить("ЭтоЧисло", ОписаниеКолонки.ТипЗначения = Тип("Число"));
|
||||
ОписаниеКолонки.Вставить("ЭтоДата", ОписаниеКолонки.ТипЗначения = Тип("Дата"));
|
||||
|
||||
Если ОписаниеКолонки.Ссылочный Тогда
|
||||
ОписаниеКолонки.ОписаниеОбъектаМетаданных = ЮТМетаданные.ОписаниеОбъектаМетаданных(ОписаниеКолонки.ТипЗначения);
|
||||
ОписаниеКолонки.ЭтоПеречисление = СтрСравнить(ОписаниеКолонки.ОписаниеОбъектаМетаданных.ОписаниеТипа.Имя, "Перечисление") = 0; // TODO
|
||||
ОписаниеКолонки.Менеджер = ЮТОбщий.Менеджер(ОписаниеКолонки.ТипЗначения);
|
||||
КонецЕсли;
|
||||
ДозаполнитьОписаниеКолонки(ОписаниеКолонки);
|
||||
|
||||
ВсеКолонки.Добавить(ОписаниеКолонки);
|
||||
|
||||
Если ЧастиИмени.Количество() = 1 Тогда
|
||||
Если ЭтоОсновнойРеквизит Тогда
|
||||
|
||||
Колонки.Добавить(ОписаниеКолонки);
|
||||
ОсновныеКолонки.Вставить(ИмяКолонки, ОписаниеКолонки);
|
||||
@ -167,7 +163,45 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЗачениеЯчейки(СтрокаДанных, ЗначениеПредставления, ОписаниеКолонки, ЗаменяемыеЗначения, КэшЗначений, ПараметрыСоздания)
|
||||
Функция ОписаниеКолонки(Индекс)
|
||||
|
||||
ОписаниеКолонки = Новый Структура;
|
||||
ОписаниеКолонки.Вставить("Индекс", Индекс);
|
||||
ОписаниеКолонки.Вставить("Имя", "");
|
||||
|
||||
ОписаниеКолонки.Вставить("ОписаниеТипа", Неопределено);
|
||||
ОписаниеКолонки.Вставить("ТипЗначения", Неопределено);
|
||||
ОписаниеКолонки.Вставить("Ссылочный", Ложь);
|
||||
ОписаниеКолонки.Вставить("ДополнительныеРеквизиты", Новый Массив());
|
||||
ОписаниеКолонки.Вставить("Составное", Ложь);
|
||||
ОписаниеКолонки.Вставить("Менеджер", Неопределено);
|
||||
ОписаниеКолонки.Вставить("ОписаниеОбъектаМетаданных", Неопределено);
|
||||
ОписаниеКолонки.Вставить("ЭтоПеречисление", Ложь);
|
||||
ОписаниеКолонки.Вставить("ЭтоЧисло", Ложь);
|
||||
ОписаниеКолонки.Вставить("ЭтоДата", Ложь);
|
||||
|
||||
Возврат ОписаниеКолонки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ДозаполнитьОписаниеКолонки(ОписаниеКолонки)
|
||||
|
||||
ТипЗначения = ОписаниеКолонки.ОписаниеТипа.Типы()[0];
|
||||
ОписаниеКолонки.ТипЗначения = ТипЗначения;
|
||||
|
||||
ОписаниеКолонки.Ссылочный = ЮТТипыДанныхСлужебный.ЭтоСсылочныйТип(ТипЗначения);
|
||||
ОписаниеКолонки.ЭтоЧисло = ТипЗначения = Тип("Число");
|
||||
ОписаниеКолонки.ЭтоДата = ТипЗначения = Тип("Дата");
|
||||
|
||||
Если ОписаниеКолонки.Ссылочный Тогда
|
||||
ОписаниеКолонки.ОписаниеОбъектаМетаданных = ЮТМетаданные.ОписаниеОбъектаМетаданных(ТипЗначения);
|
||||
ОписаниеКолонки.ЭтоПеречисление = ЮТМетаданные.ЭтоПеречисление(ОписаниеКолонки.ОписаниеОбъектаМетаданных);
|
||||
ОписаниеКолонки.Менеджер = ЮТОбщий.Менеджер(ОписаниеКолонки.ОписаниеОбъектаМетаданных);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ЗначениеЯчейки(СтрокаДанных, ЗначениеПредставления, ОписаниеКолонки, ЗаменяемыеЗначения, КэшЗначений, ПараметрыСоздания)
|
||||
|
||||
Значение = ЗаменяемыеЗначения[ЗначениеПредставления];
|
||||
|
||||
@ -235,12 +269,7 @@
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Значение = ЗачениеЯчейки(СтрокаТаблицы,
|
||||
ПредставлениеЗначения,
|
||||
ОписаниеВложеннойКолонки,
|
||||
ЗаменяемыеЗначения,
|
||||
КэшЗначений,
|
||||
Параметры);
|
||||
Значение = ЗначениеЯчейки(СтрокаТаблицы, ПредставлениеЗначения, ОписаниеВложеннойКолонки, ЗаменяемыеЗначения, КэшЗначений, Параметры);
|
||||
ЗначенияРеквизитов.Вставить(ОписаниеВложеннойКолонки.Имя, Значение);
|
||||
|
||||
КонецЦикла;
|
||||
|
@ -193,7 +193,7 @@
|
||||
Для Инд = 0 По Таблица.Количество() - 1 Цикл
|
||||
Запись = Новый Структура(Реквизиты);
|
||||
ЗаполнитьЗначенияСвойств(Запись, Таблица[Инд]);
|
||||
Результат[Инд] = Запись
|
||||
Результат[Инд] = Запись;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
@ -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>
|
||||
|
@ -89,7 +89,7 @@
|
||||
Данные.Добавить(Новый(СтрШаблон("%1Объект.%2", Вид, Справочник.Имя)));
|
||||
Данные.Добавить(Тип(СтрШаблон("%1Объект.%2", Вид, Справочник.Имя)));
|
||||
Данные.Добавить(Тип(СтрШаблон("%1Менеджер.%2", Вид, Справочник.Имя)));
|
||||
КонецЕсли
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user