ТМС:Сводник — различия между версиями
Материал из wiki.standart-n.ru
Lander (обсуждение | вклад) (→Управление элементами в панели управления) |
Lander (обсуждение | вклад) (→Обновление справочника при редактировании записи в Grid) |
||
| (не показано 10 промежуточных версии этого же участника) | |||
| Строка 27: | Строка 27: | ||
=== Управление элементами в панели управления === | === Управление элементами в панели управления === | ||
| + | работает тока в своднике | ||
var | var | ||
pn: TAdvPanel; | pn: TAdvPanel; | ||
| Строка 45: | Строка 46: | ||
pn:=gsender.FindComponent('pnTop'); | pn:=gsender.FindComponent('pnTop'); | ||
pn.height:=120; | 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; | end; | ||
Текущая версия на 11:59, 18 августа 2023
Содержание
Полезные скрипты для работы с ТМС, 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;