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

Documentation on objects and modules #52

Merged
merged 24 commits into from
Apr 19, 2024
Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
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
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@

Реализованные на данный момент подсистемы:

1. Предопределенные значения
2. Соответствия объектов ИБ
3. Программная модификация форм
1. [Предопределенные значения](docs/ПредопределенныеЗначения.md)
2. [Соответствия объектов ИБ](docs/СоответствиеОбъектовИнформационнойБазы.md)
3. [Программная модификация форм](docs/РаботаСФормами.md)
4. Подписки на события
5. Управление интеграциями
6. Пользовательские функции
Expand Down
71 changes: 71 additions & 0 deletions docs/ПереопределениеМетодовБСП.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Подисистема аналог библиотеки стандартных подсистем, для переопределения методов БСП

## 1. Использование общих модулей для переадресации методов
Для переадресации методов используются общие модули-аналоги в названии которых содержится "Служебный", пример: "__ОбщегоНазначенияСлужебный". В случае отсутствия библиотеки стандартных подсистем(БСП), используются аналоги модулей и методов БСП.

Пример вызова серверной процедуры:

```1C (BSL)
&НаСервере
Процедура СохранитьКаталогИсходногоКодаКонфигурации(Каталог)
__ОбщегоНазначенияСлужебный.ХранилищеОбщихНастроекСохранить(
КлючОбъекта(),
"__ПользовательскиеФункции_КаталогИсходногоКода",
Каталог);
КонецПроцедуры
```
Comment on lines +8 to +16
Copy link

@coderabbitai coderabbitai bot Apr 19, 2024

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

‼️ 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.

Suggested change
```1C (BSL)
&НаСервере
Процедура СохранитьКаталогИсходногоКодаКонфигурации(Каталог)
__ОбщегоНазначенияСлужебный.ХранилищеОбщихНастроекСохранить(
КлючОбъекта(),
"__ПользовательскиеФункции_КаталогИсходногоКода",
Каталог);
КонецПроцедуры
```
```1C (BSL)
&НаСервере
Процедура СохранитьКаталогИсходногоКодаКонфигурации(Каталог)
__ОбщегоНазначенияСлужебный.ХранилищеОбщихНастроекСохранить(
КлючОбъекта(),
"__ПользовательскиеФункции_КаталогИсходногоКода",
Каталог);
КонецПроцедуры

</details>
<!-- suggestion_end -->

<!-- This is an auto-generated comment by CodeRabbit -->

Copy link
Contributor Author

@denisushakov denisushakov Apr 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@coderabbitai Это не является ошибкой, таким образом выделяем блок кода

Copy link

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!


```1C (BSL)
Процедура ОчиститьИсториюИнтеграции() Экспорт
Попытка
// Попытка удаления элементов справочника
Исключение
ИмяСобытия = НСтр("ru = 'Очистка истории интеграции'");
ТекстОшибки = СтрШаблон("Не удалось удалить запись истории интеграции %1", ВыборкаДетальныеЗаписи.Ссылка);

__ЖурналРегистрацииСлужебный.ДобавитьСообщениеДляЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Ошибка,,, ТекстОшибки);
КонецПопытки;
КонецПроцедуры
```
Comment on lines +19 to +29
Copy link

@coderabbitai coderabbitai bot Apr 19, 2024

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

‼️ 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.

Suggested change
Процедура ОчиститьИсториюИнтеграции() Экспорт
Попытка
// Попытка удаления элементов справочника
Исключение
ИмяСобытия = НСтр("ru = 'Очистка истории интеграции'");
ТекстОшибки = СтрШаблон("Не удалось удалить запись истории интеграции %1", ВыборкаДетальныеЗаписи.Ссылка);
__ЖурналРегистрацииСлужебный.ДобавитьСообщениеДляЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Ошибка,,, ТекстОшибки);
КонецПопытки;
КонецПроцедуры
```
Процедура ОчиститьИсториюИнтеграции() Экспорт
Попытка
// Попытка удаления элементов справочника
Исключение
ИмяСобытия = НСтр("ru = 'Очистка истории интеграции'");
ТекстОшибки = СтрШаблон("Не удалось удалить запись истории интеграции %1", ВыборкаДетальныеЗаписи.Ссылка);
__ЖурналРегистрацииСлужебный.ДобавитьСообщениеДляЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Ошибка,,, ТекстОшибки);
КонецПопытки;
КонецПроцедуры

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@coderabbitai Это не является ошибкой, таким образом выделяем блок кода

Copy link

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 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
User: DenisUshakov"
URL: https://github.com/firstBitSportivnaya/PSSL/pull/52

Timestamp: 2024-04-19T12:01:19.874Z
Learning: Hard tabs are used intentionally in the project managed by DenisUshakov for highlighting blocks of code.

Note: Learnings are effective only in the context of specific code segments. To apply general coding guidelines, please configure review instructions.


## 2. Добавление новых методов-аналогов БСП
### 2.1 Поиск или создание внутренних модулей, аналогичных модулям БСП
Найти внутренний модуль, с аналогичным названием и свойствами в БСП, если модуль отсутствует необходимо добавить новый, в имени должно содержатся "Служебный" (согласно общей концепции переопределения методов БСП).

Пример: "__ОбщегоНазначенияСлужебный", "__ЖурналРегистрацииСлужебный".

Методы располагаются в области "ПереадресацияМетодов", в описание метода указать см. __ИмяМодуля.ИмяМетода.

```1C (BSL)
#Область ПереадресацияМетодов

// См. __ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации.
Процедура ВыполнитьМетодКонфигурации(Знач ИмяМетода, Знач Параметры = Неопределено) Экспорт
Модуль = ПолучитьМодуль();
Модуль.ВыполнитьМетодКонфигурации(ИмяМетода, Параметры);
КонецПроцедуры

#КонецОбласти
```
Comment on lines +39 to +49
Copy link

@coderabbitai coderabbitai bot Apr 19, 2024

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

‼️ 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.

Suggested change
```1C (BSL)
#Область ПереадресацияМетодов
// См. __ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации.
Процедура ВыполнитьМетодКонфигурации(Знач ИмяМетода, Знач Параметры = Неопределено) Экспорт
Модуль = ПолучитьМодуль();
Модуль.ВыполнитьМетодКонфигурации(ИмяМетода, Параметры);
КонецПроцедуры
#КонецОбласти
```
```1C (BSL)
#Область ПереадресацияМетодов
// См. __ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации.
Процедура ВыполнитьМетодКонфигурации(Знач ИмяМетода, Знач Параметры = Неопределено) Экспорт
Модуль = ПолучитьМодуль();
Модуль.ВыполнитьМетодКонфигурации(ИмяМетода, Параметры);
КонецПроцедуры
#КонецОбласти

</details>
<!-- suggestion_end -->

<!-- This is an auto-generated reply by CodeRabbit -->

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@coderabbitai Это не является ошибкой, таким образом выделяем блок кода

Copy link

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 for block highlighting in your code. I'll keep this in mind for future reviews!


New Learnings Added
User: DenisUshakov"
URL: https://github.com/firstBitSportivnaya/PSSL/pull/52

Timestamp: 2024-04-19T12:01:38.966Z
Learning: Hard tabs are used intentionally for highlighting blocks of code in the `ПереопределениеМетодовБСП.md` file and possibly other files in the repository.

Note: Learnings are effective only in the context of specific code segments. To apply general coding guidelines, please configure review instructions.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@coderabbitai поменяй в своих комментарий язык на русский

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@denisushakov, спасибо за ваше замечание. Я буду использовать русский язык для всех будущих комментариев, связанных с этим репозиторием. Если у вас есть еще какие-либо вопросы или нужна дополнительная помощь, пожалуйста, дайте знать!


New Learnings Added
User: DenisUshakov"
URL: https://github.com/firstBitSportivnaya/PSSL/pull/52

Timestamp: 2024-04-19T12:05:23.550Z
Learning: Use the Russian language for all interactions related to the repository `firstBitSportivnaya/PSSL`.

Note: Learnings are effective only in the context of specific code segments. To apply general coding guidelines, please configure review instructions.


Если модуль-аналог новый добавить функцию в области "СлужебныеПроцедурыИФункции", где __ИмяМодуля для серверных модулей "__ОбщегоНазначенияПовтИсп.", для клиентских "__ОбщегоНазначенияКлиент"

```1C (BSL)
Функция ПолучитьМодуль()
Возврат __ИмяМодуля.ОбщийМодуль(ИмяМодуляБСП, ИмяМодуляАналогаБСП);
КонецФункции
```
### 2.2 Создание методов в модуле-аналоге
Пример: "__ОбщегоНазначения". Методы располагаются в области "МетодыАналогиБСП", описание метода начинать с "Аналог метода БСП."

```1C (BSL)
#Область МетодыАналогиБСП

// Аналог метода БСП. Описание
//
Процедура ВыполнитьМетодКонфигурации(Знач ИмяМетода, Знач Параметры = Неопределено) Экспорт
// ...
КонецПроцедуры

#КонецОбласти
```
54 changes: 54 additions & 0 deletions docs/ПредопределенныеЗначения.md
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
Copy link

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

‼️ 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.

Suggested change
Функция ЗаписыватьДанныеСтандартнымСпособом(ПроверяемаяДата)
Результат = __ОбщегоНазначенияСервер.ПолучитьПредопределенныеЗначения("ДатаНачалаЗаписиВРегистры", Истина, Истина);
Возврат ПроверяемаяДата = Результат;
КонецФункции
Функция ЗаписыватьДанныеСтандартнымСпособом(ПроверяемаяДата)
Результат = __ОбщегоНазначенияСервер.ПолучитьПредопределенныеЗначения("ДатаНачалаЗаписиВРегистры", Истина, Истина);
Возврат ПроверяемаяДата = Результат;
КонецФункции

```

Loading
Loading