#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Не СПАРКРиски.ИспользованиеРазрешено() Тогда
Элементы.ГруппаПанель.Видимость = Ложь;
Элементы.КакНастроитьAdobeReader.Видимость = Ложь;
Возврат;
КонецЕсли;
ДоступнаЗагрузкаСправок = Пользователи.РолиДоступны("ЗапросНовойСправкиСПАРКРиски", , Ложь);
Элементы.ЗапроситьСправку.Видимость = ДоступнаЗагрузкаСправок;
Если ЗначениеЗаполнено(Параметры.Контрагент) Тогда
Контрагент = Параметры.Контрагент;
СвойстваСправочниковКонтрагенты = СПАРКРиски.СвойстваСправочниковКонтрагентов();
ТипКонтрагент = ТипЗнч(Контрагент);
ОписаниеСправочника = СвойстваСправочниковКонтрагенты.Найти(ТипКонтрагент, "ТипСсылка");
Если ОписаниеСправочника = Неопределено Тогда
ТекстИсключения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Неизвестный тип контрагента (%1). Необходимо заполнить описание справочника в методе
|ПриОпределенииСвойствСправочниковКонтрагентов() общего модуля СПАРКРискиПереопределяемый.'"),
ТипКонтрагент);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ОписаниеСправочника.Иерархический
И ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Контрагент, "ЭтоГруппа") = Истина Тогда
ОбщегоНазначения.СообщитьПользователю(
НСтр("ru = 'Получение справок 1СПАРК Риски недоступно для группы. Выберите элемент справочника.'"));
Отказ = Истина;
Возврат;
КонецЕсли;
Элементы.ГруппаКонтрагентОтбор.Видимость = Ложь;
Элементы.Контрагент.Видимость = Ложь;
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Список.Отбор, "Контрагент", Контрагент);
Элементы.КонтрагентОтборГиперссылка.Видимость = Параметры.ПоказыватьОтбор;
Если Параметры.ПоказыватьОтбор Тогда
Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Справки 1СПАРК Риски: %1'"),
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Параметры.Контрагент, "Наименование"));
КонецЕсли;
Иначе
Элементы.КонтрагентОтборГиперссылка.Видимость = Ложь;
КонецЕсли;
ПоказатьУведомления();
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура КонтрагентОтборПриИзменении(Элемент)
УстановитьОтборПоКонтрагенту();
КонецПроцедуры
&НаКлиенте
Процедура КакНастроитьAdobeReader(Команда)
URLИнструкций = "http://downloads.v8.1c.ru/content/Instruction/how-to-setup-Adobe-acrobat-digital-signature-verification.pdf";
ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку(URLИнструкций);
КонецПроцедуры
&НаКлиенте
Процедура ДекорацияУведомлениеПодробнееНажатие(Элемент)
Если Не ОбщегоНазначенияКлиент.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.МониторПортала1СИТС") Тогда
Возврат;
КонецЕсли;
МодульМониторПортала1СИТСКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("МониторПортала1СИТСКлиент");
МодульМониторПортала1СИТСКлиент.ОткрытьСообщениеОбОпцияхИнтернетПоддержки(
УведомленияМонитораПортала);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыСписок
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если ВыбраннаяСтрока = Неопределено Или Не ДоступнаЗагрузкаСправок Тогда
Возврат;
КонецЕсли;
ДанныеСтроки = Элементы.Список.ДанныеСтроки(ВыбраннаяСтрока);
СПАРКРискиКлиент.ОткрытьСправкуСПАРКРиски(
Неопределено,
ДанныеСтроки.Ссылка,
УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура СписокПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
Отказ = Истина;
КонецПроцедуры
&НаКлиенте
Процедура СписокПередНачаломИзменения(Элемент, Отказ)
Отказ = Истина;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ЗапроситьСправку(Команда)
Если Не ЗначениеЗаполнено(Контрагент) Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(
НСтр("ru = 'Поле ""Контрагент"" не заполнено.'"),
,
"Контрагент");
Возврат;
КонецЕсли;
ЗапроситьНовуюСправку();
КонецПроцедуры
&НаКлиенте
Процедура ВсеПолученныеСправки(Команда)
Состояние(, , НСтр("ru = 'Переход на Портал 1С:ИТС'"));
ИнтернетПоддержкаПользователейКлиент.ОткрытьСтраницуИнтегрированногоСайта(
СПАРКРискиКлиент.АдресСтраницыЛичныйКабинетВсеСправки(),
НСтр("ru = 'Справки 1СПАРК Риски'"));
Состояние();
КонецПроцедуры
&НаКлиенте
Процедура КакПользоватьсяСправкой(Команда)
URLИнструкций = "http://downloads.v8.1c.ru/content/Instruction/1spark-report.pdf";
ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку(URLИнструкций);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура УстановитьОтборПоКонтрагенту()
Если ЗначениеЗаполнено(Контрагент) Тогда
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(
Список.Отбор,
"Контрагент",
Контрагент,
,
,
Истина);
Иначе
ОтборыПоКонтрагенту = ОбщегоНазначенияКлиентСервер.НайтиЭлементыИГруппыОтбора(Список.Отбор, "Контрагент");
Для Каждого ТекущийОтбор Из ОтборыПоКонтрагенту Цикл
ТекущийОтбор.Использование = Ложь;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ЗапроситьНовуюСправку(Результат = Неопределено, ДополнительныеПараметры = Неопределено) Экспорт
Состояние(, , НСтр("ru = 'Запрос новой справки 1СПАРК Риски'"));
РезультатЗапросаСправки = СПАРКРискиВызовСервера.ЗапроситьНовуюСправкуВСервисеСПАРКРиски(Контрагент);
Элементы.Список.Обновить();
Состояние();
Если Не РезультатЗапросаСправки.СправкаСсылка.Пустая() Тогда
Элементы.Список.ТекущаяСтрока = РезультатЗапросаСправки.СправкаСсылка;
ПоказатьОповещениеПользователя(
НСтр("ru = 'Справки 1СПАРК Риски'"),
,
НСтр("ru = 'Подготовка новой справки 1СПАРК Риски.'"),
БиблиотекаКартинок.Информация32,
,
"Справки1СПАРКРиски");
ИначеЕсли РезультатЗапросаСправки.ВидОшибки.Пустая() Тогда
Если Элементы.ГруппаКонтрагентОтбор.Видимость Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(
РезультатЗапросаСправки.Сообщение,
,
"Контрагент");
Иначе
ПоказатьПредупреждение(, РезультатЗапросаСправки.Сообщение);
КонецЕсли;
ИначеЕсли Не ПустаяСтрока(РезультатЗапросаСправки.Сообщение) Тогда
ПоказатьПредупреждение(, РезультатЗапросаСправки.Сообщение);
Иначе
СПАРКРискиКлиент.ОбработатьОшибку(
РезультатЗапросаСправки,
Новый ОписаниеОповещения("ЗапроситьНовуюСправку", ЭтотОбъект));
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПоказатьУведомления()
УведомленияМонитораПортала = СПАРКРиски.УведомлениеПользователя(
СПАРКРиски.ИдентификаторУслугиСправкиПоКомпаниям());
Если УведомленияМонитораПортала = Неопределено Тогда
Возврат;
КонецЕсли;
Элементы.ГруппаУведомлениеСервиса.Видимость = Истина;
Элементы.ДекорацияТекстУведомления.Заголовок = УведомленияМонитораПортала.ТекстУведомления;
КонецПроцедуры
#КонецОбласти