#1 2010-02-08 13:04:04

Slav
Разработчик

VBS: русские названия методов объектов

Проблема возникла при использовании объектов 1С.

Код:

     Set SprFizLic = myConnect.Справочники.ФизическиеЛица

Запуск скрипта вызывает немедленную реакцию: Недопустимый символ.

В интернет-литературе встречаются упоминания о выходе из данной ситуации - англоязычная функция, с прогой на русском 1С-языке, оформленная как внешняя 1С-процедура.
Но городить такую громоздкую структуру не хотелось бы.
Тем более - никакой проги мне и не надо. Надо всего лишь заполнить поля с русскими названиями.

1. Можно ли разрешить использование русских наименований в самом VBS-скрипте? Типа "Set Language" или что-то в этом роде?
2. Какие идеи по использованию русского в VBS-скрипте?
Я попробовал - в VBA Excel все проходит без проблем. Т.е. ситуация не безнадежна.

Но хотелось бы попроще.

Неактивен

 

#2 2010-02-08 17:51:46

wisgest
Разработчик

Re: VBS: русские названия методов объектов

Slav написал:

Можно ли разрешить использование русских наименований в самом VBS-скрипте?

Насколько я знаю, нет. Но в JScript можно использовать любые названия свойств и методов:

Код:

SprFizLic=myConnect["Справочники"]["ФизическиеЛица"]

В частности, можно определить на JScript только следующие функции:

Код:

function GetProperty(obj, propName) {return obj[propName];}
function SetProperty(obj, propName, propValue) {obj[propName]=propValue;}
function CallMethod(obj, methodName /*, аргументы метода...*/) {
  var ArgsList=new Array(arguments.length-2);
  for (var i=2; i<arguments.length; i++) ArgsList[i-2]="arguments["+i+"]";
  return eval("obj[methodName]("+ArgsList.join(",")+")");
}

и пользовать их из VBScript:

Код:

'получение свойства:
Set SprFizLic = GetProperty(GetProperty(myConnect, "Справочники"), "ФизическиеЛица")

'изменение свойства:
SetProperty(GetProperty(myConnect, "Справочники"), "ФизическиеЛица", SprFizLic)

'вызов метода (WshShell.Run):
CallMethod WshShell, "Run", "notepad.exe"

Неактивен

 

#3 2010-02-09 12:05:40

Slav
Разработчик

Re: VBS: русские названия методов объектов

wisgest,

спасибо.
Это действительно выход.

Но читаемость и прозрачность программы катастрофически снижаются.

Видимо придется смириться: VBS и 1С несовместимы.

Неактивен

 

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson