1.3.1.130: признак суммы регл. на комиссии 2.5 и модуль пересчёта.

Флажок стоит рядом с «Цена включает НДС». Смена количества берёт курс строки, смена даты сумму регл. не меняет.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
mihailkudravcev
2026-10-13 09:41:21 +03:00
parent 53e18178f5
commit 23cd931a97
5 changed files with 178 additions and 2 deletions
+7
View File
@@ -4,6 +4,13 @@
---
## 1.3.1.130 (2026-10-13)
### #78: признак суммы регл. на форме комиссии 2.5
- На странице «Переданные на комиссию товары 2.5» формы ввода остатков, рядом с «Цена включает НДС», выведен тот же реквизит, что на собственных товарах.
- В модуль формы возвращён пересчёт: при включённом признаке смена количества берёт курс строки, смена даты сумму регл. и НДС регл. не меняет. Текст контроля совпадает с процедурами основной конфигурации.
## 1.3.1.129 (2026-10-12)
### Форма ввода остатков собственных товаров
+1 -1
View File
@@ -1 +1 @@
1.3.1.129
1.3.1.130
+1 -1
View File
@@ -62,7 +62,7 @@
<xr:Item xsi:type="xr:MDObjectRef">Role.РК_ОсновнаяРоль</xr:Item>
</DefaultRoles>
<Vendor/>
<Version>1.3.1.129</Version>
<Version>1.3.1.130</Version>
<DefaultStyle/>
<DefaultLanguage>Language.Русский</DefaultLanguage>
<BriefInformation/>
@@ -8151,6 +8151,13 @@
<ContextMenu name="ПереданныеНаКомиссию25ЦенаВключаетНДСКонтекстноеМеню" id="3322"/>
<ExtendedTooltip name="ПереданныеНаКомиссию25ЦенаВключаетНДСРасширеннаяПодсказка" id="3323"/>
</CheckBoxField>
<CheckBoxField name="РК_НеПересчитыватьСуммуРеглПоКурсуКомиссия25" id="1000011">
<DataPath>Объект.РК_НеПересчитыватьСуммуРеглПоКурсу</DataPath>
<TitleLocation>Right</TitleLocation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="РК_НеПересчитыватьСуммуРеглПоКурсуКомиссия25КонтекстноеМеню" id="1000012"/>
<ExtendedTooltip name="РК_НеПересчитыватьСуммуРеглПоКурсуКомиссия25РасширеннаяПодсказка" id="1000013"/>
</CheckBoxField>
</ChildItems>
</UsualGroup>
<UsualGroup name="ГруппаПереданныеНаКомиссиюШапкаПраво2_5" id="3324">
@@ -0,0 +1,162 @@
#Область РК_СуммаРегл
&НаКлиенте
&ИзменениеИКонтроль("КоличествоПриИзменении")
Процедура РК_КоличествоПриИзменении()
ТекущаяСтрока = Элементы[ИмяТекущейТаблицыФормы].ТекущиеДанные;
#Вставка
// --- РК ---
КоэффициентСуммыРегл = КоэффициентПересчетаИзВалютыУпрВРегл;
Если Объект.РК_НеПересчитыватьСуммуРеглПоКурсу Тогда
КоэффициентСуммыРегл = РК_КоэффициентСуммыРеглСтроки(ТекущаяСтрока, КоэффициентПересчетаИзВалютыУпрВРегл);
КонецЕсли;
// ---
#КонецВставки
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц", ПараметрыПересчетаКоличестваЕдиниц(Объект.ХозяйственнаяОперация));
СтруктураДействий.Вставить("ПересчитатьСумму");
СтруктураПересчетаСуммы = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект);
СтруктураПересчетаСуммы.НалогообложениеНДС = ПредопределенноеЗначение("Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС");
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
Если ЭтоОстаткиСобственныхТоваров
Или ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары
Или ЭтоОстаткиПереданныхПереработчикамТоваров2_5
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
Или ЭтоОстаткиПринятыхНаХранениеТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров2_5
Или ЭтоОстаткиПереданныхНаХранениеТоваров
Или ЭтоОстаткиПереданныхВПроизводствоТоваров
Или ЭтоОстаткиОтгруженныхТоваров Тогда
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекПересчетаРеквизитовТабличнойЧасти(
Объект,
СтруктураДействий);
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
СтруктураДействий = Новый Структура;
Если Не Объект.ЦенаВключаетНДС Тогда
ТекущаяСтрока.СуммаБезНДС = ТекущаяСтрока.Сумма;
Иначе
СтруктураДействий.Вставить("ПересчитатьСуммуБезНДС", СтруктураПересчетаСуммы);
КонецЕсли;
#Удаление
СтруктураДействий.Вставить("ПересчитатьСуммуРегл", КоэффициентПересчетаИзВалютыУпрВРегл);
#КонецУдаления
#Вставка
// --- РК ---
СтруктураДействий.Вставить("ПересчитатьСуммуРегл", КоэффициентСуммыРегл);
// ---
#КонецВставки
Если НЕ (ЭтоОстаткиПринятойТары
Или ЭтоОстаткиПереданнойТары) Тогда
СтруктураДействий.Вставить("ПересчитатьНДСРегл", СтруктураПересчетаСуммы);
КонецЕсли;
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
КонецПроцедуры
&НаСервере
&ИзменениеИКонтроль("ДатаПриИзмененииСервер")
Процедура РК_ДатаПриИзмененииСервер()
#Вставка
// --- РК ---
СнимокСуммРегл = Неопределено;
Если Объект.РК_НеПересчитыватьСуммуРеглПоКурсу Тогда
СнимокСуммРегл = РК_СнимокСуммРегл();
КонецЕсли;
// ---
#КонецВставки
КоэффициентПересчетаИзВалютыУпрВРегл = КоэффициентПересчета(ВалютаУправленческогоУчета, ВалютаРегламентированногоУчета, Объект.Дата);
ИспользоватьУчетПрослеживаемыхИмпортныхТоваров = УчетПрослеживаемыхТоваровЛокализация.ИспользоватьУчетПрослеживаемыхИмпортныхТоваров(
Объект.Дата);
ПараметрыУказанияСерий = Новый ФиксированнаяСтруктура(НоменклатураСервер.ПараметрыУказанияСерий(Объект, Документы.ВводОстатковТоваров));
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Объект,ПараметрыУказанияСерий);
УстановитьВидимость();
Документы.ВводОстатковТоваров.ЗаполнитьВидДеятельностиНДС(Объект, ЭтотОбъект, Истина);
ЗаполнитьНалогообложениеНДС();
НалогообложениеНДСПриИзмененииСервер();
ПолучитьМетодОценкиСтоимостиТоваров();
УстановитьВидимостьКоличестваРНПТ();
Если Не Элементы.СобственныеТоварыГруппаКоличествоПоРНПТ.Видимость
Или Не Элементы.ПолученныеНаКомиссиюГруппаКоличествоПоРНПТ.Видимость
Или Не Элементы.ПолученныеНаХранениеГруппаКоличествоПоРНПТ.Видимость
Или Не Элементы.ПереданныеНаКомиссиюГруппаКоличествоПоРНПТ.Видимость
Или Не Элементы.ПереданныеНаКомиссию25ГруппаКоличествоПоРНПТ.Видимость
Или Не Элементы.ПереданныеНаХранениеГруппаКоличествоПоРНПТ.Видимость Тогда
ПересчитатьКоличествоРНПТ();
КонецЕсли;
//++ Локализация
//-- Локализация
УчетПодакцизныхТоваров.ОбновитьЭлементыУчетаПодакцизныхТоваров(ЭтотОбъект);
#Вставка
// --- РК ---
Если СнимокСуммРегл <> Неопределено Тогда
РК_ВосстановитьСуммыРегл(СнимокСуммРегл);
КонецЕсли;
// ---
#КонецВставки
КонецПроцедуры
&НаКлиенте
Функция РК_КоэффициентСуммыРеглСтроки(СтрокаТовара, КоэффициентДаты)
Если СтрокаТовара.СуммаБезНДС = 0 Или СтрокаТовара.СуммаРегл = 0 Тогда
Возврат КоэффициентДаты;
КонецЕсли;
Возврат СтрокаТовара.СуммаРегл / СтрокаТовара.СуммаБезНДС;
КонецФункции
&НаСервере
Функция РК_СнимокСуммРегл()
Снимок = Новый Массив;
Для Каждого СтрокаТовара Из Объект.Товары Цикл
Снимок.Добавить(Новый Структура(
"НомерСтроки, СуммаРегл, НДСРегл",
СтрокаТовара.НомерСтроки,
СтрокаТовара.СуммаРегл,
СтрокаТовара.НДСРегл));
КонецЦикла;
Возврат Снимок;
КонецФункции
&НаСервере
Процедура РК_ВосстановитьСуммыРегл(Снимок)
Для Каждого Элемент Из Снимок Цикл
Если Элемент.НомерСтроки < 1 Или Элемент.НомерСтроки > Объект.Товары.Количество() Тогда
Продолжить;
КонецЕсли;
СтрокаТовара = Объект.Товары[Элемент.НомерСтроки - 1];
СтрокаТовара.СуммаРегл = Элемент.СуммаРегл;
СтрокаТовара.НДСРегл = Элемент.НДСРегл;
КонецЦикла;
КонецПроцедуры
#КонецОбласти