ТМС:Кассир:Global
Материал из wiki.standart-n.ru
Доступ к элементам объекта осуществляется по имени.
IsExists - метод возвращает 1, если элемент с именем PName существует, иначе 0
PName - имя элемента для поиска
DeleteItems - метод удаляет элементы хранилища по маске имени
PNameMask - маска имени для удаления
Предопределённые глобальные элементы (начинаются на '__', просьба не называть собственные глобальные элементы на '__'):
Такие элементы можно ТОЛЬКО ЧИТАТЬ, установка блокируется программой
__timer - таймер главного окна (Global['__timer'] == fmMain.tmScript.Tag)
__activeform - имя активной формы
__activepartid - PartID текущей позиции базы
Пример:
Global['db'] := CurrDB; //добавим ссылку на текущую базу данных в глобальное хранилище
ShowMessage(Global['db'].DatabaseName); //получим данные из хранилища
if Global.IsExists('myVar10') = 1 then ShowMessage('Элемент myVar10 существует'); //проверим существование элемента
Global.DeleteItems('myVar*'); //удалим все элементы с именами, начинающимися на 'myVar'
Примечание:
В скрипте После прорисовки ячейки сетки также доступны следующие глобальные элементы:
cell_gridname - (string) имя контрола (сетки) в нижнем регистре cell_node - (TdxTreeListNode) текущая нода (строка) сетки cell_column - (TdxTreeListColumn) текущая колонка сетки cell_selected - (boolean) признак выделенности ноды cell_focused - (boolean) признак нахождения фокуса на ноде cell_text - (string) текст ячейки cell_color - (TColor) цвет ячейки cell_font - (TFont) шрифт ячейки
Пример скрипта:
uses dxTL, dxDBTL, dxDBCtrl, dxDBGrid, Graphics;
begin
if Pos('SNAME', TdxDBTreeListColumn(Global['cell_column']).FieldName) > 0 then
begin
Global['cell_text'] := 'Трали-вали!';
if Odd(Global['cell_node'].Values[TdxDBGrid(Global['cell_node'].Owner).ColumnByFieldName('part_id').Index]) then
Global['cell_color'] := clGreen
else
Global['cell_color'] := clRed;
Global['cell_font'].Style := Global['cell_font'].Style + SetOf([fsItalic]);
end;
end;