Skip to content

Latest commit

 

History

History
136 lines (89 loc) · 6 KB

Создание-плагина.MD

File metadata and controls

136 lines (89 loc) · 6 KB

Создание собственного плагина

Открыть исходники шаблона необходимой обработки Шаблон утилиты

Пример создания нового плагина из шаблона

  • Открыть в конфигураторе шаблон обработки - утилиты
  • В модуле объекта в методе ОписаниеПлагина удалить вызов исключения и добавить собственное представление плагина, например, "Работа с массивами"
#Область ОписаниеПеременных

Перем ПутьКФайлуПолный Экспорт; // в эту переменную будет установлен правильный клиентский путь к текущему файлу

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

// { Plugin interface
Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт
	
	Результат = Новый Структура;
	Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита);
	Результат.Вставить("Идентификатор", Метаданные().Имя);
	Результат.Вставить("Представление", "Работа с массивами");
	
	Возврат Новый ФиксированнаяСтруктура(Результат);
КонецФункции

Процедура Инициализация(КонтекстЯдра) Экспорт
КонецПроцедуры

// } Plugin interface

- Добавляется экспортный метод плагина в модуль объекта, например, ЗначениеВМассиве

``` bsl 

// Создает массив и помещает в него переданное значение.
//
// Параметры:
//  Значение - Произвольный - любое значение.
//
// Возвращаемое значение:
//  Массив - массив из одного элемента.
//
Функция ЗначениеВМассиве(Значение) Экспорт
	
	Массив = Новый Массив;
	Массив.Добавить(Значение);
	
	Возврат Массив;
	
КонецФункции
  • Добавить экспортный клиентский метод в модуле формы.
&НаКлиенте
Функция ЗначениеВМассиве(Значение)  Экспорт 
	
	Массив = Новый Массив;
	Массив.Добавить(Значение);
	
	Возврат Массив;
	
КонецФункции
  • Cохранить обработку с именем РаботаСМассивами.epf, в каталоге C:\Program Files\OneScript\lib\add\plugins, а также можно штатно сохранить исходники нового плагина и опубликовать через механизм пул-реквестов согласно руководству контрибьютора Vanessa-ADD
  • Важно, при сохранении обработки в каталог C:\Program Files\OneScript\lib\add\plugins необходимы права Администратора.

Пример вызова плагина из теста

#Область ОписаниеПеременных

&НаКлиенте
Перем КонтекстЯдра;
&НаКлиенте
Перем РаботаСМассивами;
&НаКлиенте
Перем Ожидаем;
&НаКлиенте
Перем ПутьКФайлуПолный Экспорт;// в эту переменную будет установлен правильный клиентский путь к текущему файлу

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

#Область СлужебныйПрограммныйИнтерфейс


&НаКлиенте
Процедура Инициализация(КонтекстЯдраПараметр) Экспорт
	
	КонтекстЯдра = КонтекстЯдраПараметр;
 	РаботаСМассивами = КонтекстЯдра.Плагин("РаботаСМассивами");
	Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD");

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

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

&НаКлиенте
Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт
  
  КонтекстЯдра = КонтекстЯдраПараметр;
  НаборТестов.НачатьГруппу("Группа тестов");
  НаборТестов.Добавить("ТестДолжен_ДобавитьЗначениеВМассив");

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

&НаКлиенте
Процедура ТестДолжен_ДобавитьЗначениеВМассив() Экспорт

  ДобавляемоеЗначение = 1;
  МассивСоЗначением = РаботаСМассивами.ЗначениеВМассиве(ДобавляемоеЗначение);
	
  Ожидаем.Что(МассивСоЗначением)
  		.ИмеетТип(Тип("Массив"))
		.ИмеетДлину(1);

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

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


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