РК_ПроверкаСерий 1.3.1.100: пометка дублей на удаление (#15)

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
mihailkudravcev
2026-08-20 14:49:22 +03:00
parent b07b7c96d6
commit 71e56dcecd
7 changed files with 88 additions and 2 deletions
+1
View File
@@ -261,6 +261,7 @@
<Metadata name="DataProcessor.РК_ПроверкаСерий.Attribute.РежимТест" id="f14e0002-0002-4000-8000-000000000002"/>
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ПроблемныеСерии" id="f14e0003-0003-4000-8000-000000000003"/>
<Metadata name="DataProcessor.РК_ПроверкаСерий.Attribute.ГоденДоПоУмолчанию" id="f14e0004-0004-4000-8000-000000000004"/>
<Metadata name="DataProcessor.РК_ПроверкаСерий.Attribute.ПомечатьДублиСерииНаУдаление" id="f14e0005-0005-4000-8000-000000000005"/>
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ПроблемныеСерии.Attribute.Отметка" id="f14e0010-0010-4000-8000-000000000010"/>
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ПроблемныеСерии.Attribute.Серия" id="f14e0011-0011-4000-8000-000000000011"/>
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ПроблемныеСерии.Attribute.Номенклатура" id="f14e0012-0012-4000-8000-000000000012"/>
+1 -1
View File
@@ -62,7 +62,7 @@
<xr:Item xsi:type="xr:MDObjectRef">Role.РК_ОсновнаяРоль</xr:Item>
</DefaultRoles>
<Vendor/>
<Version>1.3.1.99</Version>
<Version>1.3.1.100</Version>
<DefaultStyle/>
<DefaultLanguage>Language.Русский</DefaultLanguage>
<BriefInformation/>
@@ -119,6 +119,45 @@
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
</Properties>
</Attribute>
<Attribute uuid="f14e0005-0005-4000-8000-000000000005">
<Properties>
<Name>ПомечатьДублиСерииНаУдаление</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Помечать дубли серии на удаление</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>После замены ссылок помечать не-мастер серии группы на удаление</v8:content>
</v8:item>
</ToolTip>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
</Properties>
</Attribute>
<TabularSection uuid="f14e0003-0003-4000-8000-000000000003">
<InternalInfo>
<xr:GeneratedType name="DataProcessorTabularSection.РК_ПроверкаСерий.ПроблемныеСерии" category="TabularSection">
@@ -26,6 +26,20 @@
<ContextMenu name="РежимТестКонтекстноеМеню" id="6"/>
<ExtendedTooltip name="РежимТестРасширеннаяПодсказка" id="7"/>
</CheckBoxField>
<CheckBoxField name="ПомечатьДублиСерииНаУдаление" id="210">
<DataPath>Объект.ПомечатьДублиСерииНаУдаление</DataPath>
<TitleLocation>Right</TitleLocation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>После успешной замены ссылок помечать не-мастер серии на удаление</v8:content>
</v8:item>
</ToolTip>
<ToolTipRepresentation>ShowRight</ToolTipRepresentation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ПомечатьДублиСерииНаУдалениеКонтекстноеМеню" id="211"/>
<ExtendedTooltip name="ПомечатьДублиСерииНаУдалениеРасширеннаяПодсказка" id="212"/>
</CheckBoxField>
<Pages name="ГруппаСтраницы" id="70">
<Title>
<v8:item>
@@ -587,6 +601,7 @@
<MainAttribute>true</MainAttribute>
<Save>
<Field>Объект.ГоденДоПоУмолчанию</Field>
<Field>Объект.ПомечатьДублиСерииНаУдаление</Field>
</Save>
</Attribute>
<Attribute name="ТекстПоследнейОшибки" id="2">
@@ -1628,8 +1628,15 @@
СтрГруппа.Объединено = Истина;
Результат.ОбъединеноСсылок = Результат.ОбъединеноСсылок + Заменяемые.Количество();
Результат.ОбъединеноГрупп = Результат.ОбъединеноГрупп + 1;
Если Объект.ПомечатьДублиСерииНаУдаление Тогда
СтрГруппа.Комментарий = "Тест: ссылки заменены, дубли были бы помечены на удаление ("
+ Формат(Заменяемые.Количество(), "ЧН=0; ЧГ=0") + ")";
КонецЕсли;
Иначе
ОбщегоНазначения.ЗаменитьСсылки(Заменяемые);
Если Объект.ПомечатьДублиСерииНаУдаление Тогда
ПометитьДублиСерииНаУдаление(Заменяемые);
КонецЕсли;
СтрГруппа.Объединено = Истина;
Результат.ОбъединеноСсылок = Результат.ОбъединеноСсылок + Заменяемые.Количество();
Результат.ОбъединеноГрупп = Результат.ОбъединеноГрупп + 1;
@@ -1645,4 +1652,21 @@
КонецФункции
&НаСервере
Процедура ПометитьДублиСерииНаУдаление(Заменяемые)
Для Каждого КлючИЗначение Из Заменяемые Цикл
СерияДубль = КлючИЗначение.Ключ;
Если Не ЗначениеЗаполнено(СерияДубль) Тогда
Продолжить;
КонецЕсли;
ОбСерии = СерияДубль.ПолучитьОбъект();
Если ОбСерии = Неопределено Или ОбСерии.ПометкаУдаления Тогда
Продолжить;
КонецЕсли;
ОбСерии.УстановитьПометкуУдаления(Истина);
КонецЦикла;
КонецПроцедуры
#КонецОбласти