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