百度文库 - 让每个人平等地提升自我
Filemaker Pro Advance v.11
外贸 业务台帐 ver 1.4.0 简介及使用说明 暨初学者开发指南
前言
Filemaker Pro号称世界上最简单易用最方便上手的数据库。
相比而言,EXCEL对同等水平的初学者来说过于繁琐,公式、宏、命令、表格布局,非经过相当时间的学习和实践不能掌握。而且对于复杂的表和对应子表的关系处理起来不够直观,数据大量集中也不够直观。
同样的,ACCESS数据库也许功能更强大复杂,可是存在着初学者不易上手的问题。仅以表与表的关系而言,就存在诸多甚至连DATABASE基础都不具备的初学者无法理解的概念和方法。很多时候前学后忘,费时往返,事倍功半。
Filemaker Pro入门极快,从建立表格,到建立布局,到建立脚本,最终实现录入数据和输出数据,都可以按照向导的指示一步步进行,而且出偏差的机会不大。对初学者来说没有比建立了一个表格并且在页面上显示出数据来更容易受到激励的了,就如同搭积木一般简单易学。
本指南并非Filemaker Pro说明书,并不针对初学者进行手把手的传帮带。主要是利用外贸业务台帐这一并不完善并不高深的初级数据库进行分析说明,因此不会对一些基本概念进行说明。一方面是对业务台帐的使用做一个说明,另一方面,就是将作者的开发历程、遇到的问题及其解决方案做一个详细的描述。这样,不仅是试用本业务台帐,还是期待从本数据库中得到启发开发自己数据库,初学者都可以少走弯路,能够采取更有效的使用方法和更有效的开发方法。
再次重申,作者本人就是初学者,开发Filemaker数据库也就是半年的时间,外贸业务台帐更是一家之见,不尽完善。需知仅以外贸行业而言,涉及到的产品、行业、业务类型千差万别,不可能一概而论。作者只是以自己的从业经验和接触到的范围,归纳出一套最最基础的业务流程并加以电算化而已,其中涉及到的Q和A才是真正的中心。会用业务台帐或者会挑其中的毛病并不高明,高明的是提出问题和解决问题。作者担任威锋网IPAD综合讨论区版主,多次在版内提出这样的口号:天下只有动脑筋才是免费的。谨以此与本指南的读者共勉。
21
百度文库 - 让每个人平等地提升自我
第一章 WHERE FROM?
所有的指南都一样,先要从概念入手,然后说基本操作方法,最后成了一本官方说明书。笔者不打算这样做,因为笔者相信读者哪怕是初学者的智商,官方软件的帮助文档已经做足了上述功夫,不必笔者重复。笔者自己也是仅仅依靠FMP11的帮助文档和国内国外官方网站论坛上的一些FAQ来自学的,大部分的经验并不来源于这些官方文档和论坛上的只言片语,而是来源于实践!是的,实践!Using is training。这句话笔者在10多年前就曾与南加州大学商学院MBA班的同学讨论过,当时国内尚处于企业ERP风起云涌的初期,很多老外贸遇到了新问题,电脑还没摸过几天,拼音打字都不顺溜,就要用上先进的电子商务工具了。笔者身为ERP实施小组成员,在对外对内的宣传推进中多次使用了Using is training这个概念。在实践中学习,在使用中训练。见神杀神,见佛杀佛,遇见问题就解决问题,巩固数次,多难的流程也就都走得下来了。节省系统培训的时间,节省点对点教育的麻烦,将问题的焦点集中到一个有限的范围,省略了大量无谓的多余的过后就忘的教育。本指南将贯彻这种精神,基础知识的学习交给读者自己,把需要掌握的书本上电子文档上学习不到的技巧、方法、思路,让笔者一一道来,与大家分享,与大家检讨,在交流中互相帮助,在实践中共同成长。
第一节 基础中的基础
从哪里入手呢?这是个问题。笔者曾经和所有初学者一样,直接就冲着表格去了。建立了一个表格,定义了几个字段,拉上一个布局,弄两个新增删除的按钮就开始嘿嘿嘿傻乐。这算是入门了吗?错!
所有数据库的基础,在笔者看来应该是一整批表格,而基础中的基础,就是表格与表
格之间的关系,字段与字段的关系。没有这些关系,一切数据库都是建筑材料,不是建筑物。
下图是外贸业务台帐所有表格的关系图。
21
百度文库 - 让每个人平等地提升自我
我们针对案例分析,并结合实际总结经验。
首先,要对需求做出分析,并将分析的结果脑图化。
在建立本台帐之前,笔者曾经有十年的ACCESS数据库使用经验,获益良多,至少在需求分析方面省力不少。我们具体分析一下外贸业务流程及其需求。
1、从关系图中可以看出,笔者归纳的外贸流程是以合同为中心的流程管理。分为四大板块:基础数据(客户资料、公司资料、商品资料、供应商资料),合同明细,出运明细,采购明细。全部流程都可以归纳到一个合同号上,换句话说,拎起一个合同,拉起一张网。这是第一个概念,第一层关系。
2、从关系图中可以看出,合同有合同明细,出运有出运明细,采购有采购明细,商品也有规格明细。合同有合同ID,合同明细中不仅仅有对应的合同ID,还有每一条合同明细自有的ID。换用术语来说,就是主表记录有唯一ID,从属表记录也有唯一ID,且主表与从属表由互相对应的ID进行连接。这是第二个概念,第二层关系。
3、从关系图可以看出,表与表,字段与字段之间不仅仅是单纯的互相连接,例如合同明细分好几张表与不同表格的不同字段联系,这是在不同布局下使用同一表格内数据的需求决定的。这是第三个概念,第三层关系。
外贸业务的流程大致归纳如下:首先有公司、客户、产品和供应商(数据库启动页面第一行),这些输入完毕以后,就进入报价环节,鉴于报价和成交不是100%对应,所以笔者故意将其割裂开来,报价独立,合同不受报价单牵制。报价完成,合同订立,一个合同下面会有多条内容,就产生了合同明细。顺下来就是采购合同,采购合同可能分预采购或原料采购,因此又独立开来不受合同明细内品名的限制。采购完成,生产完成,需要出货了,同一合同可能分批出运,也可以几个合同一起出运,因此出运主表不包含合同号信息,而放在出运明细中与合同明细对应。制单收钱算帐都是跟在合同或出运主表中的附加信息,不做详细说明。流程就是这样单纯,但是化到数据库中就产生了上面那么复杂的关系图了。
总结&技巧:
1、彻底分析自己的需求,把可以归纳在一起的内容放入主表,必须在明细中分列的放入从属表,并且一定要保证每张表中的每一条记录都有它在这张表中的唯一标记也就是ID。不管当前有没有用都要保证今后可以通过这个ID来找到这条独一无二的记录。这是笔者血泪的经验,具体实例后文有详细描述,简单举例说明就是:当初在1.3版本之前合同明细没有放这个ID字段,所有合同明细都要通过合同ID进行查找,造成的后果是出运明细中无法调用某个产品的规格单价数量采购价格等信息,一抓就是一把明细,即使选定了某个产品,也是一把规格一把单价,操作繁琐不说,还容易出错。笔者不得不添加这个字段,而且还手动输入了数百条记录的ID,最终获得了应有的效果,在出运明细中选择对应的合同号,跳出该合同号项下的所有产品,选择其中一个产品,自动获取其规格,选择其中一个规格自动获取其单价、数量、采购价,免去了目光搜索和手动录入的繁琐和错失。
2、关系图很重要,初期可能表格少,功能少,类似脑图的这个关系图比较简单,随着数据库的完善扩大,关系会越来越复杂。一定要保证时常清理排列,同一数据源的表最好用同一颜色标示。上图中比较重要的如合同及其从属表均用红色标示,在其他表中与合同和合同明细关联的,可以一目了然其字段与合同及合同明细的关系。这在今后对数据库进行调整的时候可以方便查看和追溯。
3、关系中需要作为入口行的从属表,一定要在关系中选明其与主表之间的选项。例如,在合同中创建一个新的合同,必然有其合同明细,合同明细作为合同的从属表,必须勾选允许其从合同主表中创建新的记录,同时,主表删除主记录的同时,也要允许明细记录的删除。
21
百度文库 - 让每个人平等地提升自我
如果有需要排序的,也可以选定。这种小失误是经常发生的,一定要注意,别到了录入数据的时候入口行不理你,还要到处找原因。
以上简单讲述了表格和关系中需要注意的问题。由于需求繁多,不可能一一对应,只有开发者自行研究自己的需求,分清楚主从关系以及各自的内容,在确立主从关系以及单一记录索引的基础上,对表格内容的修改是相对比较随意的,可以增减。但是笔者要加注一条,尽量只增不减,多余的内容没关系,不用,不放进布局里显示就是了。删除掉了以后再找可就麻烦了。另外,Filemaker中的计算字段是相当有用的,明细表不光是明细数据,其中必须添加相应的合计字段才能对明细进行统计,不能全依靠主表。布局中出现的内容全部必须是在表里设定好的字段,这一点和ACCESS是不同的,ACCESS中允许存在与任何字段不关联的控件,仅用计算公式来得出结果,Filemaker中必须在表格中计算结果,并将计算字段放入布局才能显示结果。
第二节 HELLO WORLD
用上这个标题,知道IOS编程的都应该知道,这是要在基础之上加盖第一块砖头了。我们的第一块砖头是什么呢?那就是第一个布局。
上图就是布局视图,其中包含了诸多要素。我们还是用案例分析的方法阐述布局中的基本技巧。
1、上图包括了公司信息主表和从属表。右侧灰色的被检查器压住的就是称为入口行的从属表内容。布局的要素包含页眉、正文、页脚,控件包括字段、入口、按钮、文本、符号等。用到的还包括按钮设置、脚本触发器等。还可以进行条件文本设置等。 21
百度文库 - 让每个人平等地提升自我
2、本布局主要讲述布局的一些小技巧、按钮中的操作和脚本触发器中的脚本操作。其余布局的设计需要自己完成。
3、MAC和WIN的界面不尽相同,需要自行摸索检查器和菜单项的位置,FMP V.11在WIN上目前还没有中文版,很多描述需要自行斟酌,笔者不会一一翻译成英文版了。
本案例中首先要讲述的是检查器的用法。在MAC版中检查器功能强大,用处极多。
以上是检查器的三个选项卡的全貌。
数据选项卡下需要强调的是控件风格,想做成下拉列表,下拉菜单等功能型控件的,在这里选择,下拉列表的数据源可以自行编辑,后文有机会详述。另外是数据选项卡下方的数据格式,货币符号是在这里输入的,其实不止货币符号,百分比,汉字,只要是小于5个字节的,都可以作为数字的前置后置符号,这里要提示的:100公斤这样的内容,如果该字段全是公斤(毛净重),那就只要一个数字,单位全部在数据格式中修改为后置的KGS就好了。简单,但是麻烦在于只接受5个字。另外就是转到下一个对象的键,一般来说都给选上,有时候需要字段内换行的,就要去掉回车键,否则会造成换行无法实现。
21