-
Notifications
You must be signed in to change notification settings - Fork 7
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
added new collections to the parameters #56
Conversation
WalkthroughThe recent updates bring a wave of changes to the 1C:Enterprise application, including attribute modifications, function additions, form enhancements, and the introduction of common modules for standard subsystem operations. Changes
Poem
Recent Review DetailsConfiguration used: CodeRabbit UI Files selected for processing (3)
Files skipped from review as they are similar to previous changes (2)
Additional Context UsedGitHub Check Runs (1)
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 12
Out of diff range and nitpick comments (4)
src/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl (4)
539-539
: Possible typo in "Функ". Verify if it should be "Функция" or another term.
2043-2043
: Add a description of the return value for the functionТипСтрока
.
2043-2043
: Add descriptions for all parameters of the method.
29-29
: Check the correctness of the line break for operands, operators, and parameters.
@@ -2211,6 +2234,16 @@ | |||
|
|||
КонецФункции | |||
|
|||
// Аналог метода БСП. | |||
// | |||
Процедура ХранилищеУдалить(МенеджерХранилища, КлючОбъекта, КлючНастроек, ИмяПользователя) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add descriptions for all parameters in the method.
- Процедура ХранилищеУдалить(МенеджерХранилища, КлючОбъекта, КлючНастроек, ИмяПользователя)
+ Процедура ХранилищеУдалить(
+ МенеджерХранилища, // Менеджер хранилища
+ КлючОбъекта, // Ключ объекта
+ КлючНастроек, // Ключ настроек
+ ИмяПользователя // Имя пользователя
+ )
Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.
Процедура ХранилищеУдалить(МенеджерХранилища, КлючОбъекта, КлючНастроек, ИмяПользователя) | |
Процедура ХранилищеУдалить( | |
МенеджерХранилища, // Менеджер хранилища | |
КлючОбъекта, // Ключ объекта | |
КлючНастроек, // Ключ настроек | |
ИмяПользователя // Имя пользователя | |
) |
|
||
КонецПроцедуры | ||
|
||
&НаСервере | ||
Функция КлючОбъекта() | ||
Возврат "Справочник.__ПользовательскиеФункции.Форма.ФормаЭлемента"; | ||
Функция КлючОбъекта(ИмяФормы = "ФормаЭлемента") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add the "Value" modifier to the ИмяФормы
parameter of the КлючОбъекта
method to ensure it is passed by value, not by reference.
- Функция КлючОбъекта(ИмяФормы = "ФормаЭлемента")
+ Функция КлючОбъекта(Знач ИмяФормы = "ФормаЭлемента")
Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.
Функция КлючОбъекта(ИмяФормы = "ФормаЭлемента") | |
Функция КлючОбъекта(Знач ИмяФормы = "ФормаЭлемента") |
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"> | ||
<ChildItems> | ||
<Button name="ФормаСохранитьРезультат" id="37"> | ||
<Type>CommandBarButton</Type> | ||
<DefaultButton>true</DefaultButton> | ||
<CommandName>Form.Command.СохранитьРезультат</CommandName> | ||
<ExtendedTooltip name="ФормаСохранитьРезультатРасширеннаяПодсказка" id="38"/> | ||
</Button> | ||
</ChildItems> | ||
</AutoCommandBar> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The command bar setup is correctly defined. However, consider adding tooltips for better user guidance.
+ <ToolTip>Save the result</ToolTip>
Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"> | |
<ChildItems> | |
<Button name="ФормаСохранитьРезультат" id="37"> | |
<Type>CommandBarButton</Type> | |
<DefaultButton>true</DefaultButton> | |
<CommandName>Form.Command.СохранитьРезультат</CommandName> | |
<ExtendedTooltip name="ФормаСохранитьРезультатРасширеннаяПодсказка" id="38"/> | |
</Button> | |
</ChildItems> | |
</AutoCommandBar> | |
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"> | |
<ChildItems> | |
<Button name="ФормаСохранитьРезультат" id="37"> | |
<Type>CommandBarButton</Type> | |
<DefaultButton>true</DefaultButton> | |
<CommandName>Form.Command.СохранитьРезультат</CommandName> | |
<ExtendedTooltip name="ФормаСохранитьРезультатРасширеннаяПодсказка" id="38"/> | |
<ToolTip>Save the result</ToolTip> | |
</Button> | |
</ChildItems> | |
</AutoCommandBar> |
// | ||
Процедура ФильтрацияСпискаТипов(СписокТипов, Контекст) Экспорт | ||
|
||
// Пример фильтрации, добавить при необходимости |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove commented code to maintain code cleanliness and readability.
- // Если НРег(Контекст) = "тип" Тогда
- // Элемент = СписокТипов.НайтиПоЗначению("Тип");
- // СписокТипов.Удалить(Элемент);
- // КонецЕсли;
Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.
// Пример фильтрации, добавить при необходимости | |
// Пример фильтрации, добавить при необходимости |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Тут кролик таки прав, комментарий пушить в релиз не хочется
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ivanmolodec, thank you for confirming! If there's anything else you need help with or any other code you'd like reviewed, feel free to let me know. Happy coding!
Процедура УдалитьНедопустимыеСимволы(Строка) Экспорт | ||
НедопустимыеСимволы = """'`/\[]{}:;|-=?*<>,.()+#№@!%^&~«»"; | ||
Строка = СтрСоединить(СтрРазделить(Строка, НедопустимыеСимволы, Истина)); | ||
КонецПроцедуры |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add a method description for УдалитьНедопустимыеСимволы
to improve code documentation and maintainability.
Would you like me to generate the method description for you or open a GitHub issue to track this task?
@@ -97,6 +97,14 @@ | |||
|
|||
КонецПроцедуры | |||
|
|||
// См. __ОбщегоНазначенияСлужебныйКлиентСервер.ЭтоЧисло. | |||
Функция ЭтоЧисло(Знач ПроверяемоеЗначение) Экспорт |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add documentation for the parameters and return value of the function ЭтоЧисло
to improve code readability and maintainability.
Процедура ХранилищеОбщихНастроекУдалить(КлючОбъекта, КлючНастроек, ИмяПользователя = Неопределено) Экспорт | ||
|
||
Модуль = ПолучитьМодуль(); | ||
Модуль.ХранилищеОбщихНастроекСохранить(КлючОбъекта, КлючНастроек, ИмяПользователя); | ||
|
||
КонецПроцедуры |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The function ХранилищеОбщихНастроекУдалить
should delete settings, not save them. Please review and correct the logic.
- Модуль.ХранилищеОбщихНастроекСохранить(КлючОбъекта, КлючНастроек, ИмяПользователя);
+ Модуль.ХранилищеОбщихНастроекУдалить(КлючОбъекта, КлючНастроек, ИмяПользователя);
Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.
Процедура ХранилищеОбщихНастроекУдалить(КлючОбъекта, КлючНастроек, ИмяПользователя = Неопределено) Экспорт | |
Модуль = ПолучитьМодуль(); | |
Модуль.ХранилищеОбщихНастроекСохранить(КлючОбъекта, КлючНастроек, ИмяПользователя); | |
КонецПроцедуры | |
Процедура ХранилищеОбщихНастроекУдалить(КлючОбъекта, КлючНастроек, ИмяПользователя = Неопределено) Экспорт | |
Модуль = ПолучитьМодуль(); | |
Модуль.ХранилищеОбщихНастроекУдалить(КлючОбъекта, КлючНастроек, ИмяПользователя); | |
КонецПроцедуры |
#Область ПереадресацияМетодов | ||
|
||
// См. __СтандартныеПодсистемыПовтИсп.ОписаниеТипаВсеСсылки. | ||
Функция ОписаниеТипаВсеСсылки() Экспорт |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add a description of the return value for the function ОписаниеТипаВсеСсылки
.
Возврат Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов( | ||
Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов( | ||
Справочники.ТипВсеСсылки(), | ||
Документы.ТипВсеСсылки().Типы()), | ||
ПланыОбмена.ТипВсеСсылки().Типы()), | ||
Перечисления.ТипВсеСсылки().Типы()), | ||
ПланыВидовХарактеристик.ТипВсеСсылки().Типы()), | ||
ПланыСчетов.ТипВсеСсылки().Типы()), | ||
ПланыВидовРасчета.ТипВсеСсылки().Типы()), | ||
БизнесПроцессы.ТипВсеСсылки().Типы()), | ||
БизнесПроцессы.ТипВсеСсылкиТочекМаршрутаБизнесПроцессов().Типы()), | ||
Задачи.ТипВсеСсылки().Типы()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Refactor the function ОписаниеТипаВсеСсылки
to avoid nested constructor calls, which complicate the code's readability and maintainability.
- Возврат Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(
- Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(
- Справочники.ТипВсеСсылки(),
- Документы.ТипВсеСсылки().Типы()),
- ПланыОбмена.ТипВсеСсылки().Типы()),
- Перечисления.ТипВсеСсылки().Типы()),
- ПланыВидовХарактеристик.ТипВсеСсылки().Типы()),
- ПланыСчетов.ТипВсеСсылки().Типы()),
- ПланыВидовРасчета.ТипВсеСсылки().Типы()),
- БизнесПроцессы.ТипВсеСсылки().Типы()),
- БизнесПроцессы.ТипВсеСсылкиТочекМаршрутаБизнесПроцессов().Типы()),
- Задачи.ТипВсеСсылки().Типы());
+ ОписаниеТипов1 = Новый ОписаниеТипов(Справочники.ТипВсеСсылки());
+ ОписаниеТипов2 = Новый ОписаниеТипов(Документы.ТипВсеСсылки().Типы());
+ // Add similar lines for other types
+ Возврат Новый ОписаниеТипов(ОписаниеТипов1, ОписаниеТипов2, ...);
Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.
Возврат Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов( | |
Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов(Новый ОписаниеТипов( | |
Справочники.ТипВсеСсылки(), | |
Документы.ТипВсеСсылки().Типы()), | |
ПланыОбмена.ТипВсеСсылки().Типы()), | |
Перечисления.ТипВсеСсылки().Типы()), | |
ПланыВидовХарактеристик.ТипВсеСсылки().Типы()), | |
ПланыСчетов.ТипВсеСсылки().Типы()), | |
ПланыВидовРасчета.ТипВсеСсылки().Типы()), | |
БизнесПроцессы.ТипВсеСсылки().Типы()), | |
БизнесПроцессы.ТипВсеСсылкиТочекМаршрутаБизнесПроцессов().Типы()), | |
Задачи.ТипВсеСсылки().Типы()); | |
ОписаниеТипов1 = Новый ОписаниеТипов(Справочники.ТипВсеСсылки()); | |
ОписаниеТипов2 = Новый ОписаниеТипов(Документы.ТипВсеСсылки().Типы()); | |
// Add similar lines for other types | |
Возврат Новый ОписаниеТипов(ОписаниеТипов1, ОписаниеТипов2, ...); |
&НаСервере | ||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) | ||
|
||
Если Параметры.Свойство("АдресЗначения", АдресЗначения) Тогда |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider replacing magic strings like "АдресЗначения" with constants for better maintainability and to avoid potential typos.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
Асинх Процедура ПараметрыФункцииТипВФормеНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка) | ||
|
||
СтандартнаяОбработка = Ложь; | ||
|
||
ЗаголовокЭлемента = НСтр("ru = 'Редактирование типа данных'"); | ||
|
||
ВыбранныйЭлемент = Ждать СписокТипов.ВыбратьЭлементАсинх(ЗаголовокЭлемента); | ||
Если ВыбранныйЭлемент = Неопределено Тогда | ||
Возврат; | ||
КонецЕсли; | ||
|
||
ТекДанные = Элементы.ПараметрыФункции.ТекущиеДанные; | ||
|
||
Если ВыбранныйЭлемент.Значение = "ТаблицаЗначений" | ||
Или ВыбранныйЭлемент.Значение = "Массив" | ||
Или ВыбранныйЭлемент.Значение = "Структура" Тогда | ||
|
||
ТекДанные.Тип = ВыбранныйЭлемент.Значение; | ||
ТекДанные.ТипВФорме = ВыбранныйЭлемент.Представление; | ||
// Доработать, отражение количество элементов в коллекции, условное оформление - цвет текста, запрет изменения | ||
ТекДанные.ЗначениеВФорме = ВыбранныйЭлемент.Представление; | ||
Иначе | ||
ИнициализацияТипаИЗначенияПараметра(ТекДанные, ВыбранныйЭлемент); | ||
КонецЕсли; | ||
|
||
Модифицированность = Истина; | ||
|
||
КонецПроцедуры |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Optimize the type selection logic to ensure it handles all expected types correctly and integrates seamlessly with the UI.
Процедура ПрочитатьТипыИЗначенияПараметров(СпрОбъект, ПрочитатьЗначения = Ложь) | ||
|
||
Если ПрочитатьЗначения Тогда | ||
НастройкиПараметров = ПолучитьПараметрыФункции(); | ||
КонецЕсли; | ||
|
||
Для Каждого ТекущийПараметр Из СпрОбъект.ПараметрыФункции Цикл | ||
|
||
ОписаниеТипаПараметра = ТекущийПараметр.ТипПараметра.Получить(); | ||
Если ОписаниеТипаПараметра = Неопределено Тогда | ||
Продолжить; | ||
КонецЕсли; | ||
|
||
СтруктураОтбора = Новый Структура; | ||
СтруктураОтбора.Вставить("Наименование", ТекущийПараметр.Наименование); | ||
|
||
ДанныеПоиска = Объект.ПараметрыФункции.НайтиСтроки(СтруктураОтбора); | ||
Если Не ДанныеПоиска.Количество() = 0 Тогда | ||
ДанныеПоиска.Получить(0).фТипПараметра = ОписаниеТипаПараметра; | ||
СтруктураОтбора.Вставить("Идентификатор", ТекущийПараметр.Идентификатор); | ||
АктивныеСтроки = Объект.ПараметрыФункции.НайтиСтроки(СтруктураОтбора); | ||
|
||
Если ЗначениеЗаполнено(АктивныеСтроки) Тогда | ||
Представление = Строка(Тип(ТекущийПараметр.Тип)); | ||
АктивныеСтроки[0].ТипВФорме = Представление; | ||
// Доработать, отражение количество элементов в коллекции, условное оформление - цвет текста, запрет изменения | ||
АктивныеСтроки[0].ЗначениеВФорме = Представление; | ||
Если ПрочитатьЗначения Тогда | ||
НастройкаПараметра = НастройкиПараметров.Получить(ТекущийПараметр.Идентификатор); | ||
ЗначениеПараметраФункции(АктивныеСтроки[0], НастройкаПараметра); | ||
КонецЕсли; | ||
КонецЕсли; | ||
КонецЦикла; | ||
|
||
КонецПроцедуры | ||
|
||
&НаСервере | ||
Процедура ЗначениеПараметраФункции(СтрокаТаблицы, Настройка) | ||
|
||
Если Настройка = Неопределено Тогда | ||
Возврат; | ||
КонецЕсли; | ||
|
||
Если СтрокаТаблицы.Тип = "ТаблицаЗначений" | ||
Или СтрокаТаблицы.Тип = "Структура" | ||
Или СтрокаТаблицы.Тип = "Массив" Тогда | ||
Если ТипЗнч(Настройка.Значение) <> Тип("Строка") Тогда | ||
СтрокаТаблицы.АдресЗначения = ПоместитьВоВременноеХранилище(Настройка.Значение, Новый УникальныйИдентификатор); | ||
КонецЕсли; | ||
СтрокаТаблицы.ЗначениеВФорме = СтрокаТаблицы.ТипВФорме; | ||
Иначе | ||
СтрокаТаблицы.ЗначениеВФорме = Настройка.Значение; | ||
КонецЕсли; | ||
|
||
КонецПроцедуры | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Refactor the procedure to improve readability and maintainability. Consider breaking it down into smaller, more focused sub-procedures.
// Например, для ссылки справочника возвращает "CatalogRef.ИмяСправочника". | ||
// | ||
&НаСервереБезКонтекста | ||
Функция ТипСтрока(Знач Значение) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add descriptions for all parameters and the return value of the function to comply with best practices.
+ // Возвращает строковое представление типа, например, для ссылки справочника возвращает "CatalogRef.ИмяСправочника".
+ // Параметры:
+ // Значение - Значение, для которого необходимо получить строковое представление типа.
+ // Возвращает строковое представление типа.
Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.
Функция ТипСтрока(Знач Значение) | |
// Возвращает строковое представление типа, например, для ссылки справочника возвращает "CatalogRef.ИмяСправочника". | |
// Параметры: | |
// Значение - Значение, для которого необходимо получить строковое представление типа. | |
// Возвращает строковое представление типа. | |
Функция ТипСтрока(Знач Значение) |
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
Out of diff range and nitpick comments (1)
src/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl (1)
2004-2021
: Consider adding detailed comments explaining the purpose and logic of the functionИнициализацияТипаИЗначенияПараметра
to improve maintainability.
@@ -80,6 +80,14 @@ | |||
|
|||
КонецФункции | |||
|
|||
// См. __ОбщегоНазначенияСервер.ХранилищеОбщихНастроекУдалить. | |||
Процедура ХранилищеОбщихНастроекУдалить(КлючОбъекта, КлючНастроек, ИмяПользователя = Неопределено) Экспорт |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add descriptions for all parameters in the method ХранилищеОбщихНастроекУдалить
.
Функция ТипСтрока(Знач Значение) | ||
|
||
СписокДобавленныхТипов = Справочники.__ПользовательскиеФункции.СформироватьСписокТипов(); | ||
|
||
ТипСтрока = Строка(Тип(Значение)); | ||
Если Значение = "СписокЗначений" Тогда | ||
Возврат "СписокЗначений"; | ||
КонецЕсли; | ||
|
||
ТипНайден = Ложь; | ||
Для Каждого ЭлементСписка Из СписокДобавленныхТипов Цикл | ||
Если ЭлементСписка.Представление = ТипСтрока Тогда | ||
ТипНайден = Истина; | ||
Прервать; | ||
КонецЕсли; | ||
КонецЦикла; | ||
|
||
Если Не ТипНайден Тогда | ||
ТипСтрока = XMLТип(Тип(Значение)).ИмяТипа; | ||
КонецЕсли; | ||
|
||
Возврат ТипСтрока; | ||
|
||
КонецФункции |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add descriptions for all parameters and the return value of the function ТипСтрока
to comply with best practices.
+ // Возвращает строковое представление типа, например, для ссылки справочника возвращает "CatalogRef.ИмяСправочника".
+ // Параметры:
+ // Значение - Значение, для которого необходимо получить строковое представление типа.
+ // Возвращает строковое представление типа.
Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.
Функция ТипСтрока(Знач Значение) | |
СписокДобавленныхТипов = Справочники.__ПользовательскиеФункции.СформироватьСписокТипов(); | |
ТипСтрока = Строка(Тип(Значение)); | |
Если Значение = "СписокЗначений" Тогда | |
Возврат "СписокЗначений"; | |
КонецЕсли; | |
ТипНайден = Ложь; | |
Для Каждого ЭлементСписка Из СписокДобавленныхТипов Цикл | |
Если ЭлементСписка.Представление = ТипСтрока Тогда | |
ТипНайден = Истина; | |
Прервать; | |
КонецЕсли; | |
КонецЦикла; | |
Если Не ТипНайден Тогда | |
ТипСтрока = XMLТип(Тип(Значение)).ИмяТипа; | |
КонецЕсли; | |
Возврат ТипСтрока; | |
КонецФункции | |
Функция ТипСтрока(Знач Значение) | |
// Возвращает строковое представление типа, например, для ссылки справочника возвращает "CatalogRef.ИмяСправочника". | |
// Параметры: | |
// Значение - Значение, для которого необходимо получить строковое представление типа. | |
// Возвращает строковое представление типа. | |
СписокДобавленныхТипов = Справочники.__ПользовательскиеФункции.СформироватьСписокТипов(); | |
ТипСтрока = Строка(Тип(Значение)); | |
Если Значение = "СписокЗначений" Тогда | |
Возврат "СписокЗначений"; | |
КонецЕсли; | |
ТипНайден = Ложь; | |
Для Каждого ЭлементСписка Из СписокДобавленныхТипов Цикл | |
Если ЭлементСписка.Представление = ТипСтрока Тогда | |
ТипНайден = Истина; | |
Прервать; | |
КонецЕсли; | |
КонецЦикла; | |
Если Не ТипНайден Тогда | |
ТипСтрока = XMLТип(Тип(Значение)).ИмяТипа; | |
КонецЕсли; | |
Возврат ТипСтрока; | |
КонецФункции |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
Процедура ХранилищеУдалить(МенеджерХранилища, КлючОбъекта, КлючНастроек, ИмяПользователя) | ||
|
||
Если ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда | ||
МенеджерХранилища.Удалить(КлючОбъекта, КлючНастроек(КлючНастроек), ИмяПользователя); | ||
КонецЕсли; | ||
|
||
КонецПроцедуры |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add descriptions for all parameters in the method ХранилищеУдалить
.
- Процедура ХранилищеУдалить(МенеджерХранилища, КлючОбъекта, КлючНастроек, ИмяПользователя)
+ Процедура ХранилищеУдалить(
+ МенеджерХранилища, // Manager of the storage
+ КлючОбъекта, // Object key
+ КлючНастроек, // Settings key
+ ИмяПользователя // Username
+ )
Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.
Процедура ХранилищеУдалить(МенеджерХранилища, КлючОбъекта, КлючНастроек, ИмяПользователя) | |
Если ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда | |
МенеджерХранилища.Удалить(КлючОбъекта, КлючНастроек(КлючНастроек), ИмяПользователя); | |
КонецЕсли; | |
КонецПроцедуры | |
Процедура ХранилищеУдалить( | |
МенеджерХранилища, // Manager of the storage | |
КлючОбъекта, // Object key | |
КлючНастроек, // Settings key | |
ИмяПользователя // Username | |
) | |
Если ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда | |
МенеджерХранилища.Удалить(КлючОбъекта, КлючНастроек(КлючНастроек), ИмяПользователя); | |
КонецЕсли; | |
КонецПроцедуры |
valueTable, array, structure, valueList
Summary by CodeRabbit