Четверг, 12.12.2024, 22:14
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Как программно вызвать алгоритм из справочника?
ОдинецДата: Среда, 29.02.2012, 22:55 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 2
Репутация: 0
Статус: Оффлайн
О, Всемогущий ALL!!! Подскажи как программно вызвать из текста Процедуру, занесенную в справочник "ирАлгоритмы", передать в нее нужные параметры??? Не оставь без ответа вопль вопиющего в пустыне!!
Конкретно:
1. Создали и отладили в конфигураторе процедуру "Закрытие90" с параметрами "Источник, СтруктураШапкиДокумента, Отказ, Заголовок"
2. Переносим ее из Конфигуратора в справочник "Алгоритмы". Открываем ее через: Справочники.ирАлгоритмы.НайтиПоНаименованию("Закрытие90").ПолучитьФорму().Открыть();
3. Как передать в нее необходимые нам параметры, га?
Ну в смысле как ее на исполнение запустить?
 
tormozitДата: Четверг, 01.03.2012, 00:35 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 6503
Репутация: 173
Статус: Оффлайн
В описании указано
Quote
алгоритмы можно вызывать через метод ирПлатформа.ВыполнитьАлгоритм(СсылкаАлгоритма, СтруктураПараметров = Неопределено)


Для описанного случая будет такой код.
Code
А = Справочники.ирАлгоритмы.НайтиПоНаименованию("Закрытие90");
СтруктураПараметров = Новый Структура("Источник, СтруктураШапкиДокумента, Отказ, Заголовок");
СтруктураПараметров.Источник = ...;
СтруктураПараметров.СтруктураШапкиДокумента = ...;
СтруктураПараметров.Отказ = Отказ;
СтруктураПараметров.Заголовок = ...;
ирПлатформа.ВыполнитьАлгоритм(А, СтруктураПараметров);
//ирКэш.Получить().ВыполнитьАлгоритм(А, СтруктураПараметров);
Отказ = СтруктураПараметров.Отказ;
 
tormozitДата: Четверг, 01.03.2012, 00:38 | Сообщение # 3
Генералиссимус
Группа: Администраторы
Сообщений: 6503
Репутация: 173
Статус: Оффлайн
В будущих версиях будут предоставлены и другие способы вызова алгоритмов, если будет потребность.
 
tormozitДата: Воскресенье, 11.03.2012, 00:15 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 6503
Репутация: 173
Статус: Оффлайн
В 2.37 добавлены удобные глобальные функции для вызова алгоритмов
ирИВА - именованная передача параметров
ирПВА - позиционная передача параметров

Допустим в переменной АА у нас есть ссылка на алгоритм, тогда
Code

Параметры = ирКПА(АА); // Создаем структуру параметров алгоритма
Параметры.П1 = 1;
Параметры.П2 = 2;
ирИВА(АА, Параметры); // Выполняем алгоритм передавая параметры в виде структуры
Сообщить(Параметры.П2);

Code

П1 = 1;
П2 = 2;
ирПВА(АА, П1, П2); // Выполняем алгоритм передавая параметры позиционно
Сообщить(П2);
 
  • Страница 1 из 1
  • 1
Поиск: