diff --git a/PARR.TemplateMatcher/Services/Implemetaions/GroupedTemplateSynchronizer.cs b/PARR.TemplateMatcher/Services/Implemetaions/GroupedTemplateSynchronizer.cs index d0bebfb4..f1afe839 100644 --- a/PARR.TemplateMatcher/Services/Implemetaions/GroupedTemplateSynchronizer.cs +++ b/PARR.TemplateMatcher/Services/Implemetaions/GroupedTemplateSynchronizer.cs @@ -387,7 +387,7 @@ internal class GroupedTemplateSynchronizer : ITemplateSynchronizer logger.LogDebug("Связанный юнит {RegionalUnitId}: разбит на {GroupCount} подгрупп.", relationshipUnitId, childUnitGroups.Count); // Для каждой подгруппы: - for (int i = 0; i < childUnitGroups.Count; i++) + for (int i = 1; i <= childUnitGroups.Count; i++) { var subGroup = childUnitGroups[i]; var subGroupSize = subGroup.Count; @@ -649,6 +649,12 @@ internal class GroupedTemplateSynchronizer : ITemplateSynchronizer if (template.StatusTypeId == TemplateStatusTypeEnum.Updating) return true; // уже в обработке + if (template.StatusTypeId == TemplateStatusTypeEnum.Unused) + { + logger.LogDebug("Шаблон {TemplateId} уже неактивен (Unused), пропускаем деактивацию.", template.Id); + return true; + } + logger.LogInformation("Шаблон {TemplateId} (UnitId {UnitId}) → деактивация.", template.Id, template.UnitId); diff --git a/PARR.TemplateMatcher/Services/Implemetaions/SimpleTemplateSynchronizer.cs b/PARR.TemplateMatcher/Services/Implemetaions/SimpleTemplateSynchronizer.cs index de0afa61..a27bb146 100644 --- a/PARR.TemplateMatcher/Services/Implemetaions/SimpleTemplateSynchronizer.cs +++ b/PARR.TemplateMatcher/Services/Implemetaions/SimpleTemplateSynchronizer.cs @@ -298,6 +298,12 @@ internal class SimpleTemplateSynchronizer : ITemplateSynchronizer if (template.StatusTypeId == TemplateStatusTypeEnum.Updating) return true; // уже в обработке + if (template.StatusTypeId == TemplateStatusTypeEnum.Unused) + { + logger.LogDebug("Шаблон {TemplateId} уже неактивен (Unused), пропускаем деактивацию.", template.Id); + return true; + } + logger.LogInformation("Шаблон {TemplateId} (UnitId {UnitId}) → деактивация.", template.Id, template.UnitId);