|
|
|
@@ -0,0 +1,162 @@
|
|
|
|
|
#Область РК_СуммаРегл
|
|
|
|
|
|
|
|
|
|
&НаКлиенте
|
|
|
|
|
&ИзменениеИКонтроль("КоличествоПриИзменении")
|
|
|
|
|
Процедура РК_КоличествоПриИзменении()
|
|
|
|
|
|
|
|
|
|
ТекущаяСтрока = Элементы[ИмяТекущейТаблицыФормы].ТекущиеДанные;
|
|
|
|
|
#Вставка
|
|
|
|
|
// --- РК ---
|
|
|
|
|
КоэффициентСуммыРегл = КоэффициентПересчетаИзВалютыУпрВРегл;
|
|
|
|
|
Если Объект.РК_НеПересчитыватьСуммуРеглПоКурсу Тогда
|
|
|
|
|
КоэффициентСуммыРегл = РК_КоэффициентСуммыРеглСтроки(ТекущаяСтрока, КоэффициентПересчетаИзВалютыУпрВРегл);
|
|
|
|
|
КонецЕсли;
|
|
|
|
|
// ---
|
|
|
|
|
#КонецВставки
|
|
|
|
|
|
|
|
|
|
СтруктураДействий = Новый Структура;
|
|
|
|
|
СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц", ПараметрыПересчетаКоличестваЕдиниц(Объект.ХозяйственнаяОперация));
|
|
|
|
|
СтруктураДействий.Вставить("ПересчитатьСумму");
|
|
|
|
|
СтруктураПересчетаСуммы = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект);
|
|
|
|
|
СтруктураПересчетаСуммы.НалогообложениеНДС = ПредопределенноеЗначение("Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС");
|
|
|
|
|
|
|
|
|
|
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
|
|
|
|
|
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
|
|
|
|
|
|
|
|
|
|
Если ЭтоОстаткиСобственныхТоваров
|
|
|
|
|
Или ЭтоОстаткиПринятойТары
|
|
|
|
|
Или ЭтоОстаткиПереданнойТары
|
|
|
|
|
Или ЭтоОстаткиПереданныхПереработчикамТоваров2_5
|
|
|
|
|
Или ЭтоОстаткиПринятыхНаКомиссиюТоваров
|
|
|
|
|
Или ЭтоОстаткиПринятыхНаХранениеТоваров
|
|
|
|
|
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров
|
|
|
|
|
Или ЭтоОстаткиПереданныхНаКомиссиюТоваров2_5
|
|
|
|
|
Или ЭтоОстаткиПереданныхНаХранениеТоваров
|
|
|
|
|
Или ЭтоОстаткиПереданныхВПроизводствоТоваров
|
|
|
|
|
Или ЭтоОстаткиОтгруженныхТоваров Тогда
|
|
|
|
|
УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ДополнитьОписаниеНастроекПересчетаРеквизитовТабличнойЧасти(
|
|
|
|
|
Объект,
|
|
|
|
|
СтруктураДействий);
|
|
|
|
|
КонецЕсли;
|
|
|
|
|
|
|
|
|
|
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
|
|
|
|
|
|
|
|
|
|
СтруктураДействий = Новый Структура;
|
|
|
|
|
Если Не Объект.ЦенаВключаетНДС Тогда
|
|
|
|
|
ТекущаяСтрока.СуммаБезНДС = ТекущаяСтрока.Сумма;
|
|
|
|
|
Иначе
|
|
|
|
|
СтруктураДействий.Вставить("ПересчитатьСуммуБезНДС", СтруктураПересчетаСуммы);
|
|
|
|
|
КонецЕсли;
|
|
|
|
|
|
|
|
|
|
#Удаление
|
|
|
|
|
СтруктураДействий.Вставить("ПересчитатьСуммуРегл", КоэффициентПересчетаИзВалютыУпрВРегл);
|
|
|
|
|
#КонецУдаления
|
|
|
|
|
#Вставка
|
|
|
|
|
// --- РК ---
|
|
|
|
|
СтруктураДействий.Вставить("ПересчитатьСуммуРегл", КоэффициентСуммыРегл);
|
|
|
|
|
// ---
|
|
|
|
|
#КонецВставки
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Если НЕ (ЭтоОстаткиПринятойТары
|
|
|
|
|
Или ЭтоОстаткиПереданнойТары) Тогда
|
|
|
|
|
СтруктураДействий.Вставить("ПересчитатьНДСРегл", СтруктураПересчетаСуммы);
|
|
|
|
|
КонецЕсли;
|
|
|
|
|
|
|
|
|
|
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
|
|
|
|
|
|
|
|
|
|
КонецПроцедуры
|
|
|
|
|
|
|
|
|
|
&НаСервере
|
|
|
|
|
&ИзменениеИКонтроль("ДатаПриИзмененииСервер")
|
|
|
|
|
Процедура РК_ДатаПриИзмененииСервер()
|
|
|
|
|
#Вставка
|
|
|
|
|
// --- РК ---
|
|
|
|
|
СнимокСуммРегл = Неопределено;
|
|
|
|
|
Если Объект.РК_НеПересчитыватьСуммуРеглПоКурсу Тогда
|
|
|
|
|
СнимокСуммРегл = РК_СнимокСуммРегл();
|
|
|
|
|
КонецЕсли;
|
|
|
|
|
// ---
|
|
|
|
|
#КонецВставки
|
|
|
|
|
|
|
|
|
|
КоэффициентПересчетаИзВалютыУпрВРегл = КоэффициентПересчета(ВалютаУправленческогоУчета, ВалютаРегламентированногоУчета, Объект.Дата);
|
|
|
|
|
ИспользоватьУчетПрослеживаемыхИмпортныхТоваров = УчетПрослеживаемыхТоваровЛокализация.ИспользоватьУчетПрослеживаемыхИмпортныхТоваров(
|
|
|
|
|
Объект.Дата);
|
|
|
|
|
|
|
|
|
|
ПараметрыУказанияСерий = Новый ФиксированнаяСтруктура(НоменклатураСервер.ПараметрыУказанияСерий(Объект, Документы.ВводОстатковТоваров));
|
|
|
|
|
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Объект,ПараметрыУказанияСерий);
|
|
|
|
|
|
|
|
|
|
УстановитьВидимость();
|
|
|
|
|
Документы.ВводОстатковТоваров.ЗаполнитьВидДеятельностиНДС(Объект, ЭтотОбъект, Истина);
|
|
|
|
|
ЗаполнитьНалогообложениеНДС();
|
|
|
|
|
НалогообложениеНДСПриИзмененииСервер();
|
|
|
|
|
ПолучитьМетодОценкиСтоимостиТоваров();
|
|
|
|
|
УстановитьВидимостьКоличестваРНПТ();
|
|
|
|
|
|
|
|
|
|
Если Не Элементы.СобственныеТоварыГруппаКоличествоПоРНПТ.Видимость
|
|
|
|
|
Или Не Элементы.ПолученныеНаКомиссиюГруппаКоличествоПоРНПТ.Видимость
|
|
|
|
|
Или Не Элементы.ПолученныеНаХранениеГруппаКоличествоПоРНПТ.Видимость
|
|
|
|
|
Или Не Элементы.ПереданныеНаКомиссиюГруппаКоличествоПоРНПТ.Видимость
|
|
|
|
|
Или Не Элементы.ПереданныеНаКомиссию25ГруппаКоличествоПоРНПТ.Видимость
|
|
|
|
|
Или Не Элементы.ПереданныеНаХранениеГруппаКоличествоПоРНПТ.Видимость Тогда
|
|
|
|
|
|
|
|
|
|
ПересчитатьКоличествоРНПТ();
|
|
|
|
|
|
|
|
|
|
КонецЕсли;
|
|
|
|
|
//++ Локализация
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//-- Локализация
|
|
|
|
|
|
|
|
|
|
УчетПодакцизныхТоваров.ОбновитьЭлементыУчетаПодакцизныхТоваров(ЭтотОбъект);
|
|
|
|
|
|
|
|
|
|
#Вставка
|
|
|
|
|
// --- РК ---
|
|
|
|
|
Если СнимокСуммРегл <> Неопределено Тогда
|
|
|
|
|
РК_ВосстановитьСуммыРегл(СнимокСуммРегл);
|
|
|
|
|
КонецЕсли;
|
|
|
|
|
// ---
|
|
|
|
|
#КонецВставки
|
|
|
|
|
КонецПроцедуры
|
|
|
|
|
|
|
|
|
|
&НаКлиенте
|
|
|
|
|
Функция РК_КоэффициентСуммыРеглСтроки(СтрокаТовара, КоэффициентДаты)
|
|
|
|
|
|
|
|
|
|
Если СтрокаТовара.СуммаБезНДС = 0 Или СтрокаТовара.СуммаРегл = 0 Тогда
|
|
|
|
|
Возврат КоэффициентДаты;
|
|
|
|
|
КонецЕсли;
|
|
|
|
|
|
|
|
|
|
Возврат СтрокаТовара.СуммаРегл / СтрокаТовара.СуммаБезНДС;
|
|
|
|
|
|
|
|
|
|
КонецФункции
|
|
|
|
|
|
|
|
|
|
&НаСервере
|
|
|
|
|
Функция РК_СнимокСуммРегл()
|
|
|
|
|
|
|
|
|
|
Снимок = Новый Массив;
|
|
|
|
|
Для Каждого СтрокаТовара Из Объект.Товары Цикл
|
|
|
|
|
Снимок.Добавить(Новый Структура(
|
|
|
|
|
"НомерСтроки, СуммаРегл, НДСРегл",
|
|
|
|
|
СтрокаТовара.НомерСтроки,
|
|
|
|
|
СтрокаТовара.СуммаРегл,
|
|
|
|
|
СтрокаТовара.НДСРегл));
|
|
|
|
|
КонецЦикла;
|
|
|
|
|
Возврат Снимок;
|
|
|
|
|
|
|
|
|
|
КонецФункции
|
|
|
|
|
|
|
|
|
|
&НаСервере
|
|
|
|
|
Процедура РК_ВосстановитьСуммыРегл(Снимок)
|
|
|
|
|
|
|
|
|
|
Для Каждого Элемент Из Снимок Цикл
|
|
|
|
|
Если Элемент.НомерСтроки < 1 Или Элемент.НомерСтроки > Объект.Товары.Количество() Тогда
|
|
|
|
|
Продолжить;
|
|
|
|
|
КонецЕсли;
|
|
|
|
|
СтрокаТовара = Объект.Товары[Элемент.НомерСтроки - 1];
|
|
|
|
|
СтрокаТовара.СуммаРегл = Элемент.СуммаРегл;
|
|
|
|
|
СтрокаТовара.НДСРегл = Элемент.НДСРегл;
|
|
|
|
|
КонецЦикла;
|
|
|
|
|
|
|
|
|
|
КонецПроцедуры
|
|
|
|
|
|
|
|
|
|
#КонецОбласти
|