1.3.1.135: серия по UUID со сроком 01.01.2001 берёт номер и срок из источника.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -4,6 +4,13 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 1.3.1.135 (2026-10-14)
|
||||||
|
|
||||||
|
### Ввод остатков: серия по UUID со сроком 01.01.2001
|
||||||
|
|
||||||
|
- Если карточка серии уже есть по идентификатору источника, новая не создаётся.
|
||||||
|
- У карточки со сроком 01.01.2001 и цифровым номером срок и номер берутся из имени серии источника. Занятый номер другого элемента не перезаписывается.
|
||||||
|
|
||||||
## 1.3.1.134 (2026-10-13)
|
## 1.3.1.134 (2026-10-13)
|
||||||
|
|
||||||
### Ввод остатков: серия строки в таблице товаров
|
### Ввод остатков: серия строки в таблице товаров
|
||||||
|
|||||||
@@ -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.134</Version>
|
<Version>1.3.1.135</Version>
|
||||||
<DefaultStyle/>
|
<DefaultStyle/>
|
||||||
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
||||||
<BriefInformation/>
|
<BriefInformation/>
|
||||||
|
|||||||
@@ -2234,6 +2234,53 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура АктуализироватьСериюСПустымСроком(Сер, ИмяСерии, ГоденДо, РежимТест)
|
||||||
|
|
||||||
|
Если РежимТест Или Не ЗначениеЗаполнено(Сер) Или Не ЗначениеЗаполнено(ГоденДо) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
Если НачалоДня(ГоденДо) <= Дата(2001, 1, 1) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Рекв = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Сер, "Номер, ГоденДо, ВидНоменклатуры");
|
||||||
|
Если ЗначениеЗаполнено(Рекв.ГоденДо) И НачалоДня(Рекв.ГоденДо) > Дата(2001, 1, 1) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Попытка
|
||||||
|
Объект = Сер.ПолучитьОбъект();
|
||||||
|
Объект.ГоденДо = ГоденДо;
|
||||||
|
НомерИсточник = СокрЛП(ИмяСерии);
|
||||||
|
Если ЗначениеЗаполнено(НомерИсточник) И НомерСерииТолькоЦифры(СокрЛП(Рекв.Номер)) Тогда
|
||||||
|
Занятый = Справочники.СерииНоменклатуры.НайтиПоРеквизиту(
|
||||||
|
"Номер", НомерИсточник, , Рекв.ВидНоменклатуры);
|
||||||
|
Если Не ЗначениеЗаполнено(Занятый) Или Занятый = Сер Тогда
|
||||||
|
Объект.Номер = НомерИсточник;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
Объект.Записать();
|
||||||
|
Исключение
|
||||||
|
// Срок карточки не обновлён. Строка остатка всё равно ссылается на найденную серию.
|
||||||
|
КонецПопытки;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Функция НомерСерииТолькоЦифры(Номер)
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(Номер) Тогда
|
||||||
|
Возврат Ложь;
|
||||||
|
КонецЕсли;
|
||||||
|
Для Индекс = 1 По СтрДлина(Номер) Цикл
|
||||||
|
Символ = Сред(Номер, Индекс, 1);
|
||||||
|
Если Символ < "0" Или Символ > "9" Тогда
|
||||||
|
Возврат Ложь;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
Возврат Истина;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
Функция НайтиИлиСоздатьСерию(СтрТ, Ном, СкладЦель, СуффиксДатыСер, РежимТест,
|
Функция НайтиИлиСоздатьСерию(СтрТ, Ном, СкладЦель, СуффиксДатыСер, РежимТест,
|
||||||
КэшТребуетсяСерия, КэшСерий, Результат)
|
КэшТребуетсяСерия, КэшСерий, Результат)
|
||||||
|
|
||||||
@@ -2295,6 +2342,9 @@
|
|||||||
|
|
||||||
СсылкаПоГуид = СсылкаПоUUID(Справочники.СерииНоменклатуры, СтрТ.СерияИдентификатор);
|
СсылкаПоГуид = СсылкаПоUUID(Справочники.СерииНоменклатуры, СтрТ.СерияИдентификатор);
|
||||||
Если ЗначениеЗаполнено(СсылкаПоГуид) И ОбщегоНазначения.СсылкаСуществует(СсылкаПоГуид) Тогда
|
Если ЗначениеЗаполнено(СсылкаПоГуид) И ОбщегоНазначения.СсылкаСуществует(СсылкаПоГуид) Тогда
|
||||||
|
Если Не ЭтоЗаглушка Тогда
|
||||||
|
АктуализироватьСериюСПустымСроком(СсылкаПоГуид, ИмяСерии, ГоденДо, РежимТест);
|
||||||
|
КонецЕсли;
|
||||||
Если ЭтоЗаглушка Тогда
|
Если ЭтоЗаглушка Тогда
|
||||||
КэшСерий.Вставить(КлючКэшаСерииЗаглушки(ВидСер, Ном, ГоденДо), СсылкаПоГуид);
|
КэшСерий.Вставить(КлючКэшаСерииЗаглушки(ВидСер, Ном, ГоденДо), СсылкаПоГуид);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|||||||
Reference in New Issue
Block a user