ТМС:Сводник — различия между версиями

Материал из wiki.standart-n.ru
Перейти к: навигация, поиск
(Новая страница: « == Полезные скрипты для работы с ТМС, WDict и Аналитическими отчетами ==»)
 
(Обновление справочника при редактировании записи в Grid)
 
(не показано 20 промежуточных версии этого же участника)
Строка 1: Строка 1:
  
 
== Полезные скрипты для работы с ТМС, WDict и Аналитическими отчетами ==
 
== Полезные скрипты для работы с ТМС, WDict и Аналитическими отчетами ==
 +
 +
=== Передача параметра в справочник ===
 +
 +
 +
<code>
 +
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;
 +
</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;