摘要:在产品生成器模块中,建模树是产品模型的一部分,它决定使用用户输入的值所要执行的计算,建模树可以控制BOM和工业路线的生成,是配置产品代码的可视化呈现。各个节点都是编程语句的体现,只不过可视化了而已,本文不详细展开,只大体介绍一下。代码节点在产品模型中包含X++代码BOM结点将BOM行插入到由产品模型生成的BOM中工艺路线节点将工艺路线操作插入到由产品模型生成的工艺路线中默认节点用于插入默认工艺路线...
阅读全文
摘要:产品生成器模块可以为配置后的产品根据用户选择的值展示不同的图片(当然这些图片必须事先做好放在某个特定的文件夹下),在产品生成器->产品模型->设置->图形参数设置后,按照教程的说法,出来的产品配置窗体就可以多一个图片的Tab页,用来显示图片,刚打开时显示的是默认的图片,随着用户的输入值,这个图片会按照设定好的规则去显示对应的图片。这个功能在英文环境下没有任何问题,但是在中文环境下,点击产品生成器-...
阅读全文
摘要:简介在AX中产品模型用来决定在产品配置窗体中可用的选项和在配置产品的过程中需要执行的计算。本章讨论模型的创建过程,包括1.本地规则2.添加变量和变量组3.产生物料编号和(或)维度ID4.价格组合5.图形产品模型是产品生成器的核心,它使产品可配置并且决定配置过程。产品模型产品模型的创建跟标准BOM和工艺路线完全一样,这里不再赘述。在创建产品模型的时候可以采用产品模型向导,操作路径如下:产品生成器->...
阅读全文
摘要:今天看到设置规则这个地方,在设置本地规则时,验证类型选择 公式,在公式设置选项卡的类型处选择 已计算(这个地方那个英文为Calculated,翻译为已计算不太好理解,翻译成通过计算可能会好一些),然后点击已计算按钮,设定公式,在检查规则语法时出现了如下错误:跟踪代码后得知,是类PBARuleExpressionActionValue的methodName出现了问题 str methodname()...
阅读全文
摘要:最近需要玩产品生成器模块,边啃教程边mark一下。生产生成器模块使得一些BOM料品在创建销售订单,采购订单,生产订单和物料需求的时候变得可配置,所谓的可配置是指可以通过一个配置窗体指定一些料品的属性值(比如大小,颜色还有其他属性等),当这些属性指定完毕以后,可以根据创建满足这些属性值的BOM和Route。在阅读教程的过程中我一直有个感觉,实际上产品生成器模块的整个过程与警方根据知情者的描述用CAD...
阅读全文
摘要:中国人使用报表很喜欢每一行都要加个下划线,说是怕看错了行,财务就更好玩了,每个字段都要用框框框起来,不知道是不是看到被框起来有种安全感,哈哈。也许老外不太容易看错了行,AX的报表都是没有下划线的,更不用说框起来了。防止用户看错了行而加个下划线这个要求还算合理,虽然俺看到很多线就有些发晕。在AX加下划线是比较容易实现的,加框框就有些痛苦。这里只说一下加下划线的做法,我的做法如下:1.创建一个Prog...
阅读全文
摘要:随着产品数量的增加,用户在输入创建一个产品时总是担心这个产品在系统中是否已经存在?说起来检测系统中是否已经存在某个BOM,应该很简单。AX用BOM这个表存放BOM清单,某个BOM由什么产品组成的都在这个表中存着,只要看一下这个表是否存在记录就可以了。BOM表中的三个重要字段是BOMId,ItemId,BOMQty.一个BOM由多个产品组成,比如有两个BOMBOMId ItemId BO...
阅读全文
摘要:看过代码后就会知道,生产模块的逻辑相对于库存模块是很简单的,由于系统的集成性,到后面关于物料的处理直接扔给了库存模块,而牵扯到财务处理直接扔给了财务模块,剩下纯生产流程控制的就很少了。我们前面了解到了估计功能最直接调用的类是ProdMultiCostEstimation,其中的Multi我的理解是支持多个生产工单同时做估计动作,系统处理上也很简单,每次估计操作生成一个ParmId,把多个生产工单的...
阅读全文
摘要:在AX中生产订单要经过几个步骤才能结束,其过程如下图所示:本系列文章分析AX是如何实现这六个步骤的,介绍它的数据存储结构,还原其静态结构图和序列图。由于笔者水平有限,错误在所难免,还望多多指教。准备知识我们知道在生产模块物料清单和工艺路线是必须的基础数据,所以在介绍正式的生产前,需要了解这两个基础数据是如何存储的。BOM的存储结构如下图所示:BOMTable存储的是BOM的定义,BOM存储的是BO...
阅读全文
摘要:AX有个不错的功能,在窗体上点击右键->记录信息 出来的窗体上就会有重命名这个选项,这个功能最终调用的是目的表的renamePrimaryKey方法,这个方法会更新该表的主键值,并更新引用了该主键的从表的值,比如调用CustTable的renamePrimaryKey方法,不仅会更新CustTable的AccountNum的值,也会更新CustTrans中AccoutNum的值。有些窗体并没有的 ...
阅读全文
摘要:一些WorkSheetLine类型的表,大多都有个字段LineNum,用来标识当前行是第几行。如果在Form中对应该表的DataSource,设定属性CounterField为LineNum,那么AX就会自动给它分配顺序号,这个分配动作发生在FormDataSource的Create方法和表的initValue之间,在调用表的initValue之前该字段就已经初始化好了,同时被初始化好的还有Tab...
阅读全文