ТМС:Сводник
Материал из wiki.standart-n.ru
Версия от 11:59, 18 августа 2023; Lander (обсуждение | вклад)
Содержание
Полезные скрипты для работы с ТМС, WDict и Аналитическими отчетами
Передача параметра в справочник
var qParams: TibQuery; begin qParams := dm.TempQuery(nil); try qParams.sql.text := 'select * from rdb$database where 1=:tek_id'; qParams.prepare; // //Определяем параметр qParams.parambyname('Имя параметра').asstring := Значение параметра; // //Вызываем справочник ShowWDict('ID справочника,'', qParams.params); finally qParams.Free; end; end;
Управление элементами в панели управления
работает тока в своднике
var pn: TAdvPanel; begin pn:=gsender.FindComponent('pnShow'); //Скрыть элемент статистики ... ... pn:=gsender.FindComponent('pnStat'); pn.Visible:=False; //Скрыть поиск pn:=gsender.FindComponent('ApnSearch');pn.Visible:=False; //Скрыть фильтр pn:=gsender.FindComponent('ApnFilter'); pn.Visible:=False; pn:=gsender.FindComponent('AdvPanel1'); pn.Visible:=False; pn:=gsender.FindComponent('AdvPanel3'); //Скрыть элемент печать/экспорт pn:=gsender.FindComponent('ApnExport'); pn.Visible:=False; // pn:=gsender.FindComponent('ApnChilds'); pn.Visible:=False; pn:=gsender.FindComponent('pnTop'); pn.height:=120; end;
Добавление своих кнопок
В ТМС инициализации создаем отдельну. форму с кнопками(Form), где кнопки помещаем на панель (TPanel) -pnButtons
var frm: Tform2; pn: TPanel; begin pn:=gsender.FindComponent('pnTop'); frm:=Tform2.Create(nil); frm.pnButtons.Parent:=pn; frm.pnButtons.Align:=alLeft; frm.pnButtons.Left:=gSender.Width; end;
Получение ID записи на которой стоит курсор
uses unFrameCustomDict,UnMain,dxExEdtr, dxCntner, dxTL, dxDBCtrl, dxDBGrid begin s:=inttostr(gSender.pgbList.FocusedNode.Values[gSender.pgbList.ColumnByFieldName('ID').Index]); end
Обновление справочника при редактировании записи в Grid
uses Classes,unFrameCustomDict, unMain, Graphics, Controls, Forms, Dialogs; procedure ActionAfterEditField; var frame:TFrameCustomDict; begin frame:=gsender.owner; frame.ImmediateSelect; end; begin gsender.ActionAfterEditField:='ActionAfterEditField'; end;