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