1.3.1.126: #36 — серии ввода остатков в окно распределения.
Лаеннек остаётся в колонке «Серия». Строки без характеристики с одной серией и ГТД сворачиваются. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -4,6 +4,14 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 1.3.1.126 (2026-10-09)
|
||||||
|
|
||||||
|
### #36: серии ввода остатков
|
||||||
|
|
||||||
|
- Тип «учёт себестоимости по сериям» (лаеннек) — серия в колонке строки.
|
||||||
|
- Тип «управление остатками серий» — колонка пустая, количество в табличной части «Серии» с тем же идентификатором строки.
|
||||||
|
- Строки без характеристики с одной серией и одним ГТД сворачиваются.
|
||||||
|
|
||||||
## 1.3.1.125 (2026-10-07)
|
## 1.3.1.125 (2026-10-07)
|
||||||
|
|
||||||
### #68: явный отказ партнёр-веток вне узла crm3-dev
|
### #68: явный отказ партнёр-веток вне узла crm3-dev
|
||||||
|
|||||||
@@ -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.125</Version>
|
<Version>1.3.1.126</Version>
|
||||||
<DefaultStyle/>
|
<DefaultStyle/>
|
||||||
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
||||||
<BriefInformation/>
|
<BriefInformation/>
|
||||||
|
|||||||
@@ -1096,6 +1096,7 @@
|
|||||||
Исключение
|
Исключение
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
|
СтрокиСклада = СвернутьСтрокиБезХарактеристики(СтрокиСклада);
|
||||||
Для Каждого СтрТ Из СтрокиСклада Цикл
|
Для Каждого СтрТ Из СтрокиСклада Цикл
|
||||||
ДобавитьСтрокуТоваровДокументаВвода(Док, СтрТ);
|
ДобавитьСтрокуТоваровДокументаВвода(Док, СтрТ);
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
@@ -1168,6 +1169,7 @@
|
|||||||
Исключение
|
Исключение
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
|
СтрокиГруппы = СвернутьСтрокиБезХарактеристики(СтрокиГруппы);
|
||||||
Для Каждого СтрТ Из СтрокиГруппы Цикл
|
Для Каждого СтрТ Из СтрокиГруппы Цикл
|
||||||
ДобавитьСтрокуТоваровДокументаВвода(Док, СтрТ);
|
ДобавитьСтрокуТоваровДокументаВвода(Док, СтрТ);
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
@@ -1204,7 +1206,14 @@
|
|||||||
НовСтр = Док.Товары.Добавить();
|
НовСтр = Док.Товары.Добавить();
|
||||||
НовСтр.Номенклатура = СтрТ.Номенклатура;
|
НовСтр.Номенклатура = СтрТ.Номенклатура;
|
||||||
НовСтр.Характеристика = СтрТ.Характеристика;
|
НовСтр.Характеристика = СтрТ.Характеристика;
|
||||||
НовСтр.Серия = СтрТ.СерияСсылка;
|
СкладПолитики = СтрТ.Склад;
|
||||||
|
Если Не ЗначениеЗаполнено(СкладПолитики) Тогда
|
||||||
|
СкладПолитики = Док.Склад;
|
||||||
|
КонецЕсли;
|
||||||
|
// Учёт себестоимости по сериям — колонка «Серия». Управление остатками — окно (ТЧ Серии).
|
||||||
|
Если СерияУказываетсяВКолонке(Док, СтрТ.Номенклатура, СкладПолитики) Тогда
|
||||||
|
НовСтр.Серия = СтрТ.СерияСсылка;
|
||||||
|
КонецЕсли;
|
||||||
НовСтр.Количество = КолДок;
|
НовСтр.Количество = КолДок;
|
||||||
НовСтр.КоличествоУпаковок = КолДок;
|
НовСтр.КоличествоУпаковок = КолДок;
|
||||||
НовСтр.Сумма = СтрТ.Стоимость;
|
НовСтр.Сумма = СтрТ.Стоимость;
|
||||||
@@ -1225,16 +1234,112 @@
|
|||||||
НовСтр.НомерГТД = СтрТ.НомерГТДСсылка;
|
НовСтр.НомерГТД = СтрТ.НомерГТДСсылка;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Если ЗначениеЗаполнено(СтрТ.СерияСсылка) Тогда
|
Если ЗначениеЗаполнено(СтрТ.СерияСсылка) Тогда
|
||||||
|
Если Не ЗначениеЗаполнено(НовСтр.ИдентификаторСтроки) Тогда
|
||||||
|
НовСтр.ИдентификаторСтроки = Строка(Новый УникальныйИдентификатор);
|
||||||
|
КонецЕсли;
|
||||||
СтрСер = Док.Серии.Добавить();
|
СтрСер = Док.Серии.Добавить();
|
||||||
СтрСер.Номенклатура = НовСтр.Номенклатура;
|
СтрСер.Номенклатура = НовСтр.Номенклатура;
|
||||||
СтрСер.Характеристика = НовСтр.Характеристика;
|
СтрСер.Характеристика = НовСтр.Характеристика;
|
||||||
СтрСер.Серия = СтрТ.СерияСсылка;
|
СтрСер.Серия = СтрТ.СерияСсылка;
|
||||||
СтрСер.Количество = НовСтр.Количество;
|
СтрСер.Количество = НовСтр.Количество;
|
||||||
СтрСер.КоличествоУпаковок = НовСтр.Количество;
|
СтрСер.КоличествоУпаковок = НовСтр.Количество;
|
||||||
|
СтрСер.ИдентификаторСтроки = НовСтр.ИдентификаторСтроки;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Функция СерияУказываетсяВКолонке(Док, Номенклатура, Склад)
|
||||||
|
|
||||||
|
Кэш = Неопределено;
|
||||||
|
Если Не Док.ДополнительныеСвойства.Свойство("КэшСерияВКолонке", Кэш) Тогда
|
||||||
|
Кэш = Новый Соответствие;
|
||||||
|
Док.ДополнительныеСвойства.Вставить("КэшСерияВКолонке", Кэш);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КлючСклада = "";
|
||||||
|
Если ЗначениеЗаполнено(Склад) Тогда
|
||||||
|
КлючСклада = Строка(Склад.УникальныйИдентификатор());
|
||||||
|
КонецЕсли;
|
||||||
|
Ключ = Строка(Номенклатура.УникальныйИдентификатор()) + "|" + КлючСклада;
|
||||||
|
ЗначениеКэша = Кэш.Получить(Ключ);
|
||||||
|
Если ЗначениеКэша <> Неопределено Тогда
|
||||||
|
Возврат ЗначениеКэша;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ТипПолитики = Неопределено;
|
||||||
|
Вид = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Номенклатура, "ВидНоменклатуры");
|
||||||
|
Если ЗначениеЗаполнено(Вид) И ЗначениеЗаполнено(Склад) Тогда
|
||||||
|
Запрос = Новый Запрос;
|
||||||
|
Запрос.Текст =
|
||||||
|
"ВЫБРАТЬ ПЕРВЫЕ 1
|
||||||
|
| Пол.ПолитикаУчетаСерий.ТипПолитики КАК ТипПолитики
|
||||||
|
|ИЗ
|
||||||
|
| Справочник.ВидыНоменклатуры.ПолитикиУчетаСерий КАК Пол
|
||||||
|
|ГДЕ
|
||||||
|
| Пол.Ссылка = &Вид
|
||||||
|
| И Пол.Склад = &Склад
|
||||||
|
| И Пол.ПолитикаУчетаСерий <> ЗНАЧЕНИЕ(Справочник.ПолитикиУчетаСерий.ПустаяСсылка)";
|
||||||
|
Запрос.УстановитьПараметр("Вид", Вид);
|
||||||
|
Запрос.УстановитьПараметр("Склад", Склад);
|
||||||
|
Выборка = Запрос.Выполнить().Выбрать();
|
||||||
|
Если Выборка.Следующий() Тогда
|
||||||
|
ТипПолитики = Выборка.ТипПолитики;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
Если Не ЗначениеЗаполнено(ТипПолитики) И ЗначениеЗаполнено(Вид) Тогда
|
||||||
|
Политика = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Вид, "ПолитикаУчетаСерий");
|
||||||
|
Если ЗначениеЗаполнено(Политика) Тогда
|
||||||
|
ТипПолитики = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Политика, "ТипПолитики");
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ВКолонке = ТипПолитики = Перечисления.ТипыПолитикУказанияСерий.УчетСебестоимостиПоСериям
|
||||||
|
Или ТипПолитики = Перечисления.ТипыПолитикУказанияСерий.СправочноеУказаниеСерий;
|
||||||
|
Кэш.Вставить(Ключ, ВКолонке);
|
||||||
|
Возврат ВКолонке;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция СвернутьСтрокиБезХарактеристики(Строки)
|
||||||
|
|
||||||
|
Результат = Новый Массив;
|
||||||
|
Индекс = Новый Соответствие;
|
||||||
|
Для Каждого СтрТ Из Строки Цикл
|
||||||
|
Если ЗначениеЗаполнено(СтрТ.Характеристика) Или Не ЗначениеЗаполнено(СтрТ.СерияСсылка) Тогда
|
||||||
|
Результат.Добавить(СтрТ);
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
КлючГТД = "";
|
||||||
|
Если ЗначениеЗаполнено(СтрТ.НомерГТДСсылка) Тогда
|
||||||
|
КлючГТД = Строка(СтрТ.НомерГТДСсылка.УникальныйИдентификатор());
|
||||||
|
КонецЕсли;
|
||||||
|
Ключ = Строка(СтрТ.Номенклатура.УникальныйИдентификатор())
|
||||||
|
+ "|" + Строка(СтрТ.СерияСсылка.УникальныйИдентификатор())
|
||||||
|
+ "|" + КлючГТД;
|
||||||
|
Уже = Индекс.Получить(Ключ);
|
||||||
|
Если Уже = Неопределено Тогда
|
||||||
|
Индекс.Вставить(Ключ, СтрТ);
|
||||||
|
Результат.Добавить(СтрТ);
|
||||||
|
Иначе
|
||||||
|
Уже.Количество = КоличествоСтрокиВвода(Уже) + КоличествоСтрокиВвода(СтрТ);
|
||||||
|
Уже.КоличествоОрганизации = Уже.Количество;
|
||||||
|
Уже.Стоимость = Уже.Стоимость + СтрТ.Стоимость;
|
||||||
|
Уже.СтоимостьРегл = Уже.СтоимостьРегл + СтрТ.СтоимостьРегл;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
Возврат Результат;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция КоличествоСтрокиВвода(СтрТ)
|
||||||
|
|
||||||
|
Если СтрТ.КоличествоОрганизации <> 0 Тогда
|
||||||
|
Возврат СтрТ.КоличествоОрганизации;
|
||||||
|
КонецЕсли;
|
||||||
|
Возврат СтрТ.Количество;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
// Расчёт СуммаНДС / СуммаСНДС / СуммаБезНДС / НДСРегл после заполнения строк (#33).
|
// Расчёт СуммаНДС / СуммаСНДС / СуммаБезНДС / НДСРегл после заполнения строк (#33).
|
||||||
// Штатный путь — ПакетнаяОбработкаТабличнойЧасти (как в форме/модуле ВводОстатковТоваров).
|
// Штатный путь — ПакетнаяОбработкаТабличнойЧасти (как в форме/модуле ВводОстатковТоваров).
|
||||||
//
|
//
|
||||||
|
|||||||
Reference in New Issue
Block a user