Организации / Форма элемента / Модуль формы

файл
#Область ОбработчикиСобытийФормы

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	УстановитьУсловноеОформление();
	
	Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
		Возврат;
	КонецЕсли;
	
	КрупнейшийНалогоплательщикИдентификаторХранилища = Новый УникальныйИдентификатор();

	Если Параметры.Свойство("ЗначенияЗаполнения") И Параметры.ЗначенияЗаполнения.Свойство("ВидОрганизации") Тогда
		ВидОрганизации = Параметры.ЗначенияЗаполнения.ВидОрганизации;
	ИначеЕсли Объект.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо
		И НЕ Объект.ОбособленноеПодразделение Тогда
		ВидОрганизации = "ЮридическоеЛицо";
	ИначеЕсли Объект.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо
		И Объект.ОбособленноеПодразделение Тогда
		ВидОрганизации = "ОбособленноеПодразделение";
	ИначеЕсли Объект.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ИндивидуальныйПредприниматель Тогда 
		ВидОрганизации = "ИндивидуальныйПредприниматель";
	Иначе ВызватьИсключение НСтр("ru = 'Невозможно определить вид организации. Обратитесь к администратору.'");
	КонецЕсли;
	
	ЗаполнитьРеквизитГоловнаяОрганизация();
	ОткрытаФормаВыбораДаты = Ложь;

	УправлениеФормойНаСервере();
	
	// Установка списка выбора головных организаций
	Элементы.ГоловнаяОрганизация.СписокВыбора.ЗагрузитьЗначения(ГоловныеОрганизацииОбособленногоПодразделения());
	
	// Исключим редактируемую организацию из списка головных
	Если Параметры.Ключ.Пустая() Тогда
		ЭлементТекущаяОрганизация	= Элементы.ГоловнаяОрганизация.СписокВыбора.НайтиПоЗначению(Объект.Ссылка);
		Если ЭлементТекущаяОрганизация <> Неопределено Тогда
			Элементы.ГоловнаяОрганизация.СписокВыбора.Удалить(ЭлементТекущаяОрганизация);
		КонецЕсли;
	КонецЕсли;
	АдресЛоготипа 			= ?(Объект.ФайлЛоготип.Пустая(), 			"", НавигационнаяСсылкаКартинки(Объект.ФайлЛоготип, УникальныйИдентификатор));
	АдресФаксимильнойПечати = ?(Объект.ФайлФаксимильнаяПечать.Пустая(), "", НавигационнаяСсылкаКартинки(Объект.ФайлФаксимильнаяПечать, УникальныйИдентификатор));
	
	БазоваяВерсия = ПолучитьФункциональнуюОпцию("БазоваяВерсия");
	
	Элементы.ГруппаПраваяСторонаЮрЛицаКоды.Видимость = Не БазоваяВерсия;
	Элементы.ПраваяСторонаИндивидуальногоПредпринимателяЗаголовкиЗначения.Видимость = Не БазоваяВерсия;
	
	УправленческаяОрганизация = Объект.Ссылка = Справочники.Организации.УправленческаяОрганизация;
	Элементы.ВидОрганизации.Видимость = Не УправленческаяОрганизация;
	Если УправленческаяОрганизация Тогда
		Элементы.ВалютаРегламентированногоУчета.Заголовок = НСтр("ru = 'Базовая валюта'");
	КонецЕсли;
	
	Если ПравоДоступа("ИнтерактивноеДобавление", Метаданные.Справочники.Организации) Тогда
		Элементы.ФормаСкопировать.Видимость = Не БазоваяВерсия;
	КонецЕсли;
	
	ФИОФизическогоЛица = ПолучитьФИОФизическогоЛица(Объект.ИндивидуальныйПредприниматель);
	
	ФИОИндивидуальногоПредпринимателя	= СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1 %2 %3",
		ФИОФизическогоЛица.Фамилия, ФИОФизическогоЛица.Имя, ФИОФизическогоЛица.Отчество);
	
	НаименованиеСокращенное	= Объект.НаименованиеСокращенное;
	
	Если НЕ ПолучитьФункциональнуюОпцию("ИспользоватьОбособленныеПодразделенияВыделенныеНаБаланс") И НЕ ВидОрганизации = "ОбособленноеПодразделение" Тогда
		ЭлементСписка = Элементы.ВидОрганизации.СписокВыбора.НайтиПоЗначению("ОбособленноеПодразделение");
		Если ЭлементСписка <> Неопределено Тогда
			Элементы.ВидОрганизации.СписокВыбора.Удалить(ЭлементСписка);	
		КонецЕсли;
	КонецЕсли;
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды

	// СтандартныеПодсистемы.КонтактнаяИнформация
	ДополнительныеПараметрыКИ = УправлениеКонтактнойИнформацией.ПараметрыКонтактнойИнформации();
	ДополнительныеПараметрыКИ.Вставить("ИмяЭлементаДляРазмещения", "ГруппаКонтактнаяИнформация");
	ДополнительныеПараметрыКИ.Вставить("ОтложеннаяИнициализация", Истина);
	
	УправлениеКонтактнойИнформацией.ПриСозданииНаСервере(ЭтотОбъект, Объект, ДополнительныеПараметрыКИ);
	// Конец СтандартныеПодсистемы.КонтактнаяИнформация	
	
	// СтандартныеПодсистемы.Свойства
	ДополнительныеПараметры = Новый Структура;
	ДополнительныеПараметры.Вставить("Объект", Объект);
	ДополнительныеПараметры.Вставить("ИмяЭлементаДляРазмещения", "ГруппаДополнительныеРеквизиты");
	УправлениеСвойствами.ПриСозданииНаСервере(ЭтотОбъект, ДополнительныеПараметры);
	// Конец СтандартныеПодсистемы.Свойства
	
	// Обработчик подсистемы запрета редактирования реквизитов объектов
	ЗапретРедактированияРеквизитовОбъектов.ЗаблокироватьРеквизиты(ЭтотОбъект);
	
	// СтандартныеПодсистемы.ВерсионированиеОбъектов
	ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.ВерсионированиеОбъектов
	
	// ИнтеграцияС1СДокументооборотом
	ИнтеграцияС1СДокументооборотБазоваяФункциональность.ПриСозданииНаСервере(ЭтотОбъект);
	// Конец ИнтеграцияС1СДокументооборотом
	
	// ЭлектронноеВзаимодействие.ОбменСКонтрагентами
	ПараметрыПриСозданииНаСервере = ОбменСКонтрагентами.ПараметрыПриСозданииНаСервере_ФормаСправочника();
	ПараметрыПриСозданииНаСервере.Форма                 = ЭтотОбъект;
	ПараметрыПриСозданииНаСервере.МестоРазмещенияКоманд = Элементы.КомандыЭДО;
	ОбменСКонтрагентами.ПриСозданииНаСервере_ФормаСправочника(ПараметрыПриСозданииНаСервере);
	// Конец ЭлектронноеВзаимодействие.ОбменСКонтрагентами
	
	СобытияФорм.ПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка);
	ОрганизацииЛокализация.ПриСозданииНаСервереФормаЭлемента(ЭтотОбъект, Отказ, СтандартнаяОбработка);
	
	// Заполнение Организации по ИНН данными из ЕГРЮЛ/ЕГРИП
	ПриСозданииЧтенииНаСервере();
	// Конец Заполнение Организации по ИНН данными из ЕГРЮЛ/ЕГРИП
	
	// СтандартныеПодсистемы.РаботаСФайлами
	ПараметрыГиперссылки = РаботаСФайлами.ГиперссылкаФайлов();
	ПараметрыГиперссылки.Размещение = "КоманднаяПанель";
	РаботаСФайлами.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыГиперссылки);
	// Конец СтандартныеПодсистемы.РаботаСФайлами

КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	// СтандартныеПодсистемы.Свойства
	УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.Свойства
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
	// СтандартныеПодсистемы.РаботаСФайлами
	РаботаСФайламиКлиент.ПриОткрытии(ЭтотОбъект, Отказ);
	// Конец СтандартныеПодсистемы.РаботаСФайлами
	
	// ЭлектронноеВзаимодействие.ОбменСКонтрагентами
	ПараметрыПриОткрытии = ОбменСКонтрагентамиКлиент.ПараметрыПриОткрытии();
	ПараметрыПриОткрытии.Форма                            = ЭтотОбъект;
	ПараметрыПриОткрытии.МестоРазмещенияКоманд            = Элементы.КомандыЭДО;
	ПараметрыПриОткрытии.ЕстьОбработчикОбновитьКомандыЭДО = Истина;
	
	ОбменСКонтрагентамиКлиент.ПриОткрытии(ПараметрыПриОткрытии);
	// Конец ЭлектронноеВзаимодействие.ОбменСКонтрагентами
	
КонецПроцедуры

&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
	
	ОчиститьСообщения();
	
	Если ИсточникВыбора.ИмяФормы = "Обработка.РаботаСФайлами.Форма.ПрисоединенныеФайлы"
		И ЗначениеЗаполнено(ВыбранноеЗначение) Тогда
		
		Если РаботаСЛоготипом Тогда
			
			Объект.ФайлЛоготип = ВыбранноеЗначение;
			АдресЛоготипа = НавигационнаяСсылкаКартинки(Объект.ФайлЛоготип, УникальныйИдентификатор)
			
		ИначеЕсли РаботаСФаксимиле Тогда
			
			Объект.ФайлФаксимильнаяПечать = ВыбранноеЗначение;
			АдресФаксимильнойПечати = НавигационнаяСсылкаКартинки(Объект.ФайлФаксимильнаяПечать, УникальныйИдентификатор)
			
		КонецЕсли;
		
	ИначеЕсли ТипЗнч(ИсточникВыбора) = Тип("ФормаКлиентскогоПриложения")
		И ИсточникВыбора.ИмяФормы = "Справочник.Организации.Форма.ФормаРедактированияИсторииНаименований" Тогда
		
		УстановитьНаименованиеПослеРедактированияИстории(ВыбранноеЗначение.ИсторияНаименований);
	
	КонецЕсли;

	ОрганизацииКлиентЛокализация.ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора, ЭтотОбъект);
КонецПроцедуры

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)

	// СтандартныеПодсистемы.УправлениеДоступом
	УправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
	// Конец СтандартныеПодсистемы.УправлениеДоступом
	
	// СтандартныеПодсистемы.КонтактнаяИнформация
	УправлениеКонтактнойИнформацией.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
	// Конец СтандартныеПодсистемы.КонтактнаяИнформация

	// СтандартныеПодсистемы.Свойства
	УправлениеСвойствами.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
	// Конец СтандартныеПодсистемы.Свойства
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
	
	ОрганизацииЛокализация.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
	
КонецПроцедуры

&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
	
	// СтандартныеПодсистемы.КонтактнаяИнформация
	УправлениеКонтактнойИнформацией.ОбработкаПроверкиЗаполненияНаСервере(ЭтотОбъект, Объект, Отказ);
	// Конец СтандартныеПодсистемы.КонтактнаяИнформация
	
	// СтандартныеПодсистемы.Свойства
	УправлениеСвойствами.ОбработкаПроверкиЗаполнения(ЭтотОбъект, Отказ, ПроверяемыеРеквизиты);
	// Конец СтандартныеПодсистемы.Свойства
	
	ОрганизацииЛокализация.ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты, ЭтотОбъект);
	
КонецПроцедуры

&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
	
	ОчиститьСообщения();
	
	Если ОткрытаФормаВыбораДаты Тогда
		Отказ = Истина;
	КонецЕсли;
	
	ОрганизацииКлиентЛокализация.ПередЗаписью(Отказ, ПараметрыЗаписи, ЭтотОбъект);
	
КонецПроцедуры

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	
	// СтандартныеПодсистемы.КонтактнаяИнформация
	УправлениеКонтактнойИнформацией.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект);
	// Конец СтандартныеПодсистемы.КонтактнаяИнформация
	
	// СтандартныеПодсистемы.Свойства
	УправлениеСвойствами.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект);
	// Конец СтандартныеПодсистемы.Свойства
	
	ОрганизацииЛокализация.ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи, ЭтотОбъект);
	
	// ИнтеграцияС1СДокументооборотом
	ИнтеграцияС1СДокументооборотБазоваяФункциональность.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
	// Конец ИнтеграцияС1СДокументооборотом
	
КонецПроцедуры

&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	
	ОрганизацииЛокализация.ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи, ЭтотОбъект);
	СобытияФорм.ПриЗаписиНаСервере(ЭтотОбъект, Отказ, ТекущийОбъект, ПараметрыЗаписи);
	
КонецПроцедуры

&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
	
	// СтандартныеПодсистемы.УправлениеДоступом
	УправлениеДоступом.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
	// Конец СтандартныеПодсистемы.УправлениеДоступом
	
	УправлениеФормойНаСервере();
	// Обработчик подсистемы запрета редактирования реквизитов объектов
	ЗапретРедактированияРеквизитовОбъектов.ЗаблокироватьРеквизиты(ЭтотОбъект);
	
	ОрганизацииЛокализация.ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи, ЭтотОбъект);
	
КонецПроцедуры

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

	ОбменСКонтрагентамиКлиент.ОбработкаОповещения_ФормаСправочника(ИмяСобытия, Параметр, Источник, ПараметрыОповещенияЭДО);
	// Конец ЭлектронноеВзаимодействие.ОбменСКонтрагентами
	
	// СтандартныеПодсистемы.Свойства 
	Если УправлениеСвойствамиКлиент.ОбрабатыватьОповещения(ЭтотОбъект, ИмяСобытия, Параметр) Тогда
		ОбновитьЭлементыДополнительныхРеквизитов();
		УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
	КонецЕсли;
	// Конец СтандартныеПодсистемы.Свойства
	// СтандартныеПодсистемы.РаботаСФайлами
	РаботаСФайламиКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия);
	// Конец СтандартныеПодсистемы.РаботаСФайлами

КонецПроцедуры

&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
	
	Оповестить("Запись_Организации", , Объект.Ссылка);
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
		МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
		МодульПодключаемыеКомандыКлиент.ПослеЗаписи(ЭтотОбъект, Объект, ПараметрыЗаписи);
	КонецЕсли;
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
	
	ОрганизацииКлиентЛокализация.ПослеЗаписи(ПараметрыЗаписи, ЭтотОбъект);
	
КонецПроцедуры

&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
	
	Если ОткрытаФормаВыбораДаты Тогда
		Отказ = Истина;
	КонецЕсли;
	ОрганизацииКлиентЛокализация.ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка, ЭтотОбъект);
	
КонецПроцедуры

&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
	
	ОрганизацииКлиентЛокализация.ПриЗакрытии(ЗавершениеРаботы, ЭтотОбъект);
	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиСобытийЭлементовШапкиФормы

#Область УниверсальныеОбработчикиСобытий

&НаКлиенте
Процедура Подключаемый_ОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, Параметры, СтандартнаяОбработка)
	
	ОрганизацииКлиентЛокализация.ОкончаниеВводаТекста_Организации(Элемент,
		Текст,
		ДанныеВыбора,
		Параметры,
		СтандартнаяОбработка,
		ЭтотОбъект);
		
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ПриИзмененииРеквизита(Элемент)
	
	ОрганизацииКлиентЛокализация.ПриИзмененииРеквизита(
		Элемент,
		ЭтотОбъект);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ОбработкаНавигационнойСсылкиФормы(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
	
	ОрганизацииКлиентЛокализация.ОбработкаНавигационнойСсылкиФормы_Организации(Элемент,
		НавигационнаяСсылкаФорматированнойСтроки,
		СтандартнаяОбработка,
		ЭтотОбъект);
	
КонецПроцедуры

&НаКлиенте
Процедура ОткрытьНастройкиУчетаНДСОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	Если НавигационнаяСсылкаФорматированнойСтроки = "ОткрытьНастройкиУчетаНДС" Тогда
		ОрганизацииКлиентЛокализация.ПроверитьЧтоЭтоНеНовыйЭлемент(ЭтотОбъект,
			НСтр("ru = 'Настройки учета НДС'"),
			Новый ОписаниеОповещения("ОткрытьНастройкиУчетаНДСОбъектЗаписан", 
				ЭтотОбъект,
				Новый Структура("Форма", ЭтотОбъект)));
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура ОткрытьНастройкиУчетаНДСОбъектЗаписан(Результат, ДополнительныеПараметры) Экспорт
	
	Форма = ДополнительныеПараметры.Форма;
	ОткрытьФорму("РегистрСведений.НастройкиУчетаНДС.ФормаЗаписи",
		Новый Структура("Организация", ЭтотОбъект.Объект.Ссылка),
		Форма,,,,
		,
		РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
		
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_Нажатие(Элемент, СтандартнаяОбработка)
	ОрганизацииКлиентЛокализация.Нажатие_Организации(Элемент,
		СтандартнаяОбработка,
		ЭтотОбъект);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	ОрганизацииКлиентЛокализация.НачалоВыбора_Организации(Элемент, ДанныеВыбора, СтандартнаяОбработка, ЭтотОбъект);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_АвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
	
	ОрганизацииКлиентЛокализация.АвтоПодбор_Организации(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка, ЭтотОбъект);
	
КонецПроцедуры

&НаКлиенте
Процедура ПриОкончанииИзмененияРеквизитаЛокализации(ИмяЭлемента, ДополнительныеПараметры) Экспорт
	
	Если ДополнительныеПараметры.ТребуетсяВызовСервера Тогда
		ПриОкончанииИзмененияРеквизитаЛокализацииНаСервере(ИмяЭлемента, ДополнительныеПараметры.ПараметрыОбработки);
	КонецЕсли;
	
	Если ИмяЭлемента = "НаименованиеСокращенное" Тогда
		НаименованиеСокращенноеПриИзменении(Элементы.НаименованиеСокращенное);
	КонецЕсли;
	
КонецПроцедуры

&НаСервере
Процедура ПриОкончанииИзмененияРеквизитаЛокализацииНаСервере(ИмяЭлемента, ПараметрыОбработки)
		
	ОрганизацииЛокализация.ПриОкончанииИзмененияРеквизита(ИмяЭлемента, ЭтотОбъект, ПараметрыОбработки);
	Если ЗначениеЗаполнено(ПараметрыОбработки) 
		И ПараметрыОбработки.Свойство("ИмяПроцедуры")
		И ПараметрыОбработки.ИмяПроцедуры = "УправлениеФормойНаСервере" Тогда
		
		УправлениеФормойНаСервере();
		
	КонецЕсли;
КонецПроцедуры

#КонецОбласти

&НаКлиенте
Процедура ВидОрганизацииПриИзменении(Элемент)
	ИзменитьВидОрганизацииНаСервере();
КонецПроцедуры

&НаКлиенте
Процедура АдресЛоготипаНажатие(Элемент, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	ЗаблокироватьДанныеФормыДляРедактирования();
	
	УправлениеФлагамиРаботыСКартинками(Истина, Ложь);
	ДобавитьИзображениеНаКлиенте();
	
КонецПроцедуры 

&НаКлиенте
Процедура АдресФаксимильнойПечатиНажатие(Элемент, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	ЗаблокироватьДанныеФормыДляРедактирования();
	
	УправлениеФлагамиРаботыСКартинками(Ложь, Истина);
	ДобавитьИзображениеНаКлиенте();
	
КонецПроцедуры

// СтандартныеПодсистемы.КонтактнаяИнформация

&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияПриИзменении(Элемент)
	УправлениеКонтактнойИнформациейКлиент.НачатьИзменение(ЭтотОбъект, Элемент);
КонецПроцедуры

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

&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияПриНажатии(Элемент, СтандартнаяОбработка)
	УправлениеКонтактнойИнформациейКлиент.НачатьВыбор(ЭтотОбъект, Элемент,, СтандартнаяОбработка);
КонецПроцедуры

// Параметры:
// 	Элемент - ПолеФормы -
// 	СтандартнаяОбработка - Булево - 
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияОчистка(Элемент, СтандартнаяОбработка)
	УправлениеКонтактнойИнформациейКлиент.НачатьОчистку(ЭтотОбъект, Элемент.Имя);
КонецПроцедуры

// Параметры:
// 	Команда - КомандаФормы -
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияВыполнитьКоманду(Команда)
	УправлениеКонтактнойИнформациейКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда.Имя);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
	
	УправлениеКонтактнойИнформациейКлиент.АвтоПодборАдреса(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка);
	
КонецПроцедуры


// Параметры:
// 	Элемент - ПолеФормы -
// 	ВыбранноеЗначение - Произвольный -
// 	СтандартнаяОбработка - Булево -
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
	
	УправлениеКонтактнойИнформациейКлиент.ОбработкаВыбора(ЭтотОбъект, ВыбранноеЗначение, Элемент.Имя, СтандартнаяОбработка);
	
КонецПроцедуры

&НаСервере
Процедура КонтактнаяИнформацияПриСменеСтраницы()
	
	УправлениеКонтактнойИнформацией.ВыполнитьОтложеннуюИнициализацию(ЭтотОбъект, Объект);
	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
    УправлениеКонтактнойИнформациейКлиент.НачатьОбработкуНавигационнойСсылки(ЭтотОбъект, Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ПродолжитьОбновлениеКонтактнойИнформации(Результат, ДополнительныеПараметры) Экспорт
	ОбновитьКонтактнуюИнформацию(Результат);
КонецПроцедуры
// Конец СтандартныеПодсистемы.КонтактнаяИнформация

&НаКлиенте
Процедура ПрефиксПриИзменении(Элемент)
	
	Если Найти(Объект.Префикс, "-") > 0 Тогда
		ПоказатьПредупреждение(Неопределено, НСтр("ru = 'Нельзя в префиксе организации использовать символ ""-"".'"));
		Объект.Префикс = СтрЗаменить(Объект.Префикс, "-", "");
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура НаименованиеСокращенноеПриИзменении(Элемент)
	
	Если ПустаяСтрока(Объект.НаименованиеПолное) Тогда
		Объект.НаименованиеПолное = Объект.НаименованиеСокращенное;
	КонецЕсли;
	
	Если ПустаяСтрока(Объект.Наименование) Тогда
		Объект.Наименование	= Объект.НаименованиеСокращенное;
	КонецЕсли;
	
	ОрганизацииКлиентЛокализация.ПриИзмененииРеквизита(Элемент, ЭтотОбъект);
	УстановитьАктуальноеЗначениеИсторииНаименований();
	
КонецПроцедуры

&НаКлиенте
Процедура НаименованиеМеждународноеПриИзменении(Элемент)
	УстановитьАктуальноеЗначениеИсторииНаименований()
КонецПроцедуры

&НаКлиенте
Процедура НаименованиеПолноеПриИзменении(Элемент)
	УстановитьАктуальноеЗначениеИсторииНаименований()
КонецПроцедуры

&НаКлиенте
Процедура СтраницыПараметрыОрганизацииПриСменеСтраницы(Элемент, ТекущаяСтраница)
	
	// СтандартныеПодсистемы.КонтактнаяИнформация
	Если ТекущаяСтраница.Имя = ПараметрыКонтактнойИнформации.ГруппаКонтактнаяИнформация.ГруппаДляРазмещения
		И ПараметрыКонтактнойИнформации.ГруппаКонтактнаяИнформация.ОтложеннаяИнициализация 
		И Не ПараметрыКонтактнойИнформации.ГруппаКонтактнаяИнформация.ВыполненаОтложеннаяИнициализация Тогда
		
		КонтактнаяИнформацияПриСменеСтраницы();
		
	КонецЕсли;
	// Конец СтандартныеПодсистемы.КонтактнаяИнформация
	
КонецПроцедуры

&НаКлиенте
Процедура ВидОрганизацииОчистка(Элемент, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
КонецПроцедуры

&НаКлиенте
Процедура ИННОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка)
	ОрганизацииКлиентЛокализация.ПроверитьИНН(Текст, Объект);
КонецПроцедуры

&НаКлиенте
Процедура ИсторияНаименованийНажатие(Элемент)
	
	ПараметрыФормы = Новый Структура;
	ПараметрыФормы.Вставить("ЮридическоеФизическоеЛицо", Объект.ЮридическоеФизическоеЛицо);
	ПараметрыФормы.Вставить("ИсторияНаименований",Объект.ИсторияНаименований);
	ПараметрыФормы.Вставить("ТолькоПросмотр", ТолькоПросмотр);
	
	ОткрытьФорму("Справочник.Организации.Форма.ФормаРедактированияИсторииНаименований", ПараметрыФормы, ЭтотОбъект);
	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиКомандФормы

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_КомандаПанелиПрисоединенныхФайлов(Команда)
	 РаботаСФайламиКлиент.КомандаУправленияПрисоединеннымиФайлами(ЭтотОбъект, Команда);
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
	 РаботаСФайламиКлиент.ПолеПредпросмотраПроверкаПеретаскивания(ЭтотОбъект, Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
	 РаботаСФайламиКлиент.ПолеПредпросмотраПеретаскивание(ЭтотОбъект, Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраНажатие(Элемент, СтандартнаяОбработка)
	 РаботаСФайламиКлиент.ПолеПредпросмотраНажатие(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

#Область УниверсальныеОбработчикиКомандФормы

// Подключаемый выполнить команду локализации.
// 
// Параметры:
//  Команда - КомандаФормы - Команда
&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуЛокализации(Команда)
	
	ОрганизацииКлиентЛокализация.ВыполнитьКомандуЛокализации(Команда, ЭтотОбъект);
	
КонецПроцедуры

&НаКлиенте
Процедура ПродолжитьВыполнениеКомандыЛокализации(ИмяКоманды, ДополнительныеПараметры) Экспорт
	
	Если ДополнительныеПараметры.ТребуетсяВызовСервера Тогда
		ПродолжитьВыполнениеКомандыЛокализацииНаСервере(ИмяКоманды, ДополнительныеПараметры.ПараметрыОбработки);
	КонецЕсли;
	
КонецПроцедуры

&НаСервере
Процедура ПродолжитьВыполнениеКомандыЛокализацииНаСервере(ИмяКоманды, ПараметрыОбработки)
	
	ОрганизацииЛокализация.ВыполнитьКомандуЛокализации(ЭтотОбъект, ИмяКоманды, ПараметрыОбработки);
	Если ЗначениеЗаполнено(ПараметрыОбработки) И ПараметрыОбработки.Свойство("ИмяПроцедуры") Тогда
		Если ПараметрыОбработки.ИмяПроцедуры = "КонтактнаяИнформацияПриСменеСтраницы" Тогда
			КонтактнаяИнформацияПриСменеСтраницы();
		КонецЕсли;
	КонецЕсли;
	
КонецПроцедуры
	
#КонецОбласти

&НаКлиенте
Процедура ОткрытьУчетнаяПолитикаФинансовогоУчетаОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
	Если НавигационнаяСсылкаФорматированнойСтроки = "ОткрытьУчетнаяПолитикаФинансовогоУчета" Тогда
		ОрганизацииКлиентЛокализация.ПроверитьЧтоЭтоНеНовыйЭлемент(ЭтотОбъект,
			НСтр("ru = 'Учетная политика финансового учета'"),
			Новый ОписаниеОповещения("ОткрытьУчетнаяПолитикаФинансовогоУчетаОбъектЗаписан", 
				ЭтотОбъект,
				Новый Структура("Форма", ЭтотОбъект)));
	КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ОткрытьУчетнаяПолитикаФинансовогоУчетаОбъектЗаписан(Результат, ДополнительныеПараметры) Экспорт
	
	Форма = ДополнительныеПараметры.Форма;
	ОткрытьФорму("РегистрСведений.УчетнаяПолитикаФинансовогоУчета.ФормаЗаписи",
		Новый Структура("Организация", ЭтотОбъект.Объект.Ссылка),
		Форма,,,,
		,
		РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
		
КонецПроцедуры

&НаКлиенте
Процедура ДобавитьИзображениеЛоготипа(Команда)
	
	Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
		
		ТекстВопроса = НСтр("ru='Для выбора изображения необходимо записать объект. Записать?'");
		ПоказатьВопрос(Новый ОписаниеОповещения("ДобавитьИзображениеЛоготипаЗавершение", ЭтотОбъект), ТекстВопроса, РежимДиалогаВопрос.ДаНет);
		Возврат;
		
	КонецЕсли;
	
	ДобавитьИзображениеЛоготипаФрагмент();
КонецПроцедуры

&НаКлиенте
Процедура ДобавитьИзображениеЛоготипаЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт
    
    Ответ = РезультатВопроса;
    
    Если Ответ = КодВозвратаДиалога.Да Тогда
        Записать();
    Иначе
        Возврат
    КонецЕсли;
    
    
    ДобавитьИзображениеЛоготипаФрагмент();

КонецПроцедуры

&НаКлиенте
Процедура ДобавитьИзображениеЛоготипаФрагмент()
    
    УправлениеФлагамиРаботыСКартинками(Истина, Ложь);
    
    ИдентификаторФайла = Новый УникальныйИдентификатор;
    РаботаСФайламиКлиент.ДобавитьФайлы(Объект.Ссылка, ИдентификаторФайла);

КонецПроцедуры

&НаКлиенте
Процедура ИзменитьИзображениеЛоготипа(Команда)
	
	ОчиститьСообщения();
	
	Если ЗначениеЗаполнено(Объект.ФайлЛоготип) Тогда
		
		РаботаСФайламиКлиент.ОткрытьФормуФайла(Объект.ФайлЛоготип);
		
	Иначе
		
		ТекстСообщения = НСтр("ru='Отсутствует изображение для редактирования'");
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения,, "АдресЛоготипа");
		
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура ОчиститьИзображениеЛоготипа(Команда)
	
	Объект.ФайлЛоготип = Неопределено;
	АдресЛоготипа = "";
	
КонецПроцедуры

&НаКлиенте
Процедура ПросмотретьИзображениеЛоготипа(Команда)
	
	УправлениеФлагамиРаботыСКартинками(Истина, Ложь);
	ПросмотретьПрисоединенныйФайл();
	
КонецПроцедуры

&НаКлиенте
Процедура ЛоготипИзПрисоединенныхФайлов(Команда)
	
	УправлениеФлагамиРаботыСКартинками(Истина, Ложь);
	ВыбратьКартинкуИзПрисоединенныхФайлов();
	
КонецПроцедуры

&НаКлиенте
Процедура ДобавитьИзображениеФаксимиле(Команда)
	
	Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
		
		ТекстВопроса = НСтр("ru='Для выбора изображения необходимо записать объект. Записать?'");
		ПоказатьВопрос(Новый ОписаниеОповещения("ДобавитьИзображениеФаксимилеЗавершение", ЭтотОбъект), ТекстВопроса, РежимДиалогаВопрос.ДаНет);
		Возврат;
		
	КонецЕсли;
	
	ДобавитьИзображениеФаксимилеФрагмент();
КонецПроцедуры

&НаКлиенте
Процедура ДобавитьИзображениеФаксимилеЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт
    
    Ответ = РезультатВопроса;
    
    Если Ответ = КодВозвратаДиалога.Да Тогда
        Записать();
    Иначе
        Возврат
    КонецЕсли;
    
    
    ДобавитьИзображениеФаксимилеФрагмент();

КонецПроцедуры

&НаКлиенте
Процедура ДобавитьИзображениеФаксимилеФрагмент()
    
    Перем ИдентификаторФайла;
    
    УправлениеФлагамиРаботыСКартинками(Ложь, Истина);
    
    ИдентификаторФайла = Новый УникальныйИдентификатор;
    РаботаСФайламиКлиент.ДобавитьФайлы(Объект.Ссылка, ИдентификаторФайла);

КонецПроцедуры

&НаКлиенте
Процедура ИзменитьИзображениеФаксимиле(Команда)
	
	ОчиститьСообщения();
	
	Если ЗначениеЗаполнено(Объект.ФайлФаксимильнаяПечать) Тогда
		
		РаботаСФайламиКлиент.ОткрытьФормуФайла(Объект.ФайлФаксимильнаяПечать);
		
	Иначе
		
		ТекстСообщения = НСтр("ru='Отсутствует изображение для редактирования'");
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения,, "АдресЛоготипа");
		
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура ОчиститьИзображениеФаксимиле(Команда)
	
	Объект.ФайлФаксимильнаяПечать = Неопределено;
	АдресФаксимильнойПечати = "";
	
КонецПроцедуры

&НаКлиенте
Процедура ПросмотретьИзображениеФаксимиле(Команда)
	
	УправлениеФлагамиРаботыСКартинками(Ложь, Истина);
	ПросмотретьПрисоединенныйФайл();
	
КонецПроцедуры

&НаКлиенте
Процедура ФаксимилеИзПрисоединенныхФайлов(Команда)
	
	УправлениеФлагамиРаботыСКартинками(Ложь, Истина);
	ВыбратьКартинкуИзПрисоединенныхФайлов();
	
КонецПроцедуры // ФаксимилеИзПрисоединенныхФайлов()

&НаКлиенте
Процедура ПомощникРаботыФаксимильнойПечати(Команда)
	
	ПараметрКоманды = Новый Массив;
	ПараметрКоманды.Добавить(Объект.Ссылка);
	
	СтруктураДополнительныхПараметров = Новый Структура("ЗаголовокФормы", НСтр("ru = 'Как создать факсимильную подпись и печать?'"));
	УправлениеПечатьюКлиент.ВыполнитьКомандуПечати("Справочник.Организации", "НапечататьПомощникРаботыФаксимильнойПечати", ПараметрКоманды, Неопределено, СтруктураДополнительныхПараметров);
	
КонецПроцедуры

&НаКлиенте
Процедура ПредварительныйПросмотрСчетаНаОплату(Команда)
	
	Если Не ЗначениеЗаполнено(Объект.Ссылка) ИЛИ Модифицированность Тогда
		
		ТекстВопроса = Нстр("ru = 'Данные еще не записаны.
		|Переход к предварительному просмотру счета на оплату доступен только после записи данных.
		|Данные будут записаны.'");
		
		ПоказатьВопрос(Новый ОписаниеОповещения("ПредварительныйПросмотрСчетаНаОплатуЗавершение", ЭтотОбъект), ТекстВопроса, РежимДиалогаВопрос.ОКОтмена);
        Возврат;
		
	КонецЕсли;
	
	ПредварительныйПросмотрСчетаНаОплатуФрагмент();
КонецПроцедуры

&НаКлиенте
Процедура ПредварительныйПросмотрСчетаНаОплатуЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт
    
    Если РезультатВопроса = КодВозвратаДиалога.Отмена Тогда
        Возврат;
    КонецЕсли;
    
    ЭлементЗаписан = Записать();
    
    Если Не ЭлементЗаписан Тогда
        Возврат;
    КонецЕсли;
    
    
    ПредварительныйПросмотрСчетаНаОплатуФрагмент();

КонецПроцедуры

&НаКлиенте
Процедура ПредварительныйПросмотрСчетаНаОплатуФрагмент()
    
    Перем ПараметрКоманды, СтруктураДополнительныхПараметров;
    
    ПараметрКоманды = Новый Массив;
    ПараметрКоманды.Добавить(Объект.Ссылка);
    
    СтруктураДополнительныхПараметров = Новый Структура("ЗаголовокФормы", НСтр("ru='Предварительный просмотр печатной формы ""Счет на оплату"".'"));
    УправлениеПечатьюКлиент.ВыполнитьКомандуПечати("Обработка.ПечатьСчетовНаОплату", "ПредварительныйПросмотрПечатнойФормыСчетНаОплату", ПараметрКоманды, Неопределено, СтруктураДополнительныхПараметров);

КонецПроцедуры

// ИнтеграцияС1СДокументооборотом
&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуИнтеграции(Команда)
	
	ИнтеграцияС1СДокументооборотБазоваяФункциональностьКлиент.ВыполнитьПодключаемуюКомандуИнтеграции(Команда, ЭтотОбъект, Объект);
	
КонецПроцедуры
// Конец ИнтеграцияС1СДокументооборотом

// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
	ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект);
КонецПроцедуры

&НаСервере
Процедура Подключаемый_ВыполнитьКомандуНаСервере(Контекст, Результат) Экспорт
	ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, Контекст, Объект, Результат);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
	ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды

// ЭлектронноеВзаимодействие.ОбменСКонтрагентами

&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуЭДО(Команда)
	
	ЭлектронноеВзаимодействиеКлиент.ВыполнитьПодключаемуюКомандуЭДО(Команда, ЭтотОбъект, Объект);
	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ОбработчикОжиданияЭДО()
	
	ОбменСКонтрагентамиКлиент.ОбработчикОжиданияЭДО(ЭтотОбъект);
	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ОбновитьКомандыЭДО()
	
	ОбменСКонтрагентамиКлиент.ОбновитьКоманды(ЭтотОбъект, Объект);
	
КонецПроцедуры

// Конец ЭлектронноеВзаимодействие.ОбменСКонтрагентами

// Обработчик команды, создаваемой механизмом запрета редактирования ключевых реквизитов.
//
&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъекта(Команда)
	
	Если Не Объект.Ссылка.Пустая() Тогда
		
		ПараметрыФормыРазблокировки = Новый Структура;
		ПараметрыФормыРазблокировки.Вставить("ОбособленноеПодразделение", Объект.ОбособленноеПодразделение);

		ОткрытьФорму("Справочник.Организации.Форма.РазблокированиеРеквизитов", ПараметрыФормыРазблокировки,,,,, 
			Новый ОписаниеОповещения("Подключаемый_РазрешитьРедактированиеРеквизитовОбъектаЗавершение", ЭтотОбъект), 
			РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
		
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъектаЗавершение(Результат, ДополнительныеПараметры) Экспорт
    
    Если ТипЗнч(Результат) = Тип("Массив") И Результат.Количество() > 0 Тогда
        
        ЗапретРедактированияРеквизитовОбъектовКлиент.УстановитьДоступностьЭлементовФормы(ЭтотОбъект, Результат);
        
    КонецЕсли;

КонецПроцедуры

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

&НаСервере
Процедура УстановитьУсловноеОформление()

	УсловноеОформление.Элементы.Очистить();
	
	//
	
	Элемент = УсловноеОформление.Элементы.Добавить();

	ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
	ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ГоловнаяОрганизация);

	ГруппаОтбора = Элемент.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;

	ОтборЭлемента = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ГоловнаяОрганизация");
	ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;

	ОтборЭлемента = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ОбособленноеПодразделение");
	ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	ОтборЭлемента.ПравоеЗначение = Истина;

	Элемент.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Истина);

КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьФИОФизическогоЛица(ИндивидуальныйПредприниматель)
	
	Возврат ФизическиеЛицаУТ.ФамилияИмяОтчество(ИндивидуальныйПредприниматель);
	
КонецФункции



// СтандартныеПодсистемы.Свойства
&НаСервере
Процедура ОбновитьЭлементыДополнительныхРеквизитов()

	УправлениеСвойствами.ОбновитьЭлементыДополнительныхРеквизитов(ЭтотОбъект);

КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_СвойстваВыполнитьКоманду(ЭлементИлиКоманда, НавигационнаяСсылка = Неопределено, СтандартнаяОбработка = Неопределено)
	УправлениеСвойствамиКлиент.ВыполнитьКоманду(ЭтотОбъект, ЭлементИлиКоманда, СтандартнаяОбработка);
КонецПроцедуры
// Конец СтандартныеПодсистемы.Свойства

&НаСервере
Процедура УправлениеФормойНаСервере()
	
	УправлениеПредприятием = НЕ ПолучитьФункциональнуюОпцию("УправлениеТорговлей");
	
	ОбщегоНазначенияУТКлиентСервер.УстановитьСвойствоЭлементаФормы(
			Элементы, 
			"ГруппаВидОрганизации",
			"Доступность", 
			ПравоДоступа("Изменение", Метаданные.Справочники.Организации));
	
	Если ВидОрганизации = "ЮридическоеЛицо" Тогда
		
		Элементы.Наименование.ПодсказкаВвода = НСтр("ru = 'например, Стройснаб ООО'");
		Элементы.НаименованиеСокращенное.ПодсказкаВвода = НСтр("ru = 'например, ООО ""Стройснаб""'");
		Элементы.НаименованиеПолное.ПодсказкаВвода = НСтр("ru = 'например, Общество с ограниченной ответственностью Стройснаб'");
		Элементы.ВалютаРегламентированногоУчета.Видимость = Истина;
		
	ИначеЕсли ВидОрганизации = "ОбособленноеПодразделение" Тогда
		
		Элементы.Наименование.ПодсказкаВвода = НСтр("ru = 'например, Филиал ТД (Тамбов)'");
		Элементы.НаименованиеСокращенное.ПодсказкаВвода = НСтр("ru = 'например, ТД Филиал (Тамбов)'");
		Элементы.НаименованиеПолное.ПодсказкаВвода = НСтр("ru = 'например, Торговый дом ""Комплексный"" - обособленное подразделение'");
		Элементы.ВалютаРегламентированногоУчета.Видимость = Ложь;
		
	ИначеЕсли ВидОрганизации = "ИндивидуальныйПредприниматель" Тогда
		
		Элементы.Наименование.ПодсказкаВвода = НСтр("ru = 'например, Иванова Наталья Игнатьевна'");
		Элементы.НаименованиеСокращенное.ПодсказкаВвода = НСтр("ru = 'например, ИП Иванова Наталья Игнатьевна'");
		Элементы.НаименованиеПолное.ПодсказкаВвода = НСтр("ru = 'например, Индивидуальный предприниматель Иванова Наталья Игнатьевна'");
		Элементы.ВалютаРегламентированногоУчета.Видимость = Истина;
		
	КонецЕсли;
		
	ОбщегоНазначенияУТКлиентСервер.УстановитьСвойствоЭлементаФормы(
			Элементы,
			"ГоловнаяОрганизация",
			"Видимость",
			(ВидОрганизации = "ОбособленноеПодразделение" И ПолучитьФункциональнуюОпцию("ИспользоватьОбособленныеПодразделенияВыделенныеНаБаланс")));
	
	ОбщегоНазначенияУТКлиентСервер.УстановитьСвойствоЭлементовФормы(
			Элементы,
			"ДопускаютсяВзаиморасчетыЧерезГоловнуюОрганизацию",
			"Видимость",
			(ВидОрганизации = "ОбособленноеПодразделение"));
	
	ОбщегоНазначенияУТКлиентСервер.УстановитьСвойствоЭлементовФормы(
				Элементы, 
				"ГруппаИндивидуальныйПредприниматель",
				"Видимость", 
				ВидОрганизации = "ИндивидуальныйПредприниматель");
		

	Если НЕ УправлениеПредприятием Тогда
		ОбщегоНазначенияУТКлиентСервер.УстановитьСвойствоЭлементовФормы(Элементы, "ГруппаУчетнаяПолитикаИДругиеНастройки",
																	"Заголовок", НСтр("ru='Учетная политика'"));
	КонецЕсли;
	
	Если Объект.Ссылка = Справочники.Организации.УправленческаяОрганизация Тогда
		Элементы.ИсторияНаименований.Видимость = Ложь;
		Элементы.Статус.Видимость = Ложь;
	КонецЕсли;
	
	УстановитьЗаголовокГиперСсылкиИсторияНаименований();
	
	ОрганизацииЛокализация.УправлениеФормойНаСервере(ЭтотОбъект);
	
КонецПроцедуры

&НаСервере
Процедура ИзменитьВидОрганизацииНаСервере()
	
	Объект.ВалютаРегламентированногоУчета = Справочники.Валюты.ПустаяСсылка();
	
	Если ВидОрганизации = "ЮридическоеЛицо" Тогда
		Объект.ЮрФизЛицо = ПредопределенноеЗначение("Перечисление.ЮрФизЛицо.ЮрЛицо");
		Объект.ОбособленноеПодразделение = Ложь;

		Объект.ГоловнаяОрганизация = Объект.Ссылка;
		Объект.ИндивидуальныйПредприниматель = Справочники.ФизическиеЛица.ПустаяСсылка();
		Объект.ЦифровойИндексОбособленногоПодразделения = "";
		Объект.ДопускаютсяВзаиморасчетыЧерезГоловнуюОрганизацию = Ложь;
	ИначеЕсли ВидОрганизации = "ИндивидуальныйПредприниматель" Тогда
		Объект.ЮрФизЛицо = ПредопределенноеЗначение("Перечисление.ЮрФизЛицо.ИндивидуальныйПредприниматель");
		Объект.ОбособленноеПодразделение = Ложь;

		Объект.ГоловнаяОрганизация = Объект.Ссылка;
		Объект.ЦифровойИндексОбособленногоПодразделения = "";
		Объект.ДопускаютсяВзаиморасчетыЧерезГоловнуюОрганизацию = Ложь;

	ИначеЕсли ВидОрганизации = "ОбособленноеПодразделение" Тогда
		Объект.ЮрФизЛицо = ПредопределенноеЗначение("Перечисление.ЮрФизЛицо.ЮрЛицо");
		Объект.ОбособленноеПодразделение = Истина;
		Объект.ГоловнаяОрганизация = Справочники.Организации.ПустаяСсылка();
		Объект.ИндивидуальныйПредприниматель = Справочники.ФизическиеЛица.ПустаяСсылка();
	Иначе
		ВызватьИсключение Нстр("ru = 'Произошла ошибка при изменении типа организации. Обратитесь к администратору.'");
	КонецЕсли;
	ПриОкончанииИзмененияРеквизитаЛокализацииНаСервере("ВидОрганизации", Неопределено);
	Модифицированность = Истина;
	
	УправлениеФормойНаСервере();
	
КонецПроцедуры

&НаКлиенте
Процедура УправлениеФлагамиРаботыСКартинками(ЭтоРаботаСЛоготипом = Ложь, ЭтоРаботаСФаксимиле = Ложь)
	
	РаботаСЛоготипом = ЭтоРаботаСЛоготипом;
	РаботаСФаксимиле = ЭтоРаботаСФаксимиле;
	
КонецПроцедуры

&НаКлиенте
Процедура ВыбратьКартинкуИзПрисоединенныхФайлов()
	
	ПараметрыВыбораКартинки = Новый Структура;
	ПараметрыВыбораКартинки.Вставить("ВладелецФайла", Объект.Ссылка);
	ПараметрыВыбораКартинки.Вставить("ЗакрыватьПриВыборе", Истина);
	ПараметрыВыбораКартинки.Вставить("РежимВыбора", Истина);
	
	ОткрытьФорму("Обработка.РаботаСФайлами.Форма.ПрисоединенныеФайлы", ПараметрыВыбораКартинки, ЭтотОбъект);
	
КонецПроцедуры 

&НаКлиенте
Процедура ПросмотретьПрисоединенныйФайл()
	
	ОчиститьСообщения();
	
	ИмяРеквизитаОбъекта = "";
	
	Если РаботаСЛоготипом Тогда
		
		ИмяРеквизитаОбъекта = "ФайлЛоготип";
		
	ИначеЕсли РаботаСФаксимиле Тогда
		
		ИмяРеквизитаОбъекта = "ФайлФаксимильнаяПечать";
		
	КонецЕсли;
	
	Если НЕ ПустаяСтрока(ИмяРеквизитаОбъекта)
		И ЗначениеЗаполнено(Объект[ИмяРеквизитаОбъекта]) Тогда
		
		ДанныеФайла = ПолучитьДанныеФайла(ЭтотОбъект.Объект[ИмяРеквизитаОбъекта], УникальныйИдентификатор);
		РаботаСФайламиКлиент.ОткрытьФайл(ДанныеФайла);
		
	Иначе
		
		ТекстСообщения = НСтр("ru='Отсутствует изображение для просмотра'");
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения,, "АдресКартинки");
		
	КонецЕсли;
	
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьДанныеФайла(ФайлКартинки, УникальныйИдентификатор)
	
	Возврат РаботаСФайлами.ДанныеФайла(ФайлКартинки, УникальныйИдентификатор);
	
КонецФункции

&НаСервереБезКонтекста
Функция НавигационнаяСсылкаКартинки(ФайлКартинки, ИдентификаторФормы)
	
	УстановитьПривилегированныйРежим(Истина);
	
	Попытка
		АдресКартинки = РаботаСФайлами.ДанныеФайла(ФайлКартинки, ИдентификаторФормы).СсылкаНаДвоичныеДанныеФайла;
	Исключение
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
		АдресКартинки = "";
	КонецПопытки;
	
	Возврат АдресКартинки;
	
КонецФункции

&НаКлиенте
Процедура ДобавитьИзображениеНаКлиенте()
	
	Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
		
		ТекстВопроса = НСтр("ru='Для выбора изображения необходимо записать объект. Записать?'");
		ПоказатьВопрос(Новый ОписаниеОповещения("ДобавитьИзображениеНаКлиентеЗавершение", ЭтотОбъект), ТекстВопроса, РежимДиалогаВопрос.ДаНет);
		Возврат;
		
	КонецЕсли;
	
	ДобавитьИзображениеНаКлиентеФрагмент();
КонецПроцедуры

&НаКлиенте
Процедура ДобавитьИзображениеНаКлиентеЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт
    
    Ответ = РезультатВопроса;
    
    Если Ответ = КодВозвратаДиалога.Да Тогда
        Если Не Записать() Тогда
            Возврат;
        КонецЕсли;
    Иначе
        Возврат;
    КонецЕсли;
    
    
    ДобавитьИзображениеНаКлиентеФрагмент();

КонецПроцедуры

&НаКлиенте
Процедура ДобавитьИзображениеНаКлиентеФрагмент()
    
    Перем ИдентификаторФайла, ИмяРеквизитаОбъекта;
    
    Если РаботаСЛоготипом Тогда
        
        ИмяРеквизитаОбъекта = "ФайлЛоготип";
        
    ИначеЕсли РаботаСФаксимиле Тогда
        
        ИмяРеквизитаОбъекта = "ФайлФаксимильнаяПечать";
        
    КонецЕсли;
    
    Если ЗначениеЗаполнено(Объект[ИмяРеквизитаОбъекта]) Тогда
        
        ПросмотретьПрисоединенныйФайл();
        
    ИначеЕсли ЗначениеЗаполнено(Объект.Ссылка) Тогда
        
        ИдентификаторФайла = Новый УникальныйИдентификатор;
        
        РаботаСФайламиКлиент.ДобавитьФайлы(Объект.Ссылка, ИдентификаторФайла, НоменклатураКлиент.ФильтрФайловИзображений());
        
    КонецЕсли;

КонецПроцедуры 

////////////////////////////////////////////////////////////////////////////////
// Заполнение описания параметров организации

&НаСервере
Функция ГоловныеОрганизацииОбособленногоПодразделения()

	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	Организации.Ссылка,
	|	Организации.Наименование КАК Наименование
	|ИЗ
	|	Справочник.Организации КАК Организации
	|ГДЕ
	|	Организации.ГоловнаяОрганизация = Организации.Ссылка
	|	И Организации.ЮридическоеФизическоеЛицо = ЗНАЧЕНИЕ(Перечисление.ЮридическоеФизическоеЛицо.ЮридическоеЛицо)
	|	И Организации.Ссылка <> ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация)
	|
	|УПОРЯДОЧИТЬ ПО
	|	Наименование";
	
	Результат = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
	
	Возврат Результат;
	
КонецФункции

&НаСервере
Процедура ЗаполнитьРеквизитГоловнаяОрганизация()
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	ВЫБОР
	|		КОГДА Организации.ЮридическоеФизическоеЛицо = ЗНАЧЕНИЕ(Перечисление.ЮридическоеФизическоеЛицо.ЮридическоеЛицо)
	|				И Организации.ОбособленноеПодразделение
	|			ТОГДА Организации.ГоловнаяОрганизация
	|		ИНАЧЕ Организации.Ссылка
	|	КОНЕЦ КАК ГоловнаяОрганизация
	|ИЗ
	|	Справочник.Организации КАК Организации
	|ГДЕ
	|	Организации.Ссылка = &Организация";
	
	Запрос.УстановитьПараметр("Организация", Объект.Ссылка);
	
	ДанныеГоловнаяОрганизация = Запрос.Выполнить().Выбрать();
	Пока ДанныеГоловнаяОрганизация.Следующий() Цикл
		ГоловнаяОрганизация = ДанныеГоловнаяОрганизация.ГоловнаяОрганизация;	
	КонецЦикла;
	
КонецПроцедуры


// СтандартныеПодсистемы.Свойства

&НаКлиенте
Процедура ОбновитьЗависимостиДополнительныхРеквизитов()
	УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ПриИзмененииДополнительногоРеквизита(Элемент)
	УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры

// Конец СтандартныеПодсистемы.Свойства

&НаСервере
Процедура ПриСозданииЧтенииНаСервере()
	ЗаполнитьОписаниеДействующихПараметров();
	Элементы.СтранаРегистрации.Видимость = ПолучитьФункциональнуюОпцию("ИспользоватьМногострановойУчет") Или НЕ ЗначениеЗаполнено(Объект.СтранаРегистрации);
	ОрганизацииЛокализация.ПриСозданииЧтенииНаСервере(ЭтотОбъект);
КонецПроцедуры

// Конец  Заполнение Организации по ИНН данными из ЕГРЮЛ/ЕГРИП

&НаСервере
Процедура ЗаполнитьОписаниеДействующихПараметров(ИмяРегистра = "")
	СоответствиеЭлементов = Справочники.Организации.СоответствиеЭлементовФормыПараметрамНалоговУчетныхПолитик();
	НастройкиНалоговУчетныхПолитик.УправлениеВидимостьюЭлементовУчетныхПолитик(ЭтотОбъект, СоответствиеЭлементов, Объект.Ссылка);
	НастройкиНалоговУчетныхПолитик.ЗаполнитьОписаниеДействующихПараметров(ЭтотОбъект, Объект.Ссылка, ИмяРегистра);
	ОрганизацииЛокализация.УчетнаяПолитикаПриИзмененииСервер(ЭтотОбъект);
КонецПроцедуры

&НаКлиенте
Функция ДоступныеРегистрыНалоговУчетныхПолитик()
	МассивРегистров = Новый Массив();
	МассивРегистров.Добавить("УчетнаяПолитикаФинансовогоУчета");
	МассивРегистров.Добавить("НастройкиУчетаНДС");
	ОрганизацииКлиентЛокализация.ДоступныеРегистрыНалоговУчетныхПолитик(МассивРегистров);
	Возврат МассивРегистров;
КонецФункции

&НаСервере
Процедура УстановитьНаименованиеПослеРедактированияИстории(НаборЗаписей)
	
	Модифицированность = Истина;
	
	НаборЗаписей.Сортировать("Период");
	
	Объект.ИсторияНаименований.Очистить();
	Для Каждого ЗаписьНабора Из НаборЗаписей Цикл
		ЗаписьИстории = Объект.ИсторияНаименований.Добавить();
		ЗаполнитьЗначенияСвойств(ЗаписьИстории, ЗаписьНабора);
	КонецЦикла;
	
	КоличествоЗаписейИстории = НаборЗаписей.Количество();
	Если КоличествоЗаписейИстории > 0 Тогда
		АктуальнаяЗапись = НаборЗаписей[НаборЗаписей.Количество()-1];
		Объект.НаименованиеСокращенное = АктуальнаяЗапись.НаименованиеСокращенное;
		Объект.НаименованиеПолное = АктуальнаяЗапись.НаименованиеПолное;
		Объект.НаименованиеМеждународное = АктуальнаяЗапись.НаименованиеМеждународное;
	Иначе
		Объект.НаименованиеСокращенное = "";
		Объект.НаименованиеПолное = "";
		Объект.НаименованиеМеждународное = "";
	КонецЕсли;
	
	УстановитьЗаголовокГиперСсылкиИсторияНаименований();
	
КонецПроцедуры

&НаСервере
Процедура УстановитьЗаголовокГиперСсылкиИсторияНаименований()
	
	ИсторияНаименований = Объект.ИсторияНаименований;
	Если ИсторияНаименований.Количество() > 1 Тогда
		ПериодНаименования = ИсторияНаименований[ИсторияНаименований.Количество()-1].Период;
		ШаблонЗаголовка = НСтр("ru = 'Действует с %1'");
		ТекстЗаголовка = СтрШаблон(ШаблонЗаголовка, Формат(ПериодНаименования, "ДЛФ=D;"));
	Иначе
		ТекстЗаголовка = НСтр("ru = 'История'");
	КонецЕсли;
	Элементы.ИсторияНаименований.Заголовок = ТекстЗаголовка;
	
КонецПроцедуры

&НаКлиенте
Процедура УстановитьАктуальноеЗначениеИсторииНаименований()
	
	ИсторияНаименований = Объект.ИсторияНаименований;
	КоличествоЗаписей = ИсторияНаименований.Количество();
	
	Если КоличествоЗаписей = 0 Тогда
		СтрокаИстории = ИсторияНаименований.Добавить();
	Иначе
		СтрокаИстории = ИсторияНаименований[КоличествоЗаписей - 1];
	КонецЕсли;
	
	СтрокаИстории.НаименованиеСокращенное = Объект.НаименованиеСокращенное;
	СтрокаИстории.НаименованиеПолное = Объект.НаименованиеПолное;
	СтрокаИстории.НаименованиеМеждународное = Объект.НаименованиеМеждународное;
	
КонецПроцедуры

// СтандартныеПодсистемы.КонтактнаяИнформация
&НаСервере
Процедура ОбновитьКонтактнуюИнформацию(Результат)
	УправлениеКонтактнойИнформацией.ОбновитьКонтактнуюИнформацию(ЭтотОбъект, Объект, Результат);
КонецПроцедуры
// Конец СтандартныеПодсистемы.КонтактнаяИнформация

#КонецОбласти

Связанные материалы