diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7bb424e..ee909b8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,13 @@
---
+## 1.3.1.87 (2026-08-19)
+
+### РК_ПроверкаСерий — группы строк серии и синхронизация значений (#17 / #14)
+
+- В таблицу `ПроблемныеСерии` добавлены колонки `НГ` и `КГ`: номер группы уникальной серии и количество строк этой серии в таблице.
+- После применения предложенных значений и после исправления строки значения серии (`Номер`, `ГоденДо`, `Наименование`, предложенные поля, признак исправления) синхронизируются во всех строках той же серии.
+
## 1.3.1.86 (2026-08-19)
### РК_ПроверкаСерий — приоритет автономера из срока (#17)
diff --git a/VERSION b/VERSION
index aa1e57d..bd8e420 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.3.1.86
+1.3.1.87
diff --git a/src/ConfigDumpInfo.xml b/src/ConfigDumpInfo.xml
index 48752fb..baeb54b 100644
--- a/src/ConfigDumpInfo.xml
+++ b/src/ConfigDumpInfo.xml
@@ -237,6 +237,8 @@
+
+
diff --git a/src/Configuration.xml b/src/Configuration.xml
index f62cd83..12a116d 100644
--- a/src/Configuration.xml
+++ b/src/Configuration.xml
@@ -62,7 +62,7 @@
Role.РК_ОсновнаяРоль
- 1.3.1.86
+ 1.3.1.87
Language.Русский
diff --git a/src/DataProcessors/РК_ПроверкаСерий.xml b/src/DataProcessors/РК_ПроверкаСерий.xml
index d2b101a..30f3d5c 100644
--- a/src/DataProcessors/РК_ПроверкаСерий.xml
+++ b/src/DataProcessors/РК_ПроверкаСерий.xml
@@ -759,6 +759,88 @@
Auto
+
+
+ НомерГруппы
+
+
+ ru
+ НГ
+
+
+
+
+ xs:decimal
+
+ 10
+ 0
+ Nonnegative
+
+
+ false
+
+
+
+ false
+
+ false
+ false
+
+
+ false
+
+ DontCheck
+ Items
+
+
+ Auto
+ Auto
+
+
+ Auto
+
+
+
+
+ КоличествоВГруппе
+
+
+ ru
+ КГ
+
+
+
+
+ xs:decimal
+
+ 10
+ 0
+ Nonnegative
+
+
+ false
+
+
+
+ false
+
+ false
+ false
+
+
+ false
+
+ DontCheck
+ Items
+
+
+ Auto
+ Auto
+
+
+ Auto
+
+
diff --git a/src/DataProcessors/РК_ПроверкаСерий/Forms/Форма/Ext/Form.xml b/src/DataProcessors/РК_ПроверкаСерий/Forms/Форма/Ext/Form.xml
index e843485..1105996 100644
--- a/src/DataProcessors/РК_ПроверкаСерий/Forms/Форма/Ext/Form.xml
+++ b/src/DataProcessors/РК_ПроверкаСерий/Forms/Форма/Ext/Form.xml
@@ -198,6 +198,22 @@
+
+ Объект.ПроблемныеСерии.НомерГруппы
+ true
+ EnterOnInput
+ 4
+
+
+
+
+ Объект.ПроблемныеСерии.КоличествоВГруппе
+ true
+ EnterOnInput
+ 4
+
+
+
Объект.ПроблемныеСерии.Серия
true
diff --git a/src/DataProcessors/РК_ПроверкаСерий/Forms/Форма/Ext/Form/Module.bsl b/src/DataProcessors/РК_ПроверкаСерий/Forms/Форма/Ext/Form/Module.bsl
index fbd7f80..5b45a25 100644
--- a/src/DataProcessors/РК_ПроверкаСерий/Forms/Форма/Ext/Form/Module.bsl
+++ b/src/DataProcessors/РК_ПроверкаСерий/Forms/Форма/Ext/Form/Module.bsl
@@ -302,6 +302,8 @@
СоответствиеИмен = Новый Соответствие;
СоответствиеИмен.Вставить("ПроблемныеСерииОтметка", "Отметка");
СоответствиеИмен.Вставить("ПроблемныеСерииПорядковыйНомер", "ПорядковыйНомер");
+ СоответствиеИмен.Вставить("ПроблемныеСерииНомерГруппы", "НомерГруппы");
+ СоответствиеИмен.Вставить("ПроблемныеСерииКоличествоВГруппе", "КоличествоВГруппе");
СоответствиеИмен.Вставить("ПроблемныеСерииСерия", "Серия");
СоответствиеИмен.Вставить("ПроблемныеСерииОстаток", "Остаток");
СоответствиеИмен.Вставить("ПроблемныеСерииПроблема", "Проблема");
@@ -414,6 +416,7 @@
КонецЦикла;
Объект.ПроблемныеСерии.Сортировать("Остаток Убыв, ПорядковыйНомер");
+ ОбновитьГруппыСтрокПоСериям();
Возврат Объект.ПроблемныеСерии.Количество();
КонецФункции
@@ -478,6 +481,8 @@
НовСтр = Объект.ПроблемныеСерии.Добавить();
НовСтр.Отметка = Истина;
НовСтр.ПорядковыйНомер = НомерСтроки;
+ НовСтр.НомерГруппы = 0;
+ НовСтр.КоличествоВГруппе = 0;
НовСтр.Серия = ДанныеСтроки.Серия;
НовСтр.Номенклатура = НоменклатураСерииИзСоответствия(
ОстаткиИНоменклатура.Номенклатура, ДанныеСтроки.Серия);
@@ -546,6 +551,7 @@
Если ИзмененийВСтроке > 0 Тогда
Заполнено = Заполнено + 1;
+ СинхронизироватьСтрокиСерии(Стр.Серия, Стр);
КонецЕсли;
КонецЦикла;
@@ -703,6 +709,7 @@
Если Объект.РежимТест Тогда
Стр.Исправлено = Истина;
Результат.Исправлено = Результат.Исправлено + 1;
+ СинхронизироватьСтрокиСерии(Стр.Серия, Стр);
Иначе
ОбСерии = Стр.Серия.ПолучитьОбъект();
Если Не ЗначениеЗаполнено(СокрЛП(Стр.Номер))
@@ -723,6 +730,7 @@
Стр.ГоденДо = ОбСерии.ГоденДо;
Стр.Наименование = ОбСерии.Наименование;
Результат.Исправлено = Результат.Исправлено + 1;
+ СинхронизироватьСтрокиСерии(Стр.Серия, Стр);
КонецЕсли;
Исключение
Стр.Комментарий = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
@@ -767,6 +775,61 @@
КонецФункции
+&НаСервере
+Процедура СинхронизироватьСтрокиСерии(Серия, ИсточникСтрока)
+
+ Если Не ЗначениеЗаполнено(Серия) Тогда
+ Возврат;
+ КонецЕсли;
+
+ Для Каждого СтрСерии Из Объект.ПроблемныеСерии Цикл
+ Если СтрСерии.Серия <> Серия Тогда
+ Продолжить;
+ КонецЕсли;
+ Если СтрСерии = ИсточникСтрока Тогда
+ Продолжить;
+ КонецЕсли;
+
+ СтрСерии.Номер = ИсточникСтрока.Номер;
+ СтрСерии.ГоденДо = ИсточникСтрока.ГоденДо;
+ СтрСерии.Наименование = ИсточникСтрока.Наименование;
+ СтрСерии.ПредложенныйНомер = ИсточникСтрока.ПредложенныйНомер;
+ СтрСерии.ПредложенныйГоденДо = ИсточникСтрока.ПредложенныйГоденДо;
+ СтрСерии.ПредложенноеНаименование = ИсточникСтрока.ПредложенноеНаименование;
+ СтрСерии.Исправлено = ИсточникСтрока.Исправлено;
+ КонецЦикла;
+
+КонецПроцедуры
+
+&НаСервере
+Процедура ОбновитьГруппыСтрокПоСериям()
+
+ СчетчикиСтрок = Новый Соответствие;
+ НомераГрупп = Новый Соответствие;
+ СледующийНомерГруппы = 0;
+
+ Для Каждого Стр Из Объект.ПроблемныеСерии Цикл
+ КлючСерии = Строка(Стр.Серия);
+ Количество = СчетчикиСтрок.Получить(КлючСерии);
+ Если Количество = Неопределено Тогда
+ Количество = 0;
+ КонецЕсли;
+ СчетчикиСтрок.Вставить(КлючСерии, Количество + 1);
+
+ Если НомераГрупп.Получить(КлючСерии) = Неопределено Тогда
+ СледующийНомерГруппы = СледующийНомерГруппы + 1;
+ НомераГрупп.Вставить(КлючСерии, СледующийНомерГруппы);
+ КонецЕсли;
+ КонецЦикла;
+
+ Для Каждого Стр Из Объект.ПроблемныеСерии Цикл
+ КлючСерии = Строка(Стр.Серия);
+ Стр.НомерГруппы = НомераГрупп.Получить(КлючСерии);
+ Стр.КоличествоВГруппе = СчетчикиСтрок.Получить(КлючСерии);
+ КонецЦикла;
+
+КонецПроцедуры
+
&НаСервере
Функция НастройкиСерийВида(ВидНоменклатуры, КэшНастроек)