разработка скриптов
Вы не зашли.
Проблема возникла при использовании объектов 1С.
Set SprFizLic = myConnect.Справочники.ФизическиеЛица
Запуск скрипта вызывает немедленную реакцию: Недопустимый символ.
В интернет-литературе встречаются упоминания о выходе из данной ситуации - англоязычная функция, с прогой на русском 1С-языке, оформленная как внешняя 1С-процедура.
Но городить такую громоздкую структуру не хотелось бы.
Тем более - никакой проги мне и не надо. Надо всего лишь заполнить поля с русскими названиями.
1. Можно ли разрешить использование русских наименований в самом VBS-скрипте? Типа "Set Language" или что-то в этом роде?
2. Какие идеи по использованию русского в VBS-скрипте?
Я попробовал - в VBA Excel все проходит без проблем. Т.е. ситуация не безнадежна.
Но хотелось бы попроще.
Неактивен
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"
Неактивен
wisgest,
спасибо.
Это действительно выход.
Но читаемость и прозрачность программы катастрофически снижаются.
Видимо придется смириться: VBS и 1С несовместимы.
Неактивен