我认为货位的调拔是内部进行的,
只要在“装箱单”填一张单就可以实现商品的转移
而若是仓库的话,那不是要先从货位移到out,然后移动另一个仓库的in吗,最后才到另一个货位?
若商店不指定货位,那么当销售了商品后,它只能反映到仓库?
[[i] 本帖最后由 yuzifu 于 2008-3-31 10:57 编辑 [/i]]
我认为货位的调拔是内部进行的,
只要在“装箱单”填一张单就可以实现商品的转移
而若是仓库的话,那不是要先从货位移到out,然后移动另一个仓库的in吗,最后才到另一个货位?
若商店不指定货位,那么当销售了商品后,它只能反映到仓库?
[[i] 本帖最后由 yuzifu 于 2008-3-31 10:57 编辑 [/i]]
针对第4点,我说说我这里的情况,公司有总部和各门店、仓库、配送中心,配送中心存储镜片,仓库存储除镜片之外的所有物品,门店会存放数量不多的各商品样品,制镜工厂在配送中心。
若每个商店都是仓库的话,那么我要统计全公司的某种商品分布在哪怎么处理,且门店与门店之间以及门店与仓库之间的调货是相当频繁的,那这样的话做进出仓处理的量就会很大,而若只是内部调拔的话,那只是货位上商品的调整,而涉及的单据就会很简单。
一、库存不能显示只大于0的产品
[attach]41[/attach]
见上图,并没有一处可以这样筛选的地方。
二、采购订单明细这里把“产品”放到最上面更方便
[attach]43[/attach]
三、在群里讨论过的“保证期”
[attach]42[/attach]
这一处的意义还没有弄懂
四、商店它的存货是仓库还是货位
[attach]44[/attach]
在定义的界面里,它是属于仓库的,可是对于一个连锁店,若这样设置的话,那么不论是统计或者是配送都很复杂
五、产品界面里有两个“采购方式”
[attach]42[/attach]
看上下两图中的“采购方式”
[attach]45[/attach]
[[i] 本帖最后由 yuzifu 于 2008-3-25 18:03 编辑 [/i]]
楼主是在postgresql8.3下安装的?
我在postgresql8.3下从未成功过。
大家都推荐在postgresql8.2下安装。
环境:ubuntu 8.04+postgres 8.2.6+tinyerp 4.2.2
tinyerp4.2.2一切正常运行,今天想装个web客户端
于是按官方wiki里的办法一步一步做,结果不成功
出错信息如下:
user@itpc:~$ sudo easy_install tinyerp.com/download/stable/source/eTiny-1.0.tar.gz
Downloading tinyerp.com/download/stable/source/eTiny-1.0.tar.gz
Processing eTiny-1.0.tar.gz
Running eTiny-1.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-yBQ6GU/eTiny-1.0/egg-dist-tmp-1AUIFv
Traceback (most recent call last):
File "/usr/bin/easy_install", line 8, in <module>
load_entry_point('setuptools==0.6c8', 'console_scripts', 'easy_install')()
File "/usr/lib/python2.5/site-packages/setuptools/command/easy_install.py", line 1671, in main
with_ei_usage(lambda:
File "/usr/lib/python2.5/site-packages/setuptools/command/easy_install.py", line 1659, in with_ei_usage
return f()
File "/usr/lib/python2.5/site-packages/setuptools/command/easy_install.py", line 1675, in <lambda>
distclass=DistributionWithoutHelpCommands, **kw
File "/usr/lib/python2.5/distutils/core.py", line 151, in setup
dist.run_commands()
File "/usr/lib/python2.5/distutils/dist.py", line 974, in run_commands
self.run_command(cmd)
File "/usr/lib/python2.5/distutils/dist.py", line 994, in run_command
cmd_obj.run()
File "/usr/lib/python2.5/site-packages/setuptools/command/easy_install.py", line 211, in run
self.easy_install(spec, not self.no_deps)
File "/usr/lib/python2.5/site-packages/setuptools/command/easy_install.py", line 422, in easy_install
return self.install_item(None, download, tmpdir, deps, True)
File "/usr/lib/python2.5/site-packages/setuptools/command/easy_install.py", line 476, in install_item
dists = self.install_eggs(spec, download, tmpdir)
File "/usr/lib/python2.5/site-packages/setuptools/command/easy_install.py", line 655, in install_eggs
return self.build_and_install(setup_script, setup_base)
File "/usr/lib/python2.5/site-packages/setuptools/command/easy_install.py", line 930, in build_and_install
self.run_setup(setup_script, setup_base, args)
File "/usr/lib/python2.5/site-packages/setuptools/command/easy_install.py", line 919, in run_setup
run_setup(setup_script, args)
File "/usr/lib/python2.5/site-packages/setuptools/sandbox.py", line 27, in run_setup
lambda: execfile(
File "/usr/lib/python2.5/site-packages/setuptools/sandbox.py", line 63, in run
return func()
File "/usr/lib/python2.5/site-packages/setuptools/sandbox.py", line 29, in <lambda>
{'file':setup_script, 'name':'main'}
File "setup.py", line 2, in <module>
File "/usr/lib/python2.5/site-packages/TurboGears-1.0.4.4-py2.5.egg/turbogears/init.py", line 6, in <module>
from turbogears.controllers import expose, flash, validate, redirect,
File "/usr/lib/python2.5/site-packages/TurboGears-1.0.4.4-py2.5.egg/turbogears/controllers.py", line 8, in <module>
from dispatch import generic, strategy, functions
File "/usr/lib/python2.5/site-packages/PIL/init.py", line 19, in <module>
File "/usr/lib/python2.5/site-packages/RuleDispatch-0.5a0.dev_r2306-py2.5-linux-i686.egg/dispatch/interfaces.py", line 1, in <module>
File "/usr/lib/python2.5/site-packages/PIL/init.py", line 3, in <module>
# $Id: init.py 2134 2004-10-06 08:55:20Z fredrik $
File "/usr/lib/python2.5/site-packages/PyProtocols-1.0a0dev_r2302-py2.5-linux-i686.egg/protocols/api.py", line 15, in <module>
File "/usr/lib/python2.5/site-packages/PyProtocols-1.0a0dev_r2302-py2.5-linux-i686.egg/protocols/adapters.py", line 32, in <module>
File "/usr/lib/python2.5/site-packages/PyProtocols-1.0a0dev_r2302-py2.5-linux-i686.egg/protocols/_speedups.py", line 7, in <module>
File "/usr/lib/python2.5/site-packages/PyProtocols-1.0a0dev_r2302-py2.5-linux-i686.egg/protocols/_speedups.py", line 4, in bootstrap
File "/usr/lib/python2.5/site-packages/pkg_resources.py", line 841, in resource_filename
self, resource_name
File "/usr/lib/python2.5/site-packages/pkg_resources.py", line 1310, in get_resource_filename
self._extract_resource(manager, self._eager_to_zip(name))
File "/usr/lib/python2.5/site-packages/pkg_resources.py", line 1332, in _extract_resource
self.egg_name, self._parts(zip_path)
File "/usr/lib/python2.5/site-packages/pkg_resources.py", line 921, in get_cache_path
self.extraction_error()
File "/usr/lib/python2.5/site-packages/pkg_resources.py", line 887, in extraction_error
raise err
pkg_resources.ExtractionError: Can't extract file(s) to egg cache
The following error occurred while trying to extract file(s) to the Python egg
cache:
SandboxViolation: mkdir('/home/user/.python-eggs', 511) {}
The package setup script has attempted to modify files on your system
that are not within the EasyInstall build area, and has been aborted.
This package cannot be safely installed by EasyInstall, and may not
support alternate installation locations even if you run its setup
script by hand. Please inform the package's author and the EasyInstall
maintainers to find out if a fix or workaround is available.
The Python egg cache directory is currently set to:
/home/user/.python-eggs
Perhaps your account does not have write access to this directory? You can
change the cache directory by setting the PYTHON_EGG_CACHE environment
variable to point to an accessible directory.
说明:
1,本脚本为ubuntu里tinyerp软件包里脚本修改得来
2,实现的功能为自启动、启动、停止、重启
3,适用范围:ubuntu 8.04 源码安装tinyerp(使用setup.py build和setup.py install),理论上支持ubuntu和debian全系列
4,未来会加入安装功能
安装方法
1,下载,解压
2,修改文件,一般是以下几个变量,根据自己的情况修改
INTERFACE="localhost"
USER="postgres"
DATABASE_NAME="terp"
DATABASE_USER="postgres"
3,复制到/etc/init.d/,权限为755
4,把/etc/init.d/tinyerp-server软链接到/etc/rc2.d/S83tinyerp-server
[[i] 本帖最后由 yuzifu 于 2008-3-20 17:14 编辑 [/i]]
嗯,对测试工作没有过经验,要加强了。
有些报表找不到sxw文件,像Products Localisations,我搜索了整个目录也没有找到它的sxw文件,不知道这类报表要如何修改?
[b][size=99px]产品管理[/size][/b]
这tinyerp里面,产品管理被设计的比较简单,要关注的有三块:产品类别、价格表、产品
[b][size=99px][color=blue]产品类别[/color][/size][/b]
在定义产品分类的界面里,利用“上级分类”这个参数,它是可以逐层细分的
而且定义的子层类别在显示的时候都会把所有上级的名称显示出来
关于这一点,我们不必太在意
而几个会计参数则是让该产品发生业务时相关的会计信息记录在哪个科目下
如果实施公司所使用的会计制度是中国的话,那么这几个参数是要修改的
它缺省的值是按老外的会计制度规定的科目
[b][size=99px][color=blue]价格表[/color][/size][/b]
这可能算是产品模块里最复杂的一部分了,虽然只有“价格表版本”和“价格表”这两项
但当我尝试建立一个价格表时,它分别经历了这些步骤:
价格表类型-》价格表-》价格表版本-》价格表明细
而产生的命名分别是(举其一):
销售价格表-》标准销售价格表-》默认销售价格表版本-》默认销售价格表明细
在这一系列的设置当中,第三步里面可以设定价格表生效的时候段,第四步里面可以设置的参数就更多了,比如在哪些产品、产品模板、产品类别中生效;该价格表的价格计算方法(它是针对所有产品的)等等
看了tinyerp里的价格表设置之后,我心里头冒出了三个问题:
一是如何针对销售点(商店)来设置价格表,是否可以增加一个参数用来设置生效的销售点(商店)呢?
二是当只针对某些商品进行价格调整时,在价格表中要如何实现?要知道,系统里面的价格调整可是针对所有产品的(见上一段)。
三是商品销售套餐在价格表当中要如何体现(跟第二个问题类似)?
[b][size=99px][color=blue]产品[/color][/size][/b]
首先要设置的是单位,在tinyerp里还添加了“单位类别”
除了在设置单位里必须指定“单位分类”外,我暂未发现“单位类别”有啥别的用处
在设置单位时还有几个参数值的琢磨,比如“Factor”、“因子”(这处翻译需商榷)、“舍入精度”。
Factor是指什么?
“因子”的原文也是Factor,那么它又是指什么?
“舍入精度”的原文是法文,我不认识,阿门!
它的表达方法也让我费了一会儿神,0.01是表示精确到百分位吗
若真如此的话,那它后面那个加数减数的按钮增量为1就设置的不通情理了。
tinyerp里的产品设置还是不够灵活的,因为在这里你只能用“模板”和“型号”这两级来表达,或许我说的不够明白,那么我举个例子,polo公司生产的春装白色XL码T恤,在tinyerp里可以这么来表达,polp公司生产的春装白色T恤是模板,而XL码是型号,那模板跟型号组合起来就是该款所有产品了。而我觉的EBS的“弹性域”或compiere的“属性集”用在这那效果会相当的好。
在产品模板的定义界面里,我比较关注的参数有这么几个:单位、采购方法、价格、科目信息(请参考本篇开头的“产品类别”相关信息)、仓库信息
在产品型号的定义界面里,相对来讲是相当的简单,我在这也不一一列举了,地球人都知道。
在“产品”里,我们可以看到所有被定义的产品,当然也可以新定义产品,不过这都“产品模板”和“产品型号”的集大成者,无需另加说明。
在完成以上产品分类和登记完产品之后,我们就可以在“分类产品”里查看到属于本类的所有产品了
[[i] 本帖最后由 yuzifu 于 2008-3-13 14:05 编辑 [/i]]
看图,还有一个地方出现叫"因子"的参数,不知道在哪儿了
看看这个图
在系统中查找数据的时候,默认是只会显示80条数据的,单击查询界面这部分的左上角的"+",会延伸出一部分设置对话框来,在Limit这个参数中可以让你决定显示的查找到的数据的个数.
不知系统中有没有一个总开关来控制这个参数?
正发愁碰到问题,用tony的办法全解决了.
W sir看来对财务方面是有相当的造诣啊,测得这么详细。
与之相比,我的仅能称为浏览-_-
查看库存报表是在“Locations Structure"里,而收发货物则在"Paking Lists"里,
Sending Goods是发货,Getting Goods是收货,Internal是调拔.
采购是先到公司的INPUT这个仓库,然后再调动到实际仓库
而销售是先分配到OUTPUT这个仓库,然后再从这个仓库确认给客户
我分别做了一张调拔单、一第销售单和一张采购单,完成流程后库存里反映都是正确的。
除了使用习惯上的区别,应该说还是很较简单的。
不过我仅仅是关注了物流的数据,而资金流这方面我还没有配置相关数据进行测试。
[[i] 本帖最后由 yuzifu 于 2008-3-7 11:55 编辑 [/i]]
[quote]原帖由 [i]yuzifu[/i] 于 2008-3-5 15:07 发表 www.shine-it.net/tinyerp/redirect.php?goto=findpost&pid=423&ptid=126
我以为模块都是以中文化版本的,所以我就没有去安装模块,它里面的有些实例数据是删不掉的,我现在看了伙伴这一块,国家和区划的数据是可以删的。关于实例里的英文,可能要文档组把它给翻译了,另外就是实例数据不能 ... [/quote]
嗯,纠正一下,大部分数据都是可以修改和删除的
关于物料管理这一块,功能很简单,要做的设置也就是分类和单位而已。
不过它的产品属性比较特别,由两部分组成,一是产品模板,有点类似主属性或者叫大属性,二是属性,举个例子:春装白色男衫是产品模板,而各码是属性。
也就是说产品的属性只有两级,这跟ebs和adem/comp的弹性域(属性集)不一样。
我在本机上安装的,当我尝试添加报表模块里,服务端出现下面的错误信息:
Thu, 06 Mar 2008 18:25:59 ERROR:web-services:Exception in call: Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/tinyerp-server/netsvc.py", line 200, in _dispatch
r=m(*params)
File "/usr/lib/python2.5/site-packages/tinyerp-server/service/web_services.py", line 422, in execute
return self._execute(db, uid, wiz_id, datas, action, context)
File "/usr/lib/python2.5/site-packages/tinyerp-server/service/web_services.py", line 402, in _execute
return wiz.execute(db, uid, self.wiz_datas[wiz_id], action, context)
File "/usr/lib/python2.5/site-packages/tinyerp-server/wizard/init.py", line 160, in execute
res = self.execute_cr(cr, uid, data, state, context)
File "/usr/lib/python2.5/site-packages/tinyerp-server/wizard/init.py", line 75, in execute_cr
action_res = action(self, cr, uid, data, context)
File "/usr/lib/python2.5/site-packages/tinyerp-server/addons/base/module/wizard/wizard_module_upgrade.py", line 80, in _upgrade_module
db, pool = pooler.restart_pool(cr.dbname, update_module=True)
File "/usr/lib/python2.5/site-packages/tinyerp-server/pooler.py", line 64, in restart_pool
return get_db_and_pool(db_name, force_demo, update_module=update_module)
File "/usr/lib/python2.5/site-packages/tinyerp-server/pooler.py", line 53, in get_db_and_pool
addons.load_modules(db, force_demo, status, update_module)
File "/usr/lib/python2.5/site-packages/tinyerp-server/addons/init.py", line 274, in load_modules
load_module_graph(cr, graph, status, report=report)
File "/usr/lib/python2.5/site-packages/tinyerp-server/addons/init.py", line 204, in load_module_graph
init_module_objects(cr, m, modules)
File "/usr/lib/python2.5/site-packages/tinyerp-server/addons/init.py", line 181, in init_module_objects
obj.init(cr)
File "/usr/lib/python2.5/site-packages/tinyerp-server/addons/report_sale/report_sale.py", line 72, in init
""")
File "/usr/lib/python2.5/site-packages/tinyerp-server/sql_db.py", line 75, in execute
res = self.obj.execute(sql)
ProgrammingError: 错误: 函数 pg_catalog.substring(date, integer, integer) 不存在
LINE 5: substring(s.date_order for 7)||'-'||'01' as name,
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
create or replace view report_sale_order_product as (
select
min(l.id) as id,
substring(s.date_order for 7)||'-'||'01' as name,
s.state,
l.product_id,
sum(l.product_uom_qty*u.factor) as quantity,
count(*),
sum(l.product_uom_qty*l.price_unit) as price_total,
(sum(l.product_uom_qty*l.price_unit)/sum(l.product_uom_qty*u.factor))::decimal(16,2) as price_average
from sale_order s
right join sale_order_line l on (s.id=l.order_id)
left join product_uom u on (u.id=l.product_uom)
group by l.product_id, substring(s.date_order for 7),s.state
)
OK,不过由于我这里连接测试服务器实在太慢(一般单击后15-20秒才有反应),所以我会以本机为环境进行测试。发现问题我会及时跟你讨论。
速度能不能提上去啊,这么慢简直没法测试。
我以为模块都是以中文化版本的,所以我就没有去安装模块,它里面的有些实例数据是删不掉的,我现在看了伙伴这一块,国家和区划的数据是可以删的。关于实例里的英文,可能要文档组把它给翻译了,另外就是实例数据不能修改。我马上建一个帐号去。