Имя: Пароль:
1C
 
Присвоение значения свойству COM объекта по ссылке в функциональной форме
0 TormozIT
 
гуру
25.07.15
12:06
Первая ветка Присвоение значения свойству COM объекта по ссылке в функциональной форме

Как известно, интерпретатор 1С не поддерживает присвоение в виде А.АП(...) = 24. Поэтому я написал функцию, которая обходит это ограничение

Процедура УстановитьЗначениеПоФункциональнойСсылкеИис(Объект, Значение, ИмяФункции, ПараметрФункции) Экспорт
Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl");
    Скрипт = "
        |Function SetFuncValue(Object, Parameter, Value)
        |Object." + ИмяФункции + "(Parameter) = Value
        |End Function
        |";
    СкриптМенеджер.Language = "vbscript";
    СкриптМенеджер.AddCode(Скрипт);
    СкриптМенеджер.Run("SetFuncValue", Объект, ПараметрФункции, Значение);
КонецПроцедуры

Но из-за использования COM класса MSScriptControl.ScriptControl ее нельзя использовать в 64-разрядном процессе, которым обычно является серверный контекст 1С. Чем можно заменить такую функцию на сервере?

Зачем такое нужно? Нужно при работе с COM объектами. Например в семействе COMAdmin.COMAdminCatalog широко используется безальтернативный способ доступа к свойствам на запись через метод Value - F.Value("Key") = MyKey;