Бизнес-сеть / Регистрация в 1С:Бизнес-сеть / Модуль формы

файл

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

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

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

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

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

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

&НаКлиенте
Процедура НадписьПрофильОрганизацииНажатие(Элемент)
	
	БизнесСетьСлужебныйКлиент.ОткрытьПрофильОрганизацииНаСайтеБизнесСети(ОрганизацияИдентификатор);
	
КонецПроцедуры

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

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

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

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

&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
	
	ПриАктивацииСтрокиОрганизации();
	
КонецПроцедуры

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

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

&НаКлиенте
Процедура ЗарегистрироватьОрганизации(Команда)
		
	ПодключитьОрганизацию();
	
КонецПроцедуры

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

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

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

#Область ПодключениеОрганизацииКСервису

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

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

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

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

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

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

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

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

&НаСервере
Функция СтатусПодключениеОрганизацииКСервису(Организация)
	
	Возврат БизнесСеть.СтатусПодключениеОрганизацииКСервису(Организация);
	
КонецФункции

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

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

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

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

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

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

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

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

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

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

	Если Не Отказ Тогда
		
		ТекстОповещения = НСтр("ru = 'Отключение организаций в программе успешно выполнено.'");
		ПоказатьОповещениеПользователя(НСтр("ru = '1С:Бизнес-сеть'"),, ТекстОповещения, БиблиотекаКартинок.БизнесСеть);
		Оповестить("БизнесСеть_РегистрацияОрганизаций",, ЭтотОбъект);
		
		Элементы.Список.Обновить();
		ПриАктивацииСтрокиОрганизации();
		
	КонецЕсли;
		
КонецПроцедуры

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

&НаСервере
Процедура УстановкаВидимостиЭлементовПодсистемыТорговыеПредложения()
	
	// Проверка видимости торговых предложений.
	ОбщийМодульТорговыеПредложения = Неопределено;
	ПравоНастройки = Ложь;
	Если ОбщегоНазначения.ПодсистемаСуществует("ЭлектронноеВзаимодействие.ТорговыеПредложения") Тогда
		ОбщийМодульТорговыеПредложения = ОбщегоНазначения.ОбщийМодуль("ТорговыеПредложения");
		ПравоНастройки = ОбщийМодульТорговыеПредложения.ПравоНастройкиТорговыхПредложений();
	КонецЕсли;
	
	Если ОбщийМодульТорговыеПредложения = Неопределено Или ПравоНастройки = Ложь Тогда
		Возврат;
	КонецЕсли;
	
	МассивПодстрок = Новый Массив;
	МассивПодстрок.Добавить(Элементы.КраткоеОписание.Заголовок);
	МассивПодстрок.Добавить(Символы.ПС + "• ");
	МассивПодстрок.Добавить(СтрШаблон(НСтр("ru = '<a href=""%1"">Торговая площадка</a>'"), БизнесСетьКлиентСервер.ГиперссылкаНаПромоСайтТорговаяПлощадка()));
	МассивПодстрок.Добавить(" - " 
		+ НСтр("ru = 'сервис в программах 1С:Предприятие для поставщиков и покупателей (закупщиков).
		|Поставщикам - сервис помогает упростить процессы обработки заказов и получить новых клиентов;
		|Покупателям - найти выгодных поставщиков и сократить время оформления заказов.'"));
	ФорматированнаяСтрокаЗаголовка = СтроковыеФункции.ФорматированнаяСтрока(СтрСоединить(МассивПодстрок));
	Элементы.КраткоеОписание.Заголовок = ФорматированнаяСтрокаЗаголовка;
		
КонецПроцедуры

&НаСервере
Процедура ПоказатьПредупреждениеОПовторномПодключении(Организация)
	
	Если ОдиночнаяРегистрация Тогда
		ШаблонЗаголовка = 
			НСтр("ru = 'Для организации %1 доступ к сервису 1С:Бизнес-сеть был приостановлен. 
			|Необходимо повторное подключение организации.'");
	Иначе
		ШаблонЗаголовка = 
			НСтр("ru = 'Для организации %1 доступ к сервису 1С:Бизнес-сеть был приостановлен. Необходимо повторное подключение организации.'");
	КонецЕсли;
	
	Элементы.ГруппаТребуетсяПодключение.Видимость = Истина;
	Элементы.НадписьТребуетсяПодключение.Заголовок = СтрШаблон(ШаблонЗаголовка, Организация)
	
КонецПроцедуры

&НаСервере
Процедура НастроитьФормуПриСоздании()
	
	Элементы.КомандаЗакрытьОдиночная.Видимость = ОдиночнаяРегистрация;
	
	КлючСохраненияПоложенияОкна = СтрШаблон("%1_%2", ОдиночнаяРегистрация, ОрганизацияЗарегистрирована);
	
	Элементы.КартинкаДлительнаяОперация.Видимость = Ложь;
	
	Элементы.ГруппаТребуетсяПодключение.Видимость = Ложь;
	
КонецПроцедуры

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

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