РК_ПроверкаСерий 1.3.1.87: группы строк серии и синхронизация значений (#17).
This commit is contained in:
@@ -4,6 +4,13 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 1.3.1.87 (2026-08-19)
|
||||||
|
|
||||||
|
### РК_ПроверкаСерий — группы строк серии и синхронизация значений (#17 / #14)
|
||||||
|
|
||||||
|
- В таблицу `ПроблемныеСерии` добавлены колонки `НГ` и `КГ`: номер группы уникальной серии и количество строк этой серии в таблице.
|
||||||
|
- После применения предложенных значений и после исправления строки значения серии (`Номер`, `ГоденДо`, `Наименование`, предложенные поля, признак исправления) синхронизируются во всех строках той же серии.
|
||||||
|
|
||||||
## 1.3.1.86 (2026-08-19)
|
## 1.3.1.86 (2026-08-19)
|
||||||
|
|
||||||
### РК_ПроверкаСерий — приоритет автономера из срока (#17)
|
### РК_ПроверкаСерий — приоритет автономера из срока (#17)
|
||||||
|
|||||||
@@ -237,6 +237,8 @@
|
|||||||
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ПроблемныеСерии.Attribute.ПорядковыйНомер" id="f14e0031-0031-4000-8000-000000000031"/>
|
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ПроблемныеСерии.Attribute.ПорядковыйНомер" id="f14e0031-0031-4000-8000-000000000031"/>
|
||||||
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ПроблемныеСерии.Attribute.Остаток" id="f14e0032-0032-4000-8000-000000000032"/>
|
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ПроблемныеСерии.Attribute.Остаток" id="f14e0032-0032-4000-8000-000000000032"/>
|
||||||
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ПроблемныеСерии.Attribute.ЕстьОстаток" id="f14e0033-0033-4000-8000-000000000033"/>
|
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ПроблемныеСерии.Attribute.ЕстьОстаток" id="f14e0033-0033-4000-8000-000000000033"/>
|
||||||
|
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ПроблемныеСерии.Attribute.НомерГруппы" id="f14e0034-0034-4000-8000-000000000034"/>
|
||||||
|
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ПроблемныеСерии.Attribute.КоличествоВГруппе" id="f14e0035-0035-4000-8000-000000000035"/>
|
||||||
</Metadata>
|
</Metadata>
|
||||||
<Metadata name="DataProcessor.РК_ПроверкаСерий.Form.Форма" id="f14e0001-0001-4000-8000-000000000001" configVersion="0717cd97a4a9d63560c7e131d1669d4a047a854d"/>
|
<Metadata name="DataProcessor.РК_ПроверкаСерий.Form.Форма" id="f14e0001-0001-4000-8000-000000000001" configVersion="0717cd97a4a9d63560c7e131d1669d4a047a854d"/>
|
||||||
<Metadata name="DataProcessor.РК_ПроверкаСерий.Form.Форма.Form" id="f14e0001-0001-4000-8000-000000000001.0" configVersion="beb92a3d3dac1ead3ae9eb821c4d38aff763fda7"/>
|
<Metadata name="DataProcessor.РК_ПроверкаСерий.Form.Форма.Form" id="f14e0001-0001-4000-8000-000000000001.0" configVersion="beb92a3d3dac1ead3ae9eb821c4d38aff763fda7"/>
|
||||||
|
|||||||
@@ -62,7 +62,7 @@
|
|||||||
<xr:Item xsi:type="xr:MDObjectRef">Role.РК_ОсновнаяРоль</xr:Item>
|
<xr:Item xsi:type="xr:MDObjectRef">Role.РК_ОсновнаяРоль</xr:Item>
|
||||||
</DefaultRoles>
|
</DefaultRoles>
|
||||||
<Vendor/>
|
<Vendor/>
|
||||||
<Version>1.3.1.86</Version>
|
<Version>1.3.1.87</Version>
|
||||||
<DefaultStyle/>
|
<DefaultStyle/>
|
||||||
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
||||||
<BriefInformation/>
|
<BriefInformation/>
|
||||||
|
|||||||
@@ -759,6 +759,88 @@
|
|||||||
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Attribute>
|
</Attribute>
|
||||||
|
<Attribute uuid="f14e0034-0034-4000-8000-000000000034">
|
||||||
|
<Properties>
|
||||||
|
<Name>НомерГруппы</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>НГ</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:decimal</v8:Type>
|
||||||
|
<v8:NumberQualifiers>
|
||||||
|
<v8:Digits>10</v8:Digits>
|
||||||
|
<v8:FractionDigits>0</v8:FractionDigits>
|
||||||
|
<v8:AllowedSign>Nonnegative</v8:AllowedSign>
|
||||||
|
</v8:NumberQualifiers>
|
||||||
|
</Type>
|
||||||
|
<PasswordMode>false</PasswordMode>
|
||||||
|
<Format/>
|
||||||
|
<EditFormat/>
|
||||||
|
<ToolTip/>
|
||||||
|
<MarkNegatives>false</MarkNegatives>
|
||||||
|
<Mask/>
|
||||||
|
<MultiLine>false</MultiLine>
|
||||||
|
<ExtendedEdit>false</ExtendedEdit>
|
||||||
|
<MinValue xsi:nil="true"/>
|
||||||
|
<MaxValue xsi:nil="true"/>
|
||||||
|
<FillFromFillingValue>false</FillFromFillingValue>
|
||||||
|
<FillValue xsi:nil="true"/>
|
||||||
|
<FillChecking>DontCheck</FillChecking>
|
||||||
|
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||||
|
<ChoiceParameterLinks/>
|
||||||
|
<ChoiceParameters/>
|
||||||
|
<QuickChoice>Auto</QuickChoice>
|
||||||
|
<CreateOnInput>Auto</CreateOnInput>
|
||||||
|
<ChoiceForm/>
|
||||||
|
<LinkByType/>
|
||||||
|
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||||
|
</Properties>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute uuid="f14e0035-0035-4000-8000-000000000035">
|
||||||
|
<Properties>
|
||||||
|
<Name>КоличествоВГруппе</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>КГ</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:decimal</v8:Type>
|
||||||
|
<v8:NumberQualifiers>
|
||||||
|
<v8:Digits>10</v8:Digits>
|
||||||
|
<v8:FractionDigits>0</v8:FractionDigits>
|
||||||
|
<v8:AllowedSign>Nonnegative</v8:AllowedSign>
|
||||||
|
</v8:NumberQualifiers>
|
||||||
|
</Type>
|
||||||
|
<PasswordMode>false</PasswordMode>
|
||||||
|
<Format/>
|
||||||
|
<EditFormat/>
|
||||||
|
<ToolTip/>
|
||||||
|
<MarkNegatives>false</MarkNegatives>
|
||||||
|
<Mask/>
|
||||||
|
<MultiLine>false</MultiLine>
|
||||||
|
<ExtendedEdit>false</ExtendedEdit>
|
||||||
|
<MinValue xsi:nil="true"/>
|
||||||
|
<MaxValue xsi:nil="true"/>
|
||||||
|
<FillFromFillingValue>false</FillFromFillingValue>
|
||||||
|
<FillValue xsi:nil="true"/>
|
||||||
|
<FillChecking>DontCheck</FillChecking>
|
||||||
|
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
|
||||||
|
<ChoiceParameterLinks/>
|
||||||
|
<ChoiceParameters/>
|
||||||
|
<QuickChoice>Auto</QuickChoice>
|
||||||
|
<CreateOnInput>Auto</CreateOnInput>
|
||||||
|
<ChoiceForm/>
|
||||||
|
<LinkByType/>
|
||||||
|
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||||
|
</Properties>
|
||||||
|
</Attribute>
|
||||||
</ChildObjects>
|
</ChildObjects>
|
||||||
</TabularSection>
|
</TabularSection>
|
||||||
<TabularSection uuid="f14e0020-0020-4000-8000-000000000020">
|
<TabularSection uuid="f14e0020-0020-4000-8000-000000000020">
|
||||||
|
|||||||
@@ -198,6 +198,22 @@
|
|||||||
<ContextMenu name="ПроблемныеСерииПорядковыйНомерКонтекстноеМеню" id="163"/>
|
<ContextMenu name="ПроблемныеСерииПорядковыйНомерКонтекстноеМеню" id="163"/>
|
||||||
<ExtendedTooltip name="ПроблемныеСерииПорядковыйНомерРасширеннаяПодсказка" id="164"/>
|
<ExtendedTooltip name="ПроблемныеСерииПорядковыйНомерРасширеннаяПодсказка" id="164"/>
|
||||||
</LabelField>
|
</LabelField>
|
||||||
|
<LabelField name="ПроблемныеСерииНомерГруппы" id="187">
|
||||||
|
<DataPath>Объект.ПроблемныеСерии.НомерГруппы</DataPath>
|
||||||
|
<ReadOnly>true</ReadOnly>
|
||||||
|
<EditMode>EnterOnInput</EditMode>
|
||||||
|
<Width>4</Width>
|
||||||
|
<ContextMenu name="ПроблемныеСерииНомерГруппыКонтекстноеМеню" id="188"/>
|
||||||
|
<ExtendedTooltip name="ПроблемныеСерииНомерГруппыРасширеннаяПодсказка" id="189"/>
|
||||||
|
</LabelField>
|
||||||
|
<LabelField name="ПроблемныеСерииКоличествоВГруппе" id="190">
|
||||||
|
<DataPath>Объект.ПроблемныеСерии.КоличествоВГруппе</DataPath>
|
||||||
|
<ReadOnly>true</ReadOnly>
|
||||||
|
<EditMode>EnterOnInput</EditMode>
|
||||||
|
<Width>4</Width>
|
||||||
|
<ContextMenu name="ПроблемныеСерииКоличествоВГруппеКонтекстноеМеню" id="191"/>
|
||||||
|
<ExtendedTooltip name="ПроблемныеСерииКоличествоВГруппеРасширеннаяПодсказка" id="192"/>
|
||||||
|
</LabelField>
|
||||||
<InputField name="ПроблемныеСерииСерия" id="34">
|
<InputField name="ПроблемныеСерииСерия" id="34">
|
||||||
<DataPath>Объект.ПроблемныеСерии.Серия</DataPath>
|
<DataPath>Объект.ПроблемныеСерии.Серия</DataPath>
|
||||||
<ReadOnly>true</ReadOnly>
|
<ReadOnly>true</ReadOnly>
|
||||||
|
|||||||
@@ -302,6 +302,8 @@
|
|||||||
СоответствиеИмен = Новый Соответствие;
|
СоответствиеИмен = Новый Соответствие;
|
||||||
СоответствиеИмен.Вставить("ПроблемныеСерииОтметка", "Отметка");
|
СоответствиеИмен.Вставить("ПроблемныеСерииОтметка", "Отметка");
|
||||||
СоответствиеИмен.Вставить("ПроблемныеСерииПорядковыйНомер", "ПорядковыйНомер");
|
СоответствиеИмен.Вставить("ПроблемныеСерииПорядковыйНомер", "ПорядковыйНомер");
|
||||||
|
СоответствиеИмен.Вставить("ПроблемныеСерииНомерГруппы", "НомерГруппы");
|
||||||
|
СоответствиеИмен.Вставить("ПроблемныеСерииКоличествоВГруппе", "КоличествоВГруппе");
|
||||||
СоответствиеИмен.Вставить("ПроблемныеСерииСерия", "Серия");
|
СоответствиеИмен.Вставить("ПроблемныеСерииСерия", "Серия");
|
||||||
СоответствиеИмен.Вставить("ПроблемныеСерииОстаток", "Остаток");
|
СоответствиеИмен.Вставить("ПроблемныеСерииОстаток", "Остаток");
|
||||||
СоответствиеИмен.Вставить("ПроблемныеСерииПроблема", "Проблема");
|
СоответствиеИмен.Вставить("ПроблемныеСерииПроблема", "Проблема");
|
||||||
@@ -414,6 +416,7 @@
|
|||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Объект.ПроблемныеСерии.Сортировать("Остаток Убыв, ПорядковыйНомер");
|
Объект.ПроблемныеСерии.Сортировать("Остаток Убыв, ПорядковыйНомер");
|
||||||
|
ОбновитьГруппыСтрокПоСериям();
|
||||||
Возврат Объект.ПроблемныеСерии.Количество();
|
Возврат Объект.ПроблемныеСерии.Количество();
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
@@ -478,6 +481,8 @@
|
|||||||
НовСтр = Объект.ПроблемныеСерии.Добавить();
|
НовСтр = Объект.ПроблемныеСерии.Добавить();
|
||||||
НовСтр.Отметка = Истина;
|
НовСтр.Отметка = Истина;
|
||||||
НовСтр.ПорядковыйНомер = НомерСтроки;
|
НовСтр.ПорядковыйНомер = НомерСтроки;
|
||||||
|
НовСтр.НомерГруппы = 0;
|
||||||
|
НовСтр.КоличествоВГруппе = 0;
|
||||||
НовСтр.Серия = ДанныеСтроки.Серия;
|
НовСтр.Серия = ДанныеСтроки.Серия;
|
||||||
НовСтр.Номенклатура = НоменклатураСерииИзСоответствия(
|
НовСтр.Номенклатура = НоменклатураСерииИзСоответствия(
|
||||||
ОстаткиИНоменклатура.Номенклатура, ДанныеСтроки.Серия);
|
ОстаткиИНоменклатура.Номенклатура, ДанныеСтроки.Серия);
|
||||||
@@ -546,6 +551,7 @@
|
|||||||
|
|
||||||
Если ИзмененийВСтроке > 0 Тогда
|
Если ИзмененийВСтроке > 0 Тогда
|
||||||
Заполнено = Заполнено + 1;
|
Заполнено = Заполнено + 1;
|
||||||
|
СинхронизироватьСтрокиСерии(Стр.Серия, Стр);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
@@ -703,6 +709,7 @@
|
|||||||
Если Объект.РежимТест Тогда
|
Если Объект.РежимТест Тогда
|
||||||
Стр.Исправлено = Истина;
|
Стр.Исправлено = Истина;
|
||||||
Результат.Исправлено = Результат.Исправлено + 1;
|
Результат.Исправлено = Результат.Исправлено + 1;
|
||||||
|
СинхронизироватьСтрокиСерии(Стр.Серия, Стр);
|
||||||
Иначе
|
Иначе
|
||||||
ОбСерии = Стр.Серия.ПолучитьОбъект();
|
ОбСерии = Стр.Серия.ПолучитьОбъект();
|
||||||
Если Не ЗначениеЗаполнено(СокрЛП(Стр.Номер))
|
Если Не ЗначениеЗаполнено(СокрЛП(Стр.Номер))
|
||||||
@@ -723,6 +730,7 @@
|
|||||||
Стр.ГоденДо = ОбСерии.ГоденДо;
|
Стр.ГоденДо = ОбСерии.ГоденДо;
|
||||||
Стр.Наименование = ОбСерии.Наименование;
|
Стр.Наименование = ОбСерии.Наименование;
|
||||||
Результат.Исправлено = Результат.Исправлено + 1;
|
Результат.Исправлено = Результат.Исправлено + 1;
|
||||||
|
СинхронизироватьСтрокиСерии(Стр.Серия, Стр);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Исключение
|
Исключение
|
||||||
Стр.Комментарий = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
|
Стр.Комментарий = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||||
@@ -767,6 +775,61 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура СинхронизироватьСтрокиСерии(Серия, ИсточникСтрока)
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(Серия) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Для Каждого СтрСерии Из Объект.ПроблемныеСерии Цикл
|
||||||
|
Если СтрСерии.Серия <> Серия Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
Если СтрСерии = ИсточникСтрока Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
СтрСерии.Номер = ИсточникСтрока.Номер;
|
||||||
|
СтрСерии.ГоденДо = ИсточникСтрока.ГоденДо;
|
||||||
|
СтрСерии.Наименование = ИсточникСтрока.Наименование;
|
||||||
|
СтрСерии.ПредложенныйНомер = ИсточникСтрока.ПредложенныйНомер;
|
||||||
|
СтрСерии.ПредложенныйГоденДо = ИсточникСтрока.ПредложенныйГоденДо;
|
||||||
|
СтрСерии.ПредложенноеНаименование = ИсточникСтрока.ПредложенноеНаименование;
|
||||||
|
СтрСерии.Исправлено = ИсточникСтрока.Исправлено;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура ОбновитьГруппыСтрокПоСериям()
|
||||||
|
|
||||||
|
СчетчикиСтрок = Новый Соответствие;
|
||||||
|
НомераГрупп = Новый Соответствие;
|
||||||
|
СледующийНомерГруппы = 0;
|
||||||
|
|
||||||
|
Для Каждого Стр Из Объект.ПроблемныеСерии Цикл
|
||||||
|
КлючСерии = Строка(Стр.Серия);
|
||||||
|
Количество = СчетчикиСтрок.Получить(КлючСерии);
|
||||||
|
Если Количество = Неопределено Тогда
|
||||||
|
Количество = 0;
|
||||||
|
КонецЕсли;
|
||||||
|
СчетчикиСтрок.Вставить(КлючСерии, Количество + 1);
|
||||||
|
|
||||||
|
Если НомераГрупп.Получить(КлючСерии) = Неопределено Тогда
|
||||||
|
СледующийНомерГруппы = СледующийНомерГруппы + 1;
|
||||||
|
НомераГрупп.Вставить(КлючСерии, СледующийНомерГруппы);
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Для Каждого Стр Из Объект.ПроблемныеСерии Цикл
|
||||||
|
КлючСерии = Строка(Стр.Серия);
|
||||||
|
Стр.НомерГруппы = НомераГрупп.Получить(КлючСерии);
|
||||||
|
Стр.КоличествоВГруппе = СчетчикиСтрок.Получить(КлючСерии);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаСервере
|
&НаСервере
|
||||||
Функция НастройкиСерийВида(ВидНоменклатуры, КэшНастроек)
|
Функция НастройкиСерийВида(ВидНоменклатуры, КэшНастроек)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user