РК_ПроверкаСерий 1.3.1.81: срок годности по умолчанию для пустого ГоденДо (#15).

This commit is contained in:
mihailkudravcev
2026-08-18 14:23:46 +03:00
parent 2727353b50
commit 1fecdb5975
7 changed files with 101 additions and 11 deletions
@@ -67,6 +67,58 @@
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
</Properties>
</Attribute>
<Attribute uuid="f14e0004-0004-4000-8000-000000000004">
<Properties>
<Name>ГоденДоПоУмолчанию</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Срок годности по умолчанию</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:dateTime</v8:Type>
<v8:DateQualifiers>
<v8:DateFractions>Date</v8:DateFractions>
</v8:DateQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДФ=dd.MM.yyyy</v8:content>
</v8:item>
</Format>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДФ=dd.MM.yyyy</v8:content>
</v8:item>
</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">
@@ -70,6 +70,24 @@
<Event name="OnChange">ТолькоСОстаткомПриИзменении</Event>
</Events>
</CheckBoxField>
<InputField name="ГоденДоПоУмолчанию" id="184">
<DataPath>Объект.ГоденДоПоУмолчанию</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Подставляется в предложенный срок, если у серии пустой ГоденДо (срок обязателен по политике вида) и дату не удалось извлечь из наименования. Используется при «Найти проблемы», «Сформировать предложения» и «Заполнить по предложениям».</v8:content>
</v8:item>
</ToolTip>
<ToolTipRepresentation>Button</ToolTipRepresentation>
<EditFormat>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ДФ=dd.MM.yyyy</v8:content>
</v8:item>
</EditFormat>
<ContextMenu name="ГоденДоПоУмолчаниюКонтекстноеМеню" id="185"/>
<ExtendedTooltip name="ГоденДоПоУмолчаниюРасширеннаяПодсказка" id="186"/>
</InputField>
<Table name="ПроблемныеСерии" id="10">
<Representation>List</Representation>
<ChangeRowSet>false</ChangeRowSet>
@@ -440,11 +440,8 @@
КонецЕсли;
Если ИспСрок И ПустойСрок Тогда
ПредложенныйГоденДо = ИзвлечьГоденДоИзНаименования(Выборка.Наименование);
ПредложенныйГоденДо = ПредложенныйГоденДоПоСтроке(Выборка.Наименование);
Проблемы.Добавить("Пустой срок годности");
Если Не СрокГодностиЗаполнен(ПредложенныйГоденДо) Тогда
ПредложенныйГоденДо = '00010101';
КонецЕсли;
КонецЕсли;
Если Не ИспНомер И ПустоеИмя И СрокГодностиЗаполнен(Выборка.ГоденДо) Тогда
@@ -580,7 +577,8 @@
КонецЕсли;
Если Не СрокГодностиЗаполнен(Стр.ГоденДо) Или СтрНайти(Стр.Проблема, "Пустой срок годности") > 0 Тогда
ПредложенныйГоденДо = ИзвлечьГоденДоИзНаименования(ТекстНаименования);
ПодставлятьУмолчание = СтрНайти(Стр.Проблема, "Пустой срок годности") > 0;
ПредложенныйГоденДо = ПредложенныйГоденДоПоСтроке(ТекстНаименования, ПодставлятьУмолчание);
Если СрокГодностиЗаполнен(ПредложенныйГоденДо) Тогда
Стр.ПредложенныйГоденДо = ПредложенныйГоденДо;
Результат.Сроков = Результат.Сроков + 1;
@@ -623,10 +621,7 @@
КонецЕсли;
Если ИспСрок И СтрНайти(Стр.Проблема, "Пустой срок годности") > 0 Тогда
Стр.ПредложенныйГоденДо = ИзвлечьГоденДоИзНаименования(ТекстНаименования);
Если Не СрокГодностиЗаполнен(Стр.ПредложенныйГоденДо) Тогда
Стр.ПредложенныйГоденДо = '00010101';
КонецЕсли;
Стр.ПредложенныйГоденДо = ПредложенныйГоденДоПоСтроке(ТекстНаименования);
КонецЕсли;
Если Не ИспНомер И СтрНайти(Стр.Проблема, "Пустое наименование") > 0
@@ -772,6 +767,22 @@
КонецФункции
&НаСервере
Функция ПредложенныйГоденДоПоСтроке(ТекстНаименования, ПодставлятьУмолчание = Истина)
ПредложенныйГоденДо = ИзвлечьГоденДоИзНаименования(ТекстНаименования);
Если СрокГодностиЗаполнен(ПредложенныйГоденДо) Тогда
Возврат ПредложенныйГоденДо;
КонецЕсли;
Если ПодставлятьУмолчание И СрокГодностиЗаполнен(Объект.ГоденДоПоУмолчанию) Тогда
Возврат Объект.ГоденДоПоУмолчанию;
КонецЕсли;
Возврат '00010101';
КонецФункции
&НаСервере
Функция ИзвлечьНомерИзНаименования(ТекстНаименования)