|
ВыполнитьПроцедуру и FormEX | ☑ | ||
---|---|---|---|---|
0
Volodja
30.06.20
✎
10:40
|
Можно ли из Formex вызвать процедуру глобального модуля?
//Сервис=СоздатьОбъект("Сервис"); //ПутьОбработчика="ТестоваяОбработка"; в глобальном модуле есть Процедура ТестоваяОбработка() Сервис.ВыполнитьПроцедуру(,СокрЛП(спрРЗ.ПутьОбработчика)); |
|||
1
Волшебник
модератор
30.06.20
✎
10:44
|
Экспорт добавь
|
|||
2
Volodja
30.06.20
✎
10:47
|
Добавлен. не проходит
|
|||
3
Mikeware
30.06.20
✎
11:33
|
(0) так ты в текущем контексте пытаешься найти выполняемую процедуру
|
|||
4
Volodja
30.06.20
✎
16:33
|
(3) Да верно. а как задать контекст глобального метода?
|
|||
5
Volodja
30.06.20
✎
16:34
|
модуля
|
|||
6
Ёпрст
30.06.20
✎
16:41
|
(0) для этого формекс не нужен, она и так доступна везде, если экспортная
|
|||
7
Volodja
30.06.20
✎
16:45
|
У меня название процедуры в переменной
|
|||
8
Djelf
30.06.20
✎
18:00
|
(0) Не работает это с глобальными процедурами, а только с процедурами Контекста, а в ГМ - ГлобальныйКонтекст, а вот получить его, насколько я знаю, никому не удалось.
Используй ВыполняемыйМодуль из 1с++
|
|||
9
mikecool
30.06.20
✎
18:04
|
(7) Выполнить() в помощь
|
|||
10
Djelf
30.06.20
✎
18:04
|
+(8) А можно и без FormEx и 1C++.
Нужна пустая форма с кодом #ЗагрузитьИзФайла ВыполняемыйКод.txt, а в ВыполняемыйКод.txt пишешь вызов процедуры. |
|||
11
Djelf
30.06.20
✎
18:07
|
(9) Выполнить()? В клюшках? Протрезвей!
|
|||
12
Ёпрст
30.06.20
✎
22:22
|
(7) открой для себя Шаблон
|
|||
13
Ёпрст
30.06.20
✎
22:22
|
(11) шаблон же, считай, выполнить в снеговике
|
|||
14
Djelf
01.07.20
✎
15:15
|
(12) Шаблон не выполняет Процедуры, только Функции. Будет ошибка: "Процедура вызывается как функция (глПроцедура)"
|
|||
15
Ёпрст
01.07.20
✎
15:18
|
(14) ну ты как маленький..одну функцию заглушку и привет.
|
|||
16
Ёпрст
01.07.20
✎
15:20
|
Ну а так, раз есть формекс, то проще добавить свой глобальник со своими процами ифункциями..
|
|||
17
Ёпрст
01.07.20
✎
15:20
|
Да и вообще, не понятно, как у автора есть имя, и почему не может просто написать его в коде
|
|||
18
Djelf
01.07.20
✎
15:39
|
(17) Заглушку то можно, но предположим что в конкретной конфигурации нет процедуры, для которую мы пишем заглушку - не сработает.
Тогда решение только в (16) - собирать доп.гм с заглушками и через шаблон. Это если 1c++ нет, хотя это сомнительно, использовать formex без 1c++, решение довольно странное. |
|||
19
Volodja
02.07.20
✎
07:13
|
Спасибо.
Я так пока и выкрутился через Шаблон Вызываю глВыполнитьФункцию(_ИмяПроцедуры) а в ней через Шаблон. Пока переписал вызовы нужных процедур как функции позже переделаю под ВыполняемыйМодуль (17) глобальник постоянно дописывается новыми процедурами и функциями. и постоянно делать что-то вроде: Если _ИмяПроцедуры="Процедура1" Тогда Процедура1(); КонецЕсли; не хочется А имя процедуры в переменной - это у меня планировщик заданий. |
|||
20
Volodja
02.07.20
✎
07:21
|
Если бы Альфа была бы реализация ВыполнитьПроцедуру() типа такой
Сервис.ВыполнитьПроцедуру("ВыполнятьВГлобалномМодуле",_ИмяПроцедуры), но видимо там есть какие-то тонкости... |
|||
21
Mikeware
02.07.20
✎
07:34
|
(19) Ну сделал бы через ВыполняемыйМодуль, да не мучился.
Видимо, какие-то проблемы с взятием глобального контекста. А может, это ему просто не нужно |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |