时空KSOA之CS表单工具说明

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
var p : pointer;
if SKBILLgrid1.selectedfield.FieldName = '类别/区域' then
begin
alert('请选择需要选中的列!');
exit;
end;
try
+' from hzfamx where hzcode = ''qy_init'''
+' order by hzflbh';
SKDBTreeView1.SQLS:=tmp;
SKDBTreeView1.Active := true;
HZ_字段名
4、函数
4.1、直接使用
4.1.1、万能打印
ShowReport // 打印预览
PrintReport // 打印
DesignReport // 打印设计
初始化的时候,需要对主数据集DsMain的值初始化。否则无法操作
//with DsMain do
//if Active then Close;
with DsMain do
begin
if Active then Close;
SQL.Text:='select space(20) as spid,space(20) as spbh,space(20) as spmch,space(20) as dw,space(20) as shpchd,'
-------------------------------------------------------------------------------------------
异常的使用: 自我感觉是没用,因为是二次开发嘛,错误还是报,最后还是的关了单子,从新打开。
try //try 保护代码块
SKPrint.PrintBillReport; // 打印
SKPrint.DesignBillReport; // 打印设计
2.4、PrnValList: // 打印变量列表
3、全局变量
__dbname 用DatabaseName
单据变量:
MX_字段名
procedure OpenBill(Self, 表单SN); // 打开新表单
procedure Close; // 关闭窗体
function GetMaxBh(const biaoshi: string; const IsNew: Boolean = True): string; // 得到最大编号,不含分店标识
where a.hzcode='qy_init' and c.beactive='是'
and LEFT(c.qybh,LEFT(a.fjrule,1)) like :v_zjm
----------------------------------------------------------------------------------------------------------
取值
if self.ObjList.Values['djbh'] = '' then exit;
DJForm.SetDJValue('dwbh','');
----------------------------------------------------------------------------------------------------------
begin
Self.ObjList.Clear;
Self.ObjList.AddObject('HZDataSet', MainDataSet);
Self.ObjList.AddObject('MXDataSet', SubDataSet);
Self.ObjList.Add('FAID=' + FAID);
try....finally...end;
-------------------------------------------------------------------------------------------
for i :=LenBH downto 1 do
dssub1.Field('beactive').Value := '否';
end;
dssub1.Next;
end;
因为语法是强数据类型,所以最好知道所取和所设值的类型,以下为string型。
dssub1.FieldByName('qybh').AsString;
-----------------------------------------------------------------------------------------------
资料检索方案调用:ZL_SELECT_方案号
代码中调用资料检索方案:zl_select(DsMain, 'pos_pdb', 'amxl');
//数据集,方案号,所要传递的参数。
比如:
zl_select(DsMain, 'qy', DsMain.FieldByName('hzflbh').AsString);
如:
DjForm.djfmxtable.locate('fieldname','gzid',1);
0: []
1: [loCaseInsensitive]
2: [loPartialKey]
3: [loCaseInsensitive, loPartialKey]
----------------------------------------------------------------------------------------------------------
嵌套循环的用法,以及数据集取值和赋值的用法。 有时用上dssub1.MoveBy()一起用的话 两个for也能用吧。
dssub1.First;
while not dssub1.Eof do
begin
for i := 0 to dssub1.FieldCount do
begin
dssub1.Fields[i].FieldName;
OpenBill(Self, 'hr_fhl_test1');
end;
赋值
----------------------
ParentForm.ObjList.Add('djbh='+dssub1.FieldByName('djbh').AsString);
self.close;
---------------------
ShowMessage('a');
end;
--------------------------------------------------------------------------------
将当前表单的数据集取出来赋值到另一个数据集里。
单据提取方案
function DJ_Select(Self: TForm; FAID: string; MainDataSet, SubDataSet: TDataSet): Boolean;
如果以单据为基础调用表单,则表单中全局对象DJForm <> nil;
DJForm即为当前单据对象,可以通过此对象与单据进行交互,
2.2、ParentForm: // 上一层调用表单窗体对象
2.3、SKPrint:
SKPrint.ShowBillReport; // 打印预览
列选择和数据集与数据的脱钩与挂钩 书签等。
--鼠标选择
SKBILLgrid1.selectedfield.value 此为选中的当前值
SKBILLgrid1.selectedfield.FieldName 此为选中的当前列
--指针******自己查找关于Delphi的指针@和Pointer函数等知识
为事件指定方法:SetEvent(Self, SKBILLgrid1, 'OnColEnter', 'Edit2Change', False);
参数:表单,数据集,自己找delphi事件,自定义事件,不知道
procedure Edit2Change(Sender: TObject);
begin
CS表单工具说明
1、调用:
1.1、单据事件调用
runbill_表单sn 调用无窗口表单
loadbill_表单sn 调用窗口表单
1.2、功能调用
功能号:LOADCSBILL 参数表单名称
1.3、表单中调用表单
OPENBILL_表单sn
2、对象
2.1、DJForm: // 特指单据调用表单,此为单据窗体对象
RUNCALC // 计算器
SelectDate // 日期选择
ZL_SELECT_方案号 // 资料选择方案
Close // 关闭窗口
4.2、在代码中使用
procedure SetFldDisplay(DataSet: TDataSet); // 翻译中文字段
+ 'space(20) as shpgg';
Open;
----------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------
要有写注释的习惯。
注释用 (**)也可用{}以及//
//回写的时候是对编辑的数据写回数据集中,提交是一行写入数据集的时候,但是直接赋值的话不会触发回写,
procedure SelectDate(Sender: TWinControl; DateStr: string); // 选择日期
procedure GetTickCount; // 用于计算自windows启动后到现在的毫秒数
这是'qy'的检索方案,其中:v_zjm 可以看成 ‘%所传参数%’
select qyid,qybh,qymch,zjm,qyms from hzfa a(nolock)
join hzfamx b(nolock) on a.hzcode=b.hzcode
join spxxqyzl c(nolock) on b.hzflbh=LEFT(c.qybh,LEFT(a.fjrule,1))
SKDBTreeView 树控件
能支持,关键字段code,name,id,sqls,active
用法:
SKDBTreeView1.codemode :='2,2,3';显示格式
tmp :=' select hzflbh as code,rtrim(hzflbh)+'':''+hzflchina as name,hzflbh as id'
被保护语句 ຫໍສະໝຸດ except //异常处理块 on <异常对象类型 1> do <语句 1> //捕获指定类型的异常对象,进行处理
on <异常对象类型 n> do <语句 n> //捕获指定类型的异常对象,进行处理
else
<语句 n+1> //默认的异常处理代码
end;
注意:运行时必须先编译生成 exe 文件,然后在 Windows 中运行,否则在发生异常时仍将 出现系统的错误信息。
相关文档
最新文档