利用HTP工具包开发报表
利用这种方式的优点是不需要跑请求就可以打印报表
工具包中常用程序说明
htp.print
语法 htp.print (cbuf | dbuf | nbuf);
作用 generates a line in an HTML document.
参数 cbuf in varchar2 or
dbuf in dateor
nbuf in number
Generates Generates a line in an HTML document based on the value passed to it.
htp.p
Alias for htp.print
Structure Tags 结构标记
The following tags are used to identify the major parts of an HTML
document.
Note: Although this section shows hypertext procedures (HTP), all of
them are also available as hypertext functions (HTF).
htp.htmlOpen
语法 htp.htmlOpen;
作用 Prints a tag that indicates the beginning of an HTML document
ERP REPORT
参数 none
Generates <HTML>
htp.htmlClose
语法 htp.htmlClose;
作用 Prints a tag that indicates the end of an HTML document
参数 none
Generates </HTML>
htp.headOpen
语法 htp.headOpen;
作用 Prints a tag that indicates the beginning of the HTML document head
参数 none
Generates <HEAD>
htp.headClose
语法 htp.headClose;
作用 Prints a tag that indicates the end of the HTML document head
参数 none
Generates </HEAD>
htp.bodyOpen
语法 htp.bodyOpen (cbackground, cattributes);
作用 Prints the tag that identifies the beginning of the body of an HTML document, and
allows you to specify an image as the background of the document
参数 cbackground in varchar2 DEFAULT NULL
cattributes in varchar2 DEFAULT NULL
Generates <BODY background="cbackground" cattributes>
Note: If cbackground and cattributes are NULL, this tag generates <BODY>.
ERP REPORT
Example htp.bodyOpen ('/img/background.gif'); This line produces:<BODY
background="background.gif">
htp.bodyClose
语法 htp.bodyClose;
作用 Defines the end of the HTML document body
参数 none
Generates </BODY>
Generates <TITLE>ctitle</TITLE><Hnsize
ALIGN="calign" NOWRAP CLEAR="cclear"
cattributes>ctitle</Hnsize>
Note that htp.htitle produces non-standard
HTML. However, most Web Browsers accept
it. To produce standard HTML, the <TITLE>
tag must be in the HEAD section of the page,
and the level heading tag (<H
n>) must be in the BODY section. For example:
htp.headOpen; htp.title(...);
htp.headClose; htp.bodyOpen; htp.header
(1,...)); ...
Table Tags 表格标记
The Table tags allow the user to insert tables and manipulate the size
and columns of the table in a document.
Note: All the hypertext procedures (HTP) shown in this section are also
available as hypertext functions (HTF).
htp.tableOpen
语法 htp.tableOpen (cborder, calign, cnowrap, cclear, cattributes);
作用 Prints an HTML tag that begins an HTML table.
参数 cborder in varchar2 DEFAULT NULL
calign in varchar2 DEFAULT NULL
cnowrap in varchar2 DEFAULT NULL
cclear in varchar2 DEFAULT NULL
cattributes in varchar2 DEFAULT NULL;
Generates <TABLE BORDER NOWRAP ALIGN="calign" CLEAR="cclear" cattributes>
Note: The BORDER attribute is only determined by whether cborder is null
or not null.
ERP REPORT
htp.tableClose
语法 htp.tableClose;
作用 Prints an HTML tag that ends an HTML table.
参数 none
Generates </TABLE>
htp.tableRowOpen
语法 htp.tableRowOpen (calign, cvalign,cdp, cnowrap, cattributes);
作用 Prints an HTML tag that inserts a row tag into a table.
参数 calign in varchar2 DEFAULT NULL
cvalign in varchar2 DEFAULT NULL
cdp in varchar2 DEFAULT NULL
cnowrap in varchar2 DEFAULT NULL
cattributes in varchar2 DEFAULT NULL
Generates <TR ALIGN="calign" VALIGN="cvalign" DP="cdp" NOWRAP catttributes>
htp.tableRowClose
语法 htp.tableRowClose;
作用 Prints an HTML tag that ends a row in a table.
参数 none
Generates </TR>
htp.tableData
语法 htp.tableData (cvalue, calign, cdp, cnowrap, cattributes);
作用 Prints an HTML tag that inserts data into the rows and columns of a selected table.
参数 cvalue in varchar2 DEFAULT NULL
calign in varchar2 DEFAULT NULL
cdp in varchar2 DEFAULT NULL
cnowrap in varchar2 DEFAULT NULL
cattributes in varchar2 DEFAULT NULL
Generates <TD ALIGN="calign" DP="cdp" ROWSPAN="crowspan" COLSPAN="ccolspan" NOWRAP
ERP REPORT
cattributes>cvalue</TD>
包里面别的程序和用法可以查
http://www.lnu.edu.cn/book/oracleweb/ows402.htm
一个例子
<span style="font-size:18px;">PROCEDURE CUXTS001(
p_header_id IN VARCHAR2 default null,
p_org_id IN VARCHAR2 default null
)
AS
---declare the data source
------Report page parameters
v_row_num NUMBER;
v_first_flag NUMBER := 0; -----标志
x_count NUMBER; -------总行数
v_page_rows NUMBER := 1; ------定义每张报表的line数量
v_page_count NUMBER;
v_page_width NUMBER := 800;
v_font_size NUMBER := 2;
v_page_num NUMBER := 1;
v_line_count NUMBER := 0;
v_jes NUMBER := 0;
v_dis_no NUMBER := 0;
max_line NUMBER := 7;
----------------------------------------------------
t_qty NUMBER := 0;
t_amount NUMBER := 0;
x_org_name VARCHAR2 (100);
x_sum_count_no NUMBER := 0;
----采购题头
CURSOR c_header
IS
SELECT pha.segment1 po_num,
pha.po_header_id,
pha.type_lookup_code,
pha.agent_id,
pha.comments,
ppf.full_name full_name,
pha.creation_date,
ERP REPORT
pv.vendor_id,
SUBSTR (pv.vendor_name, 1, 38) vendor_name
FROM po_headers_all pha,
po_vendors pv,
per_people_f ppf
WHERE pha.vendor_id = pv.vendor_id
AND pha.agent_id = ppf.person_id
AND pha.org_id = TO_NUMBER (p_org_id)
AND pha.po_header_id = p_header_id;
----行信息
CURSOR c_line (x_header_id NUMBER)
IS
SELECT pda.destination_subinventory,
pll.quantity,
pla.line_num,
pla.unit_meas_lookup_code,
pla.unit_price,
pla.item_description item_desc,
pll.quantity * pla.unit_price amount,
pla.po_header_id,
pll.shipment_num,
msi.segment1 item,
pll.need_by_date need_by,
pll.ship_to_organization_id,
pll.promised_date,
pll.note_to_receiver,
ood.organization_code
FROM po_lines_all pla,
po_distributions_all pda,
po_line_locations_all pll,
mtl_system_items_b msi,
financials_system_params_all fsp,
org_organization_definitions ood
WHERE pla.po_line_id = pda.po_line_id
AND pll.line_location_id = pda.line_location_id
AND (pll.closed_code = 'OPEN' OR pll.closed_code IS NULL)
AND pla.item_id = msi.inventory_item_id(+)
AND pla.po_header_id = x_header_id
AND NVL (msi.organization_id, fsp.inventory_organization_id) =
fsp.inventory_organization_id
ERP REPORT
AND fsp.org_id = p_org_id
AND pll.ship_to_organization_id = ood.organization_id(+)
;
BEGIN
fnd_client_info.set_org_context(p_org_id);
HTP.htmlopen;
HTP.p ('<head>');
HTP.p ('<STYLE>');
HTP.p (' P { page-break-before: always }');
HTP.p ('</STYLE>');
HTP.p ('</head>');
HTP.bodyopen;
FOR lc_h IN c_header
LOOP
---title2
HTP.tableopen (
cattributes=> 'cellspacing=0 cellpadding=15 border=0 width='
|| v_page_width
|| ' bgcolor="#000000"'
);
HTP.tablerowopen (cattributes => 'bgcolor="#ffffff"');
HTP.tabledata (
cvalue=> '<font size="'
|| 3
|| '"> <b><U>采 购 单 据</b></U>',
cattributes=> 'width="16%"',
calign=> 'center'
);
HTP.tablerowclose;
HTP.tableclose;
---header
HTP.tableopen (
cattributes=> 'cellspacing=0 cellpadding=4 border=0 width='
|| v_page_width
|| ' bgcolor="#000000"'
);
HTP.tablerowopen (cattributes => 'bgcolor="#ffffff" height="8"');
ERP REPORT
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> 采购单号:'
|| lc_h.po_num,
cattributes=> 'width="15%"',
calign=> 'left'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> 采购类型:'
|| lc_h.type_lookup_code,
cattributes=> 'width="20%"',
calign=> 'left'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> 采购日期:'
|| TO_CHAR (lc_h.creation_date, 'YYYY/MM/DD'),
cattributes=> 'width="20%"',
calign=> 'left'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '">采购员:'
|| lc_h.full_name,
cattributes=> 'width="15%"',
calign=> 'left'
);
HTP.tablerowclose;
HTP.tableclose;
HTP.tableopen (
cattributes=> 'cellspacing=0 cellpadding=4 border=0 width='
|| v_page_width
|| ' bgcolor="#000000"'
);
HTP.tablerowopen (cattributes => 'bgcolor="#ffffff"');
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '">供应商:'
ERP REPORT
|| lc_h.vendor_name,
cattributes=> 'width="20%"',
calign=> 'left'
);
HTP.tablerowclose;
HTP.tableclose;
HTP.tableopen (
cattributes=> 'cellspacing=0 cellpadding=2 border=0 width='
|| v_page_width
|| ' bgcolor="#000000"'
);
HTP.tablerowopen (cattributes => 'bgcolor="#ffffff"');
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '">备注:'
|| lc_h.comments,
cattributes=> 'width="20%"',
calign=> 'left'
);
HTP.tablerowclose;
HTP.tableclose;
-- line
BEGIN
HTP.tableopen (
cattributes=> 'border="1" borderColorDark="#FFFFFF"
borderColorLight="#000000" cellPadding="0" cellSpacing="0" width='
|| v_page_width
|| ' '
);
HTP.tablerowopen (cattributes => 'bgcolor="#ffffff"');
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"><b> 项目</b></font>',
calign=> 'center',
cattributes=> 'width=18%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"><b> 货物名称</b></font>',
ERP REPORT
calign=> 'center',
cattributes=> 'width=22%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"><b> 单位</b></font>',
calign=> 'center',
cattributes=> 'width=6%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"><b> 采购单价</b></font>',
calign=> 'center',
cattributes=> 'width=8%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"><b> 数量</b></font>',
calign=> 'center',
cattributes=> 'width=7%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"><b> 金额</b></font>',
calign=> 'center',
cattributes=> 'width=13%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"><b> 需要日期</b></font>',
calign=> 'center',
cattributes=> 'width=10%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"><b> 仓库</b></font>',
calign=> 'center',
cattributes=> 'width=8%'
ERP REPORT
);
HTP.tablerowclose;
SELECT COUNT (pla.po_line_id)
INTO v_jes
FROM po_lines_all pla,
po_distributions_all pda,
po_line_locations_all pll,
mtl_system_items_b msi,
financials_system_params_all fsp,
org_organization_definitions ood
WHERE pla.po_line_id = pda.po_line_id
AND pll.line_location_id = pda.line_location_id
AND (pll.closed_code = 'OPEN' OR pll.closed_code IS NULL)
AND pla.item_id = msi.inventory_item_id(+)
AND pla.po_header_id = lc_h.po_header_id
AND NVL (msi.organization_id, fsp.inventory_organization_id) =
fsp.inventory_organization_id
AND fsp.org_id = p_org_id
AND pll.ship_to_organization_id = ood.organization_id(+);
FOR lc_l IN c_line (lc_h.po_header_id)
LOOP
HTP.tablerowopen (cattributes => 'bgcolor="#ffffff"');
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> '
|| '&'
|| 'nbsp'
|| lc_l.item,
calign=> 'left',
cattributes=> 'width=16%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> '
|| '&'
|| 'nbsp'
|| lc_l.item_desc,
calign=> 'left',
cattributes=> 'width=22%'
ERP REPORT
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> '
|| '&'
|| 'nbsp'
|| lc_l.unit_meas_lookup_code,
calign=> 'left',
cattributes=> 'width=6%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> '
|| '&'
|| 'nbsp'
|| lc_l.unit_price,
calign=> 'right',
cattributes=> 'width=12%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> '
|| '&'
|| 'nbsp'
|| lc_l.quantity,
calign=> 'right',
cattributes=> 'width=7%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> '
|| '&'
|| 'nbsp'
|| lc_l.amount,
calign=> 'right',
cattributes=> 'width=13%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
ERP REPORT
|| '"> '
|| '&'
|| 'nbsp'
|| TO_CHAR (lc_l.PROMISED_DATE, 'YYYY/MM/DD'),
calign=> 'center',
cattributes=> 'width=10%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> '
|| '&'
|| 'nbsp'
|| lc_l.organization_code,
calign=> 'center',
cattributes=> 'width=6%'
);
t_qty := t_qty
+ lc_l.quantity;
t_amount := t_amount
+ lc_l.amount;
END LOOP;
v_jes := max_line
- v_jes;
LOOP
EXIT WHEN v_jes <= 0;
HTP.tablerowopen (cattributes => 'bgcolor="#ffffff"');
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> <b>'
|| '&'
|| 'nbsp'|| ' ' ,
calign=> 'center',
cattributes=> 'width=18%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> <b>'
|| '&'
ERP REPORT
|| 'nbsp' || ' ',
calign=> 'center',
cattributes=> 'width=22%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> <b>'
|| '&'
|| 'nbsp' || ' ',
calign=> 'center',
cattributes=> 'width=6%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> <b>'
|| '&'
|| 'nbsp' || ' ',
calign=> 'center',
cattributes=> 'width=8%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> <b>'
|| '&'
|| 'nbsp' || ' ',
calign=> 'center',
cattributes=> 'width=7%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> <b>'
|| '&'
|| 'nbsp' || ' ',
calign=> 'center',
cattributes=> 'width=13%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> <b>'
ERP REPORT
|| '&'
|| 'nbsp' || ' ',
calign=> 'center',
cattributes=> 'width=10%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> <b>'
|| '&'
|| 'nbsp' || ' ',
calign=> 'center',
cattributes=> 'width=8%'
);
v_jes := v_jes
- 1;
END LOOP;
--sum
HTP.tablerowopen (cattributes => 'bgcolor="#ffffff"');
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> <b>'
|| '合计',
calign=> 'center',
cattributes=> 'width=18%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> <b>'
|| '&'
|| 'nbsp' || ' ',
calign=> 'center',
cattributes=> 'width=22%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> <b>'
|| '&'
|| 'nbsp' || ' ',
calign=> 'center',
ERP REPORT
cattributes=> 'width=6%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> <b>'
|| '&'
|| 'nbsp',
calign=> 'center',
cattributes=> 'width=8%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> '
|| '&'
|| 'nbsp'
|| t_qty,
calign=> 'right',
cattributes=> 'width=7%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> '
|| '&'
|| 'nbsp' || ' '
|| t_amount,
calign=> 'right',
cattributes=> 'width=13%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> '
|| '&'
|| 'nbsp' || ' ',
calign=> 'right',
cattributes=> 'width=10%'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> '
ERP REPORT
|| '&'
|| 'nbsp' || ' ',
calign=> 'right',
cattributes=> 'width=8%'
);
HTP.tablerowclose;
HTP.tableclose;
END;
HTP.tableopen (
cattributes=> 'cellspacing=0 cellpadding=8 border=0 width='
|| v_page_width
|| ' bgcolor="#000000"'
);
HTP.tablerowopen (cattributes => 'bgcolor="#ffffff"');
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '"> 打印人:',
cattributes=> 'width="10%"',
calign=> 'left'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '">部门主管:',
cattributes=> 'width="10%"',
calign=> 'left'
);
HTP.tabledata (
cvalue=> '<font size="'
|| v_font_size
|| '">总经理:',
cattributes=> 'width="10%"',
calign=> 'left'
);
HTP.tablerowclose;
HTP.tableclose;
END LOOP;
HTP.tableclose;
HTP.bodyclose;
HTP.htmlclose;
END; </span>
开发好后注册程序:
路径:系统管理员->安全性->WEB PL/SQL
然后在需要的地方调用就可以直接打印出报表
DECLARE
v_command VARCHAR2 (200);
v_org_id NUMBER := fnd_profile.VALUE ('ORG_ID');
BEGIN
v_command := fnd_profile.VALUE ('APPS_WEB_AGENT');
v_command := v_command || '/CUXTS001?p_header_id=' || :submit.header_id;
v_command := v_command || '&p_org_id=' || TO_CHAR (v_org_id);
web.show_document (v_command, '_blank');
END;
利用HTP工具包开发报表的更多相关文章
- 使用Birt开发报表
间隔一段时间未使用Birt开发报表后,本文章记录Birt开发报表的常遇到的开发问题及解决措施,方便自己和园内其他朋友学习. 一.Birt连接数据库配置 1.连接DB2数据库: 1.1.birt的数据连 ...
- 我利用网上特效开发的Jquery插件
我利用网上特效开发的Jquery插件 代码如下 (function($){ $.fn.Dialogx = function(options) { var defaults={ Width:" ...
- 我利用网上代码开发的JQuery图片插件
我利用网上代码开发的JQuery图片插件 代码如下 (function($){ $.fn.FocusPic = function(options){ var defaults = { interval ...
- c# FastReport开发报表
本文介绍c#应用FastReport开发报表,因此首先附该工具下载地址:http://download.csdn.net/detail/hws1058648831a/6378499 下载解压后可以直接 ...
- Git 分支-利用分支进行开发的工作流程
3.4 Git 分支 - 利用分支进行开发的工作流程 利用分支进行开发的工作流程 现在我们已经学会了新建分支和合并分支,可以(或应该)用它来做点什么呢?在本节,我们会介绍一些利用分支进行开发的工作流程 ...
- 运用 finereport 和 oracle 结合开发报表思路大总结
近排自己学习了一款软件finereport开发报表模块,自己总结了如何了解需求,分析需求,再进行实践应用开发,最后进行测试数据的准确性,部署报表到项目对应的模块中显示. 一.需求(根据需求文档分析) ...
- 【转】利用 three.js 开发微信小游戏的尝试
前言 这是一次利用 three.js 开发微信小游戏的尝试,并不能算作是教程,只能算是一篇笔记吧. 微信 WeChat 6.6.1 开始引入了微信小游戏,初期上线了一批质量相当不错的小游戏.我在查阅各 ...
- [转]利用Docker构建开发环境
利用Docker构建开发环境 Posted by makewonder on 2014 年 4 月 2 日 最近接触PAAS相关的知识,在研发过程中开始使用Docker搭建了自己完整的开发环境, ...
- 四、利用EnterpriseFrameWork快速开发基于WCF为中间件的三层结构系统
回<[开源]EnterpriseFrameWork框架系列文章索引> EnterpriseFrameWork框架实例源代码下载: 实例下载 本章内容与上一张<利用Enterprise ...
随机推荐
- Linux的哲学思想
1.一切皆文件:2.单一目的的小程序:3.组合小程序完成复杂任务:4.文本文件保存配置信息:5.尽量避免捕获用户接口:6.提供机制,而非策略. 说到底Linux的哲学思想在于方便和更好的管理后台,不同 ...
- IOI2016Day2. paint
题目链接:http://uoj.ac/problem/238 题目大意: 有一个长度为n的黑白序列,告诉你所以k个极长连续黑段长度和顺序.有一些位置的颜色已知,需要判断剩下未知的位置哪些颜色 一定是白 ...
- 首届.NET Core开源峰会
首届.NET Core开源峰会 代号:dnc 2018 亮点:去中心化.社区驱动 开源峰会 时间:2018年5月20日 周日 地点:在线峰会.远程参与 形式:每个主题5分钟-15分钟闪电演讲 演讲方式 ...
- c++ 深入理解数组
阅读前提:你得知道啥是数组. 本文需要弄清楚的问题如下: 1,数组作为函数参数,传入的是值,还是地址? 2,数组作为函数参数,数组的长度能否确定? 解决如下 1,数组作为函数参数,传入的是地址.因为数 ...
- Microsoft Visual Studio 2017 编译最新版 libuv 1.x 并且生成 LIB 和 DLL 两种模式
以为昨天晚上编译通过就可以了,哪知道,早上编译DLL的一车的报错 今天开始逐个解决,终于把引用的问题一亿解决了,具体步骤如下 1 在 Windows 平台下编译出错,显示导出未定义,打开 uv-win ...
- 剑指架构师系列-ftp服务器
1.安装FTP 我们在开发项目时,肯定需要专门的一台ftp服务器来存在上传的静态资源,今天我们就在CentOS下搭建一个ftp服务器. 1.安装vsftpd组件,安装完后,有/etc/vsftpd/v ...
- Android Design Support Library使用详解——Snackbar
Google在2015 I/O大会上,给我们带来了更加详细的Material Design规范,同时也引入了Android Design Support Library,为我们提供了基于Materia ...
- Angular2学习笔记2
每个angular2应用程序默认使用app目录来创建(可以自己制定,但是eclipse插件生成的会自动使用app) 每个程序应当至少有一个angular模块即根模块.根模块使用@NgModule({} ...
- LOG4J日志级别详解
日志记录器(Logger)是日志处理的核心组件. org.apache.log4j.Level类提供以下级别,但也可以通过Level类的子类自定义级别. Level 描述 ALL 各级包括自定义级别 ...
- Dynamics CRM2016 Web Api之更新时间字段值
前篇我们论述了时间字段的查询,本篇来论述下时间字段的更新. 还是以之前建的当地时间(时间行为为用户当地时间)字段来测试 可以看到web api更新的是数据库的时间,而在前台的反映就是做了加8处理,所以 ...