diff --git a/CHANGELOG.md b/CHANGELOG.md index ce46e62..6b6da44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,13 @@ --- +## 1.3.1.80 (2026-08-17) + +### РК_ПроверкаСерий — ключ дублей (#15) + +- Группа дублей: вид + номер + срок годности. `ДатаПроизводства` не входит в ключ (политика вида у РАНА не используется). +- #14 заполняет номер из наименования, не нумератором; уникальные номера разбили бы группы с пустым номером. + ## 1.3.1.79 (2026-08-17) ### Исправление diff --git a/VERSION b/VERSION index 7dc27ba..e781e51 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.3.1.79 +1.3.1.80 diff --git a/src/Configuration.xml b/src/Configuration.xml index a363c40..abcb8cc 100644 --- a/src/Configuration.xml +++ b/src/Configuration.xml @@ -62,7 +62,7 @@ Role.РК_ОсновнаяРоль - 1.3.1.79 + 1.3.1.80 Language.Русский diff --git a/src/DataProcessors/РК_ПроверкаСерий/Forms/Форма/Ext/Form.xml b/src/DataProcessors/РК_ПроверкаСерий/Forms/Форма/Ext/Form.xml index d5ffaae..92d7995 100644 --- a/src/DataProcessors/РК_ПроверкаСерий/Forms/Форма/Ext/Form.xml +++ b/src/DataProcessors/РК_ПроверкаСерий/Forms/Форма/Ext/Form.xml @@ -676,7 +676,7 @@ ru - Найти группы дублей по виду, номеру, сроку и дате производства + Найти группы дублей по виду, номеру и сроку годности diff --git a/src/DataProcessors/РК_ПроверкаСерий/Forms/Форма/Ext/Form/Module.bsl b/src/DataProcessors/РК_ПроверкаСерий/Forms/Форма/Ext/Form/Module.bsl index 1816c3c..a94f650 100644 --- a/src/DataProcessors/РК_ПроверкаСерий/Forms/Форма/Ext/Form/Module.bsl +++ b/src/DataProcessors/РК_ПроверкаСерий/Forms/Форма/Ext/Form/Module.bsl @@ -1,5 +1,6 @@ // Проверка и исправление данных Справочник.СерииНоменклатуры (#14, #15). -// Логика заполнения номера/срока из наименования — как docs/transfer/Код_исправления_серий_crm3-26.bsl. +// Заполнение номера/срока — из наименования (не нумератор). +// Дубли: вид + номер + ГоденДо (ДатаПроизводства в ключ не входит). #Область ОбработчикиСобытийФормы @@ -895,7 +896,6 @@ | Сер.ВидНоменклатуры КАК ВидНоменклатуры, | Сер.Номер КАК Номер, | Сер.ГоденДо КАК ГоденДо, - | Сер.ДатаПроизводства КАК ДатаПроизводства, | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Сер.Ссылка) КАК КоличествоСерий |ИЗ | Справочник.СерииНоменклатуры КАК Сер @@ -904,8 +904,7 @@ |СГРУППИРОВАТЬ ПО | Сер.ВидНоменклатуры, | Сер.Номер, - | Сер.ГоденДо, - | Сер.ДатаПроизводства + | Сер.ГоденДо |ИМЕЮЩИЕ | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Сер.Ссылка) > 1"; @@ -917,8 +916,7 @@ Мастер = НайтиСериюМастерГруппы( ВыбГруппы.ВидНоменклатуры, ВыбГруппы.Номер, - ВыбГруппы.ГоденДо, - ВыбГруппы.ДатаПроизводства); + ВыбГруппы.ГоденДо); Если Не ЗначениеЗаполнено(Мастер) Тогда Продолжить; КонецЕсли; @@ -926,8 +924,7 @@ СерииГруппы = СерииГруппыДублей( ВыбГруппы.ВидНоменклатуры, ВыбГруппы.Номер, - ВыбГруппы.ГоденДо, - ВыбГруппы.ДатаПроизводства); + ВыбГруппы.ГоденДо); Если СерииГруппы.Количество() < 2 Тогда Продолжить; КонецЕсли; @@ -943,7 +940,7 @@ КонецФункции &НаСервере -Функция НайтиСериюМастерГруппы(Вид, Номер, ГоденДо, ДатаПроизводства) +Функция НайтиСериюМастерГруппы(Вид, Номер, ГоденДо) Запрос = Новый Запрос; Запрос.Текст = @@ -957,7 +954,6 @@ | Сер.ВидНоменклатуры = &Вид | И Сер.Номер = &Номер | И Сер.ГоденДо = &ГоденДо - | И Сер.ДатаПроизводства = &ДатаПроизводства | И НЕ Сер.ПометкаУдаления |СГРУППИРОВАТЬ ПО | Сер.Ссылка @@ -967,7 +963,6 @@ Запрос.УстановитьПараметр("Вид", Вид); Запрос.УстановитьПараметр("Номер", Номер); Запрос.УстановитьПараметр("ГоденДо", ГоденДо); - Запрос.УстановитьПараметр("ДатаПроизводства", ДатаПроизводства); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда @@ -978,7 +973,7 @@ КонецФункции &НаСервере -Функция СерииГруппыДублей(Вид, Номер, ГоденДо, ДатаПроизводства) +Функция СерииГруппыДублей(Вид, Номер, ГоденДо) Запрос = Новый Запрос; Запрос.Текст = @@ -990,12 +985,10 @@ | Сер.ВидНоменклатуры = &Вид | И Сер.Номер = &Номер | И Сер.ГоденДо = &ГоденДо - | И Сер.ДатаПроизводства = &ДатаПроизводства | И НЕ Сер.ПометкаУдаления"; Запрос.УстановитьПараметр("Вид", Вид); Запрос.УстановитьПараметр("Номер", Номер); Запрос.УстановитьПараметр("ГоденДо", ГоденДо); - Запрос.УстановитьПараметр("ДатаПроизводства", ДатаПроизводства); Результат = Новый Массив; Выборка = Запрос.Выполнить().Выбрать(); @@ -1116,7 +1109,7 @@ НовСтр.ВидНоменклатуры = ДанныеГруппы.ВидНоменклатуры; НовСтр.Номер = ДанныеГруппы.Номер; НовСтр.ГоденДо = ДанныеГруппы.ГоденДо; - НовСтр.ДатаПроизводства = ДанныеГруппы.ДатаПроизводства; + НовСтр.ДатаПроизводства = Мастер.ДатаПроизводства; НовСтр.СерияМастер = Мастер; НовСтр.КоличествоСерий = СерииГруппы.Количество(); НовСтр.КоличествоЗамен = КоличествоЗамен; @@ -1203,8 +1196,7 @@ СерииГруппы = СерииГруппыДублей( СтрГруппа.ВидНоменклатуры, СтрГруппа.Номер, - СтрГруппа.ГоденДо, - СтрГруппа.ДатаПроизводства); + СтрГруппа.ГоденДо); Для Каждого Серия Из СерииГруппы Цикл Если Серия <> СтрГруппа.СерияМастер Тогда Заменяемые.Вставить(Серия, СтрГруппа.СерияМастер);