OnFinishCopyObject
| 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