diff --git a/CHANGELOG.md b/CHANGELOG.md index 84c6dd6..265dfe9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,15 @@ --- +## 1.3.1.120 (2026-09-04) + +### РК_ЗагрузкаОстатков — ДатаСрокаГодностиПоУмолчанию (#46) + +- Сохраняемый реквизит `ДатаСрокаГодностиПоУмолчанию` + поле на вкладке Настройки. +- Fallback `ГоденДо` при создании серии без `series_expire` / даты в имени — из реквизита, **не** из даты среза. +- Пустой реквизит: заглушка `Перенос_*` не создаётся (комментарий сопоставления). +- `ДатаПроизводства` по-прежнему = дата среза остатков. + ## 1.3.1.119 (2026-09-04) ### РК_ЗагрузкаОстатков — порядок команд + версия на форме (#40) diff --git a/VERSION b/VERSION index 1ce292c..302139d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.3.1.119 +1.3.1.120 diff --git a/src/ConfigDumpInfo.xml b/src/ConfigDumpInfo.xml index dde8428..dfca237 100644 --- a/src/ConfigDumpInfo.xml +++ b/src/ConfigDumpInfo.xml @@ -57,7 +57,7 @@ - + @@ -179,6 +179,7 @@ + @@ -204,8 +205,8 @@ - - + + diff --git a/src/Configuration.xml b/src/Configuration.xml index 243a681..883e75b 100644 --- a/src/Configuration.xml +++ b/src/Configuration.xml @@ -62,7 +62,7 @@ Role.РК_ОсновнаяРоль - 1.3.1.119 + 1.3.1.120 Language.Русский diff --git a/src/DataProcessors/РК_ЗагрузкаОстатков.xml b/src/DataProcessors/РК_ЗагрузкаОстатков.xml index 1fcaf5c..f517d10 100644 --- a/src/DataProcessors/РК_ЗагрузкаОстатков.xml +++ b/src/DataProcessors/РК_ЗагрузкаОстатков.xml @@ -348,6 +348,43 @@ Auto + + + ДатаСрокаГодностиПоУмолчанию + + + ru + Дата срока годности по умолчанию + + + Fallback ГоденДо для серий без series_expire и без даты в имени (#46). Не путать с датой среза. + + xs:dateTime + + Date + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + diff --git a/src/DataProcessors/РК_ЗагрузкаОстатков/Ext/ObjectModule.bsl b/src/DataProcessors/РК_ЗагрузкаОстатков/Ext/ObjectModule.bsl index cb1195d..96854c2 100644 --- a/src/DataProcessors/РК_ЗагрузкаОстатков/Ext/ObjectModule.bsl +++ b/src/DataProcessors/РК_ЗагрузкаОстатков/Ext/ObjectModule.bsl @@ -119,7 +119,10 @@ ДобавитьСтрокуПротокола(Результат, "Режим: " + ?(РежимТест, "тест (без создания)", "запись")); ДобавитьСтрокуПротокола(Результат, "Строк во входящих: " + Формат(ВходящиеСобственныеТовары.Количество(), "ЧН=0; ЧГ=0") - + "; заглушки серий: " + ?(СоздаватьЗаглушкиСерий, "вкл", "выкл")); + + "; заглушки серий: " + ?(СоздаватьЗаглушкиСерий, "вкл", "выкл") + + "; ГоденДо по умолчанию: " + + ?(ЗначениеЗаполнено(ДатаСрокаГодностиПоУмолчанию), + Формат(ДатаСрокаГодностиПоУмолчанию, "ДФ=yyyy-MM-dd"), "(не задан)")); СуффиксДатыСер = Формат(?(ЗначениеЗаполнено(ДатаДокументовВвода), ДатаДокументовВвода, ДатаОстатков), "ДФ=yyyyMMdd"); Если ПустаяСтрока(СуффиксДатыСер) Тогда @@ -209,7 +212,10 @@ ДобавитьСтрокуПротокола(Результат, "Режим: " + ?(РежимТест, "тест (без создания)", "запись")); ДобавитьСтрокуПротокола(Результат, "Строк во входящих: " + Формат(ВходящиеКомиссионныеТовары.Количество(), "ЧН=0; ЧГ=0") - + "; заглушки серий: " + ?(СоздаватьЗаглушкиСерий, "вкл", "выкл")); + + "; заглушки серий: " + ?(СоздаватьЗаглушкиСерий, "вкл", "выкл") + + "; ГоденДо по умолчанию: " + + ?(ЗначениеЗаполнено(ДатаСрокаГодностиПоУмолчанию), + Формат(ДатаСрокаГодностиПоУмолчанию, "ДФ=yyyy-MM-dd"), "(не задан)")); СуффиксДатыСер = Формат(?(ЗначениеЗаполнено(ДатаДокументовВвода), ДатаДокументовВвода, ДатаОстатков), "ДФ=yyyyMMdd"); Если ПустаяСтрока(СуффиксДатыСер) Тогда @@ -1789,6 +1795,18 @@ КонецФункции +// Fallback ГоденДо, если нет series_expire / СерияГоденДо и даты в имени (#46). +// Дата среза остатков сюда НЕ подставляется. +// +Функция ГоденДоПоУмолчаниюОбработки() + + Если ЗначениеЗаполнено(ДатаСрокаГодностиПоУмолчанию) Тогда + Возврат КонецДня(ДатаСрокаГодностиПоУмолчанию); + КонецЕсли; + Возврат '00010101'; + +КонецФункции + Функция КодНоменклатурыДляЗаглушкиСерии(СтрТ, Ном) Арт = СокрЛП(СтрТ.Артикул); @@ -1900,7 +1918,12 @@ Возврат Сер; КонецЕсли; Если Не ЗначениеЗаполнено(ГоденДо) Тогда - ГоденДо = КонецДня(ДатаСрезаОстатковОбработки()); + ГоденДо = ГоденДоПоУмолчаниюОбработки(); + КонецЕсли; + Если Не ЗначениеЗаполнено(ГоденДо) Тогда + СтрТ.КомментарийСопоставления = + "Серия обязательна, срок годности не определён (задайте «Дата срока годности по умолчанию»)"; + Возврат Сер; КонецЕсли; СтрТ.СерияГоденДо = ГоденДо; НомерСерии = СформироватьНомерЗаглушкиСерии(СтрТ, Ном, ГоденДо); @@ -1912,6 +1935,9 @@ Если Не ЗначениеЗаполнено(ГоденДо) Тогда ГоденДо = ДатаИзИмениСерии(ИмяСерии); КонецЕсли; + Если Не ЗначениеЗаполнено(ГоденДо) Тогда + ГоденДо = ГоденДоПоУмолчаниюОбработки(); + КонецЕсли; Если ЗначениеЗаполнено(ГоденДо) Тогда СтрТ.СерияГоденДо = ГоденДо; КонецЕсли; @@ -1968,8 +1994,15 @@ Если Не ЗначениеЗаполнено(Сер) И МожноСоздать Тогда Попытка Если Не ЗначениеЗаполнено(ГоденДо) Тогда - ГоденДо = КонецДня(ДатаСрезаОстатковОбработки()); - СтрТ.СерияГоденДо = ГоденДо; + ГоденДо = ГоденДоПоУмолчаниюОбработки(); + Если ЗначениеЗаполнено(ГоденДо) Тогда + СтрТ.СерияГоденДо = ГоденДо; + КонецЕсли; + КонецЕсли; + Если ЭтоЗаглушка И Не ЗначениеЗаполнено(ГоденДо) Тогда + СтрТ.КомментарийСопоставления = + "Серия обязательна, срок годности не определён (задайте «Дата срока годности по умолчанию»)"; + Возврат Сер; КонецЕсли; ОбСер = Справочники.СерииНоменклатуры.ПустойОбъект(ВидСер); Если ИспНомерСерии Тогда diff --git a/src/DataProcessors/РК_ЗагрузкаОстатков/Forms/Форма/Ext/Form.xml b/src/DataProcessors/РК_ЗагрузкаОстатков/Forms/Форма/Ext/Form.xml index 3abf84e..2c4b19a 100644 --- a/src/DataProcessors/РК_ЗагрузкаОстатков/Forms/Форма/Ext/Form.xml +++ b/src/DataProcessors/РК_ЗагрузкаОстатков/Forms/Форма/Ext/Form.xml @@ -234,6 +234,19 @@ + + Объект.ДатаСрокаГодностиПоУмолчанию + + + ru + ГоденДо новых серий, если в API/имени серии срока нет. Дата среза остатков сюда не подставляется. Пустое значение — заглушки без срока не создаются + + + ShowRight + true + + + Объект.ПерезаписатьДокументы @@ -1375,6 +1388,7 @@ Объект.ДатаДокументовВвода Объект.ДатаОстатков + Объект.ДатаСрокаГодностиПоУмолчанию Объект.Организация Объект.ПодключениеКСтороннейБазе Объект.ПутьКФайламВыгрузкиТаблиц