РК_ПроверкаСерий 1.3.1.87: группы строк серии и синхронизация значений (#17).
This commit is contained in:
@@ -759,6 +759,88 @@
|
||||
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
|
||||
</Properties>
|
||||
</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>
|
||||
</TabularSection>
|
||||
<TabularSection uuid="f14e0020-0020-4000-8000-000000000020">
|
||||
|
||||
@@ -198,6 +198,22 @@
|
||||
<ContextMenu name="ПроблемныеСерииПорядковыйНомерКонтекстноеМеню" id="163"/>
|
||||
<ExtendedTooltip name="ПроблемныеСерииПорядковыйНомерРасширеннаяПодсказка" id="164"/>
|
||||
</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">
|
||||
<DataPath>Объект.ПроблемныеСерии.Серия</DataPath>
|
||||
<ReadOnly>true</ReadOnly>
|
||||
|
||||
@@ -302,6 +302,8 @@
|
||||
СоответствиеИмен = Новый Соответствие;
|
||||
СоответствиеИмен.Вставить("ПроблемныеСерииОтметка", "Отметка");
|
||||
СоответствиеИмен.Вставить("ПроблемныеСерииПорядковыйНомер", "ПорядковыйНомер");
|
||||
СоответствиеИмен.Вставить("ПроблемныеСерииНомерГруппы", "НомерГруппы");
|
||||
СоответствиеИмен.Вставить("ПроблемныеСерииКоличествоВГруппе", "КоличествоВГруппе");
|
||||
СоответствиеИмен.Вставить("ПроблемныеСерииСерия", "Серия");
|
||||
СоответствиеИмен.Вставить("ПроблемныеСерииОстаток", "Остаток");
|
||||
СоответствиеИмен.Вставить("ПроблемныеСерииПроблема", "Проблема");
|
||||
@@ -414,6 +416,7 @@
|
||||
КонецЦикла;
|
||||
|
||||
Объект.ПроблемныеСерии.Сортировать("Остаток Убыв, ПорядковыйНомер");
|
||||
ОбновитьГруппыСтрокПоСериям();
|
||||
Возврат Объект.ПроблемныеСерии.Количество();
|
||||
|
||||
КонецФункции
|
||||
@@ -478,6 +481,8 @@
|
||||
НовСтр = Объект.ПроблемныеСерии.Добавить();
|
||||
НовСтр.Отметка = Истина;
|
||||
НовСтр.ПорядковыйНомер = НомерСтроки;
|
||||
НовСтр.НомерГруппы = 0;
|
||||
НовСтр.КоличествоВГруппе = 0;
|
||||
НовСтр.Серия = ДанныеСтроки.Серия;
|
||||
НовСтр.Номенклатура = НоменклатураСерииИзСоответствия(
|
||||
ОстаткиИНоменклатура.Номенклатура, ДанныеСтроки.Серия);
|
||||
@@ -546,6 +551,7 @@
|
||||
|
||||
Если ИзмененийВСтроке > 0 Тогда
|
||||
Заполнено = Заполнено + 1;
|
||||
СинхронизироватьСтрокиСерии(Стр.Серия, Стр);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
@@ -703,6 +709,7 @@
|
||||
Если Объект.РежимТест Тогда
|
||||
Стр.Исправлено = Истина;
|
||||
Результат.Исправлено = Результат.Исправлено + 1;
|
||||
СинхронизироватьСтрокиСерии(Стр.Серия, Стр);
|
||||
Иначе
|
||||
ОбСерии = Стр.Серия.ПолучитьОбъект();
|
||||
Если Не ЗначениеЗаполнено(СокрЛП(Стр.Номер))
|
||||
@@ -723,6 +730,7 @@
|
||||
Стр.ГоденДо = ОбСерии.ГоденДо;
|
||||
Стр.Наименование = ОбСерии.Наименование;
|
||||
Результат.Исправлено = Результат.Исправлено + 1;
|
||||
СинхронизироватьСтрокиСерии(Стр.Серия, Стр);
|
||||
КонецЕсли;
|
||||
Исключение
|
||||
Стр.Комментарий = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
@@ -767,6 +775,61 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура СинхронизироватьСтрокиСерии(Серия, ИсточникСтрока)
|
||||
|
||||
Если Не ЗначениеЗаполнено(Серия) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого СтрСерии Из Объект.ПроблемныеСерии Цикл
|
||||
Если СтрСерии.Серия <> Серия Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если СтрСерии = ИсточникСтрока Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
СтрСерии.Номер = ИсточникСтрока.Номер;
|
||||
СтрСерии.ГоденДо = ИсточникСтрока.ГоденДо;
|
||||
СтрСерии.Наименование = ИсточникСтрока.Наименование;
|
||||
СтрСерии.ПредложенныйНомер = ИсточникСтрока.ПредложенныйНомер;
|
||||
СтрСерии.ПредложенныйГоденДо = ИсточникСтрока.ПредложенныйГоденДо;
|
||||
СтрСерии.ПредложенноеНаименование = ИсточникСтрока.ПредложенноеНаименование;
|
||||
СтрСерии.Исправлено = ИсточникСтрока.Исправлено;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ОбновитьГруппыСтрокПоСериям()
|
||||
|
||||
СчетчикиСтрок = Новый Соответствие;
|
||||
НомераГрупп = Новый Соответствие;
|
||||
СледующийНомерГруппы = 0;
|
||||
|
||||
Для Каждого Стр Из Объект.ПроблемныеСерии Цикл
|
||||
КлючСерии = Строка(Стр.Серия);
|
||||
Количество = СчетчикиСтрок.Получить(КлючСерии);
|
||||
Если Количество = Неопределено Тогда
|
||||
Количество = 0;
|
||||
КонецЕсли;
|
||||
СчетчикиСтрок.Вставить(КлючСерии, Количество + 1);
|
||||
|
||||
Если НомераГрупп.Получить(КлючСерии) = Неопределено Тогда
|
||||
СледующийНомерГруппы = СледующийНомерГруппы + 1;
|
||||
НомераГрупп.Вставить(КлючСерии, СледующийНомерГруппы);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Для Каждого Стр Из Объект.ПроблемныеСерии Цикл
|
||||
КлючСерии = Строка(Стр.Серия);
|
||||
Стр.НомерГруппы = НомераГрупп.Получить(КлючСерии);
|
||||
Стр.КоличествоВГруппе = СчетчикиСтрок.Получить(КлючСерии);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция НастройкиСерийВида(ВидНоменклатуры, КэшНастроек)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user