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