Перейти к содержимому
Участник сообщества #3
Участник сообщества #3
6 нояб. 2024 г., 13:41(изменён)
Решено
0
0

Ошибка при обращении к свойству Doc

Из чата сообщества

всем привет, вот такую странность словил:

_curObjectDoc = tools.open_doc(id-объекта);
_curObject = _curObjectDoc.TopElem;
alert(_curObject.Doc.DocID)

этот код работает - возвращает id

_curObject = tools.open_doc(id-объекта).TopElem;
alert(_curObject.Doc.DocID)

этот код выдаёт ошибку, что не знает свойства Doc вроде же должно работать

Участник сообщества
Участник сообщества6 нояб. 2024 г., 18:14(изменён)
Решение

нормальное явление. TopElem и TopElem.Doc - это разные объекты. Если ты не выделил переменную для хранения ссылки на объект - то зачем его системе хранить? Так что тут вопрос случайности - если места не хватает, то неиспользуемые объекты будут зачищены. собственно, затем и сделано свойство TopElem.id - сейчас есть практически у всех объектов (может пропустили какой, но это случайность, даже баг)...

Участник сообщества
Участник сообщества6 нояб. 2024 г., 14:16(изменён)

Могу лишь гадать, что свойство Doc доступно, когда этот документ объявлен в качестве переменной.

Участник сообщества
Участник сообщества6 нояб. 2024 г., 14:31(изменён)

мы об этом скоро узнаем =(((

Участник сообщества
Участник сообщества6 нояб. 2024 г., 15:23(изменён)

Возможно это сделано специально, чтобы как раз разделить случаи, когда открываешь с целью просто прочитать документ без сохранения, ну я по крайней мере в таком случае после опендока сразу топэлем вызываю. А если хочешь изменить и потом сохранить, то в таком случае разделяю в две переменные док и топэлем

Участник сообщества
Участник сообщества6 нояб. 2024 г., 18:53(изменён)

Спасибо, интересная особенность, не знал о ней

Чтобы ответить, необходимо войти в систему