Имя: Пароль:
1C
1С v8
Как узнать где выполняется текущий код? (Клиент разный, сервер)
,
0 Rebelx
 
20.10.11
11:32
Но не используюя директивы, т.е. чтобы это работало в модуле без исходного текста
1 Ненавижу 1С
 
гуру
20.10.11
11:37
а почему же нельзя юзать директивы?
2 Rovan
 
гуру
20.10.11
11:42
(0)  #Если НаСервере Тогда
  …
  #КонецЕсли
3 Rebelx
 
20.10.11
11:57
кажется я начинаю понимать, почему одинесников считают не очень умными

(1) см.(0) - "чтобы это работало в модуле без исходного текста"
(2) см.(0) - "Но не используюя директивы"
4 Mort
 
20.10.11
11:59
А я в этом только что убедился.
5 Рэйв
 
20.10.11
11:59
(3)А ты умник, см (1)
6 Maxus43
 
20.10.11
12:00
модуль без исходного не переваривает директивы?
7 Mort
 
20.10.11
12:01
Автор перепутал директивы препроцессора с директивами компиляции.
8 Дикообразко
 
20.10.11
12:01
а кого волнует, где выполняет код без исходного текста...
это как бы не твоего ума дело
9 Ненавижу 1С
 
гуру
20.10.11
12:05
сделать общий ОТКРЫТЫЙ модуль с единственной функцией

Функция МестоВызова() Экспорт
#Если Сервер Тогда
 Возврат 0;
#ИначеЕсли Клиент Тогда
 Возврат 1;
...
#КонецЕсли
КонецФункции

вызывать ее для проверки в закрытом модуле
10 Rebelx
 
20.10.11
12:12
(7)автор ничего не попутал
те директивы что начинаются с # - не допустимы в модулях без исходного текста
те директивы что начинаются с & - игнорируются в любых модулях кроме модулей форм, а эти модули не могут быть без исходного кода
11 kuza2000
 
20.10.11
12:28
Как вариант. Сделать отдельный модуль с исходным кодом, где все это определяется с использованием инструкций препроцессора. Из закрытого модуля вызывать его без передачи управления.
12 kuza2000
 
20.10.11
12:28
(9) Упс, опередили :)
13 Kreont
 
20.10.11
12:45
(0) не ставить ключ -дебаг на сервер, и запустить замер производительноти :)