Хотелка: Сервис.ПолучитьМодульОбработки(<ИмяОбработки>)

Автор Пиит, 02 апреля 2024, 13:02

« назад - далее »

Пиит

Доброго здоровья, Алексей Леонидович!
Если есть в Сервисе возможность получить внешний модуль, насколько трудоемко получить модуль встроенной обработки?
Перекопал все алсы по 1спп, но так и не нашел возможности создать ВыполняемыйМодуль на основе модуля конфигурации, а реализация объектов на внешних файлах имхо есть моветон.

АЛьФ


Forum123

Цитата: item от 02 апреля 2024, 13:02Если есть в Сервисе возможность получить внешний модуль, насколько трудоемко получить модуль встроенной обработки?
Можете получить так.
В текущем отчёте открываете диалоговую форму, содержащюю требуемый модуль.
В ней при открытии формексом получаете текст модуля и сохраняете её.
И отрабатываете СтатусВозврата(0);

Код типа:

 ФормаРасш        = СоздатьОбъект( "РасширениеФормы" );
 ФормаРасш.УстановитьФорму( Форма );

 Конт             = Форма.Параметр;                        // Получить список параметров

 Получаете и сохраняете текст модуля

 СтатусВозврата(0);



Пиит

Цитата: АЛьФ от 02 апреля 2024, 13:21Теоретически есть РасширениеФормы.ТекстМодуля.

Ну, в общем выкрутил, вернул текст модуля ПриОткрытии через гл.переменную,
потому как ВыполняемыйМодуль таки не дружит с Формой и Параметром, и не хочет такой текст потом компилировать.

Пиит

Цитата: Forum123 от 02 апреля 2024, 14:29Код типа:

Всё так, только вот так:

РасшФормы = СоздатьОбъект("РасширениеФормы");
глТекстМодуля = РасшФормы.ТекстМодуля;
СтатусВозврата(0);

Forum123

Цитата: item от 02 апреля 2024, 14:34Всё так, только вот так:
Вот и чудненько!

А зачем сохранять в глобальную переменную?
В контексте основного модуля в какую-нибудь переменную сохраняйте.

Пиит

Имхо, весь функционал ВыполняемыйМодуль должен быть в формексе, а не в iсpp.
Концепцию ООП он там нарушает, как бельмо, а к формексу пристегнулся бы, как родной.
И не путали бы почитатели в своих хотелках формы с модулями.

Forum123

Цитата: item от 02 апреля 2024, 14:42И не путали бы почитатели в своих хотелках формы с модулями.
А что это за кнопка "Понравилось".
Для чего она?

Пиит

Цитата: Forum123 от 02 апреля 2024, 14:38А зачем сохранять в глобальную переменную?
В контексте основного модуля в какую-нибудь переменную сохраняйте.

"Галя, я не выкупаю."
И чево потом? Где создать ВыполняемыйМодуль? В модуле обработки? И зарекурсировать его окончательно?

Задача у меня простая, создать коллекцию объектов, разгрузив глобальный модуль.


Forum123

Цитата: item от 02 апреля 2024, 14:46И чево потом? Где создать ВыполняемыйМодуль? В модуле обработки? И зарекурсировать его окончательно?
Не так.
Из полученного исходника берёте текст требуемых функций и динамически добавляете в контекст модуля.
И используете!

АЛьФ

Цитата: item от 02 апреля 2024, 14:46
Цитата: Forum123 от 02 апреля 2024, 14:38А зачем сохранять в глобальную переменную?
В контексте основного модуля в какую-нибудь переменную сохраняйте.

"Галя, я не выкупаю."
И чево потом? Где создать ВыполняемыйМодуль? В модуле обработки? И зарекурсировать его окончательно?

Задача у меня простая, создать коллекцию объектов, разгрузив глобальный модуль.



Почему тогда не дополнительные глобальники, а выполняемый модуль?

АЛьФ

Цитата: Forum123 от 02 апреля 2024, 14:49
Цитата: item от 02 апреля 2024, 14:46И чево потом? Где создать ВыполняемыйМодуль? В модуле обработки? И зарекурсировать его окончательно?
Не так.
Из полученного исходника берёте текст требуемых функций и динамически добавляете в контекст модуля.
И используете!


Каким образом?

Djelf

Цитата: item от 02 апреля 2024, 14:46Задача у меня простая, создать коллекцию объектов, разгрузив глобальный модуль.
Почему тогда не классы? Они прекрасно живут и в составе md.

Forum123

Цитата: АЛьФ от 02 апреля 2024, 14:51Каким образом?
1cpp позволяет в конекст модуля добавлять динамически новые процедуры и функции.
Доступ к ним через "Конт.".

АЛьФ

Цитата: Forum123 от 02 апреля 2024, 14:53
Цитата: АЛьФ от 02 апреля 2024, 14:51Каким образом?
1cpp позволяет в конекст модуля добавлять динамически новые процедуры и функции.
Доступ к ним через "Конт.".
Каким образом?