Имя: Пароль:
1C
 
jscript в 1с

0 degid
 
13.11.09
17:13
jscript вообще можно юзать в 1с?

Процедура Сформировать()
   Попытка
ScrptCtrl=СоздатьОбъект("MSScriptControl.ScriptControl");
       ScrptCtrl.Language="jscript";
       ScrptCtrl.AddCode("
       |Function TimeZone()
       |x = new Date()
       |currentTimeZoneOffsetInHours = x.getTimezoneOffset()/60
       |TimeZone = currentTimeZoneOffsetInHours
       |End Function
       |");

       Зона = ScrptCtrl.Run("TimeZone");

   Исключение
       Сообщить(ОписаниеОшибки());
   КонецПопытки;        

КонецПроцедуры

выводит: Ошибка компиляции Microsoft JScript: Предполагается наличие ";"
1 Rie
 
13.11.09
17:20
(0) Ты действительно полагаешь, что JScript и VBScript - это одно и то же?
2 degid
 
13.11.09
17:23
ScrptCtrl.Language="JavaScript1.2";

тоже не работает...
3 romix
 
модератор
13.11.09
17:27
4 degid
 
13.11.09
17:27
(1) ну... на VBScript же нет getTimezoneOffset()
вообще, везде пишут "В VBScript и JScript есть функции, которых нет во встроенном языке 1С:Предприятие v7.7", и примеры использования VBScript. Я и спрашиваю, можно ли юзать JScript? )
5 ДенисЧ
 
13.11.09
17:28
А фраза "Предполагается наличие ";"" ни на какие мысли не наводит? Например, что в некоторых языках желательно наличие ; после операторов?
6 Rie
 
13.11.09
17:30
(4) Поздравляю с отсутствием getTimezoneOffset().
Но это не основание нарушать синтаксис JavaScript.
Function ... End Function - с каких пор в JavaScript так пишут?
7 Ёпрст
 
13.11.09
17:31
(0) можно, толко вот
x = new Date() не будет работать..
8 romix
 
модератор
13.11.09
17:31
9 degid
 
13.11.09
17:34
(6) вот блин.... точно, endfunction )
10 Jaap Vduul
 
13.11.09
17:38
(9)Какой endfunction?!

ScrptCtrl.AddCode
("
|function TimeZone(){
|x = new Date();
|return x.getTimezoneOffset()/60;
|}
|");
11 Ёпрст
 
13.11.09
17:40
На:
       ScrptCtrl=СоздатьОбъект("MSScriptControl.ScriptControl");
       ScrptCtrl.Language="jscript";
       ScrptCtrl.AddCode("function Eprst()
       |{
       |  var d, tz, s = ""The current local time is "";
       |  d = new Date();
       |  tz = d.getTimezoneOffset();
       |  if (tz < 0)
       |    s += tz / 60 + "" hours before GMT"";
       |  else if (tz == 0)
       |    s += ""GMT"";
       |  else
       |   s += tz / 60 + "" hours after GMT"";
       | return(s);
       |}
       |");

       Сообщить(ScrptCtrl.Run("Eprst"));
12 smaharbA
 
13.11.09
17:48

ScrptCtrl=СоздатьОбъект("MSScriptControl.ScriptControl");
ScrptCtrl.Language="jscript";
ЭтоДата=ScrptCtrl.Eval("new Date()");
ЭтоОфсет=ЭтоДата.getTimezoneOffset(0);
Сообщить(ЭтоОфсет/60);
13 Ёпрст
 
13.11.09
17:54
(12) где ж ты раньше был?
:)
14 smaharbA
 
13.11.09
17:58
за закусоном бегал ))
15 Torquader
 
14.11.09
17:04
А что TimeZone без JavaScript никак не достаётся ?
17 degid
 
17.11.09
16:08
(10)(11)(12) Спасибо огромное! Уже хотел юзать dynwrapx.dll + GetTimeZoneInformation
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший