﻿&НаКлиенте
Перем СчетчикОбработчика;

&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
	Сообщить("Записываю элемент");
	
	Если Найти(Объект.Наименование, "ВызовСерверПередЗаписью") > 0 Тогда
		СерверныйВызовПередЗаписью();
	КонецЕсли;	
	
КонецПроцедуры

&НаКлиенте
Процедура ЗаполнитьРекСтрока1(Команда)
	Объект.РекСтрока1 = "Значение1";
КонецПроцедуры

&НаКлиенте
Процедура ЗаполнитьРекСтрока2(Команда)
	Объект.РекСтрока2 = "Значение2";
КонецПроцедуры

&НаКлиенте
Процедура КомандаДляКомандногоИнтерфейса(Команда)
	Сообщить("КомандаДляКомандногоИнтерфейса");
КонецПроцедуры

&НаКлиенте
Процедура ПриЗакрытии()
	ОтключитьОбработчикОжидания("Обработчик");
	Сообщить("Закрытие формы.");
КонецПроцедуры

&НаКлиенте
Процедура Декорация2ОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
КонецПроцедуры

&НаКлиенте
Процедура Декорация2Нажатие(Элемент)
	Объект.Наименование = "ТекстДекорацияФормыСсылка";
КонецПроцедуры

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

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

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

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

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

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

&НаКлиенте
Процедура ВывестиПредупреждение(Команда)
	ПоказатьПредупреждение(Неопределено,"Текст предупреждение!");
КонецПроцедуры

&НаКлиенте
Процедура ВвестиВНаименованиеИмяПользовтаеля(Команда)
	Объект.Наименование = ИмяПользователя();
КонецПроцедуры

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

&НаКлиенте
Процедура ДобавитьМногострочнуюСтрокуВТЧ(Команда)
	СтрокаТЧ = Объект.ТабличнаяЧасть1.Добавить();
	СтрокаТЧ.МногострочнаяСтрока = "ПерваяСтрока" + Символы.ПС + "ВтораяСтрока";
	СтрокаТЧ = Объект.ТабличнаяЧасть1.Добавить();
	СтрокаТЧ.МногострочнаяСтрока = "ТретьяСтрока" + Символы.ПС + "ЧетвертаяСтрока";
КонецПроцедуры

&НаКлиенте
Процедура ВызватьИсключениеПроцедура(Команда)
	а = 1/0;
КонецПроцедуры


&НаКлиенте
Процедура КонтекстноеМенюНаименование(Команда)
	Сообщить("КонтекстноеМенюНаименование");
КонецПроцедуры

&НаКлиенте
Процедура КонтекстноеМенюТабличнаяЧасть1(Команда)
	Сообщить("КонтекстноеМенюТабличнаяЧасть1");
КонецПроцедуры


&НаКлиенте
Процедура ПриОткрытии(Отказ)
	Стр1 = Новый ФорматированнаяСтрока("Ссылка1",,,,"Ссылка1");
	Стр2 = Новый ФорматированнаяСтрока("Ссылка2",,,,"Ссылка2");
	
	НадписьФорматированнаяСтрока = Новый ФорматированнаяСтрока(Стр1," ",Стр2);
КонецПроцедуры


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

&НаКлиенте
Процедура СкрытьНевидимаяГруппа1(Команда)
	Элементы.НевидимаяГруппа1.Видимость = Ложь;
	Элементы.ЭлементНевидимаяГруппа1.Видимость = Истина;
КонецПроцедуры

&НаКлиенте
Процедура СкрытьНевидимаяГруппа21(Команда)
	Элементы.НевидимаяГруппа21.Видимость = Ложь;
	Элементы.ЭлементНевидимаяГруппа2.Видимость = Истина;
КонецПроцедуры


&НаКлиенте
Процедура КомандаВНевидимойТаблице(Команда)
	Сообщить("КомандаВНевидимойТаблице");
КонецПроцедуры


&НаКлиенте
Процедура СкрытьНевидимаяГруппа3(Команда)
	Элементы.НевидимаяГруппа3.Видимость = Ложь;
	Элементы.НевидимаяТаблица.Видимость = Истина;
КонецПроцедуры

&НаКлиенте
Процедура СкрытьКнопкуВТаблице(Команда)
	Элементы.НевидимаяТаблицаКомандаВНевидимойТаблице.Видимость = Ложь;
КонецПроцедуры

&НаКлиенте
Процедура НедоступнаяКоманда(Команда)
	Сообщить("НедоступнаяКоманда");
КонецПроцедуры

&НаКлиенте
Процедура СделатьГруппуНедоступной(Команда)
	Элементы.НедоступнаяГруппа1.Доступность = Ложь;
КонецПроцедуры

&НаКлиенте
Процедура ГиперссылкаТолькоПросмотрНажатие(Элемент)
	Сообщить("ГиперссылкаТолькоПросмотрНажатиеКартинка");
КонецПроцедуры

&НаКлиенте
Процедура ГиперссылкаТолькоПросмотр2Нажатие(Элемент)
	Сообщить("ГиперссылкаТолькоПросмотрНажатиеНадпись");
КонецПроцедуры

&НаКлиенте
Процедура СделатьГруппеТолькоПросмотр(Команда)
	Элементы.ГруппаТолькоПросмотр.ТолькоПросмотр = Истина;
КонецПроцедуры

&НаКлиенте
Процедура КнопкаСПометкой(Команда)
	Элементы.ФормаКнопкаСПометкой.Пометка = НЕ Элементы.ФормаКнопкаСПометкой.Пометка;
КонецПроцедуры

&НаКлиенте
Процедура СкрытьРеквизитОткрываетсяСразуФормаВыбора(Команда)
	Элементы.РеквизитОткрываетсяСразуФормаВыбора.Видимость = НЕ Элементы.РеквизитОткрываетсяСразуФормаВыбора.Видимость;
КонецПроцедуры

&НаКлиенте
Процедура КомандаВГруппеКомаднойПанели1(Команда)
	Сообщить("КомандаВГруппеКомаднойПанели1");
КонецПроцедуры

&НаКлиенте
Процедура КомандаВГруппеКомаднойПанели2(Команда)
	Сообщить("КомандаВГруппеКомаднойПанели2");
КонецПроцедуры

&НаКлиенте
Процедура КомандаВГруппеКомаднойПанели3(Команда)
	Сообщить("КомандаВГруппеКомаднойПанели3");
КонецПроцедуры

&НаКлиенте
Процедура КомандаКартинка(Команда)
	Сообщить("КомандаКартинка");
КонецПроцедуры

&НаКлиенте
Процедура КнопкаГиперссылка(Команда)
	Сообщить("КнопкаГиперссылка");
КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	МассивСтроки = Новый Массив;
	
	ТекстОдин = Новый ФорматированнаяСтрока("Первая ссылка",,,,"ТекстОдин");
	ТекстДва = Новый ФорматированнаяСтрока("Вторая ссылка",,,,"ТекстДва");
		
	МассивСтроки = Новый Массив();
	МассивСтроки.Добавить(ТекстОдин);
	МассивСтроки.Добавить("  ");
	МассивСтроки.Добавить(ТекстДва);
	ЭтаФорма.НадписьСсылки = Новый ФорматированнаяСтрока(МассивСтроки);
	
	СписокМножественныйВыбор.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Справочник1");
	
	Стр = НСтр("ru = '%1
			   |%2 %3'");
	Стр = СтрЗаменить(Стр, "%1", "Первая часть строки");
	Стр = СтрЗаменить(Стр, "%2", 1000);
	Стр = СтрЗаменить(Стр, "%3", "Вторая часть строки");
	
	Элементы.КнопкаСЗаголовокомСПереносомСтроки.Заголовок = Стр;
	
КонецПроцедуры

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

&НаКлиенте
Процедура СоздатьHTMLСтраницуСЭлементомСправочника2(Команда)
	
	HTMLДокументНаФорме = ТекстHTMLСправочник2(ПолеДляПоискаЭлементаСправочника2_1, ПолеДляПоискаЭлементаСправочника2_2);
	
КонецПроцедуры

&НаСервереБезКонтекста
Функция ТекстHTMLСправочник2(ИмяСпр1, ИмяСпр2)
	
	Элемент1 = ЭлементСправочника2ПоНаименованию(ИмяСпр1);
	Элемент2 = ЭлементСправочника2ПоНаименованию(ИмяСпр2);
	
	Если Элемент1 = Неопределено Тогда
		ВызватьИсключение "Не найден элемент справочника 2. " + ИмяСпр1;
	КонецЕсли;	 
	Если Элемент2 = Неопределено Тогда
		ВызватьИсключение "Не найден элемент справочника 2. " + ИмяСпр2;
	КонецЕсли;	 
	
	HTMLТекст = 
	"<html>
	|<head>
	|</head>";
	HTMLТекст = HTMLТекст + "<body>";
	
	HTMLТекст = HTMLТекст + "<font color=#413003>";
	HTMLТекст = HTMLТекст + "Текст до ссылок";
	HTMLТекст = HTMLТекст + "</font>";
	HTMLТекст = HTMLТекст + "<br>";	
	
 	СсылкаНаЭлемент = Элемент1.Метаданные().Имя+"-"
    	+Элемент1.Ссылка.УникальныйИдентификатор();
    HTMLТекст = HTMLТекст + "<A id=""" + СсылкаНаЭлемент + """ href= """ + Элемент1 + """ >"+Элемент1+"</A><BR>";	
	
 	СсылкаНаЭлемент = Элемент2.Метаданные().Имя+"-"
    	+Элемент2.Ссылка.УникальныйИдентификатор();
    HTMLТекст = HTMLТекст + "<A id=""" + СсылкаНаЭлемент + """ href= """ + Элемент2 + """ >"+Элемент2+"</A><BR>";	
	
	HTMLТекст = HTMLТекст + "<font color=#413003>";
	HTMLТекст = HTMLТекст + "Текст после ссылок";
	HTMLТекст = HTMLТекст + "</font>";
	HTMLТекст = HTMLТекст + "<br>";	
	
	Возврат HTMLТекст; 

КонецФункции	 

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

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

&НаКлиенте
Процедура СписокМножественныйВыборИзменитьТолькоПросмотр(Команда)
	Элементы.СписокМножественныйВыбор.ТолькоПросмотр = НЕ Элементы.СписокМножественныйВыбор.ТолькоПросмотр;
КонецПроцедуры

&НаКлиенте
Процедура СписокМножественныйВыборИзменитьДоступность(Команда)
	Элементы.СписокМножественныйВыбор.Доступность = НЕ Элементы.СписокМножественныйВыбор.Доступность;
КонецПроцедуры

&НаСервере
Процедура СерверныйВызовПередЗаписью()
	
КонецПроцедуры

&НаКлиенте
Процедура КнопкаСЗаголовокомСПереносомСтроки(Команда)
	Сообщить("КнопкаСЗаголовокомСПереносомСтроки");
КонецПроцедуры

&НаКлиенте
Процедура ВключитьТаймерСерверногоВызова(Команда)
	СчетчикОбработчика = 0;
	ПодключитьОбработчикОжидания("Обработчик", 5, Ложь);
КонецПроцедуры

&НаКлиенте
Процедура Обработчик()
	СчетчикОбработчика = СчетчикОбработчика + 1;
	ОбработчикСервер();
	Сообщить("СчетчикОбработчика=" + Формат(СчетчикОбработчика, "ЧГ=; ЧН=0"));
КонецПроцедуры

&НаСервере
Процедура ОбработчикСервер()
КонецПроцедуры
