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

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

КонецФункции
	
#КонецЕсли 

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

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

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

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

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

#КонецЕсли
