Skip to content

Commit

Permalink
added description for predefined elements
Browse files Browse the repository at this point in the history
  • Loading branch information
denisushakov committed Nov 18, 2024
1 parent 5e7dae0 commit 4568496
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 2 deletions.
19 changes: 19 additions & 0 deletions docs/ПредопределенныеЗначения.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,25 @@
КонецПроцедуры
```

## Уникальность предопределенных элементов

Для обеспечения целостности данных и управления предопределёнными значениями реализован механизм контроля изменений. Он основан на вычислении хеша с использованием алгоритма **MD5**, учёте пометки на удаление, ручных изменений и проверке уникальности идентификаторов.

### Основные этапы проверки
1. **Первоначальная проверка уникальности идентификаторов:**
- На этапе инициализации идентификаторы всех элементов проверяются на уникальность.
- Если обнаружены коллизии (дублирующиеся идентификаторы), будет выдано сообщение об ошибке, и такие элементы будут пропущены.
2. **Хеш и состояние элемента:**
- Хеш вычисляется для каждого элемента и сохраняется в регистре **состояний предопределённых элементов**.
- Если элемент изменяется в пользовательском режиме, устанавливается флаг **ручное изменение:**
- Такой элемент исключается из проверки хеша при последующих обновлениях.
3. **Обработка элементов с пометкой на удаление:**
- Если элемент помечен на удаление и его хеш отличается от нового:
- Значения элемента обновляются данными из кода.
- Пометка на удаление автоматически снимается.
- Если элемент не помечен на удаление и его хеш отличается от нового:
- Формируется уведомление о конфликте для дальнейшего разрешения.

## Автоматическое создание новых элементов

Для автоматизации процесса заполнения предопределенных элементов необходимо модифицировать/добавить в расширение общий модуль **``ОбщегоНазначенияПереопределяемый``**. В процедуре **``ПриДобавленииСерверныхОповещений``** требуется добавить новое серверное оповещение.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт

Описание.Имя = "ПроектнаяБиблиотекаПодсистем";
Описание.Версия = "1.0.4.12";
Описание.Версия = "1.0.4.13";

// Требуется библиотека стандартных подсистем.
Описание.ТребуемыеПодсистемы.Добавить("СтандартныеПодсистемы");
Expand Down
2 changes: 1 addition & 1 deletion src/cf/Configuration.xml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
<xr:Item xsi:type="xr:MDObjectRef">Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</xr:Item>
</DefaultRoles>
<Vendor>Первый БИТ</Vendor>
<Version>1.0.4.12</Version>
<Version>1.0.4.13</Version>
<UpdateCatalogAddress/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UseManagedFormInOrdinaryApplication>false</UseManagedFormInOrdinaryApplication>
Expand Down
2 changes: 2 additions & 0 deletions src/cf/Subsystems/пбп_ОбщегоНазначения.xml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_ФайловаяСистемаКлиент</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_ФайловаяСистемаКлиентПереадресация</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_ФайловаяСистемаСлужебныйКлиент</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_СерверныеОповещения</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_СерверныеОповещенияСлужебный</xr:Item>
</Content>
</Properties>
<ChildObjects/>
Expand Down

0 comments on commit 4568496

Please sign in to comment.