РК_ПроверкаСерий 1.3.1.75: остатки, № строки, заполнение по предложениям.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -4,6 +4,14 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 1.3.1.75 (2026-08-17)
|
||||||
|
|
||||||
|
### РК_ПроверкаСерий — вкладка «Заполнение реквизитов»
|
||||||
|
|
||||||
|
- ТЧ `ПроблемныеСерии`: колонки **№** (`НомерСтроки`) и **Остаток** (`ДвиженияСерийТоваров.Остатки`).
|
||||||
|
- Команда **Заполнить по предложениям** — перенос предложенных значений в колонки таблицы для отмеченных строк (без записи в ИБ).
|
||||||
|
- **Исправить отмеченные** — запись из колонок таблицы (или предложений, если колонки пусты).
|
||||||
|
|
||||||
## 1.3.1.74 (2026-08-17)
|
## 1.3.1.74 (2026-08-17)
|
||||||
|
|
||||||
### РК_ПроверкаСерий — парсинг наименования из выборки
|
### РК_ПроверкаСерий — парсинг наименования из выборки
|
||||||
|
|||||||
@@ -216,6 +216,8 @@
|
|||||||
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ПроблемныеСерии.Attribute.ПредложенноеНаименование" id="f14e001a-001a-4000-8000-00000000001a"/>
|
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ПроблемныеСерии.Attribute.ПредложенноеНаименование" id="f14e001a-001a-4000-8000-00000000001a"/>
|
||||||
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ПроблемныеСерии.Attribute.Исправлено" id="f14e001b-001b-4000-8000-00000000001b"/>
|
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ПроблемныеСерии.Attribute.Исправлено" id="f14e001b-001b-4000-8000-00000000001b"/>
|
||||||
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ПроблемныеСерии.Attribute.Комментарий" id="f14e001c-001c-4000-8000-00000000001c"/>
|
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ПроблемныеСерии.Attribute.Комментарий" id="f14e001c-001c-4000-8000-00000000001c"/>
|
||||||
|
<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.ГруппыДублей" id="f14e0020-0020-4000-8000-000000000020"/>
|
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ГруппыДублей" id="f14e0020-0020-4000-8000-000000000020"/>
|
||||||
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ГруппыДублей.Attribute.Отметка" id="f14e0021-0021-4000-8000-000000000021"/>
|
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ГруппыДублей.Attribute.Отметка" id="f14e0021-0021-4000-8000-000000000021"/>
|
||||||
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ГруппыДублей.Attribute.ИдентификаторГруппы" id="f14e0022-0022-4000-8000-000000000022"/>
|
<Metadata name="DataProcessor.РК_ПроверкаСерий.TabularSection.ГруппыДублей.Attribute.ИдентификаторГруппы" id="f14e0022-0022-4000-8000-000000000022"/>
|
||||||
|
|||||||
@@ -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.74</Version>
|
<Version>1.3.1.75</Version>
|
||||||
<DefaultStyle/>
|
<DefaultStyle/>
|
||||||
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
||||||
<BriefInformation/>
|
<BriefInformation/>
|
||||||
|
|||||||
@@ -589,6 +589,74 @@
|
|||||||
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Attribute>
|
</Attribute>
|
||||||
|
<Attribute uuid="f14e0031-0031-4000-8000-000000000031">
|
||||||
|
<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="f14e0032-0032-4000-8000-000000000032">
|
||||||
|
<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>15</v8:Digits><v8:FractionDigits>3</v8:FractionDigits><v8:AllowedSign>Any</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">
|
||||||
|
|||||||
@@ -97,6 +97,11 @@
|
|||||||
<CommandName>Form.Command.ИсправитьОтмеченные</CommandName>
|
<CommandName>Form.Command.ИсправитьОтмеченные</CommandName>
|
||||||
<ExtendedTooltip name="ПроблемныеСерииИсправитьОтмеченныеРасширеннаяПодсказка" id="4"/>
|
<ExtendedTooltip name="ПроблемныеСерииИсправитьОтмеченныеРасширеннаяПодсказка" id="4"/>
|
||||||
</Button>
|
</Button>
|
||||||
|
<Button name="ПроблемныеСерииЗаполнитьПоПредложениям" id="160">
|
||||||
|
<Type>CommandBarButton</Type>
|
||||||
|
<CommandName>Form.Command.ЗаполнитьПоПредложениям</CommandName>
|
||||||
|
<ExtendedTooltip name="ПроблемныеСерииЗаполнитьПоПредложениямРасширеннаяПодсказка" id="161"/>
|
||||||
|
</Button>
|
||||||
<Button name="ПроблемныеСерииОтметить" id="17">
|
<Button name="ПроблемныеСерииОтметить" id="17">
|
||||||
<Type>CommandBarButton</Type>
|
<Type>CommandBarButton</Type>
|
||||||
<CommandName>Form.Command.Отметить</CommandName>
|
<CommandName>Form.Command.Отметить</CommandName>
|
||||||
@@ -142,6 +147,14 @@
|
|||||||
<ContextMenu name="ПроблемныеСерииОтметкаКонтекстноеМеню" id="32"/>
|
<ContextMenu name="ПроблемныеСерииОтметкаКонтекстноеМеню" id="32"/>
|
||||||
<ExtendedTooltip name="ПроблемныеСерииОтметкаРасширеннаяПодсказка" id="33"/>
|
<ExtendedTooltip name="ПроблемныеСерииОтметкаРасширеннаяПодсказка" id="33"/>
|
||||||
</CheckBoxField>
|
</CheckBoxField>
|
||||||
|
<LabelField name="ПроблемныеСерииНомерСтроки" id="162">
|
||||||
|
<DataPath>Объект.ПроблемныеСерии.НомерСтроки</DataPath>
|
||||||
|
<ReadOnly>true</ReadOnly>
|
||||||
|
<EditMode>EnterOnInput</EditMode>
|
||||||
|
<Width>4</Width>
|
||||||
|
<ContextMenu name="ПроблемныеСерииНомерСтрокиКонтекстноеМеню" id="163"/>
|
||||||
|
<ExtendedTooltip name="ПроблемныеСерииНомерСтрокиРасширеннаяПодсказка" id="164"/>
|
||||||
|
</LabelField>
|
||||||
<InputField name="ПроблемныеСерииСерия" id="34">
|
<InputField name="ПроблемныеСерииСерия" id="34">
|
||||||
<DataPath>Объект.ПроблемныеСерии.Серия</DataPath>
|
<DataPath>Объект.ПроблемныеСерии.Серия</DataPath>
|
||||||
<ReadOnly>true</ReadOnly>
|
<ReadOnly>true</ReadOnly>
|
||||||
@@ -150,6 +163,14 @@
|
|||||||
<ContextMenu name="ПроблемныеСерииСерияКонтекстноеМеню" id="35"/>
|
<ContextMenu name="ПроблемныеСерииСерияКонтекстноеМеню" id="35"/>
|
||||||
<ExtendedTooltip name="ПроблемныеСерииСерияРасширеннаяПодсказка" id="36"/>
|
<ExtendedTooltip name="ПроблемныеСерииСерияРасширеннаяПодсказка" id="36"/>
|
||||||
</InputField>
|
</InputField>
|
||||||
|
<InputField name="ПроблемныеСерииОстаток" id="165">
|
||||||
|
<DataPath>Объект.ПроблемныеСерии.Остаток</DataPath>
|
||||||
|
<ReadOnly>true</ReadOnly>
|
||||||
|
<EditMode>EnterOnInput</EditMode>
|
||||||
|
<Width>8</Width>
|
||||||
|
<ContextMenu name="ПроблемныеСерииОстатокКонтекстноеМеню" id="166"/>
|
||||||
|
<ExtendedTooltip name="ПроблемныеСерииОстатокРасширеннаяПодсказка" id="167"/>
|
||||||
|
</InputField>
|
||||||
<InputField name="ПроблемныеСерииПроблема" id="37">
|
<InputField name="ПроблемныеСерииПроблема" id="37">
|
||||||
<DataPath>Объект.ПроблемныеСерии.Проблема</DataPath>
|
<DataPath>Объект.ПроблемныеСерии.Проблема</DataPath>
|
||||||
<ReadOnly>true</ReadOnly>
|
<ReadOnly>true</ReadOnly>
|
||||||
@@ -495,7 +516,7 @@
|
|||||||
<ToolTip>
|
<ToolTip>
|
||||||
<v8:item>
|
<v8:item>
|
||||||
<v8:lang>ru</v8:lang>
|
<v8:lang>ru</v8:lang>
|
||||||
<v8:content>Записать предложенные значения в отмеченные серии</v8:content>
|
<v8:content>Записать значения из таблицы в справочник серий</v8:content>
|
||||||
</v8:item>
|
</v8:item>
|
||||||
</ToolTip>
|
</ToolTip>
|
||||||
<Picture>
|
<Picture>
|
||||||
@@ -504,6 +525,25 @@
|
|||||||
</Picture>
|
</Picture>
|
||||||
<Action>ИсправитьОтмеченные</Action>
|
<Action>ИсправитьОтмеченные</Action>
|
||||||
</Command>
|
</Command>
|
||||||
|
<Command name="ЗаполнитьПоПредложениям" id="157">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Заполнить по предложениям</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<ToolTip>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Для отмеченных строк перенести предложенные номер, срок и наименование в колонки таблицы (без записи в базу)</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</ToolTip>
|
||||||
|
<Picture>
|
||||||
|
<xr:Ref>StdPicture.InputFieldOpen</xr:Ref>
|
||||||
|
<xr:LoadTransparent>true</xr:LoadTransparent>
|
||||||
|
</Picture>
|
||||||
|
<Action>ЗаполнитьПоПредложениям</Action>
|
||||||
|
</Command>
|
||||||
<Command name="Отметить" id="3">
|
<Command name="Отметить" id="3">
|
||||||
<Title>
|
<Title>
|
||||||
<v8:item>
|
<v8:item>
|
||||||
|
|||||||
@@ -83,6 +83,31 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура ЗаполнитьПоПредложениям(Команда)
|
||||||
|
|
||||||
|
Если Объект.ПроблемныеСерии.Количество() = 0 Тогда
|
||||||
|
ПоказатьПредупреждение(, "Сначала выполните поиск проблем");
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ЕстьОтмеченныеСтроки() Тогда
|
||||||
|
ПоказатьПредупреждение(, "Отметьте строки для заполнения");
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Попытка
|
||||||
|
Количество = ЗаполнитьПоПредложениямНаСервере();
|
||||||
|
Исключение
|
||||||
|
СообщитьОшибкуОперации(ИнформацияОбОшибке(), "Заполнить по предложениям");
|
||||||
|
Возврат;
|
||||||
|
КонецПопытки;
|
||||||
|
ОчиститьТекстПоследнейОшибки();
|
||||||
|
ПоказатьОповещениеПользователя("Проверка серий", ,
|
||||||
|
"Заполнено полей в строках: " + Формат(Количество, "ЧН=0; ЧГ=0"));
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
Процедура Отметить(Команда)
|
Процедура Отметить(Команда)
|
||||||
УстановитьОтметкуВыделенныхСтрок("ПроблемныеСерии", Истина);
|
УстановитьОтметкуВыделенныхСтрок("ПроблемныеСерии", Истина);
|
||||||
@@ -274,8 +299,24 @@
|
|||||||
| )";
|
| )";
|
||||||
|
|
||||||
Выборка = Запрос.Выполнить().Выбрать();
|
Выборка = Запрос.Выполнить().Выбрать();
|
||||||
|
СтрокиДанных = Новый Массив;
|
||||||
|
Серии = Новый Массив;
|
||||||
|
|
||||||
Пока Выборка.Следующий() Цикл
|
Пока Выборка.Следующий() Цикл
|
||||||
ДобавитьСтрокуПроблемы(Выборка, КэшНастроек);
|
ДанныеСтроки = ПодготовитьДанныеСтрокиПроблемы(Выборка, КэшНастроек);
|
||||||
|
Если ДанныеСтроки = Неопределено Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
СтрокиДанных.Добавить(ДанныеСтроки);
|
||||||
|
Серии.Добавить(ДанныеСтроки.Серия);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Остатки = ОстаткиПоСериям(Серии);
|
||||||
|
НомерСтроки = 0;
|
||||||
|
|
||||||
|
Для Каждого ДанныеСтроки Из СтрокиДанных Цикл
|
||||||
|
НомерСтроки = НомерСтроки + 1;
|
||||||
|
ДобавитьСтрокуПроблемы(ДанныеСтроки, НомерСтроки, Остатки);
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Возврат Объект.ПроблемныеСерии.Количество();
|
Возврат Объект.ПроблемныеСерии.Количество();
|
||||||
@@ -283,7 +324,7 @@
|
|||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
&НаСервере
|
&НаСервере
|
||||||
Процедура ДобавитьСтрокуПроблемы(Выборка, КэшНастроек)
|
Функция ПодготовитьДанныеСтрокиПроблемы(Выборка, КэшНастроек)
|
||||||
|
|
||||||
Настройки = НастройкиСерийВида(Выборка.ВидНоменклатуры, КэшНастроек);
|
Настройки = НастройкиСерийВида(Выборка.ВидНоменклатуры, КэшНастроек);
|
||||||
ИспНомер = Настройки.ИспользоватьНомерСерии;
|
ИспНомер = Настройки.ИспользоватьНомерСерии;
|
||||||
@@ -317,21 +358,112 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Проблемы.Количество() = 0 Тогда
|
Если Проблемы.Количество() = 0 Тогда
|
||||||
Возврат;
|
Возврат Неопределено;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Данные = Новый Структура;
|
||||||
|
Данные.Вставить("Серия", Выборка.Серия);
|
||||||
|
Данные.Вставить("ВидНоменклатуры", Выборка.ВидНоменклатуры);
|
||||||
|
Данные.Вставить("Наименование", Выборка.Наименование);
|
||||||
|
Данные.Вставить("Номер", Выборка.Номер);
|
||||||
|
Данные.Вставить("ГоденДо", Выборка.ГоденДо);
|
||||||
|
Данные.Вставить("Проблема", СтрСоединить(Проблемы, "; "));
|
||||||
|
Данные.Вставить("ПредложенныйНомер", ПредложенныйНомер);
|
||||||
|
Данные.Вставить("ПредложенныйГоденДо", ПредложенныйГоденДо);
|
||||||
|
Данные.Вставить("ПредложенноеНаименование", ПредложенноеНаименование);
|
||||||
|
Возврат Данные;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура ДобавитьСтрокуПроблемы(ДанныеСтроки, НомерСтроки, Остатки)
|
||||||
|
|
||||||
НовСтр = Объект.ПроблемныеСерии.Добавить();
|
НовСтр = Объект.ПроблемныеСерии.Добавить();
|
||||||
НовСтр.Отметка = Истина;
|
НовСтр.Отметка = Истина;
|
||||||
НовСтр.Серия = Выборка.Серия;
|
НовСтр.НомерСтроки = НомерСтроки;
|
||||||
|
НовСтр.Серия = ДанныеСтроки.Серия;
|
||||||
НовСтр.Номенклатура = Справочники.Номенклатура.ПустаяСсылка();
|
НовСтр.Номенклатура = Справочники.Номенклатура.ПустаяСсылка();
|
||||||
НовСтр.ВидНоменклатуры = Выборка.ВидНоменклатуры;
|
НовСтр.ВидНоменклатуры = ДанныеСтроки.ВидНоменклатуры;
|
||||||
НовСтр.Наименование = Выборка.Наименование;
|
НовСтр.Наименование = ДанныеСтроки.Наименование;
|
||||||
НовСтр.Номер = Выборка.Номер;
|
НовСтр.Номер = ДанныеСтроки.Номер;
|
||||||
НовСтр.ГоденДо = Выборка.ГоденДо;
|
НовСтр.ГоденДо = ДанныеСтроки.ГоденДо;
|
||||||
НовСтр.Проблема = СтрСоединить(Проблемы, "; ");
|
НовСтр.Проблема = ДанныеСтроки.Проблема;
|
||||||
НовСтр.ПредложенныйНомер = ПредложенныйНомер;
|
НовСтр.ПредложенныйНомер = ДанныеСтроки.ПредложенныйНомер;
|
||||||
НовСтр.ПредложенныйГоденДо = ПредложенныйГоденДо;
|
НовСтр.ПредложенныйГоденДо = ДанныеСтроки.ПредложенныйГоденДо;
|
||||||
НовСтр.ПредложенноеНаименование = ПредложенноеНаименование;
|
НовСтр.ПредложенноеНаименование = ДанныеСтроки.ПредложенноеНаименование;
|
||||||
|
НовСтр.Остаток = ОстатокСерииИзСоответствия(Остатки, ДанныеСтроки.Серия);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Функция ЗаполнитьПоПредложениямНаСервере()
|
||||||
|
|
||||||
|
КэшНастроек = Новый Соответствие;
|
||||||
|
Заполнено = 0;
|
||||||
|
|
||||||
|
Для Каждого Стр Из Объект.ПроблемныеСерии Цикл
|
||||||
|
|
||||||
|
Если Не Стр.Отметка Или Стр.Исправлено Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ПересчитатьПредложенияСтрокиПроблемы(Стр, КэшНастроек);
|
||||||
|
ИзмененийВСтроке = 0;
|
||||||
|
|
||||||
|
Если СтрНайти(Стр.Проблема, "Пустой номер") > 0
|
||||||
|
И ЗначениеЗаполнено(СокрЛП(Стр.ПредложенныйНомер))
|
||||||
|
И Не ЗначениеЗаполнено(СокрЛП(Стр.Номер)) Тогда
|
||||||
|
Стр.Номер = СокрЛП(Стр.ПредложенныйНомер);
|
||||||
|
ИзмененийВСтроке = ИзмененийВСтроке + 1;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если СтрНайти(Стр.Проблема, "Пустой срок годности") > 0
|
||||||
|
И СрокГодностиЗаполнен(Стр.ПредложенныйГоденДо)
|
||||||
|
И Не СрокГодностиЗаполнен(Стр.ГоденДо) Тогда
|
||||||
|
Стр.ГоденДо = Стр.ПредложенныйГоденДо;
|
||||||
|
ИзмененийВСтроке = ИзмененийВСтроке + 1;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если СтрНайти(Стр.Проблема, "Пустое наименование") > 0
|
||||||
|
И ЗначениеЗаполнено(СокрЛП(Стр.ПредложенноеНаименование))
|
||||||
|
И Не ЗначениеЗаполнено(СокрЛП(Стр.Наименование)) Тогда
|
||||||
|
Стр.Наименование = СокрЛП(Стр.ПредложенноеНаименование);
|
||||||
|
ИзмененийВСтроке = ИзмененийВСтроке + 1;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ИзмененийВСтроке > 0 Тогда
|
||||||
|
Заполнено = Заполнено + 1;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат Заполнено;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура ПересчитатьПредложенияСтрокиПроблемы(Стр, КэшНастроек)
|
||||||
|
|
||||||
|
Настройки = НастройкиСерийВида(Стр.ВидНоменклатуры, КэшНастроек);
|
||||||
|
ИспНомер = Настройки.ИспользоватьНомерСерии;
|
||||||
|
ИспСрок = Настройки.ИспользоватьСрокГодностиСерии;
|
||||||
|
ТекстНаименования = Стр.Наименование;
|
||||||
|
|
||||||
|
Если ИспНомер И СтрНайти(Стр.Проблема, "Пустой номер") > 0 Тогда
|
||||||
|
Стр.ПредложенныйНомер = ИзвлечьНомерИзНаименования(ТекстНаименования);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ИспСрок И СтрНайти(Стр.Проблема, "Пустой срок годности") > 0 Тогда
|
||||||
|
Стр.ПредложенныйГоденДо = ИзвлечьГоденДоИзНаименования(ТекстНаименования);
|
||||||
|
Если Не СрокГодностиЗаполнен(Стр.ПредложенныйГоденДо) Тогда
|
||||||
|
Стр.ПредложенныйГоденДо = '00010101';
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не ИспНомер И СтрНайти(Стр.Проблема, "Пустое наименование") > 0
|
||||||
|
И СрокГодностиЗаполнен(Стр.ГоденДо) Тогда
|
||||||
|
Стр.ПредложенноеНаименование = "до " + Формат(Стр.ГоденДо, "ДФ=dd.MM.yy");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -348,22 +480,22 @@
|
|||||||
|
|
||||||
Стр.Комментарий = "";
|
Стр.Комментарий = "";
|
||||||
ЕстьИзменения = Ложь;
|
ЕстьИзменения = Ложь;
|
||||||
|
НомерЗаписи = НомерДляИсправленияСтроки(Стр);
|
||||||
|
ГоденДоЗаписи = ГоденДоДляИсправленияСтроки(Стр);
|
||||||
|
НаименованиеЗаписи = НаименованиеДляИсправленияСтроки(Стр);
|
||||||
|
|
||||||
Если СтрНайти(Стр.Проблема, "Пустой номер") > 0
|
Если СтрНайти(Стр.Проблема, "Пустой номер") > 0
|
||||||
И ЗначениеЗаполнено(СокрЛП(Стр.ПредложенныйНомер))
|
И ЗначениеЗаполнено(НомерЗаписи) Тогда
|
||||||
И Не ЗначениеЗаполнено(СокрЛП(Стр.Номер)) Тогда
|
|
||||||
ЕстьИзменения = Истина;
|
ЕстьИзменения = Истина;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если СтрНайти(Стр.Проблема, "Пустой срок годности") > 0
|
Если СтрНайти(Стр.Проблема, "Пустой срок годности") > 0
|
||||||
И СрокГодностиЗаполнен(Стр.ПредложенныйГоденДо)
|
И СрокГодностиЗаполнен(ГоденДоЗаписи) Тогда
|
||||||
И Не СрокГодностиЗаполнен(Стр.ГоденДо) Тогда
|
|
||||||
ЕстьИзменения = Истина;
|
ЕстьИзменения = Истина;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если СтрНайти(Стр.Проблема, "Пустое наименование") > 0
|
Если СтрНайти(Стр.Проблема, "Пустое наименование") > 0
|
||||||
И ЗначениеЗаполнено(СокрЛП(Стр.ПредложенноеНаименование))
|
И ЗначениеЗаполнено(НаименованиеЗаписи) Тогда
|
||||||
И Не ЗначениеЗаполнено(СокрЛП(Стр.Наименование)) Тогда
|
|
||||||
ЕстьИзменения = Истина;
|
ЕстьИзменения = Истина;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -379,16 +511,16 @@
|
|||||||
Иначе
|
Иначе
|
||||||
ОбСерии = Стр.Серия.ПолучитьОбъект();
|
ОбСерии = Стр.Серия.ПолучитьОбъект();
|
||||||
Если СтрНайти(Стр.Проблема, "Пустой номер") > 0
|
Если СтрНайти(Стр.Проблема, "Пустой номер") > 0
|
||||||
И ЗначениеЗаполнено(СокрЛП(Стр.ПредложенныйНомер)) Тогда
|
И ЗначениеЗаполнено(НомерЗаписи) Тогда
|
||||||
ОбСерии.Номер = СокрЛП(Стр.ПредложенныйНомер);
|
ОбСерии.Номер = НомерЗаписи;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Если СтрНайти(Стр.Проблема, "Пустой срок годности") > 0
|
Если СтрНайти(Стр.Проблема, "Пустой срок годности") > 0
|
||||||
И СрокГодностиЗаполнен(Стр.ПредложенныйГоденДо) Тогда
|
И СрокГодностиЗаполнен(ГоденДоЗаписи) Тогда
|
||||||
ОбСерии.ГоденДо = Стр.ПредложенныйГоденДо;
|
ОбСерии.ГоденДо = ГоденДоЗаписи;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Если СтрНайти(Стр.Проблема, "Пустое наименование") > 0
|
Если СтрНайти(Стр.Проблема, "Пустое наименование") > 0
|
||||||
И ЗначениеЗаполнено(СокрЛП(Стр.ПредложенноеНаименование)) Тогда
|
И ЗначениеЗаполнено(НаименованиеЗаписи) Тогда
|
||||||
ОбСерии.Наименование = СокрЛП(Стр.ПредложенноеНаименование);
|
ОбСерии.Наименование = НаименованиеЗаписи;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
ОбСерии.Записать();
|
ОбСерии.Записать();
|
||||||
Стр.Исправлено = Истина;
|
Стр.Исправлено = Истина;
|
||||||
@@ -408,6 +540,38 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Функция НомерДляИсправленияСтроки(Стр)
|
||||||
|
|
||||||
|
Номер = СокрЛП(Стр.Номер);
|
||||||
|
Если ЗначениеЗаполнено(Номер) Тогда
|
||||||
|
Возврат Номер;
|
||||||
|
КонецЕсли;
|
||||||
|
Возврат СокрЛП(Стр.ПредложенныйНомер);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Функция ГоденДоДляИсправленияСтроки(Стр)
|
||||||
|
|
||||||
|
Если СрокГодностиЗаполнен(Стр.ГоденДо) Тогда
|
||||||
|
Возврат Стр.ГоденДо;
|
||||||
|
КонецЕсли;
|
||||||
|
Возврат Стр.ПредложенныйГоденДо;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Функция НаименованиеДляИсправленияСтроки(Стр)
|
||||||
|
|
||||||
|
Наименование = СокрЛП(Стр.Наименование);
|
||||||
|
Если ЗначениеЗаполнено(Наименование) Тогда
|
||||||
|
Возврат Наименование;
|
||||||
|
КонецЕсли;
|
||||||
|
Возврат СокрЛП(Стр.ПредложенноеНаименование);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
&НаСервере
|
&НаСервере
|
||||||
Функция НастройкиСерийВида(ВидНоменклатуры, КэшНастроек)
|
Функция НастройкиСерийВида(ВидНоменклатуры, КэшНастроек)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user