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