Имя: Пароль:
1C
 
а вот интересно может ли 1С исполнить строку?
0 Gorr
 
13.10.04
20:22
напр:
стр = "";
если (а) то
 стр = " (усл1) ";
если (б) то
 стр = стр+" (усл2) ";
если (с) то
 стр = стр+" (усл3) ";
исполнить(стр)
например на фоксе это выглядело бы так:
&стр
1 Волшебник
 
13.10.04
20:24
В версии 8.0 есть конструкции Выполнить и Вычислить

В версии 7.7 есть
1. Директива #ЗагрузитьИзФайла
2. Компонента DMS (Dynamic Module Services)
3. Трюки с функцией Шаблон
4. Функция Eval при подключении через OLE
2 Шапокляк
 
13.10.04
20:24
rainbow.dll
3 Gorr
 
13.10.04
20:31
(3).Самым стандартным выглядит метот eval через ОЛЕ.
Мне нужно отобрать в СЗ из справочника со множественным фильтром. Условия выбираются в диалоге.
Можно взглянуть на примерный вариант работы 1с с оле?
Благодарю
4 Волшебник
 
13.10.04
20:32
5 Gorr
 
13.10.04
20:38
ОЙ ай ай....
Чет мне инициализация не нравится. это же заранее и пароли знать нужно, и путь к базе заранее... Масса вопросов.
Уж лучше кучу тупого кода написать, чем получить возможно неработающую конфу:)
6 Gorr
 
13.10.04
20:39
ну всеравно за помощь спасибо
7 Волшебник
 
13.10.04
20:43
Заходите еще.
пишется "все равно"
8 NS
 
13.10.04
23:06
А чем шаблон нестандартен?
9 Рупор абсурда
 
13.10.04
23:08
(8) Кстати, имхо, его тут и одного безо всяких там "трюков" вполне достаточно ...
10 Кортес
 
13.10.04
23:20
(9) Волщебник не знает про шаблон?
11 big
 
13.10.04
23:20
(5) Интересно, тогда как ты среагируешь на строку подключения ODBC, или ADO или т.п.
12 Gorr
 
14.10.04
02:28
Люди, а про шаблон подробнее можно?
ато работает но выглядит уж очень страшно :)))
13 Gorr
 
14.10.04
02:33
вот из хелпа:

Фрагменту текста ставится в соответствие условная комбинация символов — краткое имя фрагмента, называемое "шаблоном". Если в параметрах Конфигуратора включен режим автоподстановки, то нужный фрагмент текста будет автоматически вставляться в редакторе при наборе символов шаблона.

т.е. шаблон он для ускорения редактирования кода.
14 Gorr
 
14.10.04
03:32
стр = "
|[ если 1 = 1 тогда
|    сообщить(1);
| конецесли; ]";
Шаблон(стр);

ежели так, то не работает.
15 Gorr
 
14.10.04
11:49
Многоуважаемые объясните пожалуйста мне в чем "стандартность" Шаблона ???
16 Валентин
 
14.10.04
12:35
(14)
функция ш_Тест(х)
если х=1
 сообщить(строка(х));
если х=2
 предупрждение(строка(х));
конецесли;
конецфункции;

вызов - Шаблон("[ш_Тест(1)]");
17 NS
 
14.10.04
12:37
(16) Так можно и без шаблона...
18 Gorr
 
14.10.04
12:39
(16)так ведь задача была в том, чтобы в зависимости от конкретной ситуации построить гибкий набор условий и выполнить оператор, а не просто исполнить жесткопрописанный код функции.
19 Валентин
 
14.10.04
12:43
Т.е. в итоге ты хочешь получить так
стр = "[for i=1 to 100 do
|
| enddo]"

Шаблон(Стр);
?
Если да, то извини, действительно не понял твоего вопроса.
20 NS
 
14.10.04
12:44
Условие - это формула, и делается через ?()
21 Валентин
 
14.10.04
12:49
Клавиатуру свою когда нибудь выкину...
имелось ввиду
усл = "";
стр =
"[for i=0 to 100
| усл = усл + "+Шаблон(масивОписанийУсловия(i));
| enddo]";"

усл = Шаблон(стр);
Шаблон(усл);
22 Gorr
 
14.10.04
12:51
(20) в самом примитивном варианте да. хотя теоретически уровни вложенности могут быть неограничены.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший