Table.Area

From SunFlurry wiki
Jump to: navigation, search
  Area (Доступ к свойствам ячеек)
Объект:Электронная таблица
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в число
Визуальность:Нет

Функция возвращает объект прямоугольной области таблицы. С объектом можно вызывать функции, типа Text и пр. При изменении свойств области ячеек, состоящей из более чем одной ячейки, свойства будут изменяться одновременно для всех ячеек области.

Синтаксис

Table.Area(<Левый столбец области (INT)>,<Верхняя строка области (INT)>,<Правый столбец области (INT)>,<Нижняя строка области (INT)>):<Объект области таблицы (TABLE.AREA)>

Аргументы

  • <Левый столбец области (INT)> - Указывает на левый столбец области. Нумерация начинается с единицы.
  • <Верхняя строка области (INT)> - Указывает на верхнюю строку области. Нумерация начинается с единицы.
  • <Правый столбец области (INT)> - (необязательный аргумент) Указывает на правый столбец области. Нумерация начинается с единицы. Если аргумент не задан, область будет состоять из одного столбца, заданного в первом аргументе.
  • <Нижняя строка области (INT)> - (необязательный аргумент) Указывает на нижнюю строку области. Нумерация начинается с единицы. Если аргумент не задан, область будет состоять из одной строки, заданной во втором аргументе.

Возвращаемое значение

Возвращает объект области таблицы.

Примеры

//Пример функции, вызываемой свободной таблицей при нажатии 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