Difference between revisions of "OnFinishCopyObject"

From SunFlurry wiki
Jump to: navigation, search
(Created page with "{{infobox function |name=OnFinishCopyObject |object= |caption=События таблиц |type=1 |status=2 |db=0 |location=Любой глобальный модуль, те...")
 
m (1 revision imported)
 
(No difference)

Latest revision as of 08:52, 7 February 2021

  OnFinishCopyObject (События таблиц)
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Расположение:Любой глобальный модуль, текущий локальный модуль
Визуальность:Да

Функция вызывается для свободных электронных таблиц (TABLE) в момент добавления в таблицу любого объекта из таблицы-источника с помощью функций CopyByX, CopyByY. Функция позволяет модифицировать свойства объекта, загрузить или создать картинку или OLE-объект и пр. (к примеру, если картинка в таблице должна быть загружена с диска в момент создания таблицы).

Для дополнительной информации см. статьи Электронная таблица SFT и Редактор электронных таблиц.

Синтаксис

OnFinishCopyObject(<Имя копируемого объекта (STRING)>,<Индекс копируемого объекта (INT)>,<Вызывающая таблица (TABLE)>)

Аргументы

  • <Имя копируемого объекта (STRING)> - Имя объекта, при копировании в результирующую таблицу которого, была вызвана эта функция. Имя задается в редакторе таблиц, если имя копируемого объекта не было задано, этот параметр будет содержать пустую строку.
  • <Индекс копируемого объекта (INT)> - Индекс объекта, при копировании в результирующую таблицу которого, была вызвана эта функция. Используя этот индекс, можно получить доступ к самому объекту с помощью конструкции <Таблица>.Objects(<Индекс копируемого объекта>)
  • <Вызывающая таблица (TABLE)> - Таблица, для которой произошло событие.

Примеры

Function OnFinishCopyObject(Name,Index)
  //При копировании объекта с именем "пЭтикетка", сгенерируем EAN-13 штрихкод (внешняя переменная пШК) и присвоим копируемой картинке
  If (Name="пЭтикетка")And(Trim(пШК)<>"") Then
    Try
      //Получить пропорции размеров штрихкода (iX и iY)
      iX:=0;iY:=0;
      Generate1DBarcode("EAN",iX,iY,Trim(пШК),"BR:1,F:Consolas|8,SCALE:5,BRT:0");
      //Приведен размеры к пропорции объекта
      iY:=iX*(Т.Objects(Index).Height/Т.Objects(Index).Width);
      //Создадим картинку с увеличением в 5 раз
      Картинка:=Generate1DBarcode("EAN",iX,iY,Trim(пШК),"BR:1,F:Consolas|8,SCALE:5,BRT:0,BPP:32");
      //Присвоим созданную картинку объекту таблицы
      Т.Objects(Index).Picture.Assign(Картинка);
    Except
    EndTry;
  EndIf;
EndFunction