|
Получить текст процедуры | ☑ | ||
---|---|---|---|---|
0
varyag
27.01.15
✎
10:29
|
День добрый! В общем такая идея - нужно во внешней обработке получить текст процедуры из общего модуля, заменить в нем кое-что и выполнить.. Возможно ли это?
|
|||
1
Defender aka LINN
27.01.15
✎
10:35
|
(0) Откуда у тебя такие желания взялись?
|
|||
2
varyag
27.01.15
✎
10:40
|
(1) Да просто есть типовая ЗУП и в ней внешняя печатная форма, там часть кода выполняется как раз в общем модуле. Вот там что-то поменялось, щас переписываю обработку. Вот и захотелось чтобы код динамически менялся, а макет бы подставлялся тот, который я хочу
|
|||
3
varyag
27.01.15
✎
10:42
|
(1) ну и соответственно стал интересен этот вопрос. Возможно с внедрением расширений это будет неактуально, но сейчас тупо интересно, можно ли как то вывернуться
|
|||
4
Ёпрст
27.01.15
✎
10:46
|
(3) можно. Переопределить эти процедуры в модуле самой обработки.
|
|||
5
VladZ
27.01.15
✎
10:46
|
(0) Легко. Ctrl+C, Ctrl+V. И заменить на нужное.
|
|||
6
Лефмихалыч
27.01.15
✎
10:46
|
(2) скопируй процедуру в обработку, измени, как хочешь, и вызывай из обработки, а не из общего модуля
|
|||
7
1976vas
27.01.15
✎
10:48
|
(6) (5) Так не интересно )
|
|||
8
Defender aka LINN
27.01.15
✎
10:49
|
(6) А где же challange?
|
|||
9
Лефмихалыч
27.01.15
✎
10:51
|
(8) а challange будет потом, когда все про это забудут и начнут репу чесать, почему в общем модуле одно написано, а печатная форма по-другому печатается. Или, когда придется постоянно допиливать печатную форму при изменениях типового кода
|
|||
10
VladZ
27.01.15
✎
10:53
|
(7) А ты хочешь вот так:
мояПроцедура = ОбщийМодуль.Функции.НужнаяФункция.ПолучитьТекст(); мояПроцедура.ЗаменитьСтроки(1,100,"//"); закомментили первые 100 строк. мояПроцедура.Вставить(101,ДопАлгоритмыТекстом); Выполнить(мояПроцедура); ??? |
|||
11
1976vas
27.01.15
✎
10:54
|
(10) Я не ТС, но думаю тип того )
|
|||
12
varyag
27.01.15
✎
11:02
|
(4) , (5) , (6) Так я так и делаю. Поэтому то как раз и задался таким вопросом. Т.к. скопированная процедура меняется.
(10) да, да |
|||
13
varyag
27.01.15
✎
11:04
|
+(12) СтрЗаменить(ТекстПроцедуры, "ЗаменяемыйТекст",НужныйТекст)
|
|||
14
VladZ
27.01.15
✎
11:05
|
(12) "(10) да, да" - Не будет такого никогда!
|
|||
15
Рэйв
27.01.15
✎
11:05
|
(12)>>заменить в нем кое-что и выполнить
Откуда ты знаешь что там "заменить" если "процедура меняется"? Прокачен блок телепатии?:-) |
|||
16
Ёпрст
27.01.15
✎
11:06
|
Такое только в клюшках реализовано
|
|||
17
VladZ
27.01.15
✎
11:08
|
Ок. Тогда уж вот так сразу:
мойМодуль = Новый Модули(); мойМодуль.СгеренироватьКодСогласноТЗ(аИмяФайлаВордаСодержащееТЗ); МойМодуль.Выполнить(); |
|||
18
Рэйв
27.01.15
✎
11:09
|
(17)Дарю
Выполнить(ЛюбойТвойБезумныйКод); |
|||
19
Рэйв
27.01.15
✎
11:10
|
(17)Вернее не тебе, а ТС:-)
|
|||
20
varyag
27.01.15
✎
11:16
|
(18) Так а КодФункции то как получить?
|
|||
21
varyag
27.01.15
✎
11:18
|
(14) Жаль, чо) Ждем расширений в 1С
|
|||
22
Рэйв
27.01.15
✎
11:25
|
(20)А код функции копипастом ручками:-)
|
|||
23
varyag
27.01.15
✎
11:31
|
(22) а смысл? просто чтобы задействовать Выполнить()? Спасибо Кэп:) Ладно всех благодарю, особо и не надеялся
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |