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