Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

selectingdirectory #34

Merged
merged 7 commits into from
Apr 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 0 additions & 48 deletions src/Catalogs/__ПользовательскиеФункции.xml
Original file line number Diff line number Diff line change
Expand Up @@ -533,54 +533,6 @@
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="396a05ae-111d-4bd7-9eba-6c2daf5ece99">
<Properties>
<Name>КаталогИсходногоКодаКонфигурации</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Каталог исходного кода конфигурации</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Configuration source code directory</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:type="xs:string"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<TabularSection uuid="0a574910-1e7e-4640-9a1d-3eeb0cf89cde">
<InternalInfo>
<xr:GeneratedType name="CatalogTabularSection.__ПользовательскиеФункции.ПараметрыФункции" category="TabularSection">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
<Event name="BeforeWrite">ПередЗаписью</Event>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
<Event name="BeforeWriteAtServer">ПередЗаписьюНаСервере</Event>
<Event name="OnWriteAtServer">ПриЗаписиНаСервере</Event>
</Events>
<ChildItems>
<InputField name="Родитель" id="5">
Expand Down Expand Up @@ -71,6 +72,16 @@
<Event name="OnChange">КонтекстПриИзменении</Event>
</Events>
</InputField>
<InputField name="КаталогИсходногоКодаКонфигурации" id="145">
<DataPath>КаталогИсходногоКодаКонфигурации</DataPath>
<ChoiceButton>true</ChoiceButton>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="КаталогИсходногоКодаКонфигурацииКонтекстноеМеню" id="146"/>
<ExtendedTooltip name="КаталогИсходногоКодаКонфигурацииРасширеннаяПодсказка" id="147"/>
<Events>
<Event name="StartChoice">КаталогИсходногоКодаКонфигурацииНачалоВыбора</Event>
</Events>
</InputField>
<UsualGroup name="ГруппаПараметры" id="143">
<Title>
<v8:item>
Expand Down Expand Up @@ -866,6 +877,22 @@
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="КаталогИсходногоКодаКонфигурации" id="20">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Каталог исходного кода конфигурации</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<SavedData>true</SavedData>
</Attribute>
</Attributes>
<Commands>
<Command name="ВвестиУсловноеВыражение" id="1">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,12 @@
КонецЕсли;
КонецЕсли;

// Получение каталога исходного кода конфигурации
Каталог = ПолучитьКаталогИсходногоКодаКонфигурации();
Если ЗначениеЗаполнено(Каталог) Тогда
КаталогИсходногоКодаКонфигурации = Каталог;
КонецЕсли;

ПолучитьНазваниеПодпрограммыСПараметрамиСервер();

УправлениеЭлементамиФормы();
Expand Down Expand Up @@ -129,6 +135,22 @@

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

&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)

Если Отказ Тогда
Возврат;
КонецЕсли;

КаталогИсходногоКода = ПолучитьКаталогИсходногоКодаКонфигурации();

Если ЗначениеЗаполнено(КаталогИсходногоКодаКонфигурации)
И КаталогИсходногоКода <> КаталогИсходногоКодаКонфигурации Тогда
СохранитьКаталогИсходногоКодаКонфигурации(КаталогИсходногоКодаКонфигурации);
КонецЕсли;

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

#КонецОбласти

#Область ОбработчикиСобытийЭлементовШапкиФормы
Expand All @@ -147,6 +169,22 @@

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

&НаКлиенте
Асинх Процедура КаталогИсходногоКодаКонфигурацииНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)

Check warning on line 173 in src/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl

View check run for this annotation

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

src/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl#L173

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

Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
Диалог.МножественныйВыбор = Ложь;

Результат = Ждать Диалог.ВыбратьАсинх();
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;

Модифицированность = Истина;
КаталогИсходногоКодаКонфигурации = Результат[0];

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

#КонецОбласти

#Область ОбработчикиСобытийЭлементовТаблицыФормыПараметрыФункции
Expand Down Expand Up @@ -555,6 +593,37 @@

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

&НаСервере
Функция ПолучитьКаталогИсходногоКодаКонфигурации()

// ++ Обход ошибки отстутствия модуля БСП, не переносить
ОбщегоНазначения = __ВспомогательныйМодульНеПереносить;
// -- Обход ошибки отстутствия модуля БСП, не переносить

Результат = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить(КлючОбъекта(),
"__ПользовательскиеФункции_КаталогИсхКода", "");

Возврат Результат;

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

&НаСервере
Процедура СохранитьКаталогИсходногоКодаКонфигурации(Каталог)

// ++ Обход ошибки отстутствия модуля БСП, не переносить
ОбщегоНазначения = __ВспомогательныйМодульНеПереносить;
// -- Обход ошибки отстутствия модуля БСП, не переносить

ОбщегоНазначения.ХранилищеОбщихНастроекСохранить(КлючОбъекта(),
"__ПользовательскиеФункции_КаталогИсхКода", Каталог);

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

&НаСервере
Функция КлючОбъекта()
Возврат "Справочник.__ПользовательскиеФункции.Форма.ФормаЭлемента";
КонецФункции

#Область ОбработчикиСобытийПоляРедактора

&НаКлиенте
Expand Down Expand Up @@ -935,7 +1004,7 @@
&НаКлиенте
Функция ПолучитьКаталогИсходногоКода()

КаталогИсходногоКода = Объект.КаталогИсходногоКодаКонфигурации;
КаталогИсходногоКода = КаталогИсходногоКодаКонфигурации;
Если ЗначениеЗаполнено(КаталогИсходногоКода) Тогда
КаталогИсходногоКода = НормализоватьПуть(КаталогИсходногоКода);
КонецЕсли;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,4 +73,87 @@

Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";

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

Функция ХранилищеОбщихНастроекЗагрузить(КлючОбъекта, КлючНастроек, ЗначениеПоУмолчанию = Неопределено,

Check notice on line 78 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#L78

Переместите код в область
ОписаниеНастроек = Неопределено, ИмяПользователя = Неопределено) Экспорт

Возврат ХранилищеЗагрузить(ХранилищеОбщихНастроек,
КлючОбъекта,
КлючНастроек,
ЗначениеПоУмолчанию,
ОписаниеНастроек,
ИмяПользователя);

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

Процедура ХранилищеОбщихНастроекСохранить(КлючОбъекта, КлючНастроек, Настройки,

Check notice on line 90 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#L90

Переместите код в область
ОписаниеНастроек = Неопределено,
ИмяПользователя = Неопределено,
ОбновитьПовторноИспользуемыеЗначения = Ложь) Экспорт

ХранилищеСохранить(ХранилищеОбщихНастроек,
КлючОбъекта,
КлючНастроек,
Настройки,
ОписаниеНастроек,
ИмяПользователя,
ОбновитьПовторноИспользуемыеЗначения);

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

Функция СократитьСтрокуКонтрольнойСуммой(Строка, МаксимальнаяДлина) Экспорт

Check notice on line 105 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#L105

Переместите код в область

МинимальнаяДлина = 32;
Результат = Строка;
Если СтрДлина(Строка) > МаксимальнаяДлина Тогда
Результат = Лев(Строка, МаксимальнаяДлина - МинимальнаяДлина);
ХешированиеДанных = Новый ХешированиеДанных(ХешФункция.MD5);
ХешированиеДанных.Добавить(Сред(Строка, МаксимальнаяДлина - МинимальнаяДлина + 1));
Результат = Результат + СтрЗаменить(ХешированиеДанных.ХешСумма, " ", "");
КонецЕсли;
Возврат Результат;

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

#Область ХранилищеНастроек

Check notice on line 119 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#L119

Нужно удалить нестандартный раздел "ХранилищеНастроек"

Процедура ХранилищеСохранить(МенеджерХранилища, КлючОбъекта, КлючНастроек, Настройки,
ОписаниеНастроек, ИмяПользователя, ОбновитьПовторноИспользуемыеЗначения)

Если Не ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда
Возврат;
КонецЕсли;

МенеджерХранилища.Сохранить(КлючОбъекта, КлючНастроек(КлючНастроек), Настройки,
ОписаниеНастроек, ИмяПользователя);

Если ОбновитьПовторноИспользуемыеЗначения Тогда
ОбновитьПовторноИспользуемыеЗначения();
КонецЕсли;

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

Функция ХранилищеЗагрузить(МенеджерХранилища, КлючОбъекта, КлючНастроек, ЗначениеПоУмолчанию,
ОписаниеНастроек, ИмяПользователя)

Результат = Неопределено;

Если ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда
Результат = МенеджерХранилища.Загрузить(КлючОбъекта, КлючНастроек(КлючНастроек),
ОписаниеНастроек, ИмяПользователя);
КонецЕсли;

Если Результат = Неопределено Тогда
Результат = ЗначениеПоУмолчанию;
КонецЕсли;

Возврат Результат;

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

Функция КлючНастроек(Знач Строка)
Возврат СократитьСтрокуКонтрольнойСуммой(Строка, 128);
КонецФункции

#КонецОбласти
Loading