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