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