Netsharp快速入门(之1) 介绍及需求说明
作者:秋时 杨昶 时间:2014-02-15 转载须说明出处
第一章 快速入门介绍
Netsharp是一个企业基础业务管理平台,介绍Netsharp分三个系列,分别是:
- 1. Netsharp快速入门 (本文)
- Netsharp体系结构
- Netsharp开发
本文是第一个系列。本文为了演示Netsharp平台的使用,利用平台开发一个简单的销售系统管理。整个过程对于熟练开发了约1.5小时。
通过本文读者了解Netsharp的基本概念有:
- 插件
- 业务建模
- 资源
- 工作区、部件(包括列表、表单、洗列表、查询、分类树、报表等)
- 权限
第二章 快速入门演示需求说明
本文为了演示Netsharp平台的使用,利用平台开发一个简单的销售系统管理。本章说明此销售系统管理的概要需求。
1.功能图

2.流程图

2.1 商品
2.1.1 业务字段
|
序号 |
名称 |
类型 |
说明 |
|
1 |
商品编码 |
文本 |
非空 |
|
2 |
商品名称 |
文本 |
非空 |
|
3 |
计量单位 |
引用计量单位档案 |
非空 |
|
4 |
是否停用 |
||
|
条形码明细 |
|||
|
1 |
条形码 |
文本 |
条码唯一 |
|
2 |
计量单位 |
||
2.1.2 业务逻辑
1.商品条形码明细条码可空,条码码有值时,计量单位不能为空
2.商品可以对应多个不同的条形码
3.全系统商品条形码必须唯一,不能重复,包含相同商品的条形码不能重复,不同商品的条形码也不能重复。
2.2 往来单位
2.2.1 业务字段
|
序号 |
名称 |
类型 |
说明 |
|
1 |
往来单位编码 |
文本 |
非空 |
|
2 |
往来单位名称 |
文本 |
非空 |
|
3 |
往来单位类型 |
枚举 |
非空,客户、供应商、供应商/客户 |
|
4 |
是否停用 |
||
|
联系地址明细 |
|||
|
1 |
联系人 |
文本 |
|
|
2 |
联系电话 |
文本 |
|
|
3 |
联系地址 |
文本 |
|
|
4 |
电子邮件 |
文本 |
|
|
5 |
QQ号 |
文本 |
|
|
6 |
是否默认 |
||
2.2.2 业务逻辑
1.联系地址明细可以为空
2.单据联系地址信息默认地址信息
2.3 计量单位
2.3.1 业务字段
|
序号 |
名称 |
类型 |
说明 |
|
1 |
计量单位名称 |
文本 |
非空 |
2.4 销售订单
2.4.1 业务字段
|
序号 |
名称 |
类型 |
说明 |
|
表头信息 |
|||
|
1 |
单据日期 |
日期 |
非空 |
|
2 |
单据编码 |
文本 |
非空 |
|
3 |
客户 |
引用往来单位档案 |
非空 |
|
4 |
联系人 |
文本 |
|
|
5 |
联系电话 |
文本 |
|
|
明细 |
|||
|
1 |
条形码 |
引用商品档案 |
非空 |
|
2 |
商品编码 |
非空 |
|
|
3 |
商品名称 |
非空 |
|
|
4 |
计量单位 |
非空 |
|
|
5 |
数量 |
数值 |
非空,且大于0 |
|
6 |
单价 |
数值 |
必须大于0 |
|
7 |
金额 |
数值 |
必须大于0 |
|
8 |
已销货数量 |
数值 |
=∑(下游发货单的数量),可空 |
2.4.2 业务逻辑
1. 销售订单保存时,表体明细不能为空
2. 销售订单生效后才能生成发货单。当已销货数量=订单数量时,无法生单。
2.5 发货单
2.5.1 业务字段
|
序号 |
名称 |
类型 |
说明 |
|
表头信息 |
|||
|
1 |
单据日期 |
日期 |
非空 |
|
2 |
单据编码 |
文本 |
非空 |
|
3 |
客户 |
引用往来单位档案 |
非空 |
|
4 |
联系人 |
文本 |
|
|
5 |
联系电话 |
文本 |
|
|
明细 |
|||
|
1 |
条形码 |
引用商品档案 |
非空 |
|
2 |
商品编码 |
非空 |
|
|
3 |
商品名称 |
非空 |
|
|
4 |
计量单位 |
非空 |
|
|
5 |
数量 |
数值 |
非空,且大于0 |
|
6 |
单价 |
数值 |
必须大于0 |
|
7 |
金额 |
数值 |
必须大于0 |
2.5.2 业务逻辑
1.发货单保存时,表体明细不能为空
2.发货单选销售订单时,客户必须相同,带入明细后,可以复制行,删除行
3.当订单的所有明细已销货数量=订单数量时,无法选择该订单。
4.订单生成发货单字段对应
|
序号 |
订单字段(来源) |
发货单字段(目标) |
说明 |
|
1 |
单据日期 |
取当前日期 |
|
|
2 |
单据编码 |
按编码规则取 |
|
|
3 |
客户 |
客户 |
|
|
4 |
联系人 |
联系人 |
|
|
5 |
联系电话 |
联系电话 |
|
|
明细 |
|||
|
6 |
条形码 |
条形码 |
|
|
7 |
商品编码 |
商品编码 |
|
|
8 |
商品名称 |
商品名称 |
|
|
9 |
计量单位 |
计量单位 |
|
|
10 |
数量 |
=订单数量-已销货数量 |
|
|
11 |
单价 |
单价 |
|
|
12 |
金额 |
=数量*单价 |
|
Netsharp快速入门(之1) 介绍及需求说明的更多相关文章
- Netsharp快速入门(之2) 基础档案(之A 创建插件和资源)
作者:秋时 杨昶 时间:2014-02-15 转载须说明出处 第三章 基础档案开发 本文不再对此需求进行分析设计,其实分析设计的结果在下文会体现在平台的使用过程中,这个销售系统分成两个模 ...
- Netsharp快速入门(之10) 销售管理(插件、资源、业务建模)
作者:秋时 杨昶 时间:2014-02-15 转载须说明出处 第4章 销售模块开发 4.1 创建插件和资源 参考基础档案的开发 4.2 创建业务模型 Netsharp工具 ...
- Netsharp快速入门(之16) Netsharp基础功能(权限管理)
第5章 Netsharp基础功能 5.1 权限配置 5.1.1 功能权限 1.配置权限功能点,打开平台工具-基础业务-操作管理 2.选择资源节点为销售订单,点添加常用操作,添加完成后 ...
- Netsharp快速入门(之18) 平台常用功能(工作区相关)
作者:秋时 转载须说明出处 第6章 平台功能 6.1 部件二次开发设置 6.1.1 工具栏管理 1.从单据二次开发-工具栏管理进入 2.主要设置显示,对应的方法名或设置权限相关操作 ...
- Ant快速入门(一)-----Ant介绍
Ant是一种基于Java的生成工具.从作用上来看,它类似于C编程(UNIX平台上使用比较多)的Make工具,C/C++项目经常使用Make工具来管理整个项目的编译,生成 Make使用Shell命令来定 ...
- JavaScript快速入门-ECMAScript对象介绍
一.概念介绍 在 ECMAScript 中,所有对象并非同等创建的.一般来说,可以创建并使用的对象有三种:本地对象.内置对象和宿主对象. 要理解这三种对象,先要理解宿主环境. 1.宿主环境 一般宿主环 ...
- Netsharp快速入门(之3) 基础档案(之B 实体建模 新建项目)
作者:秋时 杨昶 时间:2014-02-15 转载须说明出处 3.3 创建业务模型 3.3.1 新建项目 1.打开业务模型 2.打开业务模型后,在工具栏上选择操作-新增项目分类,标识这 ...
- Netsharp快速入门(之4) 基础档案(之C 实体建模 计量单位、商品、往来单位)
作者:秋时 杨昶 时间:2014-02-15 转载须说明出处 3.3.2 基础档案建模 1.在基础档案项目,右击,选择新建包, 2.录入包的名称,录入名称.完成后点确定 3.3.2.1 计量 ...
- Netsharp快速入门(之5) 基础档案(之D 实体建模 生成实体代码、同步数据库、配置插件运行时)
作者:秋时 杨昶 时间:2014-02-15 转载须说明出处 3.3.1 同步数据库并生成dll文件 1.在基础档案和销售管理项目上右击,选择同步数据库结构来创建数据库表 2. 在基础档案项目 ...
随机推荐
- mysql多实例安装脚本
#! /bin/bash # v.mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz # only install master mysql # time:2016-0 ...
- 使用userdel命令删除Linux用户
serdel是什么 userdel 是一个底层用于删除用户的工具.在 Debian 上,我们通常会使用 deluser 命令.userdel 会查询系统账户文件,例如 /etc/password 和 ...
- winform之excel导入和导出
引用命名空间 using Microsoft.Office.Interop.Excel;DataGridView 导出到Excel public static void SaveAs(DataGr ...
- JS组件系列——KnockoutJS用法
前言:出于某种原因,需要学习下Knockout.js,这个组件很早前听说过,但一直没尝试使用,这两天学习了下,觉得它真心不错,双向绑定的机制简直太爽了.今天打算结合bootstrapTable和Kno ...
- C# Async与Await用法
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- Spark自定义分区(Partitioner)
我们都知道Spark内部提供了HashPartitioner和RangePartitioner两种分区策略,这两种分区策略在很多情况下都适合我们的场景.但是有些情况下,Spark内部不能符合咱们的需求 ...
- 启动hadoop报ERROR org.apache.hadoop.hdfs.server.namenode.FSImage: Failed to load image from FSImageFile
不知道怎么回事,今天在启动集群时通过jps查看进程时始终有一个standby namenode进程无法启动.查看日志时报的是不能加载fsimage文件.日志截图如下: 日志报的很明显了是不能加载元数据 ...
- 为什么使用 Redis及其产品定位 (转载自http://www.infoq.com/cn/articles/tq-why-choose-redis)
传统MySQL+Memcached架构遇到的问题 实际MySQL 是适合进行海量存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不 ...
- php5.5新函数array_column
php5.5新增了一个新的数组函数,感觉挺使用的,低版本的实现按照如下实现 if(!function_exists('array_column')){ function array_column($i ...
- Ubuntu安装wps for linux
1.WPS For Linux 2013 还是只提供了32位版本,我用的是 64位 Ubuntu,如果您也是64位系统,还需要提前安装一些32位的库文件. sudo apt-get install i ...