UStore-自定义JDF文件格式输出
系统默认的JDF输出不能满足我们的需求,往往不同的供应商输出不同要求的JDF格式。这里我们开始介绍ustore的自定义JDF输出
1.先屏蔽掉默认的JDF格式输出
我们进入Tigger来设置ustroe JDF的触发事件
进入Presets –> Tigger Setup
可以看到很多的Tigger,这里我们选择JDF Submission
将原来的Status=Active 改成 Status=Inactive 最后点击保存就可以了
2. 新建我们的JDF Tigger
1)回到我们的Tigger list页面,点击New
2)可以看到下面的页面。
Rule Name(必填)表示名字,这里输入My JDF Submission 01
Rule Description 表示介绍,这里不填
Event 表示触发次Tigger的事件,这里选择Order State Transition
Status 表示是否开启此Tigger,这里选开启=Active
Filter 表示状态转换过滤器,这里选择默认的Order State Transition Filter
Store Name 表示Tigger用在什么地方,这里选择我们创建的store
From State 表示从哪个状态开始过滤,这里选择全部状态All States
To State 表示从哪个状态介绍过滤,这里选择Prepress in Progress
Actin to Perform 表示输出那种文件格式,这里选择JDF XML
Select Template 表示输出的JDF文件内容,这里我们自己创建一个名叫JDF on State transition - 01
3)选项介绍 – Event/Filter
Event主要分为下面的这些,event是tigger触发的事件。我们这里选择的Order State Transition顾名思义,表示订单状态改变的时候调用。也就是订单提交过后,在Orders流程改变时调用。
From State是基于上面的事件做开始操作的。这里选择的是All States,表示全部状态都开始
To State跟From State一样,这里选择Prepress in Progress,表示当状态=Prepress in Progress,是结束标志
4)选项介绍 – Select Template
注意这里右边的三个图标。第一个是在线编辑,第二个是新建一个Template,第三个是删除现在的Template。
3.自定义Template格式
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl" xmlns:JDF_XSLHelper="urn:JDF_XSLHelper">
<xsl:output method="xml" indent="yes" />
<xsl:variable name="JDFJob_ID" select="//JobID" />
<xsl:variable name="JDF_ID" select="//jdfID" />
<xsl:variable name="JobPartID" select="JDF_XSLHelper:CreateJDFJobID('JP',//Sqls/OrderProduct/Row/OrderProductID)" />
<xsl:variable name="CurrentDateTime" select="JDF_XSLHelper:GetCurrentDateTime()" />
<xsl:variable name="PrepressWorkflowProviderTypeID" select="//Sqls/PrepressWorkflow/Row/PrepressWorkflowProviderTypeID" />
<xsl:template match="/">
<root>
<item>
<id value="{//Sqls/Order/Row/OrderProductID}"></id>
<!-- 订单ID 可以不使用 -->
<order_no value="{//Sqls/Order/Row/EncryptedOrderId}"></order_no>
<!-- 订单编号 -->
<status></status>
<!-- 订单状态 举例:1生成订单,2支付订单,3取消订单,4作废订单,5完成订单 -->
<distribution_status></distribution_status>
<!-- 配送状态 -->
<!-- 客户信息开始: 可以选择传送 -->
<accept_name value="{//Sqls/Order/Row/Bill_Name}"></accept_name>
<!-- 客户名称 -->
<postcode value="{//Sqls/Order/Row/Bill_Zip}"></postcode>
<!-- 客户邮政编码 -->
<telphone value="{//Sqls/Order/Row/Bill_Phone}"></telphone>
<!-- 客户电话 -->
<country></country>
<!-- 国家编码 也可以文字描述,下同 -->
<province></province>
<!-- 省份编码 -->
<city></city>
<!-- 城市编码 -->
<area></area>
<!-- 地区编码 -->
<address value="{//Sqls/Order/Row/Bill_AddressReference}"></address>
<!-- 联系地址 -->
<mobile></mobile>
<!-- 联系手机 -->
<!-- 客户信息结束;-->
<payable_amount value="{//Sqls/Order/Row/OrderAmount}"></payable_amount>
<!-- 应付商品总金额 -->
<real_amount></real_amount>
<!-- 实付商品总金额 -->
<payable_freight value="{//Sqls/Order/Row/ShippingCharges}"></payable_freight>
<!-- 总运费金额 -->
<real_freight></real_freight>
<!-- 实付运费 -->
<create_time value="{//Sqls/Order/Row/DateCartCreated}"></create_time>
<!-- 订购时间 -->
<completion_time value="{//Sqls/Order/Row/DateOrderSubmitted}"></completion_time>
<!-- 订单完成时间 -->
<invoice></invoice>
<!-- 发票 0不索要1索要 -->
<postscript></postscript>
<!-- 客户留言 -->
<note></note>
<!-- 管理员备注 -->
<invoice_title></invoice_title>
<!-- 发票抬头 -->
<taxes value="{//Sqls/Order/Row/TaxAmount}"></taxes>
<!-- 税金 -->
<promotions></promotions>
<!-- 促销优惠金额 -->
<discount></discount>
<!-- 订单折扣或涨价 -->
<order_amount></order_amount>
<!-- 订单总金额 -->
<type></type>
<!-- 订单类型 -->
<synchronous></synchronous>
<!-- 是否同步ERP -->
<sync_time></sync_time>
<!-- 同步时间 -->
<file_download_state></file_download_state>
<!-- 文件下载状态 -->
<update_download_state_time></update_download_state_time>
<!-- 更新文件状态时间 -->
<goods>
<item>
<goods_price value="{//Sqls/Order/Row/cost}"></goods_price>
<!-- 销售价 -->
<real_price value="{//Sqls/Order/Row/cost}"></real_price>
<!-- 成本价 -->
<goods_nums value="{//Sqls/OrderProduct/Row/Amount}"></goods_nums>
<!-- 订购份数 -->
<goods_weight></goods_weight>
<!-- 成品重量 -->
<is_send></is_send>
<!-- 是否发货 -->
<products_no></products_no>
<!-- 成品编码 -->
<goods_name value="{//Sqls/Product_And_Culture/Row/PC_Name}"></goods_name>
<goods_note value="{//Sqls/Product_And_Culture/Row/PC_ShortDescription}"></goods_note>
<!-- 成品描述,例如产品结构工艺等 -->
<file_data>
<item>
<file_id></file_id>
<!-- 文件ID -->
<url value="{//FilePath}"></url>
<!-- 下载路径 -->
<file_md5></file_md5>
<!-- 文件md5 用于检验文件是否完整 -->
<file_size></file_size>
<!-- 文件大小 -->
<status></status>
<!-- 下载状态 -->
</item>
</file_data>
</item>
<item>
<goods_price></goods_price>
<!-- 销售价 -->
<real_price></real_price>
<!-- 成本价 -->
<goods_nums></goods_nums>
<!-- 订购份数 -->
<goods_weight></goods_weight>
<!-- 成品重量 -->
<is_send></is_send>
<!-- 是否发货 -->
<products_no></products_no>
<!-- 成品编码 -->
<goods_name></goods_name>
<goods_note></goods_note>
<file_data></file_data>
<!-- 无附件 -->
</item>
</goods>
<delivery>
<xsl:for-each select="//Sqls/DeliveryTentative/Row">
<item>
<company>
<xsl:value-of select="Ship_Company" />
</company>
<country>
<xsl:value-of select="Ship_Country" />
</country>
<postcode>
<xsl:value-of select="Ship_Zip" />
</postcode>
<postcode>
<xsl:value-of select="Ship_Add1" />
</postcode>
<postcode>
<xsl:value-of select="Ship_City" />
</postcode>
</item>
</xsl:for-each>
<!-- ... 更多送货信息 -->
</delivery>
</item>
</root>
</xsl:template>
</xsl:stylesheet>
UStore-自定义JDF文件格式输出的更多相关文章
- hadoop编程小技巧(5)---自定义输入文件格式类InputFormat
Hadoop代码测试环境:Hadoop2.4 应用:在对数据需要进行一定条件的过滤和简单处理的时候可以使用自定义输入文件格式类. Hadoop内置的输入文件格式类有: 1)FileInputForma ...
- log4j2自定义Appender(输出到文件/RPC服务中)
1.背景 虽然log4j很强大,可以将日志输出到文件.DB.ES等.但是有时候确难免完全适合自己,此时我们就需要自定义Appender,使日志输出到指定的位置上. 本文,将通过两个例子说明自定义APP ...
- 自定义 ocelot 中间件输出自定义错误信息
自定义 ocelot 中间件输出自定义错误信息 Intro ocelot 中默认的 Response 中间件在出错的时候只会设置 StatusCode 没有具体的信息,想要展示自己定义的错误信息的时候 ...
- 自定义NSLog宏输出
根据编译条件,Debug时输出带行号的日志,Release时关闭日志 /* XCode LLVM XXX - Preprocessing中Debug会添加 DEBUG=1 标志 */ #ifdef D ...
- PHP内置Web Server探究(二)自定义PHP控制台输出console函数
我们在开发APP的服务器端,当和APP进行联调时通常需要实时跟踪URL请求和参数的接收情况. 但PHP并没有像Python或Java专有的控制台输出函数,Python的print()和Java的Sys ...
- 使用go-template自定义kubectl get输出
kubectl get相关资源,默认输出为kubectl内置,一般我们也可以使用-o json或者-o yaml查看其完整的资源信息.但是很多时候,我们需要关心的信息并不全面,因此我们需要自定义输出的 ...
- ELK收集Nginx自定义日志格式输出
1.ELK收集日志的有两种常用的方式: 1.1:不修改源日志格式,简单的说就是在logstash中转通过 grok方式进行过滤处理,将原始无规则的日志转换为规则日志(Logstash自定义日志格式) ...
- 自定义SpringBoot控制台输出的图案
pringboot启动的时候,控制台输出的图案叫banner banner?啥玩意儿?相信有些人,一定是一脸懵逼... ——这个就不陌生了吧,这个是我们启动springboot的时候,控制台输出的.. ...
- highcharts自定义导出文件格式(csv) highcharts的一些使用心得
highcharts是国外的一个图表插件,包括各种数据图形展示,柱形图,线性图等等,是手机端和pc端最好的图表插件之一,相比于百度的echarts更加轻便和易懂.链接http://www.hchart ...
随机推荐
- HDU Math Problems
1576 const int mod = 9973; n = a - a / mod * mod; a / b = ans; ans * b = a = a / mod * mod + n; n = ...
- VC++ Debugger Tips[转]
本文摘自:http://blogs.msdn.com/b/vcblog/archive/2006/08/04/689026.aspx Hi, my name is Sergey Grankin and ...
- python3下安装Django
1.下载python3 https://www.Python.org/ 我下载的是Python3.5.1 选的 Windows x86-64 executable installer 2. 打开cmd ...
- spark单机环境下运行一些解决问题
ERROR1.hadoop依赖 [ERROR] - Failed to locate the winutils binary in the hadoop binary path java.io.I ...
- CentOS防火墙问题
问题背景 在Vmware虚拟机中安装了 CentOS 7 的 Linux 版本,并在其中安装了 Oracle 11g 数据库,数据库可以在虚拟机中顺利启动,本地主机也可以 ping 通 linux.准 ...
- chrome 浏览器 手动同步书签 && 安装离线插件
现在查的很严,所以使用chrome浏览器 同步功能不是特别好,就算是FQ也会出现 同步延迟的情况,所以定时使用手动同步还是很靠谱的行为,就在网上找了下,借鉴下.亲测可用. 在Chrome浏览器没有一个 ...
- VC 单文档视图分割
http://blog.csdn.net/smartwhitehorse/article/details/6707183 主要使用类:CSplitterWnd 问题:分割线的固定,需要重写CSplit ...
- 个人网页的留言板实现与sae的数据库账户配置
个人网页(github)的留言板终于搞定了.总之后端的东西不会写,只有修改以前教程里面的文件.记录一下重要的过程. 使用了留言保存的send()函数,模版有注册登录功能.根据需求修改了一下,去掉了登录 ...
- javascript基础知识-函数
1.javascript中函数有两种定义方式: 函数语句定义和表达式定义 //函数有定义 function test(){ console.log("This is a function&q ...
- js 经典正则判断 一个字符串是否包含另一个字符串
if (!new RegExp(list_table[i].value.split("—")[0]).test(lhtj)) { }判断在lhtj中是否包含list_table[i ...








