// Версия модуля X.XX
// Встройте этот модуль с именем ирИнтерфейс в состав целевой конфигурации, чтобы обеспечить слабую интеграцию с расширением "Инструменты разработчика".

#Если Клиент Тогда

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

Функция ОбработкаОтветаНаОткрытиеСайта(Результат, ДопПараметры) Экспорт 
	
	Если Результат = КодВозвратаДиалога.ОК Тогда
		ЗапуститьПриложение("http://devtool1c.ucoz.ru/index/rasshirenie_variant/0-52");
	КонецЕсли; 
	
КонецФункции
	
#КонецЕсли 

#Если Не ТонкийКлиент И Не ВебКлиент Тогда  
	
Функция ЛиРасширениеУстановлено() Экспорт 
	
	Результат = Вычислить("РасширенияКонфигурации").Получить(Новый Структура("Имя", "ИнструментыРазработчикаTormozit")).Количество() > 0;
	Возврат Результат;

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

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

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

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

#КонецЕсли
