-
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
Documentation on objects and modules #52
Changes from 20 commits
efa72d0
f236f8b
b440c87
2887d19
7c187b9
75ab04f
10f2d3b
cf2c8ac
5e14a89
333ba8f
a4298e9
7018380
c041eb7
af02551
92ced50
01b7565
f085503
301f03e
2adab76
9b62783
9d7e7ae
f05aa41
5e45e25
613083f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,71 @@ | ||||||||||||||||||||||||||||||||||||||||||||
# Подисистема аналог библиотеки стандартных подсистем, для переопределения методов БСП | ||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
## 1. Использование общих модулей для переадресации методов | ||||||||||||||||||||||||||||||||||||||||||||
Для переадресации методов используются общие модули-аналоги в названии которых содержится "Служебный", пример: "__ОбщегоНазначенияСлужебный". В случае отсутствия библиотеки стандартных подсистем(БСП), используются аналоги модулей и методов БСП. | ||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
Пример вызова серверной процедуры: | ||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
```1C (BSL) | ||||||||||||||||||||||||||||||||||||||||||||
&НаСервере | ||||||||||||||||||||||||||||||||||||||||||||
Процедура СохранитьКаталогИсходногоКодаКонфигурации(Каталог) | ||||||||||||||||||||||||||||||||||||||||||||
__ОбщегоНазначенияСлужебный.ХранилищеОбщихНастроекСохранить( | ||||||||||||||||||||||||||||||||||||||||||||
КлючОбъекта(), | ||||||||||||||||||||||||||||||||||||||||||||
"__ПользовательскиеФункции_КаталогИсходногоКода", | ||||||||||||||||||||||||||||||||||||||||||||
Каталог); | ||||||||||||||||||||||||||||||||||||||||||||
КонецПроцедуры | ||||||||||||||||||||||||||||||||||||||||||||
``` | ||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
```1C (BSL) | ||||||||||||||||||||||||||||||||||||||||||||
Процедура ОчиститьИсториюИнтеграции() Экспорт | ||||||||||||||||||||||||||||||||||||||||||||
Попытка | ||||||||||||||||||||||||||||||||||||||||||||
// Попытка удаления элементов справочника | ||||||||||||||||||||||||||||||||||||||||||||
Исключение | ||||||||||||||||||||||||||||||||||||||||||||
ИмяСобытия = НСтр("ru = 'Очистка истории интеграции'"); | ||||||||||||||||||||||||||||||||||||||||||||
ТекстОшибки = СтрШаблон("Не удалось удалить запись истории интеграции %1", ВыборкаДетальныеЗаписи.Ссылка); | ||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
__ЖурналРегистрацииСлужебный.ДобавитьСообщениеДляЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Ошибка,,, ТекстОшибки); | ||||||||||||||||||||||||||||||||||||||||||||
КонецПопытки; | ||||||||||||||||||||||||||||||||||||||||||||
КонецПроцедуры | ||||||||||||||||||||||||||||||||||||||||||||
``` | ||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+19
to
+29
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Replace hard tabs with spaces to maintain consistency with common coding standards. - Процедура ОчиститьИсториюИнтеграции() Экспорт
+ Процедура ОчиститьИсториюИнтеграции() Экспорт Committable suggestion
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @coderabbitai Это не является ошибкой, таким образом выделяем блок кода There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @denisushakov, thank you for clarifying the use of hard tabs for highlighting code blocks. I understand this is a deliberate choice for your project's coding style. If there's anything else you need, feel free to let me know! 🐰💭 New Learnings Added
|
||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
## 2. Добавление новых методов-аналогов БСП | ||||||||||||||||||||||||||||||||||||||||||||
### 2.1 Поиск или создание внутренних модулей, аналогичных модулям БСП | ||||||||||||||||||||||||||||||||||||||||||||
Найти внутренний модуль, с аналогичным названием и свойствами в БСП, если модуль отсутствует необходимо добавить новый, в имени должно содержатся "Служебный" (согласно общей концепции переопределения методов БСП). | ||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
Пример: "__ОбщегоНазначенияСлужебный", "__ЖурналРегистрацииСлужебный". | ||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
Методы располагаются в области "ПереадресацияМетодов", в описание метода указать см. __ИмяМодуля.ИмяМетода. | ||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
```1C (BSL) | ||||||||||||||||||||||||||||||||||||||||||||
#Область ПереадресацияМетодов | ||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
// См. __ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации. | ||||||||||||||||||||||||||||||||||||||||||||
Процедура ВыполнитьМетодКонфигурации(Знач ИмяМетода, Знач Параметры = Неопределено) Экспорт | ||||||||||||||||||||||||||||||||||||||||||||
Модуль = ПолучитьМодуль(); | ||||||||||||||||||||||||||||||||||||||||||||
Модуль.ВыполнитьМетодКонфигурации(ИмяМетода, Параметры); | ||||||||||||||||||||||||||||||||||||||||||||
КонецПроцедуры | ||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
#КонецОбласти | ||||||||||||||||||||||||||||||||||||||||||||
``` | ||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+39
to
+49
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Replace hard tabs with spaces to maintain consistency with common coding standards. - Процедура ВыполнитьМетодКонфигурации(Знач ИмяМетода, Знач Параметры = Неопределено) Экспорт
+ Процедура ВыполнитьМетодКонфигурации(Знач ИмяМетода, Знач Параметры = Неопределено) Экспорт Committable suggestion
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @coderabbitai Это не является ошибкой, таким образом выделяем блок кода There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @denisushakov, thank you for clarifying the use of hard tabs for block highlighting in your code. I'll keep this in mind for future reviews! New Learnings Added
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @coderabbitai поменяй в своих комментарий язык на русский There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @denisushakov, спасибо за ваше замечание. Я буду использовать русский язык для всех будущих комментариев, связанных с этим репозиторием. Если у вас есть еще какие-либо вопросы или нужна дополнительная помощь, пожалуйста, дайте знать! New Learnings Added
|
||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
Если модуль-аналог новый добавить функцию в области "СлужебныеПроцедурыИФункции", где __ИмяМодуля для серверных модулей "__ОбщегоНазначенияПовтИсп.", для клиентских "__ОбщегоНазначенияКлиент" | ||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
```1C (BSL) | ||||||||||||||||||||||||||||||||||||||||||||
Функция ПолучитьМодуль() | ||||||||||||||||||||||||||||||||||||||||||||
Возврат __ИмяМодуля.ОбщийМодуль(ИмяМодуляБСП, ИмяМодуляАналогаБСП); | ||||||||||||||||||||||||||||||||||||||||||||
КонецФункции | ||||||||||||||||||||||||||||||||||||||||||||
``` | ||||||||||||||||||||||||||||||||||||||||||||
### 2.2 Создание методов в модуле-аналоге | ||||||||||||||||||||||||||||||||||||||||||||
Пример: "__ОбщегоНазначения". Методы располагаются в области "МетодыАналогиБСП", описание метода начинать с "Аналог метода БСП." | ||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
```1C (BSL) | ||||||||||||||||||||||||||||||||||||||||||||
#Область МетодыАналогиБСП | ||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
// Аналог метода БСП. Описание | ||||||||||||||||||||||||||||||||||||||||||||
// | ||||||||||||||||||||||||||||||||||||||||||||
Процедура ВыполнитьМетодКонфигурации(Знач ИмяМетода, Знач Параметры = Неопределено) Экспорт | ||||||||||||||||||||||||||||||||||||||||||||
// ... | ||||||||||||||||||||||||||||||||||||||||||||
КонецПроцедуры | ||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
#КонецОбласти | ||||||||||||||||||||||||||||||||||||||||||||
``` |
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,54 @@ | ||||||||||||||||||||||||||||||
# Подсистема предопределенных значений | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
Пример добавления нового элемента в модуле __ПредопределенныеЗначенияПереопределяемый | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
```1C (BSL) | ||||||||||||||||||||||||||||||
Функция ПредопределенныеЗначения() Экспорт | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
Результат = ТаблицаПредопределенных(); | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
// Добавление | ||||||||||||||||||||||||||||||
НоваяНастройка = Результат.Добавить(); | ||||||||||||||||||||||||||||||
НоваяНастройка.Наименование = "Пароль доступа на ИТС"; | ||||||||||||||||||||||||||||||
НоваяНастройка.ИдентификаторНастройки = "ПарольДоступаНаИТС"; | ||||||||||||||||||||||||||||||
НоваяНастройка.Пароль = Истина; | ||||||||||||||||||||||||||||||
НоваяНастройка.СписокЗначений = Ложь; | ||||||||||||||||||||||||||||||
НоваяНастройка.ТипЗначения = Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(150)); | ||||||||||||||||||||||||||||||
// КонецДобавления | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
Возврат Результат; | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
КонецФункции | ||||||||||||||||||||||||||||||
denisushakov marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||||||||||||||||||||||||||
``` | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
Пример получения множественного результата, второй параметр указывает если Истина, то результат оборачивается в соответствие, где Ключ - Имя предопределенного элемента, Значение - значение предопределенного элемента | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
```1C (BSL) | ||||||||||||||||||||||||||||||
Функция ПолучитьДанныеАвторизации() | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
ДанныеАвторизации = Новый Структура("Логин, Пароль"); | ||||||||||||||||||||||||||||||
Результат = __ОбщегоНазначенияСервер.ПолучитьПредопределенныеЗначения("Логин_ИТС, Пароль_ИТС", Истина, Истина); | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
Для Каждого Пара Из Результат Цикл | ||||||||||||||||||||||||||||||
Сообщить("Ключ: " Пара.Ключ); | ||||||||||||||||||||||||||||||
Сообщить("Значение: "+ Пара.Значение); | ||||||||||||||||||||||||||||||
ДанныеАвторизации[Пара.Ключ] = Пара.Значение; | ||||||||||||||||||||||||||||||
КонецЦикла; | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
Возврат ДанныеАвторизации; | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
КонецФункции | ||||||||||||||||||||||||||||||
denisushakov marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||||||||||||||||||||||||||
``` | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
Пример получения единичного результата | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
```1C (BSL) | ||||||||||||||||||||||||||||||
Функция ЗаписыватьДанныеСтандартнымСпособом(ПроверяемаяДата) | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
Результат = __ОбщегоНазначенияСервер.ПолучитьПредопределенныеЗначения("ДатаНачалаЗаписиВРегистры", Истина, Истина); | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
Возврат ПроверяемаяДата = Результат; | ||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
КонецФункции | ||||||||||||||||||||||||||||||
Comment on lines
+46
to
+52
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Replace hard tabs with spaces to maintain consistency with common coding standards. - Функция ЗаписыватьДанныеСтандартнымСпособом(ПроверяемаяДата)
+ Функция ЗаписыватьДанныеСтандартнымСпособом(ПроверяемаяДата) Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||||
``` | ||||||||||||||||||||||||||||||
|
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.
Replace hard tabs with spaces to maintain consistency with common coding standards.
Committable suggestion
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.
@coderabbitai Это не является ошибкой, таким образом выделяем блок кода
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.
@denisushakov, thank you for clarifying the use of hard tabs to highlight blocks of code. I understand this is a stylistic choice, and I'll take note of it for future reviews. If there's anything else you need, feel free to let me know!