|
Динамическое создание модуля | ☑ | ||
---|---|---|---|---|
0
sbabay
20.10.12
✎
12:30
|
Хочется подгружать текст модуля объекта из внешнего файла/текстового поля. Реально ли?
Конкретней: Есть обработка, в которой хочу сделать что-то типа: ВнешняяОбработка = ВнешниеОбработки.Создать(ПолноеИмяФайла); ВнешняяОбработка.МодульОбъекта = МойТекст;//Вот тут не знаю как сделать ВнешняяОбработка.РасчетСебестоимости(); //это уже вызовов процедуры подгруженного модуля |
|||
1
ДенисЧ
20.10.12
✎
12:32
|
Изврат.
|
|||
2
sbabay
20.10.12
✎
12:34
|
Это да или нет?
|
|||
3
sbabay
20.10.12
✎
12:35
|
Основная мысль - отладка общего модуля без перезапуска предприятия
|
|||
4
ДенисЧ
20.10.12
✎
12:36
|
Есть Выполнить()
|
|||
5
shuhard
20.10.12
✎
12:37
|
(3) код из текстового файла и код в общем модуле не имеют между собой ни чего общего
Выполнить (Execute) Выполнить (Execute) Синтаксис: Выполнить(<Строка>) Параметры: <Строка> Строка, содержащая текст исполняемого кода. Описание: Позволяет выполнить фрагмент кода, который передается ему в качестве строкового значения. |
|||
6
sbabay
20.10.12
✎
12:43
|
Вы издеваетесь что ль? Какой "Выполнить"?
Допустим есть общий модуль: &НаСервере Процедура РасчетСебестоимости() Экспорт Цена = ПолучитьЦены(); ПолучитьПродажи(Цена); КонецПроцедуры &НаСервере Функция ПолучитьЦены() Возврат 1; КонецФункции &НаСервере Процедура ПолучитьПродажи(Цена) Цена = Цена + 20; КонецПроцедуры Подозреваю, что ошибка в строке: Цена = Цена + 20; хочу исправить её на следующую: Цена = Цена + 120; и посмотреть результат Как мне тут поможет "Выполнить" ? |
|||
7
koreav
20.10.12
✎
12:46
|
#ЗагрузитьИзФайла <?>
Синтаксис: #ЗагрузитьИзФайла <ИмяФайла> Назначение: Переключение загрузки программного модуля на загрузку из текстового файла. Параметры: <ИмяФайла> - имя файла, содержащего исходный текст программного модуля (записывается без кавычек и скобок). Замечание: Конструкция #ЗагрузитьИзФайла должна записываться в первой строке программного модуля с первой позиции. Подробнее см. в документации, глава 'Управляющие операторы' жалко что под 8-ку нет аналога, да?) |
|||
8
sbabay
20.10.12
✎
12:49
|
да, жалко. Но наверняка ж кто-то уже задавался сим вопросом.
В 7-ке вообще TurboMD был. эххх |
|||
9
sbabay
20.10.12
✎
12:52
|
А вообще в 7-ке есть 1С++ - вот с этим ей реально повезло. Там бы это в два счета через "ВыполняемыйМодуль": http://www.1cpp.ru/docum/icpp/html/extobjs.html#id27
|
|||
10
koreav
20.10.12
✎
12:55
|
в 7.7 код на сервере не выполняется, поэтому вариантов было действительно много. Если нет возможности вести отладку на сервере, сделайте файловый вариант.
|
|||
11
ДенисЧ
20.10.12
✎
12:56
|
Демоническое обновление - не предлагать?
|
|||
12
sbabay
20.10.12
✎
12:56
|
на крайний случай буду вставлять текст в модуль внешней обработки ручками. А в отладке уже подключать и вызывать из неё
|
|||
13
sbabay
20.10.12
✎
12:57
|
(11) Это что такое?
|
|||
14
sbabay
20.10.12
✎
12:57
|
.. а всё, понял. Нет, не предлагать
|
|||
15
1Страх
20.10.12
✎
12:59
|
программа сама себя обновляет. Потом сцены из терминатора
|
|||
16
wertyu
20.10.12
✎
13:30
|
||||
17
sbabay
20.10.12
✎
14:29
|
(16) да, мне тоже кажется, что там должно быть что-то такое.
А можите в двух словах рассказать как там это сделано? |
|||
18
TormozIT
гуру
20.10.12
✎
15:58
|
ирПлатформа.СформироватьВнешнююОбработку(ИмяОбработки, ФайлОбработки, ТекстМодуля, ТекстМакета = Неопределено, ДляИДВерсииПлатформы = "") Экспорт
|
|||
19
sbabay
20.10.12
✎
23:40
|
Спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |