Выполнение фрагментов кода

Объект класса "БромКлиент" позволяет удаленно выполнять фрагменты кода на встроенном языке 1С:Предприятие. Фрагмент кода может опционально принимать на вход параметр произвольного сериализуемого типа. Также фрагмент кода может возвращать результат в виде значения произвольного сериализуемого типа.

Для выполнения фрагмента кода необходимо вызвать метод "Выполнить()" объекта "БромКлиент". Первым параметром требуется передать текст исполняемого кода, а вторым, если требуется, значение параметра, которое будет доступно в исполняемом коде в переменной "Параметр". Для передачи полученного значения в качестве результата выполнения установите данное значение в переменную "Результат". Значение в переменной "Результат" на момент окончания исполнения фрагмента кода будет передано на клиент как результат функции "Выполнить()".

// Данный код не принимает параметров и не возвращает результата
клиент.Выполнить(@"
	ТекСсылка = Справочники.Номенклатура.НайтиПоНаименованию(""Бутылка"");
	ТекОбъект = ТекСсылка.ПолучитьОбъект();
	ТекОбъект.Наименование = ВРег(ТекОбъект.Наименование);
	ТекОбъект.Записать();
");
// Данный код принимает на вход число и возвращает строку
string числоПрописью = клиент.Выполнить(@"Результат = ЧислоПрописью(Параметр);", 2465);

Console.WriteLine(числоПрописью);
// Данный код принимает на вход массив чисел и возвращаем число
decimal суммаЧиселВМассиве = клиент.Выполнить(@"
	Результат = 0;
    Для Каждого Значение Из Параметр Цикл
        Результат = Результат + Значение;
    КонецЦикла;
", new double[] { 45, 67, 12.56, 11.9 });

Console.WriteLine(суммаЧиселВМассиве);
// Данный код не принимает параметров, но возвращает таблицу значений
ТаблицаЗначений таблица = клиент.Выполнить(@"
	ТаблЗнач = Новый ТаблицаЗначений();
	ТаблЗнач.Колонки.Добавить(""Кол1"");
	ТаблЗнач.Колонки.Добавить(""Кол2"");

	Стр = ТаблЗнач.Добавить();
	Стр.Кол1 = ""Хорошие нововсти!"";
	Стр.Кол2 = ТекущаяДата();

	Стр = ТаблЗнач.Добавить();
	Стр.Кол1 = Справочники.Номенклатура.НайтиПоНаименованию(""Телевизор"");
	Стр.Кол2 = Новый Структура(""А, Б"", ""Значение А"", ""Значение Б"");

	Результат = ТаблЗнач;
");

foreach (dynamic стр in таблица) {
	Console.WriteLine("Кол1: {0}; Кол2: {1}", стр.Кол1, стр.Кол2);
}

Вместо ключевых переменных "Параметр" и "Результат" могут использоваться их англоязычные аналоги "Parameter" и "Result".