Доброго всем.
Объясните плз. глупому, каким образом организовать доступ к переменным текущей процедуры/функции при использовании класса "ВыполняемыйМодуль".
Что нужно:
На форме есть таблица значений. В нее необходимо в цикле записывать новые строки, при этом некие значения переменных, определенных в процедуре обработки, должны менять свои значения при выполнении ExecuteModule, созданного в этой же процедуре. После чего (там же) происходит запись значения переменных по колонкам строки таблицы.
Пример кода:
// Переменная Табл содержит таблицу значений, 2 колонки Номенклатура и Количество
// Переменная Номенклатура содержит ссылку на элемент справочника
Процедура ОбработатьКомплектацию(Табл, Номенклатура)
ВыполняемыйМодуль=СоздатьОбъект("ExecuteModule");
СправКомплектации = СоздатьОбъект("Справочник.Комплектация"); //подчиненный Номенклатуре справочник
СправКомплектации.ИспользоватьВладельца(Номенклатура);
СправКомплектации.ВыбратьЭлементы();
Пока СправКомплектации.ПолучитьЭлемент()=1 Цикл
Количество=СправКомплектации.Количество;
ВыбСтрока="Перем Количество; Количество=1;"; // код для выполнения в "ВыполняемыйМодуль"
Если НЕ (СокрЛП(ВыбСтрока)="") Тогда
ВыполняемыйМодуль.УстановитьМодуль(ВыбСтрока);
Если ВыполняемыйМодуль.Compile()=0 тогда
Предупреждение("Ошибка");
Иначе
ВыполняемыйМодуль.ПрисоединитьТекущийМодуль(); //ну, на всякий
ВыполняемыйМодуль.Количество=Количество;
ВыполняемыйМодуль.Execute();
//***********************************
//Вот на этом месте мне нужно получить значение перем. Количество, переопределенное
//в ВыполняемыйМодуль. Как это сделать?
КонецЕсли;
КонецЕсли;
Табл.НоваяСтрока();
табл.Количество=Количество;
Табл.Номенклатура=Номенклатура; //Собственно, результат который нужен. С правильным количеством.
КонецЦикла;
КонецПроцедуры
Внимание, ответ: //***********************************
//Вот на этом месте мне нужно получить значение перем. Количество, переопределенное
//в ВыполняемыйМодуль. Как это сделать?
Количество=ВыполняемыйМодуль.Количество;
И всего то пустяков