Skip to content

Commit

Permalink
Перенос и адаптация подсистемы https://github.com/Bayselonarrend/unil…
Browse files Browse the repository at this point in the history
  • Loading branch information
Ivan Smirnov committed Apr 9, 2024
1 parent 996effa commit 2a8daf1
Show file tree
Hide file tree
Showing 6 changed files with 418 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16">
<CommonModule uuid="69beac3a-36fd-4246-8d7d-dfaeca98cbb2">
<Properties>
<Name>__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Загрузка файла через табличный документ вызов сервера</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Global>false</Global>
<ClientManagedApplication>false</ClientManagedApplication>
<Server>true</Server>
<ExternalConnection>false</ExternalConnection>
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
<ServerCall>true</ServerCall>
<Privileged>false</Privileged>
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
Original file line number Diff line number Diff line change
@@ -0,0 +1,266 @@
//MIT License

Check notice on line 1 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L1

Между символами комментария '//' и самим текстом комментария должен быть пробел.

//Copyright (c) 2024 Anton Tsitavets

Check notice on line 3 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L3

Между символами комментария '//' и самим текстом комментария должен быть пробел.

//Permission is hereby granted, free of charge, to any person obtaining a copy

Check notice on line 5 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L5

Между символами комментария '//' и самим текстом комментария должен быть пробел.
//of this software and associated documentation files (the "Software"), to deal

Check notice on line 6 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L6

Между символами комментария '//' и самим текстом комментария должен быть пробел.
//in the Software without restriction, including without limitation the rights

Check notice on line 7 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L7

Между символами комментария '//' и самим текстом комментария должен быть пробел.
//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell

Check notice on line 8 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L8

Между символами комментария '//' и самим текстом комментария должен быть пробел.
//copies of the Software, and to permit persons to whom the Software is

Check notice on line 9 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L9

Между символами комментария '//' и самим текстом комментария должен быть пробел.
//furnished to do so, subject to the following conditions:

Check notice on line 10 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L10

Между символами комментария '//' и самим текстом комментария должен быть пробел.

//The above copyright notice and this permission notice shall be included in all

Check notice on line 12 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L12

Между символами комментария '//' и самим текстом комментария должен быть пробел.
//copies or substantial portions of the Software.

Check notice on line 13 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L13

Между символами комментария '//' и самим текстом комментария должен быть пробел.

//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

Check notice on line 15 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L15

Между символами комментария '//' и самим текстом комментария должен быть пробел.
//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

Check notice on line 16 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L16

Между символами комментария '//' и самим текстом комментария должен быть пробел.
//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE

Check notice on line 17 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L17

Между символами комментария '//' и самим текстом комментария должен быть пробел.
//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER

Check notice on line 18 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L18

Между символами комментария '//' и самим текстом комментария должен быть пробел.
//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,

Check notice on line 19 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L19

Между символами комментария '//' и самим текстом комментария должен быть пробел.
//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE

Check notice on line 20 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L20

Между символами комментария '//' и самим текстом комментария должен быть пробел.
//SOFTWARE.

Check notice on line 21 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L21

Между символами комментария '//' и самим текстом комментария должен быть пробел.

#Область ПрограммныйИнтерфейс

// Процедура - Формирование таблицы
//
// Параметры:
// Адрес - Строка - Адрес файла во временном хранилище
// ИмяФайла - Строка - Начальное полное имя файла
// Параметры - Структура - Параметры загрузки
//
Процедура ФормированиеТаблицы(Адрес, ИмяФайла, Параметры) Экспорт

Check failure on line 32 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L32

Уменьшите когнитивную сложность "ФормированиеТаблицы" с 56 до 15

Check warning on line 32 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L32

Длина метода "ФормированиеТаблицы" равна 206, что больше установленного лимита в 200 строк

Check failure on line 32 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L32

Уменьшите цикломатическую сложность "ФормированиеТаблицы" с 31 до 20

Макет = Параметры.Макет;
АдресХран = Параметры.АдресХр;

Check notice on line 35 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L35

Возможная опечатка в "Хран"
НазваниеЛиста = Параметры.НазваниеЛиста;
НомерСтроки = Параметры.НомерПервойСтроки;
Данные = ПолучитьИзВременногоХранилища(Адрес);
ФайлДанных = КаталогВременныхФайлов()

Check warning on line 39 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L39

Не рекомендуемый вызов функции КаталогВременныхФайлов()
+ СтрЗаменить(Формат(ТекущаяДата(), "ДЛФ=T"), ":", "")

Check warning on line 40 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L40

Используйте "ТекущаяДатаСеанса" вместо устаревшего "ТекущаяДата"
+ ИмяФайла;

Данные.Записать(ФайлДанных);
ТабДок = Новый ТабличныйДокумент;

ТабДок.Прочитать(ФайлДанных,СпособЧтенияЗначенийТабличногоДокумента.Текст);

Check notice on line 46 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L46

Справа от ',' не хватает пробела
Лист = ?(ЗначениеЗаполнено(НазваниеЛиста), Табдок.Области.Найти(СтрЗаменить(НазваниеЛиста, " ", "_")), Неопределено);

ПервыйЛист = ТабДок.Области[0].Имя;
Для Каждого ЛистДок Из ТабДок.Области Цикл
Если ЛистДок.Верх = 1 Тогда
ПервыйЛист = ЛистДок.Имя;
КонецЕсли;
КонецЦикла;

ТабДок = ТабДок.ПолучитьОбласть(?(Лист = Неопределено, ПервыйЛист, СтрЗаменить(НазваниеЛиста, " ", "_")));

Если Не НомерСтроки = 1 Тогда
ТабДок.УдалитьОбласть(ТабДок.Область("R1:R" + Строка(НомерСтроки - 1)), ТипСмещенияТабличногоДокумента.ПоВертикали);
КонецЕсли;

ТабДок.ВставитьОбласть(
ТабДок.Область("R1")
,ТабДок.Область("R1")

Check notice on line 64 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L64

Справа от ',' не хватает пробела

Check notice on line 64 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L64

Проверьте правильность переноса операндов, операторов и параметров
,ТипСмещенияТабличногоДокумента.ПоГоризонтали);

Check notice on line 65 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L65

Справа от ',' не хватает пробела

Check notice on line 65 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L65

Проверьте правильность переноса операндов, операторов и параметров

Табдок.Область("R1").Очистить(Истина, Истина, Истина);

Счетчик = 0;
Для каждого Колонка Из Макет Цикл
Счетчик = Счетчик + 1;
Если Не ЗначениеЗаполнено(Колонка.Значение) Тогда
Продолжить;
КонецЕсли;
ТабДок.Область("R1" + "C" + Строка(Счетчик)).Текст = Колонка.Ключ;
КонецЦикла;

ПЗ = Новый ПостроительЗапроса;
ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДок.Область());
ПЗ.ДобавлениеПредставлений = ТипДобавленияПредставлений.Добавлять;
ПЗ.ЗаполнитьНастройки();
ПЗ.Выполнить();
ТЗ = ПЗ.Результат.Выгрузить();

ТЗ.Колонки.Добавить("ПорядковыйНомер", Новый ОписаниеТипов("Число"));

Check warning on line 85 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L85

Необходимо избавиться от многократного использования строкового литерала "Число"

Порядок = 1;

Check warning on line 87 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L87

Удалите неиспользуемую переменную Порядок
ПоследняяСтатья = 0;

Check warning on line 88 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L88

Удалите неиспользуемую переменную ПоследняяСтатья

КоллекцияОтборов = Новый ТаблицаЗначений;
КоллекцияОтборов.Колонки.Добавить("ТипДанных");
КоллекцияОтборов.Колонки.Добавить("НомерСтрокиДочерней");
КоллекцияОтборов.Колонки.Добавить("МассивДанных");
КоллекцияОтборов.Колонки.Добавить("НазваниеКолонки");

ВременнаяТЗ = Новый ТаблицаЗначений;

Check warning on line 96 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L96

Удалите неиспользуемую переменную ВременнаяТЗ
Н = ТЗ.Количество() - 1;

Пока НЕ Н < 0 Цикл

Счетчик = 0;
ТЗ[Н].ПорядковыйНомер = Н;

Для каждого Колонка Из ТЗ.Колонки Цикл
Если Не ЗначениеЗаполнено(ТЗ[Н][Колонка.Имя]) Тогда
Счетчик = Счетчик + 1;
КонецЕсли;
КонецЦикла;

Если Счетчик = ТЗ.Колонки.Количество() Тогда
ТЗ.Удалить(Н);
КонецЕсли;

Н = Н - 1;

КонецЦикла;

ВставкаВТ = "";
ВставкаБазовые = "";
ВставкаСсылочные = "";
ВставкаИсточники = "";
ХранилищеИсточников = Новый Соответствие;
МассивИменСсылочных = Новый Массив;
СоответствиеПеречислений = Новый Соответствие;

Для Каждого Колонка Из Макет Цикл

Если Не ЗначениеЗаполнено(Колонка.Значение) Тогда
Продолжить;
КонецЕсли;

ВставкаВТ = ВставкаВТ + "ВходнаяТаблица." + Колонка.Ключ + " КАК " + Колонка.Ключ + "," + Символы.ПС;

Check warning on line 132 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L132

Необходимо избавиться от многократного использования строкового литерала "ВходнаяТаблица."

Check warning on line 132 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L132

Необходимо избавиться от многократного использования строкового литерала " КАК "

Если СтрНайти(Колонка.Значение, "Ссылка") <> 0 И СтрНайти(Колонка.Значение, "Перечисление") = 0 Тогда

Check warning on line 134 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L134

Необходимо избавиться от многократного использования строкового литерала "Ссылка"

ТЗ.Колонки.Добавить(Колонка.Ключ + "КодЧислом", Новый ОписаниеТипов("Число",,,Новый КвалификаторыЧисла(15)));

Check notice on line 136 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L136

Справа от ',' не хватает пробела

Check notice on line 136 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L136

Справа от ',' не хватает пробела

Check notice on line 136 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L136

Справа от ',' не хватает пробела
ВставкаВТ = ВставкаВТ + "ВходнаяТаблица." + Колонка.Ключ + "КодЧислом КАК " + Колонка.Ключ + "КодЧислом," + Символы.ПС;

Check warning on line 137 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L137

Длина строки 122 превышает максимально допустимую 120
МассивИменСсылочных.Добавить(Колонка.Ключ);

РазбивкаТипа = СтрРазделить(СтрЗаменить(Колонка.Значение, "Ссылка", ""), ".", Ложь);

ВхождениеИсточника = ХранилищеИсточников.Получить(РазбивкаТипа[1]);
ХранилищеИсточников.Вставить(РазбивкаТипа[1], ?(ВхождениеИсточника = Неопределено, 1, ВхождениеИсточника + 1));
Иттерация = ?(ХранилищеИсточников.Получить(РазбивкаТипа[1]) = 0, "", Строка(ХранилищеИсточников.Получить(РазбивкаТипа[1])));

Check notice on line 144 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L144

Возможная опечатка в "Иттерация"

Check warning on line 144 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L144

Длина строки 127 превышает максимально допустимую 120

Если РазбивкаТипа[0] = "Документ" Тогда
РеквизитСравнения = "Номер";
Иначе
РеквизитСравнения = "Наименование";
КонецЕсли;

ВставкаСсылочные = ВставкаСсылочные + РазбивкаТипа[1] + Иттерация + ".Ссылка КАК " + Колонка.Ключ + "," + Символы.ПС;

Если Не СтрНайти(ВставкаИсточники, " " + РазбивкаТипа[1] + " ") > 0 Тогда
ВставкаИсточники = ВставкаИсточники + "
| ЛЕВОЕ СОЕДИНЕНИЕ " + СтрЗаменить(Колонка.Значение, "Ссылка", "") + " КАК " + РазбивкаТипа[1] + Иттерация + "
| ПО " + "ВходнаяТаблица." + Колонка.Ключ + " <> """" И " + "ВходнаяТаблица." + Колонка.Ключ + " <> 0" + "
| И (ВходнаяТаблица." + Колонка.Ключ + " = " + РазбивкаТипа[1] + Иттерация + "." + РеквизитСравнения + Символы.ПС;

Check warning on line 158 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L158

Необходимо избавиться от многократного использования строкового литерала " = "

Check warning on line 158 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L158

Длина строки 121 превышает максимально допустимую 120

Если СтрНайти(РазбивкаТипа[1], "Номенклатура") > 0 Тогда
ВставкаИсточники = ВставкаИсточники + " ИЛИ "

Check warning on line 161 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L161

Необходимо избавиться от многократного использования строкового литерала " ИЛИ "
+ "ВходнаяТаблица." + Колонка.Ключ + " = " + РазбивкаТипа[1] + Иттерация + "." + "Артикул" + Символы.ПС;
ВставкаИсточники = ВставкаИсточники + " ИЛИ "
+ "ВходнаяТаблица." + Колонка.Ключ + "КодЧислом = " + РазбивкаТипа[1] + Иттерация + "." + "Код" + Символы.ПС;

Check warning on line 164 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L164

Необходимо избавиться от многократного использования строкового литерала "Код"
ВставкаИсточники = ВставкаИсточники + " ИЛИ "
+ "ВходнаяТаблица." + Колонка.Ключ + " = " + РазбивкаТипа[1] + Иттерация + "." + "Код" + Символы.ПС

Check warning on line 166 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L166

Пропущена точка с запятой в конце выражения
ИначеЕсли СтрНайти(Колонка.Значение, "Справочник") > 0
И Не СтрНайти(Колонка.Значение, "Организации") > 0 Тогда
ВставкаИсточники = ВставкаИсточники + " ИЛИ "
+ "ВходнаяТаблица." + Колонка.Ключ + "КодЧислом = " + РазбивкаТипа[1] + Иттерация + "." + "Код" + Символы.ПС;
ВставкаИсточники = ВставкаИсточники + " ИЛИ "
+ "ВходнаяТаблица." + Колонка.Ключ + " = " + РазбивкаТипа[1] + Иттерация + "." + "Код" + Символы.ПС

Check warning on line 172 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L172

Пропущена точка с запятой в конце выражения
КонецЕсли;

Check warning on line 173 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L173

Синтаксическая конструкция вида "Если...Тогда...ИначеЕсли..." должна содержать ветвь "Иначе".

ВставкаБазовые = ВставкаБазовые + "ВходнаяТаблица." + Колонка.Ключ + " КАК " + Колонка.Ключ + "Служебный," + Символы.ПС;

Check warning on line 175 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L175

Длина строки 125 превышает максимально допустимую 120
ВставкаИсточники = ВставкаИсточники + ")";
КонецЕсли;

ИначеЕсли СтрНайти(Колонка.Значение, "Перечисление") <> 0 Тогда
КолонкаПеречисления = ТЗ.Колонки.Добавить(Колонка.Ключ + "НеОбрабатывать", Новый ОписаниеТипов(Колонка.Значение));

Check warning on line 180 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L180

Необходимо избавиться от многократного использования строкового литерала "НеОбрабатывать"
СоответствиеПеречислений.Вставить(Колонка.Ключ, Колонка.Значение);
ВставкаВТ = СтрЗаменить(ВставкаВТ, "." + Колонка.Ключ + " КАК", "." + КолонкаПеречисления.Имя + " КАК");
ВставкаБазовые = ВставкаБазовые + "ВходнаяТаблица." + Колонка.Ключ + " КАК " + Колонка.Ключ + "," + Символы.ПС;
ИначеЕсли Не СтрНайти(Колонка.Ключ, "НеОбрабатывать") > 0 Тогда
ВставкаБазовые = ВставкаБазовые + "ВходнаяТаблица." + Колонка.Ключ + " КАК " + Колонка.Ключ + "," + Символы.ПС;
КонецЕсли;

Check warning on line 186 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L186

Синтаксическая конструкция вида "Если...Тогда...ИначеЕсли..." должна содержать ветвь "Иначе".

КонецЦикла;

ВставкаВТ = ВставкаВТ + "ВходнаяТаблица.ПорядковыйНомер Как ПорядковыйНомер";
ВставкаБазовые = Лев(ВставкаБазовые, СтрДлина(ВставкаБазовые) - 2);

Check warning on line 191 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L191

Создайте константу с понятным названием, присвойте ей значение "2" и используйте эту константу вместо магического числа.
ОТЧ = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(15));

Для Каждого СтрокаТаблицы Из ТЗ Цикл
Для Каждого ИмяМассива Из МассивИменСсылочных Цикл
СтрокаТаблицы[ИмяМассива + "КодЧислом"] = ОТЧ.ПривестиЗначение(СтрокаТаблицы[ИмяМассива]);
КонецЦикла;

Для Каждого Колонка Из СоответствиеПеречислений Цикл

Для Каждого ТекЭлемент Из Метаданные.Перечисления[СтрЗаменить(Колонка.Значение, "ПеречислениеСсылка.", "")].ЗначенияПеречисления Цикл

Check warning on line 201 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L201

Длина строки 136 превышает максимально допустимую 120
Если нРег(ТекЭлемент.Синоним) = нРег(СтрокаТаблицы[Колонка.Ключ]) Тогда
СтрокаТаблицы[Колонка.Ключ + "НеОбрабатывать"] = Перечисления[СтрЗаменить(Колонка.Значение, "ПеречислениеСсылка.", "")][ТекЭлемент.Имя];

Check warning on line 203 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L203

Длина строки 141 превышает максимально допустимую 120
Прервать;
КонецЕсли;
КонецЦикла;

КонецЦикла;

КонецЦикла;

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| #ВставкаВТ

Check warning on line 215 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L215

Полю "ВставкаВТ" не назначен псевдоним или пропущено ключевое слово КАК
|ПОМЕСТИТЬ ВходнаяТаблица
|ИЗ
| &ВходнаяТаблица КАК ВходнаяТаблица
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| #ВставкаСсылочные

Check warning on line 223 in src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/CommonModules/__ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера/Ext/Module.bsl#L223

Полю "ВставкаСсылочныеВставкаБазовые" не назначен псевдоним или пропущено ключевое слово КАК
| #ВставкаБазовые
|ИЗ
| ВходнаяТаблица КАК ВходнаяТаблица
| #ВставкаИсточники
|
| УПОРЯДОЧИТЬ ПО
| ВходнаяТаблица.ПорядковыйНомер";

Запрос.Текст = СтрЗаменить(Запрос.Текст, "#ВставкаВТ", ВставкаВТ);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "#ВставкаСсылочные", ВставкаСсылочные);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "#ВставкаБазовые", ВставкаБазовые);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "#ВставкаИсточники", ВставкаИсточники);

Запрос.УстановитьПараметр("ВходнаяТаблица", ТЗ);
РезультатЗапроса = Запрос.Выполнить();

ПоместитьВоВременноеХранилище(РезультатЗапроса.Выгрузить(), АдресХран);

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

// Функция - Поместить заглушку
//
// Параметры:
// Макет - Структура - Список колонок загружаемого файла
//
// Возвращаемое значение:
// - Строка - Адрес файла во временном хранилище
//
Функция ПоместитьЗаглушку(Макет) Экспорт

Заглушка = Новый ТаблицаЗначений;

Для Каждого Колонка Из Макет Цикл
Заглушка.Колонки.Добавить(Колонка.Ключ, Новый ОписаниеТипов(Колонка.Значение));
КонецЦикла;

ИД = ПоместитьВоВременноеХранилище(Заглушка, Новый УникальныйИдентификатор);

Возврат ИД;

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

#КонецОбласти
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16">
<CommonModule uuid="7a89e22f-71d4-4875-81c4-426ef92f36ee">
<Properties>
<Name>__ЗагрузкаФайлаЧерезТабличныйДокументКлиент</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Загрузка файла через табличный документ клиент</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Global>false</Global>
<ClientManagedApplication>true</ClientManagedApplication>
<Server>false</Server>
<ExternalConnection>false</ExternalConnection>
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
<ServerCall>false</ServerCall>
<Privileged>false</Privileged>
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
Loading

0 comments on commit 2a8daf1

Please sign in to comment.