我们是个做饰品的公司,下面的地区有我们很多的连锁店,我们想要我们下面的店每个店都上一套前台的销售系统,主要功能是日常的打单销售就像超市一样的,但是我们在总部可以查的到他们的销售情况,又可以控制他们的销售价格.现在的B/S架构的ERP系统可以完成我们这样的功能吗?打单时用B/S软件会否太慢?大家有开发这方面的软件经验吗?我就想晓得这样的软件属于什么类型软件,因为我看到的好多ERP系统其他功能都很好,就是对前台销售这块做的不好,而我们的产品条码又众多,是否我们找的软件方向错了B/S软件不适合我们用?有没有满足这样要求的开源ERP

解决方案 »

  1.   

    前台pos做成b/s 的可能会比较慢,比较多见的是前台用pb开发(前台自己也带小型数据库,比如sql anywhere ,或者dbf等等,然后到晚上营业结束再与总部数据库做同步)
      

  2.   

    didoleo(冷月无声) 
    我自己用VC+SQL SERVER2000做了个单机的可以满足我帖子上说到的一些功能,但是如果提供到下面地区的加盟商用的话,遇到个问题怎么将SQL SERVER2000中我记录销售情况的表能够回传到公司总部呢?而且是如何区分是哪个店的销售情况列?
      

  3.   

    用B/S完全可以实现,我们之前做的一个日本某零售商的整套系统就是用的B/S,打印这些只要有一个好一些的打印模块就OK
      

  4.   

    因为数据库网络连接方面没什么经验,didoleo(冷月无声) 能跟我讲下数据能直接能添加到我们总部的指定的数据库表中吗?还是将门店里指定的数据表发送回来我自己在添加到我指定的数据库表中?
      

  5.   

    1.直接能添加到我们总部的指定的数据库表中.....这是可以的,商业数据库同步通讯服务软件(比如sybase公司的moblink,大概是,忘了)就可以。2.吗?还是将门店里指定的数据表发送回来我自己在添加到我指定的数据库表中?.....这也是一种方法,我自己曾经实验过这个"土办法":把每个门店的数据从本地数据里先转成文件(文件里面是n多条 insert 语句,这种insert语句本身是带数据的.insert .... values(...,....,...) )总部接收到这些文件后(总部要有台服务器专门用来接受文件,要开ftp服务,一个门店一个目录,用门店编号做目录名,门店通讯用拨号的方式,先连同总部,然后靠程序传文件),在sql server 里面执行这些文件(这都可以通过程序自动控制),其实这些文件本身就相当与sql server 的存储过程,都是合法的t-sql语句(insert 语句),当然还要加些判断,比如重复性校验等。
    关键问题是怎么把表里的数据转成insert语句。当然这取决于你在本地用什么数据库了。我搜集过将sql server 表的数据转成insert 语句的存储过程下面是将sql server 2000下将表里的数据转成insert语句的procedureCREATE proc proc_insert (@tablename varchar(256))asbegin       set nocount on       declare @sqlstr varchar(4000)       declare @sqlstr1 varchar(4000)       declare @sqlstr2 varchar(4000)       select @sqlstr='select ''insert '+@tablename       select @sqlstr1=''       select @sqlstr2=' ('       select @sqlstr1= ' values ( ''+'       select @sqlstr1=@sqlstr1+col+'+'',''+' ,@sqlstr2=@sqlstr2+name +',' from (select case --     when a.xtype =173 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.length*2+2)+'),'+a.name +')'+' end'       when a.xtype =104 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(1),'+a.name +')'+' end'       when a.xtype =175 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'       when a.xtype =61  then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'convert(varchar(23),'+a.name +',121)'+ '+'''''''''+' end'       when a.xtype =106 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.xprec+2)+'),'+a.name +')'+' end'       when a.xtype =62  then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(23),'+a.name +',2)'+' end'       when a.xtype =56  then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(11),'+a.name +')'+' end'       when a.xtype =60  then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(22),'+a.name +')'+' end'       when a.xtype =239 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'       when a.xtype =108 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.xprec+2)+'),'+a.name +')'+' end'       when a.xtype =231 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'       when a.xtype =59  then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(23),'+a.name +',2)'+' end'       when a.xtype =58  then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'convert(varchar(23),'+a.name +',121)'+ '+'''''''''+' end'       when a.xtype =52  then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(12),'+a.name +')'+' end'       when a.xtype =122 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(22),'+a.name +')'+' end'       when a.xtype =48  then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(6),'+a.name +')'+' end'--     when a.xtype =165 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.length*2+2)+'),'+a.name +')'+' end'       when a.xtype =167 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'       else '''NULL'''       end as col,a.colid,a.name       from syscolumns a where a.id = object_id(@tablename) and a.xtype <>189 and a.xtype <>34 and a.xtype <>35 and  a.xtype <>36       )t order by colid              select @sqlstr=@sqlstr+left(@sqlstr2,len(@sqlstr2)-1)+') '+left(@sqlstr1,len(@sqlstr1)-3)+')'' from '+@tablename--  print @sqlstr       exec( @sqlstr)       set nocount offendGO
      

  6.   

    当然用Mobilink Server更专业更强大咯,Mobilink 是双向同步的,就是他自动检测到总部数据库服务器中某个表的数据与门店相对应的表的数据的差异性,只要门店拨号一经连同moblink server 就开始同步。
    这个要靠自己写不要累死的啊。
      

  7.   

    补充一点
    MobiLink同步服务器支持多种后台数据库、各种通讯协议和各类同步协议,实现异地之间进行增量式的、可伸缩的、安全的、双向的信息同步。。
      

  8.   

    我们用java解决实际问题。欢迎有经验的java程序员加入我们的讨论,因人数接近上限,初级人员暂时不能加入,请谅解。QQ 群:3001581
      

  9.   

    推荐:软件名称:恩信科技开源ERP软件 (升级) 
    版本号:V4.0 
    一级类别:办公软件 
    二级类别:信息管理 
    软件公司或作者名称:北京恩信创业科技有限公司 
    公司网址:http://www.nseer.com ;  
    联系邮件:[email protected]   
    语言版本:  简体中文 
    软件性质:免费 
    安装支持:  支持 
    软件大小:126MB 
    下载地址一: 
    http://211.161.46.197/downloadfile/ERPv4(ForResin2Mysql5).rar 
    试用限制:永久 
    软件价格:免费 
    操作系统:win9x,win2000,winxp…