|
v7: Есть ли в 7-ке оператор, которому передаётся Строка, содерж. текст исполн. кода? | ☑ | ||
---|---|---|---|---|
0
vladimir-boy
03.11.12
✎
06:27
|
Понадобилась консоль команд в 7-ке, наподобие как здесь(http://infostart.ru/public/77200/)это реализовано в 8-ке, где имеется соответствующий искомый оператор:
Выполнить (Execute) Синтаксис: Выполнить(<Строка>) Параметры: <Строка> Строка, содержащая текст исполняемого кода. Описание: Позволяет выполнить фрагмент кода, который передается ему в качестве строкового значения. Примечание: В режиме запуска веб-клиент оператор не поддерживается и его вызов игнорируется. Спасибо большое за ответы. |
|||
1
Тихий омут
03.11.12
✎
06:29
|
Шаблон
|
|||
2
vladimir-boy
03.11.12
✎
06:35
|
(1) Я почему-то думал, что он строку готовит, а как можно его заставить команду в строковом виде (допустим: Сообщить("Привет!");) выполнить???
|
|||
3
vladimir-boy
03.11.12
✎
06:41
|
(1)Нет. На всякий случай проверил: НЕ взлетела :((((
Может ещё есть варианты? |
|||
4
zak555
03.11.12
✎
06:44
|
(3) в шаблон функции нужно передавать
|
|||
5
vladimir-boy
03.11.12
✎
06:51
|
(4) Если можно пожалуйста в коде показать.
У меня есть 1) поле ввода("Строка" многострочная): ТекстКоманды; 2) кнопка Выполнить() Как это реализовать? |
|||
6
zak555
03.11.12
✎
06:53
|
Функция _Сообщить(Текст)
Сообщить(Текст); Возврат 1; КонецФункции Шаблон ("[" + _Сообщить(Текст) + "]") |
|||
7
zak555
03.11.12
✎
06:54
|
что в ТекстКоманды ?
|
|||
8
vladimir-boy
03.11.12
✎
07:00
|
(7) ТекстКоманды - Это Индетификатор поля ввода, а вот содержимое например: ТекущееВремя();
|
|||
9
zak555
03.11.12
✎
07:02
|
(8) функцию ты ещё передать сможешь
ты лучше напиши -- зачем это тебе |
|||
10
vladimir-boy
03.11.12
✎
07:04
|
Допустим хочу, что вывелось текущее время:
ТекстКоманды="ТекущееВремя();"; Процедура Выполнить() НеизвестныйМнеИскомыйОператор(ТекстКоманды); КонецПроцедуры Результат в окне сообщений: 05:03:37 |
|||
11
vladimir-boy
03.11.12
✎
07:05
|
(9) Хочу консоль команд как http://infostart.ru/public/77200/
|
|||
12
zak555
03.11.12
✎
07:07
|
полной аналогии косоли команд нет в 77
|
|||
13
zak555
03.11.12
✎
07:07
|
хотя, теоретически сделать можно
но для практической части это не нужно |
|||
14
vladimir-boy
03.11.12
✎
07:09
|
(12) Спасибо, теперь можно вздохнуть с облегчением и с грустью )))).
|
|||
15
zak555
03.11.12
✎
07:13
|
(14) она и не нужна
|
|||
16
vladimir-boy
03.11.12
✎
07:14
|
(15) Да случается потребность иной раз.
|
|||
17
zak555
03.11.12
✎
07:23
|
(16) пример приведи
мне ииразу не требовалось |
|||
18
Chai Nic
03.11.12
✎
07:25
|
Через Шаблон многое можно реализовать - вызов функций, присвоение значений и т.п.. За одним исключением - нельзя присвоить значение неинициализированной ранее переменной.
|
|||
19
zak555
03.11.12
✎
07:27
|
(18) цикл организуй =)
|
|||
20
vladimir-boy
03.11.12
✎
07:31
|
(17)
Допустим периодически надо быстро рассчитать регистры: РегОст.ВременныйРасчет(1); РассчитатьРегистрыНа('01.01.2010'); Я пользуюсь альтернативой - внешней обработкой, где меняю кусок кода и запускаю по новой, но думал, что есть штатные инструментальные средства |
|||
21
zak555
03.11.12
✎
07:35
|
(20) рассчитать для чего ?
|
|||
22
vladimir-boy
03.11.12
✎
07:40
|
(21) Для мониторинга и параллельно отладки.
|
|||
23
zak555
03.11.12
✎
07:41
|
(22) для отладки есть отладчик =)
|
|||
24
zak555
03.11.12
✎
07:41
|
для какого мониторинга ?
|
|||
25
vladimir-boy
03.11.12
✎
07:45
|
(24) Это так красное словцо (типа для наблюдения в зависимости от различных условий и параметров), не обращай внимание.
Просто отладчиком очень редко пользуюсь, а вот консоль команд не помешала бы при отладке в обычном запуске режима "Предприятие". |
|||
26
zak555
03.11.12
✎
07:47
|
(25) научись пользоваться отладчиком и не изобретай велосипед
|
|||
27
vladimir-boy
03.11.12
✎
07:51
|
(26) Ну-да Спасибо, я уже понял, что придётся засукавливать рукава, ну и ленивый же я стал :)))
|
|||
28
zak555
03.11.12
✎
07:52
|
(27) так в 8ке тоже все активно используют отладчик
|
|||
29
Chai Nic
03.11.12
✎
07:55
|
(19) Не получится. Присвоить значение в шаблоне можно только вызовом процедуры, которой нужная переменная передается параметром. Однако, в процедуру нельзя передать переменную, которая ранее не была объявлена.
|
|||
30
vladimir-boy
03.11.12
✎
07:55
|
(28) Я практически обхожусь без него, если вдруг что-то не так фурычит, то временно в код вставляю команду: Сообщить(ИнтересующийОбъектИлиПеременную), а потом анализирую по её содержанию причину багов
|
|||
31
Chai Nic
03.11.12
✎
07:56
|
(29) + поправка, не процедуры, а функции
|
|||
32
zak555
03.11.12
✎
07:57
|
(30) значит ты не умеешь пользоваться заложенной функциональностью 1с
|
|||
33
vladimir-boy
03.11.12
✎
07:58
|
(32) may be :=)
|
|||
34
zak555
03.11.12
✎
08:02
|
так точно
|
|||
35
vladimir-boy
03.11.12
✎
08:05
|
(34) Ок. Уговорил
|
|||
36
zak555
03.11.12
✎
08:05
|
(35) теперь открой отладчик в 77 и забудь про (0) =)
|
|||
37
vladimir-boy
03.11.12
✎
08:06
|
(36) С удовольствием :)
|
|||
38
zak555
03.11.12
✎
08:18
|
только есть особенности использования отладчика 77
|
|||
39
Dolly_EV
03.11.12
✎
08:35
|
(38) И? где продолжение про особенности использования?))
|
|||
40
vladimir-boy
03.11.12
✎
08:43
|
(39) Саги не будет, так как тема уже исчерпана.
|
|||
41
zak555
03.11.12
✎
08:54
|
(39) например отладка правил выгрузки
если ставить точку останова с условием -- ждать долго придётся |
|||
42
Has
03.11.12
✎
10:30
|
загрузитьизфайла
|
|||
43
zak555
03.11.12
✎
11:00
|
(42) это для всего модуля
|
|||
44
ADirks
03.11.12
✎
11:40
|
(0) 1С++, ВыполняемыйМодуль
|
|||
45
varelchik
05.11.12
✎
16:14
|
(44) Опередил!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |