Difference between revisions of "Table.Object.Value"
(Created page with "{{infobox function |name=Object.Value |object=Электронная таблица |caption=Доступ к свойствам...") |
m (1 revision imported) |
(No difference)
|
Latest revision as of 08:54, 7 February 2021
Object.Value (Доступ к свойствам объектов) | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Атрибут возвращает или изменяет значение, ассоциированное с текущим объектом таблицы. Значение может иметь произвольный тип, в т.ч. объект базы данных и также сложные типы, как список и таблица. Значение не выводится на экран, однако, если объект имеет значение, курсор мыши, находящийся над объектом, будет имеет другой вид и двойной клик по объекту по умолчанию будет открывать объект базы данных (если это возможно), хранящийся в этом атрибуте. Поведение системы при двойном клике мышью или нажатии клавиши Enter можно изменить с помощью предопределенных событий, типа OnDoubleClick. Атрибут работает только, когда визуальный объект был выбран для работы в текущем объекте.
Для таблиц-шаблонов встроенные объекты таблицы могут иметь установленный атрибут IsValueTemplate. В этом случае, значение этого атрибута имеет тип строки и будет использоваться как выражение на встроенном языке для нахождения нового значения атрибута при копировании области, включающей объект, из таблицы-шаблона с помощью операций, типа CopyByX.
Синтаксис
Table.Object.Value:<Значение объекта>
Возвращаемое значение
Возвращает значение объекта.
Примеры
//Пример функции, вызываемой свободной таблицей при нажатии Enter или двойном клике по ячейке или объекту таблицы Function OnDoubleClick(Таб) If Таб.SelectionMode>1 Then //Выделен объект, а не ячейка if Таб.SelectedObjects().Count()<1 Then Exit; EndIf; Obj:=Таб.SelectedObjects().Get(1); //Получим значение объекта Сп:=Obj.Value; Else //Получим значение ячейки под курсором Сп:=Таб.Area(Таб.CurCol,Таб.CurLine,Таб.CurCol,Таб.CurLine).Value; EndIf; If TypeStr(Сп)<>"LIST" Then Exit; EndIf; //Откроем модуль, закодированный в значении объекта или ячейки If not isEmpty(Сп.GetByName("Module")) Then Путь:=Сп.GetByName("Module"); Сп:=List.Create(); Сп.SetByName("Table",Таб); Сп.SetByName("SimpleRootCall",1); LoadModule(0,Путь,Сп,0,"Module","Form"); EndIf; EndFunction