Можно ли организовать возможность написания текстов модулей в 1с8 предприятии?
Чтобы пользователь мог добавлять процедуры и функции в некий модуль в пользовательском режиме, а потом к ним обращаться...
мля, советчики. можно! нужно использовать метод процедуру Вычислить(). Посмотри в помощнике.
Для этого нужно написать некую процедурку в которую ты будешь передавать текст модуля и контекст, форма или элементы формы.
Я пробовал передавать значения параметров через структру. А в передаваемой строке заменял ИмяПараметра на Структура.ИмяПараметра (храню в ключе имя переменной, а в значении параметр).
А так чтобы сложнее чего нибудь придумать не получается...
Иногда пользователям надо простые функции. Хотелось бы чтобы программист по минимуму писал им их.
Допустим расчет разных площадей и др мути...
Легко делается, чтобы человек задал нужные параметры, написал текст как считать.
А вот не получается, чтобы написал человек функцию, а потом ее использовать в другой функции.
Т.е. грубо, вроде этого: Произв(Число1,Число2)=Число1*Число2;
А потом СуммаПроизв(Число1,Число2,Число3,Число4)=Произв(Число1,Число2)+Произв(Число3,Число4);
(13) Если нужно только это, то и ВК не надо. :)
Смотри сюда http://infostart.ru/public/18898/ + Справочник с текстами функций (в статье была текстовая константа)
значит так. сабж был простой, есть ли возможность в 8-ке писать тексты модулей... про процедуры и функции ничего не было...
даже через выполнить можно эмулировать вызовы процедур и функций, нужно только добиться передачи параметров. делать это можно через структуры. также через структуры и возвращать результат. тоже мне, проблему нашлы ;)
у меня таким образом в КУБиКе обрабатываются события. Для каждого события можно определить свой собственный код, но также у каждого события могут быть свои параметры, эти параметры я передаю своей процедуре где вызывается Выполнить() в виде структуры, а потом эту структуру раскладываю и Выполнить() уже видит эти переменные.
(22), (23) Народ, вы начальный пост и последующие посты хорошо прочитали??
Мы говорим о невозможности использования произвольного модуля с функциями и процедурами !!
Простой код, без функци и процедур, прекрасно выполняется.
(26) В подсистеме ИР согласен, что можно на базе внешних обработок.
А в других не увидел подобного - может быть, плохо смотрел?
(25) Еще подумай над сабжем.
(27) лучше ты поразмышляй. В (6) указали основной оператор через который работа идет, а дальше нужно голову включить и подумать как те или иные моменты обойти. Или, как всегда, пока кто-нибудь пример не налабает будем кричать, что неосуществимо?
Кстати, в (13) приведен пример функций, которые типа будут составлять пользователи самостоятельно. Примеры как это можно организовать я привел в (22).
Если разговор ведем про написание программистом целых модулей в режиме предприятия, то извините, смысла большого не вижу, хотя и это можно организовать :)
(28) Прежде чем говорить, тестируй и думай! Лично я так и делаю, прежде чем писать что-то.
Вот тебе простейший тест, опровергающий все тобой сказанное :)
Попробуй просто открыть приложенную обработку-тест
и выложи результат.
Народ, это принципиальное ограничение метода Выполнить, он принимает только тот код, в котором нет функций и процедур, тут просто не о чем спорить :)
Обход возможен только с помощью внешних обработок, о чем я и говорил ранее, в частности, в (27).
2(30): это мы знаем, но можно организовать процедуры и функции, только для этого нужно использовать справочник, типа как в инструментарии программиста, справочник "Алгоритмы".
А что за проблема добавить новый общий модуль? (конфигурация редактируется с сохранением поддержки).
При обновлении этот модуль просто проигнорируется и останется каким он был. И вызывай из него какие хочешь процедуры. Лично я первым делом это в 8-ке сделал, ибо надо было ;)