安仕达二次开发平台白皮书傻瓜版Word下载.docx
- 文档编号:18663466
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:52
- 大小:18.82MB
安仕达二次开发平台白皮书傻瓜版Word下载.docx
《安仕达二次开发平台白皮书傻瓜版Word下载.docx》由会员分享,可在线阅读,更多相关《安仕达二次开发平台白皮书傻瓜版Word下载.docx(52页珍藏版)》请在冰豆网上搜索。
●让这个DB连接一个测试数据库
我们建议直接使用该客户实际数据库的近期备份文件来做二次开发和应用测试
●先登录安仕达内部系统,然后再启动二次开发平台
●安仕达软件是怎么提供二次开发支持的?
●我们给该客户提供一个内部系统的账户
●给该客户提供一个虚拟机,并支持远程桌面来登录
●登录后就可以在此进行远程的二次开发模式
●我们给该客户提供权限登录内部系统,完整了解安仕达产品的数据库表结构设计
●提供其他相关的开发资料,如SQLVIEW和SQL函数的使用说明
●客户还可以通过获取公司软件的查询SQL工作指令来加快开发速度
●如果个别客户想做深度开发,想定义自己的特有数据表和表结构可以吗?
●需要准备好详细设计方案,跟安仕达软件技术团队做深入沟通
●我们团队可以帮助将客户的设计定义到我们内部系统的数据字典内
●在客户的二次开发成果最终提交应用之前,安仕达技术团队会帮助做代码安全性审核,目的是避免出现恶意代码对业务数据进行删除篡改的情况
●采用二次开发方式进行信息化的优点
●很多中大型烘焙企业有自己的个性化信息化需求
●这些需求可能会经常变化
●这些需求只对本企业有价值,对其他企业没有什么价值
●因此,软件开发商没有动力免费将这些功能整合到软件产品中去,而一些企业又不愿意为此付费
●由烘焙企业自身的IT运维团队来做二次开发是一个较佳的方案
●开发者跟实际使用者关系密切,最熟悉真实应用场景和需求
●自己开发、自己测试、自己应用,小团队本地化开发,信息化效率最高
●烘焙企业自己写作和掌握源代码,随时可以根据自己的新想法新需求做迭代开发调整
●什么人可以做二次开发?
●傻瓜开发模式
●模式说明
●只做普通查询报表和查询策略报表两种新功能
●不做其他特殊的个性化开发
●能力需求
●拥有SQL语法基础,可以独立阅读和写作SQL查询命令
●专业开发模式
●可以制作各种个性化的新功能
●有可能需要定制自己的独有个性化数据表结构设计
●掌握PASCAL程序设计语言
●拥有DELPHI可视化开发经验
●二次开发快速入门
●工程项目的基本信息
●什么是工程项目?
●把企业信息化开发的总体目标分解为一个一个的工程项目,逐个击破,依次完成
●可以按人员划分为不同的工程,避免开发工作互相干扰互相影响
原则上为了调试方便,我们按开发人员来定义工程项目,例如我只准备投入一个开发人员做这个二次开发,我们就只需要1个工程项目。
那如果我希望同时支持2个开发人员做二次开发,我们就建议定义为2个工程项目,一个开发人员负责一个项目。
●可以按项目周期来划分,例如1期项目,2期项目等等
●可以按内容来划分,例如财务部项目、营运部项目等等
●工程项目包括的内容
●项目特征值
系统自动随机生成的一个唯一整数值,用于区分不同的项目
●项目名称——文字
●作者——文字
●一级菜单和二级菜单
●工程项目开发好以后,里面的功能菜单挂到说明位置去
●不同的工程可以拥有相同的一级菜单和二级菜单,假设A工程和B工程都挂在同一个菜单,这这个菜单将同时包含A和B工程的全部功能菜单项目
●一级菜单和二级菜单是跟安仕达公司沟通申请的,申请通过后就不允许修改了,未来项目功能上线,权限控制也就是使用这个菜单结构体系
●用途说明——文字
●使用帮助——一个网页超链接,我们建议使用幕布这类免费网页写作软件来发表超链接
●以上设置页面
●工程项目的构成
●每个工程会包含多个文件,这些文件分为3大类,他们是——工程主文件,工程引导文件,工程明细窗口文件
●工程主文件源代码
●工程引导文件源代码
●功能细分项目构成
●一个工程有多个细项功能组成
●每个细项功能的构成
●功能名称——中文文字
●功能图标——菜单图标
●功能源代码文件名——英文和数字构成的文字
●功能窗口(FORM)类名——英文和数字构成的文字
●细项功能的管理
有多少个查询,就制作多少个细项功能
●工程项目的实体文件
●每一个工程项目就是一个子目录,子目录名称是特征值(随机整数)
●每个工程子目录里面存在3个工程文件,文件名为MSTAR+特征值
●一个项目主体源代码文件,文件名为PROJ+特征值(自动生成,无需修改)
●一个项目启动源代码文件,文件名为projload.psc(自动生成,无需修改)
●如果个功能实现源代码文件,文件后缀名称分别是PSC和SFM,一一配对
●在傻瓜工作模式下,意思是你不需要去写一行代码就可以做二次开发了,所以理论上你不需要去关心这些源代码,如果我们需要做进一步专业的开发,可以看专业版白皮书学习
●生成一个新的工程项目
●客户联系安仕达软件管理员,提交申请信息,申请开通一个新的工程项目,申请信息包括:
●一级菜单;
二级菜单;
●帮助文档超链接;
●工程名称,
●工程简介
●安仕达管理员在后台创建好这个新的项目工程,并告知开发人员特征值
如上图,这个项目的特征值77118是唯一并且永远不变的一个整数
●通过远程桌面方式进入开发环境
安仕达软件会提供相应的密钥和端口
●登录后会看到内部系统和应用商店2个图标
●先启动本地工作的MSTARDB
●然后启动内部系统MSTARKNOW
●进入软件工程里面的应用管理
●下载一个新的工程项目
●找到自己需要开发的工程项目,点击【下载项目】
●注意事项
●如果你重复下载,系统会有下面这样的提问,如果你坚持要覆盖,则你之前本地开发的成果会被下载回来的内容覆盖
●下载回来的工程内容存储目录如下D:
\MstarScript\+特征值
●工程代码文件下载以后,你可以把他们理解为本地的EXCEL文件,你的修改并不会影响内部系统上面保存的内容
●如果需要,你平时可以自己用ZIP方式压缩备份,也可以自己复制子目录到其他部分,之后需要的时候再拷贝回来
●建议对工程加锁
●加锁的含义
是告诉全部其他的开发人员,这个工程是你在开发的,当你加锁以后,其他用户就不能下载这个工程,也不能上传这个工程了。
●可以避免多人同时开发出现修改冲突
则应该是这样的流程——张三加锁,张三开发,张三上传,张三解锁;
李四加锁,李四开发......
●加锁功能的使用方法
定位到该项目,使用【项目加锁】菜单即可
●工程版本机制
工程每次上传都会形成一个新的版本,这个版本通过审核后,才会最终发布到普通用户的电脑环境中去工作。
●进入二次开发环境
●先检查链接DEMO数据库的DB服务是否正常启动工作中
●然后启动【应用商店】程序,默认使用01用户登录,默认密码是123456,你可以之后自己修改为其他的密码
●进入本地开发管理窗口
●点击【代码开发】之后,我们就可以看到二次开发环境了
●初认识二次开发环境
●多页面方式管理每一个开发单元
●每一个开发单元最终会实现一个菜单功能(一个独立窗口)
●开发环境主菜单功能说明
●FILE菜单
FILE菜单项目下功能非常多,作为萌新用户,我们暂时只需要掌握下面这些功能,其他功能你应该用不到的
●NEWFORM向导——工程项目通过模版增加新文件
●复制新增(addtoproject)——复制当前的单元内容,生成新的单元,重新命名后加入当前工程
●移出工程(Removefromproject)——将当前页面正在编辑的单元移除出去,之后工程就没有包含这个单元了
●被移除的单元文件仍然是存在硬盘上的,只是没有去调用
●你只应该移除你自己增加创建的单元,不应该移除系统默认存在的单元,否则会导致项目出错
●Open(addtoproject)——打开单元并加入到工程,也就是说,如果你之前移除了单元以后,自己后悔了,可以通过这个功能来还原之前的操作
●Save——保存当前编辑的单元
●Saveall——保存项目的全部单元
●EXIT——退出二次开发环境
●Edit菜单
●理论上,作为萌新用户,应该用不到这个菜单,所以我们就不多说了
●热键CTRL-C复制
●热键CTRL-V粘贴
●热键CTRL-X剪切
●热键CTRL-Z后悔之前的操作
●VIEW菜单
●傻瓜模式不需要了解太多,只需要记住下面几个热键
●F11调出属性编辑窗口来设置控件属性
●F12单元在窗口设计模式和源代码模式之间来回切换
●窗口设计模式
●源代码模式
●傻瓜使用模式不需要去修改和了解源代码的内容。
●Run菜单
●傻瓜模式只需要知道F9(也可以点击菜单Run)就是运行调试就可以了
●Project菜单
●这里可以设置项目工程文件,是你使用最频繁的功能之一,看下图
●设置工程主要文件,建议萌新用户不要去做调整,当这个功能不存在好了
●你可以在这里看到一共有几个工作单元,还可以...
●点击某行单元,在下面编辑框修改菜单项目名,自定义菜单使用的图标
●然后点击【修改窗口设置】按钮来做提交
●所有的窗口默认工作的时候都是【多页面模式】,除非你勾选了弹窗模式,那么系统工作的时候,就会弹出窗口,例如下图这样,你必须工作完成关闭这个窗口以后,才能回去其他窗口去做其他操作。
●生成工程文件——这个功能很重要,当你每次修改完全部内容以后,你需要点击一次这个功能,来保证之后你运行工作的准确性。
●一个快速定位到窗口的方法是——点击表格中的该行,然后双击,你将看到该窗口设计状态打开在你的面前
●每一个页面就是一个单元(一个窗口),窗口内会存在多个控件(Compoent)
●窗口NAME的命名规则
●必须ScForm用开头
●名称里面不能含有数字和下划线(_0123456789)
●建议使用英文单词简称来命名,例如:
ScFormPayModeSaleDetailAnalyse
●大部分窗口的内容都是模版自动生成的,你不需要去调整和改变
警告:
特别如果你不是专业的DELPHI开发人员就更加不要乱操作
●我们需要去设置一些重要的控件属性,设置方法是
●选中该控件——鼠标点击该控件,控件会显示出被选择状态
●之后有好几种设置控件属性的方式,具体控件的设置方法,本文会有培训
●双击该控件,在新弹出窗口去设置
●点击鼠标右键,对弹出的菜单去选择设置功能
●切换到属性设置子窗口,找到你要定义的属性去进行设置
●二次开发平台是一个非常专业的开发系统,所以里面有很多的控件可以使用,但是作为萌新开发者,你并不需要学习全部的控件,你只需要学会我们要求的几个控件的使用即可(下文会说明)。
●每次退出开发环境时候可能会有提问,意思是这次有了变化,要不要保存起来?
●来认识几个重要的控件和功能实现关系
●数据集合控件TAstaClientDataSet
图标特点:
有ASTA文字和表格
●控件用途——输入SQL命令,激活本控件后,就可以从DB服务器拉取数据到窗口来准备展现
●最重要属性是SQL,设置方法见下图
点击该控件,在左边的属性栏目找到SQL这一行,然后点击右边的小按钮来录入你希望输入的SQL命令
●SQL命令是你随意来输入的
安仕达强烈建议你输入的条件是1=2,因为如果你不控制好条件,会导致设计时候就查询了太大量的数据,最终导致系统卡死崩溃。
●所以你首先是要学会基本的SQL语法,如果你完全不会,建议你要学习了,你也可以自己XX各种教程
●做好报表查询常用的SQL语法列示如下
●具体的内容请自己找资料学习,这个是二次开发的最基本知识,必须自己掌握才能做二次开发
●怎么降低书写SQL命令的难度?
●进入安仕达内部系统,找到数据字典功能来获取中文含义
可以使用查找功能,找到你需要的表,并且了解表结构字段的含义
●进入安仕达烘焙软件,找到类似你需要结果的报表功能,获取该报表的SQL命令,来掌握你二次开发的起点
所有公司产品的查询策略,都有菜单可以获取SQL命令
●数据源控件TDataSource
有表格有3个箭头
●控件用途——这个控件一方面连接前面的TAstaClientDataSet控件,一方面被后面的DBgridEH控件链接,起到一个数据流通讯的作用
●设置属性
●傻瓜模式下这个控件基本是不需要去设置的,默认都设置好了
●重要属性是DataSet,要设置本控件去链接一个TAstaClientDataSet控件
●表格控件TDbGridEH
●控件用途——数据表格
这个表格看起来跟EXCEL是差不多的,如果要求不高的情况,我们建议不要去设置空白状态的表格,会显示全部的字段,如果非空白,就可以选择部分字段
●如果对表格显示格式有要求,可以通过设置这个这个表格来控制一些细节(哪些列显示,哪些列不显示,某个列的显示宽度,哪些列要固定......)
强烈建议:
这个控件功能强大,同时使用也就复杂了,所以它的学习属于专用版高级用户才需要掌握的内容
●对萌新用户来说,不要给这个表格增加任何列,保持空白就好了
●重要属性:
DataSource,要设置本控件去链接一个TDatasouce控件
●条件定义控件TQryCondition
有问号❓有表格
●控件用途
●重要属性
●条件项目定义
●设置方法
●双击该控件,你会看到下面这个窗口
●你可以新增或者删除若干个查询条件,这些查询条件是我们公司软件产品里面预先注册好的查询条件
●条件项目的设置含义
●是否使用条件——不使用的条件还是会保存在窗口中,但是你实际使用的时候会看不到
●条件类别——公司产品提前注册好的条件项目,不同的条件项目最后组装出来的SQL命令查询条件是不同的
●条件查询字段——对数据结果集合的哪一个字段来使用这个条件?
●必选条件——如果必选,则报表使用者必须选择这个项目,一般来说,会给日期条件做这样的约定
●条件排位——那个放在上面的位置,不能重复,数字小的排位靠前
●条件编号——做专业开发的时候,才需要注意这个地方,这里不需要管他就好
●查询策略控件TqryDesign(当前还不需要学习的专业技能)
有问号❓有流程图
●控件用途——用来设计一个标准化的查询策略窗口
●查询策略报表跟普通查询报表的不同之处
●可以制作复杂的交叉报表
●可以允许最终用户继续简单地自定义更多的查询子项目(子报表)
●快速编写一个普通查询报表(简单方便快捷!
SOEASY)
●基本步骤
●提前准备好你要查询的SQL命令和查询条件
●准备查询内容
例如我假设想做一个小票内容查询的报表,首先要找到小票内容涉及的表和相关字段,
●准备查询条件
再准备一些我计划使用到的条件,例如小票号、小票日期、商品名称等等
●准备最初始的SQL命令
●方法1:
自己写SQL命令
如果你会写SQL命令,你可以自己先写好SQL命令,放到SQLSERVER的查询分析器去执行,执行成功以后,才是做好报表设计工作的第一步。
●方法2:
偷学SQL命令
如果你不会写SQL命令,你可以从安仕达软件的报表功能里面偷到你需要的SQL命令,
●首先找到最接近你需求的报表
●输入最接近你需要的查询条件
●然后获取当前的SQL命令
●对获取的SQL命令进行简化,获得我们需要比较简单的原始的SQL命令,例如
Selecta.t1,b.t2fromaleftjoinbona.id=b.idwhere1=2后面的1=2是为了在设计器里面查询结果为空
●对获取的SQL字段改用中文名称,例如下面这样写(数据字典功能可以帮助生成中文化的字段标题)
●打开工程
●工程管理界面如下图
●利用模版创建一个简单查询
●我们傻瓜模式只使用【通用查询窗口】模式
●输入新单元的英文名,注意:
单元名称不能重复,如果英文水平好,可以考虑使用英文名简称,如果英语不好,可以使用报表名称的拼音简称,例如“收银日报表”的英文名可以是【syrbb】。
●输入中文含义【收银日报表】,并选择图标
●接着你会看到这个提示
注意,新生成的文件看起来一片空白,其实是有内容,你需要如同上图这样切换一下页面即可
●填写之前准备好的SQL命令
●选择TAstaClientDataSet控件,输入初始化的查询命令
模版生成的新文件里面默认就有这个控件了,我们找到ATCDSet_Qry控件,找到SQL属性,输入你准备的SQL命令,加入1=2这个特殊的条件部分,然后去尝试激活(找到ACTIVE属性,修改为TRUE状态),如果看到激活以后,表格有显示内容,就证明了你的SQL命令是正确的。
●测试完成以后,记住可以修改ACTIVE属性回到FALSE
●设置好查询条件
●找到TQryCondition控件,去设置你希望查询的字段和对应使用的条件类型
模版默认包含了3个查询条件,但并不是非需要他们不可,你完全可以删除这些条件重新进行定义查询条件。
●可以试运行了
●我们先来运行一次
●然后我们可以修改一下条件控件,再运行一次,你可以看到条件选择窗口会有变化
●我们可以在运行的时候,检查不同查询条件说生成的SQL命令是否正确
---------------------------安仕达应用商店系统---------------------------SQL:
select*fromPos_RetailBill(nolock)where(1=1)and(fOptDateStrBetween'
20181206'
and'
20201206'
)and((fPosBillNoLike'
%1234%'
))and(fFilialeIdIN(1,3))字段含义:
缺乏主键字段---------------------------OK---------------------------
●如果看不到弹出的功能选择菜单,就从设置工程这里重新生成一次工程代码
●有些时候,可能由于萌新用户不够熟悉PASCAL语法,导致修改出错,我们提供一个方法来重新生成正确的代码
●实战案例分享
●我要写一个简单的物料编码查询报表
●假设只需要反馈少数几个数据列
●准备使用到的条件包括——编号、名称、规格、类别、售价、供应商
●到数据字典获取我们需要的原始SQL命令
●过程动画
●我们准备了这个初始的SQL命令
SELECTZJMas[助记码],RecVeras[记录版本],fMaterielIDas[物料ID],fTypeIDas[类别ID],fClassIDas[分类ID],fMaterielNoas[物料编号],fBarCodeas[条码],fManSignas[自定义标识码],fMaterielNameas[物料名称],fMaterielSpecas[物料规格],fForeignNameas[外文名称],fBaseUnitas[基础单位],fCostTypeas[计价方法],fLineTypeas[物料类型],fSourceas[物料来源],fSerialNoas[当前序列号],fWorkTypeas[经营方式],fManageSpriceas[计算售价帐本],fStateas[物料状态],fControlInas[采购物料],fControlOutas[销售物料],fControlStoreas[库存物料],fControlEnteras[控制进场],fPurchaseSpriceas[标准进价],fSaleSpriceas[标准售价],fUnificationSalePriceas[全国统一售价],fUnificationTradePriceas[全国统一批发价],fProviderIDas[主要供应商],fProducAreaas[产地ID],fProducingAreaas[产地],fCSGroupIDas[颜色尺码组ID],fProjectIDas[工程项目ID],fABCas[ABC分类],fBulkas[物料体积],fWeightas[物料重量],fManageUsefulas[管理保质期],fQualityDayas[保质期(天)],fQualityMonthas[保质期(月)],fIndustryas[行业],fLowLevelas[低层码],fAllowBatNumZeroOutas[允许批号负出库],fUseAdmitStepas[是否需要承认书],fBatNumCreModeas[批号生成方式],fBatNunControlas[是否批号控制],fCombinationas[是否组装],fLowFinalQtyas[最低库存],fHighFinalQtyas[最高库存],fMinPurQtyas[最小采购批量],fPurgePayas[平均采购
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安仕达 二次开发 平台 白皮书 傻瓜