1.3.1.131: повторный выбор номенклатуры не пересчитывает сумму регл.

При включённом признаке сумма регл. и НДС регл. строки остаются как до выбора.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
mihailkudravcev
2026-10-13 10:23:02 +03:00
parent 23cd931a97
commit 77212884f2
4 changed files with 79 additions and 2 deletions
+6
View File
@@ -4,6 +4,12 @@
--- ---
## 1.3.1.131 (2026-10-13)
### #78: повторный выбор номенклатуры не пересчитывает сумму регл.
- При включённом признаке смена номенклатуры в строке оставляет сумму регл. и НДС регл. как были до выбора. Сумма в валюте документа пересчитывается штатно.
## 1.3.1.130 (2026-10-13) ## 1.3.1.130 (2026-10-13)
### #78: признак суммы регл. на форме комиссии 2.5 ### #78: признак суммы регл. на форме комиссии 2.5
+1 -1
View File
@@ -1 +1 @@
1.3.1.130 1.3.1.131
+1 -1
View File
@@ -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.130</Version> <Version>1.3.1.131</Version>
<DefaultStyle/> <DefaultStyle/>
<DefaultLanguage>Language.Русский</DefaultLanguage> <DefaultLanguage>Language.Русский</DefaultLanguage>
<BriefInformation/> <BriefInformation/>
@@ -119,6 +119,77 @@
#КонецВставки #КонецВставки
КонецПроцедуры КонецПроцедуры
&НаКлиенте
&ИзменениеИКонтроль("НоменклатураПриИзменении")
Процедура РК_НоменклатураПриИзменении(ИдентификаторТекущейСтроки = Неопределено)
Если ИдентификаторТекущейСтроки <> Неопределено Тогда
ТекущаяСтрока = Объект.Товары.НайтиПоИдентификатору(ИдентификаторТекущейСтроки);
Иначе
ТекущаяСтрока = Элементы[ИмяТекущейТаблицыФормы].ТекущиеДанные;
КонецЕсли;
#Вставка
// --- РК ---
СуммаРеглДоПересчета = ТекущаяСтрока.СуммаРегл;
НДСРеглДоПересчета = ТекущаяСтрока.НДСРегл;
// ---
#КонецВставки
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПроверитьХарактеристикуПоВладельцу", ТекущаяСтрока.Характеристика);
СтруктураДействий.Вставить("ПроверитьЗаполнитьУпаковкуПоВладельцу", ТекущаяСтрока.Упаковка);
СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц", ПараметрыПересчетаКоличестваЕдиниц(Объект.ХозяйственнаяОперация));
СтруктураДействий.Вставить("ЗаполнитьПризнакВедетсяУчетПоГТД", Новый Структура("Номенклатура", "ВедетсяУчетПоГТД"));
СтруктураДействий.Вставить("ЗаполнитьПризнакАртикул", Новый Структура("Номенклатура", "Артикул"));
СтруктураДействий.Вставить("ЗаполнитьПризнакТипНоменклатуры", Новый Структура("Номенклатура", "ТипНоменклатуры"));
СтруктураДействий.Вставить("ЗаполнитьПризнакТипИзмеряемойВеличины", Новый Структура("Номенклатура", "ТипИзмеряемойВеличины"));
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПереданныхПереработчикамТоваров2_5
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПринятыхНаХранениеТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров2_5
Или ЭтоОстаткиПереданныхНаХранениеТоваров
Или ЭтоОстаткиПереданныхВПроизводствоТоваров
Или ЭтоОстаткиОтгруженныхТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекЗаполненияСлужебныхРеквизитовТабличнойЧасти(
СтруктураДействий);
КонецЕсли;
ПараметрыПроверкиСерий = Новый Структура("Склад, ПараметрыУказанияСерий", Объект[ПараметрыУказанияСерий.ИмяПоляСклад], ПараметрыУказанияСерий);
СтруктураДействий.Вставить("ПроверитьСериюРассчитатьСтатус", ПараметрыПроверкиСерий);
СтруктураДействий.Вставить("НоменклатураПриИзмененииПереопределяемый", Новый Структура("ИмяФормы, ИмяТабличнойЧасти",
ИмяФормы, ИмяТекущейТаблицыФормы));
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
Если НЕ ЗначениеЗаполнено(ТекущаяСтрока.СтавкаНДС) ИЛИ ИдентификаторТекущейСтроки = Неопределено Тогда
ТекущаяСтрока.СтавкаНДС = СтавкаНДСНоменклатуры(ТекущаяСтрока.Номенклатура, Объект.Организация, Объект.НалогообложениеНДС, Объект.Дата, Объект.ХозяйственнаяОперация);
КонецЕсли;
Если Не ТекущаяСтрока.ВедетсяУчетПоГТД
И Не ТекущаяСтрока.ВедетсяУчетПоРНПТ Тогда
ТекущаяСтрока.НомерГТД = Неопределено;
ТекущаяСтрока.ТипНомераГТД = Неопределено;
КонецЕсли;
УпаковкаПриИзменении(ИдентификаторТекущейСтроки);
#Вставка
// --- РК ---
Если Объект.РК_НеПересчитыватьСуммуРеглПоКурсу Тогда
ТекущаяСтрока.СуммаРегл = СуммаРеглДоПересчета;
ТекущаяСтрока.НДСРегл = НДСРеглДоПересчета;
КонецЕсли;
// ---
#КонецВставки
КонецПроцедуры
&НаКлиенте &НаКлиенте
Функция РК_КоэффициентСуммыРеглСтроки(СтрокаТовара, КоэффициентДаты) Функция РК_КоэффициентСуммыРеглСтроки(СтрокаТовара, КоэффициентДаты)