diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ac4abf..b3baaef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,13 @@ --- +## 1.3.1.130 (2026-10-13) + +### #78: признак суммы регл. на форме комиссии 2.5 + +- На странице «Переданные на комиссию товары 2.5» формы ввода остатков, рядом с «Цена включает НДС», выведен тот же реквизит, что на собственных товарах. +- В модуль формы возвращён пересчёт: при включённом признаке смена количества берёт курс строки, смена даты сумму регл. и НДС регл. не меняет. Текст контроля совпадает с процедурами основной конфигурации. + ## 1.3.1.129 (2026-10-12) ### Форма ввода остатков собственных товаров diff --git a/VERSION b/VERSION index e3eca25..9f0217d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.3.1.129 +1.3.1.130 diff --git a/src/Configuration.xml b/src/Configuration.xml index 2de4df5..95d099f 100644 --- a/src/Configuration.xml +++ b/src/Configuration.xml @@ -62,7 +62,7 @@ Role.РК_ОсновнаяРоль - 1.3.1.129 + 1.3.1.130 Language.Русский diff --git a/src/Documents/ВводОстатковТоваров/Forms/ФормаТовары/Ext/Form.xml b/src/Documents/ВводОстатковТоваров/Forms/ФормаТовары/Ext/Form.xml index 9215b9f..0b04615 100644 --- a/src/Documents/ВводОстатковТоваров/Forms/ФормаТовары/Ext/Form.xml +++ b/src/Documents/ВводОстатковТоваров/Forms/ФормаТовары/Ext/Form.xml @@ -8151,6 +8151,13 @@ + + Объект.РК_НеПересчитыватьСуммуРеглПоКурсу + Right + Auto + + + diff --git a/src/Documents/ВводОстатковТоваров/Forms/ФормаТовары/Ext/Form/Module.bsl b/src/Documents/ВводОстатковТоваров/Forms/ФормаТовары/Ext/Form/Module.bsl new file mode 100644 index 0000000..87a9ee5 --- /dev/null +++ b/src/Documents/ВводОстатковТоваров/Forms/ФормаТовары/Ext/Form/Module.bsl @@ -0,0 +1,162 @@ +#Область РК_СуммаРегл + +&НаКлиенте +&ИзменениеИКонтроль("КоличествоПриИзменении") +Процедура РК_КоличествоПриИзменении() + + ТекущаяСтрока = Элементы[ИмяТекущейТаблицыФормы].ТекущиеДанные; + #Вставка + // --- РК --- + КоэффициентСуммыРегл = КоэффициентПересчетаИзВалютыУпрВРегл; + Если Объект.РК_НеПересчитыватьСуммуРеглПоКурсу Тогда + КоэффициентСуммыРегл = РК_КоэффициентСуммыРеглСтроки(ТекущаяСтрока, КоэффициентПересчетаИзВалютыУпрВРегл); + КонецЕсли; + // --- + #КонецВставки + + СтруктураДействий = Новый Структура; + СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц", ПараметрыПересчетаКоличестваЕдиниц(Объект.ХозяйственнаяОперация)); + СтруктураДействий.Вставить("ПересчитатьСумму"); + СтруктураПересчетаСуммы = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект); + СтруктураПересчетаСуммы.НалогообложениеНДС = ПредопределенноеЗначение("Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС"); + + СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы); + СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы); + + Если ЭтоОстаткиСобственныхТоваров + Или ЭтоОстаткиПринятойТары + Или ЭтоОстаткиПереданнойТары + Или ЭтоОстаткиПереданныхПереработчикамТоваров2_5 + Или ЭтоОстаткиПринятыхНаКомиссиюТоваров + Или ЭтоОстаткиПринятыхНаХранениеТоваров + Или ЭтоОстаткиПереданныхНаКомиссиюТоваров + Или ЭтоОстаткиПереданныхНаКомиссиюТоваров2_5 + Или ЭтоОстаткиПереданныхНаХранениеТоваров + Или ЭтоОстаткиПереданныхВПроизводствоТоваров + Или ЭтоОстаткиОтгруженныхТоваров Тогда + УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекПересчетаРеквизитовТабличнойЧасти( + Объект, + СтруктураДействий); + КонецЕсли; + + ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения); + + СтруктураДействий = Новый Структура; + Если Не Объект.ЦенаВключаетНДС Тогда + ТекущаяСтрока.СуммаБезНДС = ТекущаяСтрока.Сумма; + Иначе + СтруктураДействий.Вставить("ПересчитатьСуммуБезНДС", СтруктураПересчетаСуммы); + КонецЕсли; + + #Удаление + СтруктураДействий.Вставить("ПересчитатьСуммуРегл", КоэффициентПересчетаИзВалютыУпрВРегл); + #КонецУдаления + #Вставка + // --- РК --- + СтруктураДействий.Вставить("ПересчитатьСуммуРегл", КоэффициентСуммыРегл); + // --- + #КонецВставки + + + Если НЕ (ЭтоОстаткиПринятойТары + Или ЭтоОстаткиПереданнойТары) Тогда + СтруктураДействий.Вставить("ПересчитатьНДСРегл", СтруктураПересчетаСуммы); + КонецЕсли; + + ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения); + +КонецПроцедуры + +&НаСервере +&ИзменениеИКонтроль("ДатаПриИзмененииСервер") +Процедура РК_ДатаПриИзмененииСервер() + #Вставка + // --- РК --- + СнимокСуммРегл = Неопределено; + Если Объект.РК_НеПересчитыватьСуммуРеглПоКурсу Тогда + СнимокСуммРегл = РК_СнимокСуммРегл(); + КонецЕсли; + // --- + #КонецВставки + + КоэффициентПересчетаИзВалютыУпрВРегл = КоэффициентПересчета(ВалютаУправленческогоУчета, ВалютаРегламентированногоУчета, Объект.Дата); + ИспользоватьУчетПрослеживаемыхИмпортныхТоваров = УчетПрослеживаемыхТоваровЛокализация.ИспользоватьУчетПрослеживаемыхИмпортныхТоваров( + Объект.Дата); + + ПараметрыУказанияСерий = Новый ФиксированнаяСтруктура(НоменклатураСервер.ПараметрыУказанияСерий(Объект, Документы.ВводОстатковТоваров)); + НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Объект,ПараметрыУказанияСерий); + + УстановитьВидимость(); + Документы.ВводОстатковТоваров.ЗаполнитьВидДеятельностиНДС(Объект, ЭтотОбъект, Истина); + ЗаполнитьНалогообложениеНДС(); + НалогообложениеНДСПриИзмененииСервер(); + ПолучитьМетодОценкиСтоимостиТоваров(); + УстановитьВидимостьКоличестваРНПТ(); + + Если Не Элементы.СобственныеТоварыГруппаКоличествоПоРНПТ.Видимость + Или Не Элементы.ПолученныеНаКомиссиюГруппаКоличествоПоРНПТ.Видимость + Или Не Элементы.ПолученныеНаХранениеГруппаКоличествоПоРНПТ.Видимость + Или Не Элементы.ПереданныеНаКомиссиюГруппаКоличествоПоРНПТ.Видимость + Или Не Элементы.ПереданныеНаКомиссию25ГруппаКоличествоПоРНПТ.Видимость + Или Не Элементы.ПереданныеНаХранениеГруппаКоличествоПоРНПТ.Видимость Тогда + + ПересчитатьКоличествоРНПТ(); + + КонецЕсли; + //++ Локализация + + + //-- Локализация + + УчетПодакцизныхТоваров.ОбновитьЭлементыУчетаПодакцизныхТоваров(ЭтотОбъект); + + #Вставка + // --- РК --- + Если СнимокСуммРегл <> Неопределено Тогда + РК_ВосстановитьСуммыРегл(СнимокСуммРегл); + КонецЕсли; + // --- + #КонецВставки +КонецПроцедуры + +&НаКлиенте +Функция РК_КоэффициентСуммыРеглСтроки(СтрокаТовара, КоэффициентДаты) + + Если СтрокаТовара.СуммаБезНДС = 0 Или СтрокаТовара.СуммаРегл = 0 Тогда + Возврат КоэффициентДаты; + КонецЕсли; + + Возврат СтрокаТовара.СуммаРегл / СтрокаТовара.СуммаБезНДС; + +КонецФункции + +&НаСервере +Функция РК_СнимокСуммРегл() + + Снимок = Новый Массив; + Для Каждого СтрокаТовара Из Объект.Товары Цикл + Снимок.Добавить(Новый Структура( + "НомерСтроки, СуммаРегл, НДСРегл", + СтрокаТовара.НомерСтроки, + СтрокаТовара.СуммаРегл, + СтрокаТовара.НДСРегл)); + КонецЦикла; + Возврат Снимок; + +КонецФункции + +&НаСервере +Процедура РК_ВосстановитьСуммыРегл(Снимок) + + Для Каждого Элемент Из Снимок Цикл + Если Элемент.НомерСтроки < 1 Или Элемент.НомерСтроки > Объект.Товары.Количество() Тогда + Продолжить; + КонецЕсли; + СтрокаТовара = Объект.Товары[Элемент.НомерСтроки - 1]; + СтрокаТовара.СуммаРегл = Элемент.СуммаРегл; + СтрокаТовара.НДСРегл = Элемент.НДСРегл; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти