Снегопат
https://snegopat.ru/forum/

Почему не работает код вызова свойств через точку?
https://snegopat.ru/forum/viewtopic.php?f=3&t=4
Страница 1 из 1

Автор:  vladnet [ 24 авг 2011, 16:02 ]
Заголовок сообщения:  Почему не работает код вызова свойств через точку?

Пишу в скрипте так:

пОформлениеСтроки.Ячейки.Имя.ОтображатьКартинку=Истина

или так:

лИмяФайла = пЭлемент.ТекущаяСтрока.ИмяФайла

отладчик сообщает мне что после второй точки есть null или не является объектом

что делать? я саму модель программирования в ява скрипт видимо не понимаю (

Автор:  orefkov [ 24 авг 2011, 16:08 ]
Заголовок сообщения:  Re: Почему не работает код вызова свойств через точку?

Полный код, из которого видно, откуда взялось пОформлениеСтроки - ты не привел, поэтому попробую протелепатировать.
Скорее всего пОформлениеСтроки - это у тебя параметр в методе-обработчике события формы.
Параметры туда приходят в виде объекта-обертки, а реальное значение доступно через свойство val этого объекта:
пОформлениеСтроки.val.Ячейки.Имя.ОтображатьКартинку=Истина

Сделано это потому, что JSсript не поддерживает передачу параметров "по ссылке", и было бы невозможным например использовать
СтандартнаяОбработка = false

А вот
СтандартнаяОбработка.val = false

вполне работает, и вернет в 1С измененное значение.

Автор:  vladnet [ 24 авг 2011, 16:18 ]
Заголовок сообщения:  Re: Почему не работает код вызова свойств через точку?

Спасибо через .val работает отлично.
Кстати VB так же себя ведет или там .val не нужно?

Автор:  orefkov [ 24 авг 2011, 16:27 ]
Заголовок сообщения:  Re: Почему не работает код вызова свойств через точку?

vladnet писал(а):
Кстати VB так же себя ведет или там .val не нужно?

Там сделано по-хитрому. У свойства val - dispid 0, VB такие свойства считает свойствами "по-умолчанию", и их можно дергать напрямую.
Но лучше все-же писать .val, так надежнее.

Автор:  vladnet [ 24 авг 2011, 16:46 ]
Заголовок сообщения:  Re: Почему не работает код вызова свойств через точку?

Спасибо )

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/