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