ТМС:Сводник — различия между версиями
Материал из wiki.standart-n.ru
Lander (обсуждение | вклад) (→Полезные скрипты для работы с ТМС, WDict и Аналитическими отчетами) |
Lander (обсуждение | вклад) (→Обновление справочника при редактировании записи в Grid) |
||
(не показано 19 промежуточных версии этого же участника) | |||
Строка 5: | Строка 5: | ||
− | + | <code> | |
var | var | ||
qParams: TibQuery; | qParams: TibQuery; | ||
Строка 13: | Строка 13: | ||
qParams.sql.text := 'select * from rdb$database where 1=:tek_id'; | qParams.sql.text := 'select * from rdb$database where 1=:tek_id'; | ||
qParams.prepare; | qParams.prepare; | ||
+ | // | ||
//Определяем параметр | //Определяем параметр | ||
qParams.parambyname(''''Имя параметра'''').asstring := '''Значение параметра'''; | qParams.parambyname(''''Имя параметра'''').asstring := '''Значение параметра'''; | ||
+ | // | ||
//Вызываем справочник | //Вызываем справочник | ||
− | ShowWDict('''ID справочника''','', qParams.params); | + | ShowWDict('''ID справочника''',''''''', qParams.params); |
finally | finally | ||
qParams.Free; | qParams.Free; | ||
end; | end; | ||
end; | end; | ||
− | ''' | + | </code> |
+ | |||
+ | === Управление элементами в панели управления === | ||
+ | |||
+ | работает тока в своднике | ||
+ | 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; |
Текущая версия на 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;