#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
УстановитьУсловноеОформление();
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
УстановитьЗначенияПоУмолчанию();
УстановитьЗначенияПоПараметрамФормы(Параметры);
ОбновитьДанныеФормы();
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
МассивМенеджеровРасчетаСмТакжеВРаботе = Новый Массив();
МассивМенеджеровРасчетаСмТакжеВРаботе.Добавить("Обработка.ЖурналДокументовНДС");
СмТакжеВРаботе = ОбщегоНазначенияУТ.СформироватьГиперссылкуСмТакжеВРаботе(МассивМенеджеровРасчетаСмТакжеВРаботе, Неопределено);
СобытияФорм.ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка);
КонецПроцедуры
&НаСервере
Процедура ПередЗагрузкойДанныхИзНастроекНаСервере(Настройки)
Если ЗначениеЗаполнено(Организация) Тогда
Настройки["Организация"] = Организация;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура НачалоПериодаПриИзменении(Элемент)
ОбновитьДанныеФормы();
КонецПроцедуры
&НаКлиенте
Процедура КонецПериодаПриИзменении(Элемент)
ОбновитьДанныеФормы();
КонецПроцедуры
&НаКлиенте
Процедура ОрганизацияПриИзменении(Элемент)
ОбновитьДанныеФормы();
КонецПроцедуры
&НаКлиенте
Процедура СмТакжеВРаботеОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
ИмяКлючевойОперации = СтрШаблон("Обработка.СчетФактураНалоговыйАгент.Форма.ФормаРабочееМесто.СмТакже.%1",
НавигационнаяСсылкаФорматированнойСтроки);
ОценкаПроизводительностиКлиент.НачатьЗамерВремени(Истина, ИмяКлючевойОперации);
СтандартнаяОбработка = Ложь;
ПараметрыФормы = Новый Структура;
СтруктураБыстрогоОтбора = Новый Структура;
Если ЗначениеЗаполнено(Организация) Тогда
СтруктураБыстрогоОтбора.Вставить("Организация", Организация);
ПараметрыФормы.Вставить("Организация", Организация);
КонецЕсли;
ТекущаяДата = ОбщегоНазначенияКлиент.ДатаСеанса();
Период = Новый СтандартныйПериод;
Период.ДатаНачала = НачалоПериода;
Период.ДатаОкончания = КонецПериода;
СтруктураБыстрогоОтбора.Вставить("Период", Период);
СтруктураБыстрогоОтбора.Вставить("НачалоПериода", ?(ЗначениеЗаполнено(Период.ДатаНачала), Период.ДатаНачала, НачалоКвартала(ТекущаяДата)));
ПараметрыФормы.Вставить("НачалоПериода", СтруктураБыстрогоОтбора.НачалоПериода);
СтруктураБыстрогоОтбора.Вставить("КонецПериода", ?(ЗначениеЗаполнено(Период.ДатаОкончания), Период.ДатаОкончания, КонецКвартала(ТекущаяДата)));
ПараметрыФормы.Вставить("КонецПериода", СтруктураБыстрогоОтбора.КонецПериода);
ПараметрыФормы.Вставить("СтруктураБыстрогоОтбора", СтруктураБыстрогоОтбора);
ОткрытьФорму(НавигационнаяСсылкаФорматированнойСтроки, ПараметрыФормы,ЭтаФорма, ЭтаФорма.УникальныйИдентификатор);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийТаблицФормы
&НаКлиенте
Процедура ОплатыПоставщикамСтавкаНДСПриИзменении(Элемент)
ТекущаяСтрока = Элементы.ОплатыПоставщикам.ТекущиеДанные;
СтруктураПересчетаСуммы = ПересчетСуммыНДСВСтрокеТЧ();
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, Неопределено);
КонецПроцедуры
&НаКлиенте
Процедура ОплатыПоставщикамВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
Если (Поле = Элементы.ОплатыПоставщикамСчетФактура ИЛИ Поле.Родитель = Элементы.ОплатыПоставщикамГруппаСФ) Тогда
СтандартнаяОбработка = Ложь;
ОткрытьДокумент(Элемент.ТекущиеДанные.СчетФактура, СтандартнаяОбработка);
ИначеЕсли Поле <> Элементы.ОплатыПоставщикамВидАгентскогоДоговора
И Поле <> Элементы.ОплатыПоставщикамСтавкаНДС Тогда
СтандартнаяОбработка = Ложь;
ОткрытьДокумент(Элемент.ТекущиеДанные.ДокументОснование, СтандартнаяОбработка);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ВыбратьПериод(Команда)
ПараметрыВыбора = Новый Структура("НачалоПериода, КонецПериода", НачалоПериода, КонецПериода);
ОписаниеОповещения = Новый ОписаниеОповещения("ВыбратьПериодЗавершение", ЭтотОбъект);
ОткрытьФорму("ОбщаяФорма.ВыборСтандартногоПериода",
ПараметрыВыбора,
Элементы.ВыбратьПериод,
,
,
,
ОписаниеОповещения);
КонецПроцедуры
&НаКлиенте
Процедура ЗаполнитьОплатыПоставщикам(Команда)
ОценкаПроизводительностиКлиент.ЗамерВремени("Документ.СчетФактураНалоговыйАгент.Форма.ФормаРабочееМесто.ЗаполнитьОплатыПоставщикам");
ОчиститьСообщения();
Если ПроверитьЗаполнение() Тогда
ЗаполнитьОплатыПоставщикамНаСервере();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СформироватьСчетаФактуры(Команда)
ОчиститьСообщения();
СформироватьСчетаФактурыНаСервере();
ОповеститьОбИзменении(Тип("ДокументСсылка.СчетФактураНалоговыйАгент"));
Оповестить("Запись_СчетФактураНалоговыйАгент");
КонецПроцедуры
&НаКлиенте
Процедура СоздатьСчетФактуру(Команда)
ОчиститьСообщения();
СоздатьСчетФактуруНаСервере();
ОповеститьОбИзменении(Тип("ДокументСсылка.СчетФактураНалоговыйАгент"));
КонецПроцедуры
&НаКлиенте
Процедура УстановитьСтавкуНДС18(Команда)
Если СтавкаНДС = УчетНДСРФКлиентСерверПовтИсп.СтавкаНДСПоЗначениюПеречисления(
ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС18_118")) Тогда
УстановитьСтавкуНДС("18/118");
Иначе
УстановитьСтавкуНДС("20/120");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УстановитьСтавкуНДС10(Команда)
УстановитьСтавкуНДС("10/110");
КонецПроцедуры
&НаКлиенте
Процедура УстановитьСтавкуНДС5(Команда)
УстановитьСтавкуНДС("5/105");
КонецПроцедуры
&НаКлиенте
Процедура УстановитьСтавкуНДС7(Команда)
УстановитьСтавкуНДС("7/107");
КонецПроцедуры
&НаКлиенте
Процедура УстановитьВидАгентскогоДоговораАренда(Команда)
УстановитьВидАгентскогоДоговора(ПредопределенноеЗначение("Перечисление.ВидыАгентскихДоговоров.Аренда"));
КонецПроцедуры
&НаКлиенте
Процедура УстановитьВидАгентскогоДоговораНерезидент(Команда)
УстановитьВидАгентскогоДоговора(ПредопределенноеЗначение("Перечисление.ВидыАгентскихДоговоров.Нерезидент"));
КонецПроцедуры
&НаКлиенте
Процедура УстановитьВидАгентскогоДоговораРеализацияИмущества(Команда)
УстановитьВидАгентскогоДоговора(ПредопределенноеЗначение("Перечисление.ВидыАгентскихДоговоров.РеализацияИмущества"));
КонецПроцедуры
&НаКлиенте
Процедура УстановитьВидАгентскогоДоговораЭлектронныеУслуги(Команда)
УстановитьВидАгентскогоДоговора(ПредопределенноеЗначение("Перечисление.ВидыАгентскихДоговоров.НерезидентЭлектронныеУслуги"));
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду(ЭтаФорма, Команда);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Элементы.ОплатыПоставщикам);
КонецПроцедуры
&НаСервере
Процедура Подключаемый_ВыполнитьКомандуНаСервере(Контекст, Результат) Экспорт
ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, Контекст, Элементы.ОплатыПоставщикам, Результат);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.ОплатыПоставщикам);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервере
Процедура УстановитьУсловноеОформление()
УсловноеОформление.Элементы.Очистить();
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ОплатыПоставщикамСтавкаНДС.Имя);
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ОплатыПоставщикамСуммаНДС.Имя);
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ОплатыПоставщикамСуммаОплаты.Имя);
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ОплатыПоставщикамСумма.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ОплатыПоставщикам.СФсформирован");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = Истина;
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ТекстЗапрещеннойЯчейкиЦвет);
Элемент.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = 'Указано в СФ'"));
Элемент.Оформление.УстановитьЗначениеПараметра("ТолькоПросмотр", Ложь);
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ОплатыПоставщикамПоставщик.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ОплатыПоставщикам.Поставщик");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ТекстЗапрещеннойЯчейкиЦвет);
Элемент.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = 'Указано в СФ'"));
Элемент.Оформление.УстановитьЗначениеПараметра("ТолькоПросмотр", Ложь);
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьОплатыПоставщикамНаСервере()
ОплатыПоставщикам.Очистить();
ОтборРасчетов = Документы.СчетФактураНалоговыйАгент.ОтборРасчетов();
ЗаполнитьЗначенияСвойств(ОтборРасчетов, ЭтаФорма);
Документы.СчетФактураНалоговыйАгент.ЗаполнитьОплатыПоставщикам(ОтборРасчетов, ОплатыПоставщикам);
КонецПроцедуры
&НаСервере
Процедура СоздатьСчетФактуруНаСервере()
Если НЕ ПроверитьЗаполнение() Тогда
Возврат;
КонецЕсли;
Для каждого ИдентификаторСтроки Из Элементы.ОплатыПоставщикам.ВыделенныеСтроки Цикл
СоздатьСчетФактуруНалоговыйАгент(ИдентификаторСтроки);
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура СформироватьСчетаФактурыНаСервере()
Если НЕ ПроверитьЗаполнение() Тогда
Возврат;
КонецЕсли;
Если НЕ ПолучитьФункциональнуюОпцию("НоваяАрхитектураВзаиморасчетов") Тогда
АналитикиРасчета = РаспределениеВзаиморасчетовВызовСервера.АналитикиРасчета();
РаспределениеВзаиморасчетовВызовСервера.РаспределитьВсеРасчетыСКлиентами(КонецПериода, АналитикиРасчета);
Иначе
Если РегистрыСведений.ЗаданияКРаспределениюВзаиморасчетов.АктуальныйПериодРассчитанныхДанныхПоВзаиморасчетам() <> Неопределено Тогда
ОбщегоНазначения.СообщитьПользователю(ВзаиморасчетыСервер.ТекстПредупрежденияЗаданияРаспределенияВзаиморасчетов());
КонецЕсли;
КонецЕсли;
Для каждого ДанныеСчетФактуры Из ОплатыПоставщикам Цикл
Если НЕ СоздатьСчетФактуруНалоговыйАгент(ДанныеСчетФактуры) Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Не удалось сформировать счет-фактуру на основании документа %1'"), ДанныеСчетФактуры.ДокументОснование);
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
ТекстОшибки,
,
,
"Объект");
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервере
Функция СоздатьСчетФактуруНалоговыйАгент(Знач ДанныеСчетФактуры)
Если ТипЗнч(ДанныеСчетФактуры) = Тип("Число") Тогда
ДанныеСчетФактуры = ОплатыПоставщикам.НайтиПоИдентификатору(ДанныеСчетФактуры)
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ДанныеСчетФактуры.ВидАгентскогоДоговора) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
НСтр("ru = 'Необходимо заполнить вид агентского договора'"),
,
"ОплатыПоставщикам[" + ДанныеСчетФактуры.ПолучитьИдентификатор() + "].ВидАгентскогоДоговора");
Возврат Ложь;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ДанныеСчетФактуры.ДокументОснование) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
НСтр("ru = 'Необходимо заполнить документ-основание'"),
,
"ОплатыПоставщикам[" + ДанныеСчетФактуры.ПолучитьИдентификатор() + "].ДокументОснование");
Возврат Ложь;
КонецЕсли;
Если ДанныеСчетФактуры.Сумма = ДанныеСчетФактуры.СуммаСчетаФактуры И ДанныеСчетФактуры.СФсформирован Тогда
Возврат Истина;
КонецЕсли;
ДанныеЗаполнения = Новый Структура;
ДанныеЗаполнения.Вставить("Организация", Организация);
ДанныеЗаполнения.Вставить("Поставщик");
ДанныеЗаполнения.Вставить("Договор");
ДанныеЗаполнения.Вставить("ВидАгентскогоДоговора");
ДанныеЗаполнения.Вставить("ДокументОснование");
ЗаполнитьЗначенияСвойств(ДанныеЗаполнения, ДанныеСчетФактуры);
Если ДанныеСчетФактуры.СчетФактура.Пустая() Тогда
СчетФактураОбъект = Документы.СчетФактураНалоговыйАгент.СоздатьДокумент();
Иначе
СчетФактураОбъект = ДанныеСчетФактуры.СчетФактура.ПолучитьОбъект();
КонецЕсли;
СчетФактураОбъект.Дата = КонецДня(ДанныеСчетФактуры.ДатаОплаты);
СчетФактураОбъект.Заполнить(ДанныеЗаполнения);
СчетФактураОбъект.РасшифровкаСуммы.Очистить();
НоваяСтрока = СчетФактураОбъект.РасшифровкаСуммы.Добавить();
НоваяСтрока.Сумма = ДанныеСчетФактуры.Сумма;
НоваяСтрока.СтавкаНДС = ДанныеСчетФактуры.СтавкаНДС;
НоваяСтрока.НаправлениеДеятельности = ДанныеСчетФактуры.НаправлениеДеятельности;
СтруктураПересчетаСуммы = Новый Структура();
СтруктураПересчетаСуммы.Вставить("ЦенаВключаетНДС", Ложь);
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьСтрокуТЧ(НоваяСтрока, СтруктураДействий, Неопределено);
СчетФактураОбъект.Сумма = СчетФактураОбъект.РасшифровкаСуммы.Итог("Сумма");
СчетФактураОбъект.СуммаСНДС = СчетФактураОбъект.РасшифровкаСуммы.Итог("СуммаСНДС");
СчетФактураОбъект.СуммаНДС = СчетФактураОбъект.РасшифровкаСуммы.Итог("СуммаНДС");
Попытка
СчетФактураОбъект.Записать(РежимЗаписиДокумента.Проведение);
Исключение
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
Возврат Ложь;
КонецПопытки;
ДанныеСчетФактуры.СФсформирован = Истина;
ДанныеСчетФактуры.СуммаСчетаФактуры = СчетФактураОбъект.Сумма;
ДанныеСчетФактуры.СчетФактура = СчетФактураОбъект.Ссылка;
Возврат Истина;
КонецФункции
&НаСервере
Процедура УстановитьЗначенияПоУмолчанию()
Организация = ЗначениеНастроекПовтИсп.ПолучитьОрганизациюПоУмолчанию(Организация);
ВалютаРеглУчета = ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Организация);
НачалоПериода = НачалоМесяца(ТекущаяДатаСеанса());
КонецПериода = КонецМесяца(ТекущаяДатаСеанса());
СтавкаНДС = УчетНДСУП.СтавкаНДСПоУмолчанию(Организация, НачалоПериода, Истина);
КонецПроцедуры
&НаСервере
Процедура ОбновитьДанныеФормы()
ВалютаРеглУчета = ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Организация);
ОбновитьТекстКомандыУстановкиСтавкиНДС();
Если ЗначениеЗаполнено(Организация) И ЗначениеЗаполнено(НачалоПериода) И ЗначениеЗаполнено(КонецПериода) Тогда
ЗаполнитьОплатыПоставщикамНаСервере();
КонецЕсли;
ОбновитьТекстЗаголовка(ЭтаФорма);
КонецПроцедуры
&НаСервере
Процедура ОбновитьТекстКомандыУстановкиСтавкиНДС()
СтавкаНДС = УчетНДСУП.СтавкаНДСПоУмолчанию(Организация, НачалоПериода, Истина);
Если СтавкаНДС = УчетНДСЛокализация.СтавкаНДСПоПеречислению(Перечисления.СтавкиНДС.НДС18_118) Тогда
Элементы.УстановитьСтавкуНДС18.Заголовок = НСтр("ru = '18/118'");
Иначе
Элементы.УстановитьСтавкуНДС18.Заголовок = НСтр("ru = '20/120'");
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьТекстЗаголовка(Форма)
ЗаголовокОтчета = НСтр("ru='Оформление счетов-фактур налогового агента'")
+ БухгалтерскиеОтчетыКлиентСервер.ПолучитьПредставлениеПериода(Форма.НачалоПериода, Форма.КонецПериода);
Форма.Заголовок = ЗаголовокОтчета;
КонецПроцедуры
&НаКлиенте
Процедура ВыбратьПериодЗавершение(РезультатВыбора, ДопПараметры) Экспорт
Если РезультатВыбора = Неопределено Тогда
Возврат;
КонецЕсли;
ЗаполнитьЗначенияСвойств(ЭтаФорма, РезультатВыбора, "НачалоПериода, КонецПериода");
ОбновитьТекстЗаголовка(ЭтаФорма);
ОбновитьДанныеФормы();
КонецПроцедуры
&НаКлиенте
Процедура УстановитьСтавкуНДС(ТекстСтавкаНДС)
Если Элементы.ОплатыПоставщикам.ВыделенныеСтроки.Количество() = 0 Тогда
Возврат;
КонецЕсли;
СтруктураПересчетаСуммы = ПересчетСуммыНДСВСтрокеТЧ();
СтруктураДействий = Новый Структура;
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
Если ТекстСтавкаНДС = "10/110" Тогда
ТекСтавкаНДС = УчетНДСРФКлиентСерверПовтИсп.СтавкаНДСПоЗначениюПеречисления(
ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС10_110"));
ИначеЕсли ТекстСтавкаНДС = "18/118" Тогда
ТекСтавкаНДС = УчетНДСРФКлиентСерверПовтИсп.СтавкаНДСПоЗначениюПеречисления(
ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС18_118"));
ИначеЕсли ТекстСтавкаНДС = "5/105" Тогда
ТекСтавкаНДС = УчетНДСРФКлиентСерверПовтИсп.СтавкаНДСПоЗначениюПеречисления(
ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС5_105"));
ИначеЕсли ТекстСтавкаНДС = "7/107" Тогда
ТекСтавкаНДС = УчетНДСРФКлиентСерверПовтИсп.СтавкаНДСПоЗначениюПеречисления(
ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС7_107"));
Иначе
ТекСтавкаНДС = УчетНДСРФКлиентСерверПовтИсп.СтавкаНДСПоЗначениюПеречисления(
ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС20_120"));
КонецЕсли;
Для каждого ИдентификаторСтроки Из Элементы.ОплатыПоставщикам.ВыделенныеСтроки Цикл
ДанныеСтроки = Элементы.ОплатыПоставщикам.ДанныеСтроки(ИдентификаторСтроки);
Если ДанныеСтроки.СтавкаНДС <> ТекСтавкаНДС Тогда
ДанныеСтроки.СтавкаНДС = ТекСтавкаНДС;
ПакетнаяОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ДанныеСтроки, СтруктураДействий, Неопределено);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура УстановитьВидАгентскогоДоговора(ВидАгентскогоДоговора)
Если Элементы.ОплатыПоставщикам.ВыделенныеСтроки.Количество() = 0 Тогда
Возврат;
КонецЕсли;
Для каждого ИдентификаторСтроки Из Элементы.ОплатыПоставщикам.ВыделенныеСтроки Цикл
ДанныеСтроки = Элементы.ОплатыПоставщикам.ДанныеСтроки(ИдентификаторСтроки);
ДанныеСтроки.ВидАгентскогоДоговора = ВидАгентскогоДоговора;
КонецЦикла;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция ПересчетСуммыНДСВСтрокеТЧ()
СтруктураЗаполненияЦены = Новый Структура;
СтруктураЗаполненияЦены.Вставить("ЦенаВключаетНДС", Ложь);
Возврат СтруктураЗаполненияЦены;
КонецФункции
&НаКлиенте
Процедура ОткрытьДокумент(Ссылка, СтандартнаяОбработка)
Если ЗначениеЗаполнено(Ссылка) Тогда
СтандартнаяОбработка = Ложь;
ПоказатьЗначение(Неопределено, Ссылка);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура УстановитьЗначенияПоПараметрамФормы(Параметры)
СтруктураБыстрогоОтбора = Неопределено;
Параметры.Свойство("СтруктураБыстрогоОтбора", СтруктураБыстрогоОтбора);
Если СтруктураБыстрогоОтбора <> Неопределено Тогда
СтруктураБыстрогоОтбора.Свойство("Организация", Организация);
СтруктураБыстрогоОтбора.Свойство("НачалоПериода", НачалоПериода);
СтруктураБыстрогоОтбора.Свойство("КонецПериода", КонецПериода);
КонецЕсли;
КонецПроцедуры
#КонецОбласти