|
v7: Выполнить код из строкового значения | ☑ | ||
---|---|---|---|---|
0
yur4egg
11.06.14
✎
07:26
|
Можно ли в 7-ке с вместо кода, например
Стоим = Перерасч(Цена,Количество); Сумма = Окр(Стоим,2); выполнить данный код, если он является текстовым значением переменной ТекстПерем = "Стоим = Перерасч(Цена,Количество);Сумма = Окр(Стоим,2);"; КакТоВыполнить(ТекстПерем); |
|||
1
Андрей_Андреич
naïve
11.06.14
✎
07:28
|
Кури функцию Шаблон()
|
|||
2
dk
11.06.14
✎
07:36
|
для присвоения значения переменной понадобится добавить фун-цию Присвоить(Чему,Что)
т.к. шиблон работает только с ф-циями |
|||
3
yur4egg
11.06.14
✎
07:46
|
Поясню, для чего это надо.
Есть некая сложная навороченная обработка. Нужно запускать ее с параметрами, чтобы заданные реквизиты формы были уже заполнены. СписПар=СоздатьОбъект("СписокЗначений"); СписПар.Установить(ИдентРекв,ЗначРекв); ...... и т.д. ...... ОткрытьФорму("ИмяОбработки",СписПар); В самой обработке приходится перечислять в ПриОткрытии() проверку на значения элементов переданного списка, если - то - иначе, и переписывать код из формул реквизитов. Хотя можно изящнее через ВК одним блоком найти реквизит по имени, присвоить ему значение, даже получить его формулу, и хорошо бы тут же ее и выполнить, но как? |
|||
4
yur4egg
11.06.14
✎
09:09
|
Надо было курить "ПодключаемыйМодуль".ВОт:
рф = СоздатьОбъект("РасширениеФормы"); рф.УстановитьФорму(Форма); Для Сч=0 По рф.КоличествоАтрибутов() - 1 Цикл ЗначПарам=Форма.Параметр.Получить(рф.ПолучитьАтрибут(Сч).Идентификатор); Формула=рф.ПолучитьАтрибут(Сч).Формула; Формула=СтрЗаменить(Формула,"ПоказатьКвиток()",""); Если ПустоеЗначение(ЗначПарам)=0 Тогда рф.ПолучитьАтрибут(Сч).Значение=ЗначПарам; Модуль = СоздатьОбъект("ВыполняемыйМодуль"); Модуль.НазначитьКонтекст(Контекст); Модуль.УстановитьМодуль(Формула); Модуль.КомпилироватьИВыполнитьМодуль(); КонецЕсли; КонецЦикла; Всем спасибо. |
|||
5
an-korot
11.06.14
✎
10:20
|
(4) можно и без сторонних преблуд.
|
|||
6
an-korot
11.06.14
✎
10:23
|
(0) есть команда:
#ЗагрузитьИзФайла <?> Синтаксис: #ЗагрузитьИзФайла <ИмяФайла> Назначение: Переключение загрузки программного модуля на загрузку из текстового файла. но тут одно но, модуль в котором стоит эта команда дальше выполняться перестанет, т.к. система переключится на команду из файла, поэтому эту команду нужно повесить в какой-нибудь модуль, создай например отчет или обработку и ее вызывай. Код соответственно перед выполнением записывай в текстовый файл и его то и вызывай этой командой ;) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |