From 9e409d6e1e2cb1d35cf26f3fd2bd9048c624280f Mon Sep 17 00:00:00 2001
From: LiFan <2308045698@qq.com>
Date: 星期五, 05 七月 2024 11:29:43 +0800
Subject: [PATCH] update AP

---
 jrj/project/business/quote.enquiry.cpp | 1271 ++++++++++++++++++++++++++++-----------------------------
 1 files changed, 617 insertions(+), 654 deletions(-)

diff --git a/jrj/project/business/quote.enquiry.cpp b/jrj/project/business/quote.enquiry.cpp
index a71d3a2..01ad4b3 100644
--- a/jrj/project/business/quote.enquiry.cpp
+++ b/jrj/project/business/quote.enquiry.cpp
@@ -3,6 +3,9 @@
 #include <xcontrol/xdwgrid.hpp>
 #include <xcontrol/ximageview.hpp>
 #include <xcontrol/xcell.hpp>
+#include <adt/xarray.hpp>
+#include <win32/xfile.hpp>
+#include <wobject/xdouble.hpp>
 
 
 #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
@@ -100,7 +103,7 @@
 		int rowCount = dw_obj.GetValidRow();
 		for (int row = 1; row <= rowCount; row++)
 		{
-			if (dw_obj.GetItemString(row, 0) == L"鏍囬") return row;
+			if (dw_obj.GetItemString(row, 0) == L"标题") return row;
 			if (dw_obj.GetItemString(row, 1) == L"SKUID" || dw_obj.GetItemString(row, 2) == L"SKUID") return row;
 		}
 		return -1;
@@ -210,8 +213,8 @@
 				}
 				if (guid != L"")
 				{
-					xstring goodno = L"瀹㈡埛鍥剧墖";
-					if (tm == L"supplier-photo") goodno = L"渚涘簲鍟嗗浘鐗�";
+					xstring goodno = L"客户图片";
+					if (tm == L"supplier-photo") goodno = L"供应商图片";
 					xstring picname = GetImageUrl(guid);//"/business/products/chanpin/"+guid.left(2)+L"/"+guid+L".jpg";
 					im.AddImages(picname, goodno);
 				}
@@ -251,44 +254,44 @@
 	{
 		xstring content = L"";
 		xstring base = L"";
-		base += L"<QuoteNo>" + getBaseItem(cell, L"鎶ヤ环鍗曞彿:") + L"</QuoteNo>";
-		base += L"<ExpDate>" + getBaseItem(cell, L"鎶ヤ环鎴鏃ユ湡锛�") + L"</ExpDate>";
-		base += L"<PrjName>" + getBaseItem(cell, L"椤圭洰鍚嶇О:") + L"</PrjName>";
+		base += L"<QuoteNo>" + getBaseItem(cell, L"报价单号:") + L"</QuoteNo>";
+		base += L"<ExpDate>" + getBaseItem(cell, L"报价截止日期:") + L"</ExpDate>";
+		base += L"<PrjName>" + getBaseItem(cell, L"项目名称:") + L"</PrjName>";
 		base += L"<QuoteDate>" + dw_base.GetItemString(1, L"QuoteDate") + L"</QuoteDate>";
 
 		int startRow = getItemHeadRow(cell);
 
-		//娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+		//没有找到商品行的标题
 		if (startRow < 1) return L"";
 		startRow++;
 
-		int colItemNo = getItemCol(cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
-		int colCustomerItemNo = getItemCol(cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+		int colItemNo = getItemCol(cell, startRow - 1, L"我司型号,ItemNo");
+		int colCustomerItemNo = getItemCol(cell, startRow - 1, L"客户型号,Customer ItemNo,Customer Item No");
 		int colItemName = getItemCol(cell, startRow - 1, L"Product Description,Product Name,Item Name");
-		int colItemCName = getItemCol(cell, startRow - 1, L"涓枃鍝佸悕");
-		int colItemSpec = getItemCol(cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
-		int colBuyerPrice = getItemCol(cell, startRow - 1, L"閲囪喘浠�,閲囪喘浠锋牸");
-		int colCustomerImage = getItemCol(cell, startRow - 1, L"Photo,鍥剧墖");
+		int colItemCName = getItemCol(cell, startRow - 1, L"中文品名");
+		int colItemSpec = getItemCol(cell, startRow - 1, L"Specifications,规格,产品规格");
+		int colBuyerPrice = getItemCol(cell, startRow - 1, L"采购价,采购价格");
+		int colCustomerImage = getItemCol(cell, startRow - 1, L"Photo,图片");
 		int colSKUID = getItemCol(cell, startRow - 1, L"SKUID");
-		int colSaleRemark = getItemCol(cell, startRow - 1, L"涓氬姟To閲囪喘澶囨敞");
+		int colSaleRemark = getItemCol(cell, startRow - 1, L"业务To采购备注");
 
-		int colBuyerRemark = getItemCol(cell, startRow - 1, L"閲囪喘To涓氬姟澶囨敞");
-		int colFactoryImage = getItemCol(cell, startRow - 1, L"宸ュ巶鍥剧墖");
-		int colGWT = getItemCol(cell, startRow - 1, L"姣涢噸,姣涢噸(KG)L");
-		int colNWT = getItemCol(cell, startRow - 1, L"鍑�閲�,鍑�閲�(KG)L");
-		int colVolDesc = getItemCol(cell, startRow - 1, L"浣撶Н鎻忚堪,闀縓瀹絏楂�,闀縓瀹絏楂�(CM)L");
-		int colVol = getItemCol(cell, startRow - 1, L"浣撶Н,浣撶Н(M3)L");
+		int colBuyerRemark = getItemCol(cell, startRow - 1, L"采购To业务备注");
+		int colFactoryImage = getItemCol(cell, startRow - 1, L"工厂图片");
+		int colGWT = getItemCol(cell, startRow - 1, L"毛重,毛重(KG)L");
+		int colNWT = getItemCol(cell, startRow - 1, L"净重,净重(KG)L");
+		int colVolDesc = getItemCol(cell, startRow - 1, L"体积描述,长X宽X高,长X宽X高(CM)L");
+		int colVol = getItemCol(cell, startRow - 1, L"体积,体积(M3)L");
 		int col40HQ = getItemCol(cell, startRow - 1, L"40HQ,QTY(40HQ)L");
 
-		int colSupplier1 = getItemCol(cell, startRow - 1, L"渚涘簲鍟�1");
-		int colSupplier = getItemCol(cell, startRow - 1, L"渚涘簲鍟�");
-		int colPOPrice1 = getItemCol(cell, startRow - 1, L"浠锋牸1");
-		int colPOPrice = getItemCol(cell, startRow - 1, L"浠锋牸");
+		int colSupplier1 = getItemCol(cell, startRow - 1, L"供应商1");
+		int colSupplier = getItemCol(cell, startRow - 1, L"供应商");
+		int colPOPrice1 = getItemCol(cell, startRow - 1, L"价格1");
+		int colPOPrice = getItemCol(cell, startRow - 1, L"价格");
 
-		int colInnerOuter = getItemCol(cell, startRow - 1, L"瑁呯鏁�(鍐�/澶�)L");
-		int colItemQty = getItemCol(cell, startRow - 1, L"鏁伴噺,Qty");
-		int colPackage = getItemCol(cell, startRow - 1, L"Package,鍖呰鏂瑰紡");
-		int colBuyer = getItemCol(cell, startRow - 1, L"閲囪喘浜哄憳");
+		int colInnerOuter = getItemCol(cell, startRow - 1, L"装箱数(内/外)L");
+		int colItemQty = getItemCol(cell, startRow - 1, L"数量,Qty");
+		int colPackage = getItemCol(cell, startRow - 1, L"Package,包装方式");
+		int colBuyer = getItemCol(cell, startRow - 1, L"采购人员");
 		int colRemark = getItemCol(cell, startRow - 1, L"Remarks");
 		int colFOBPrice = getItemCol(cell, startRow - 1, L"FOB Price,FOB Price(USD),Fob Price");
 
@@ -351,52 +354,52 @@
 	{
 		xstring content = L"";
 		xstring base = L"";
-		base += L"<QuoteNo>" + getBaseItem(cell, L"鎶ヤ环鍗曞彿:") + L"</QuoteNo>";
-		base += L"<ExpDate>" + getBaseItem(cell, L"鎶ヤ环鎴鏃ユ湡锛�") + L"</ExpDate>";
-		base += L"<PrjName>" + getBaseItem(cell, L"椤圭洰鍚嶇О:") + L"</PrjName>";
+		base += L"<QuoteNo>" + getBaseItem(cell, L"报价单号:") + L"</QuoteNo>";
+		base += L"<ExpDate>" + getBaseItem(cell, L"报价截止日期:") + L"</ExpDate>";
+		base += L"<PrjName>" + getBaseItem(cell, L"项目名称:") + L"</PrjName>";
 		base += L"<QuoteDate>" + dw_base.GetItemString(1, L"QuoteDate") + L"</QuoteDate>";
 
 		int startRow = getItemHeadRow(cell);
 
-		//娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+		//没有找到商品行的标题
 		if (startRow < 1) return L"";
 		startRow++;
 
-		int colItemNo = getItemCol(cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
-		int colCustomerItemNo = getItemCol(cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+		int colItemNo = getItemCol(cell, startRow - 1, L"我司型号,ItemNo");
+		int colCustomerItemNo = getItemCol(cell, startRow - 1, L"客户型号,Customer ItemNo,Customer Item No");
 		int colItemName = getItemCol(cell, startRow - 1, L"Product Description,Product Name,Item Name");
-		int colItemCName = getItemCol(cell, startRow - 1, L"涓枃鍝佸悕");
-		int colItemSpec = getItemCol(cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
-		int colBuyerPrice = getItemCol(cell, startRow - 1, L"閲囪喘浠�,閲囪喘浠锋牸");
-		int colCustomerImage = getItemCol(cell, startRow - 1, L"Photo,鍥剧墖");
+		int colItemCName = getItemCol(cell, startRow - 1, L"中文品名");
+		int colItemSpec = getItemCol(cell, startRow - 1, L"Specifications,规格,产品规格");
+		int colBuyerPrice = getItemCol(cell, startRow - 1, L"采购价,采购价格");
+		int colCustomerImage = getItemCol(cell, startRow - 1, L"Photo,图片");
 		int colSKUID = getItemCol(cell, startRow - 1, L"SKUID");
-		int colSaleRemark = getItemCol(cell, startRow - 1, L"涓氬姟To閲囪喘澶囨敞");
+		int colSaleRemark = getItemCol(cell, startRow - 1, L"业务To采购备注");
 
-		int colBuyerRemark = getItemCol(cell, startRow - 1, L"閲囪喘To涓氬姟澶囨敞");
-		int colFactoryImage = getItemCol(cell, startRow - 1, L"宸ュ巶鍥剧墖");
-		int colGWT = getItemCol(cell, startRow - 1, L"姣涢噸,姣涢噸(KG)L");
-		int colNWT = getItemCol(cell, startRow - 1, L"鍑�閲�,鍑�閲�(KG)L");
-		int colVolDesc = getItemCol(cell, startRow - 1, L"浣撶Н鎻忚堪,闀縓瀹絏楂�,闀縓瀹絏楂�(CM)L");
-		int colVol = getItemCol(cell, startRow - 1, L"浣撶Н,浣撶Н(M3)L");
+		int colBuyerRemark = getItemCol(cell, startRow - 1, L"采购To业务备注");
+		int colFactoryImage = getItemCol(cell, startRow - 1, L"工厂图片");
+		int colGWT = getItemCol(cell, startRow - 1, L"毛重,毛重(KG)L");
+		int colNWT = getItemCol(cell, startRow - 1, L"净重,净重(KG)L");
+		int colVolDesc = getItemCol(cell, startRow - 1, L"体积描述,长X宽X高,长X宽X高(CM)L");
+		int colVol = getItemCol(cell, startRow - 1, L"体积,体积(M3)L");
 		int col40HQ = getItemCol(cell, startRow - 1, L"40HQ,QTY(40HQ)L");
 
-		int colPOPrice = getItemCol(cell, startRow - 1, L"浠锋牸");
-		int colSupplier = getItemCol(cell, startRow - 1, L"渚涘簲鍟�");
-		int colPOPrice1 = getItemCol(cell, startRow - 1, L"浠锋牸1");
-		int colSupplier1 = getItemCol(cell, startRow - 1, L"渚涘簲鍟�1");
-		int colPOPrice2 = getItemCol(cell, startRow - 1, L"浠锋牸2");
-		int colSupplier2 = getItemCol(cell, startRow - 1, L"渚涘簲鍟�2");
-		int colPOPrice3 = getItemCol(cell, startRow - 1, L"浠锋牸3");
-		int colSupplier3 = getItemCol(cell, startRow - 1, L"渚涘簲鍟�3");
-		int colBOMType = getItemCol(cell, startRow - 1, L"绫诲瀷");
-		int colBOMType1 = getItemCol(cell, startRow - 1, L"绫诲瀷1");
-		int colBOMType2 = getItemCol(cell, startRow - 1, L"绫诲瀷2");
-		int colBOMType3 = getItemCol(cell, startRow - 1, L"绫诲瀷3");
+		int colPOPrice = getItemCol(cell, startRow - 1, L"价格");
+		int colSupplier = getItemCol(cell, startRow - 1, L"供应商");
+		int colPOPrice1 = getItemCol(cell, startRow - 1, L"价格1");
+		int colSupplier1 = getItemCol(cell, startRow - 1, L"供应商1");
+		int colPOPrice2 = getItemCol(cell, startRow - 1, L"价格2");
+		int colSupplier2 = getItemCol(cell, startRow - 1, L"供应商2");
+		int colPOPrice3 = getItemCol(cell, startRow - 1, L"价格3");
+		int colSupplier3 = getItemCol(cell, startRow - 1, L"供应商3");
+		int colBOMType = getItemCol(cell, startRow - 1, L"类型");
+		int colBOMType1 = getItemCol(cell, startRow - 1, L"类型1");
+		int colBOMType2 = getItemCol(cell, startRow - 1, L"类型2");
+		int colBOMType3 = getItemCol(cell, startRow - 1, L"类型3");
 
-		int colInnerOuter = getItemCol(cell, startRow - 1, L"瑁呯鏁�(鍐�/澶�)L");
-		int colItemQty = getItemCol(cell, startRow - 1, L"鏁伴噺,Qty");
-		int colPackage = getItemCol(cell, startRow - 1, L"Package,鍖呰鏂瑰紡");
-		int colBuyer = getItemCol(cell, startRow - 1, L"閲囪喘浜哄憳");
+		int colInnerOuter = getItemCol(cell, startRow - 1, L"装箱数(内/外)L");
+		int colItemQty = getItemCol(cell, startRow - 1, L"数量,Qty");
+		int colPackage = getItemCol(cell, startRow - 1, L"Package,包装方式");
+		int colBuyer = getItemCol(cell, startRow - 1, L"采购人员");
 		int colRemark = getItemCol(cell, startRow - 1, L"Remarks");
 		int colFOBPrice = getItemCol(cell, startRow - 1, L"FOB Price,FOB Price(USD),Fob Price");
 
@@ -481,7 +484,7 @@
 				extStr += L"<BOMType2>" + cell.GetItemString(row, colBOMType2) + L"</BOMType2>";
 				extStr += L"<BOMType3>" + cell.GetItemString(row, colBOMType2) + L"</BOMType3>";
 
-				itemStr += L"<ExtItem>" + extStr + L"</ExtItem>"; //澶囩敤閲囪喘淇℃伅
+				itemStr += L"<ExtItem>" + extStr + L"</ExtItem>"; //备用采购信息
 				xstring eid = GetGuid();
 				setRowTerm(cell, row, L"EnquiryLineID", eid);
 				itemStr += L"<EnquiryLineID>" + getRowTerm(cell, row, L"EnquiryLineID") + L"</EnquiryLineID>";
@@ -498,7 +501,7 @@
 
 		if (dw_base.GetItemString(1, L"QuoteNo") == L"")
 		{
-			alert(L"璇峰厛淇濆瓨鏁版嵁!");
+			alert(L"请先保存数据!");
 			return 1;
 		}
 
@@ -540,7 +543,7 @@
 		im.Reset();
 
 		int startRow = getItemHeadRow(dw_cell);
-		//娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+		//没有找到商品行的标题
 		if (startRow < 1) return 1;
 		if (row <= startRow) return 1;
 
@@ -671,16 +674,16 @@
 	int ensureRowID()
 	{
 		int startRow = getItemHeadRow(dw_cell);
-		//娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+		//没有找到商品行的标题
 		if (startRow < 1) return 0;
 		startRow++;
 
-		int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
-		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+		int colItemNo = getItemCol(dw_cell, startRow - 1, L"我司型号,ItemNo");
+		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"客户型号,Customer ItemNo,Customer Item No");
 		int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
-		int colItemCName = getItemCol(dw_cell, startRow - 1, L"涓枃鍝佸悕");
-		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
-		int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�,閲囪喘浠锋牸");
+		int colItemCName = getItemCol(dw_cell, startRow - 1, L"中文品名");
+		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,规格,产品规格");
+		int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"采购价,采购价格");
 
 		int LastRow = dw_cell.GetValidRow();
 		for (int row = startRow; row <= LastRow; row++)
@@ -705,7 +708,7 @@
 	int LookupCellRow(xcell cell, xstring rowid)
 	{
 		int startRow = getItemHeadRow(cell);
-		//娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+		//没有找到商品行的标题
 		if (startRow < 1) return 0;
 		startRow++;
 
@@ -809,36 +812,36 @@
 		return 1;
 	}
 
-	//鐢熸垚杩斿洖閿�鍞汉鍛樼殑閲囪喘浜у搧淇℃伅
+	//生成返回销售人员的采购产品信息
 	xstring makeMessageBacktoSaler(xstring myurl)
 	{
 		int startRow = getItemHeadRow(dw_cell);
 
-		//娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+		//没有找到商品行的标题
 		if (startRow < 1) return L"";
 		startRow++;
 
-		int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
-		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+		int colItemNo = getItemCol(dw_cell, startRow - 1, L"我司型号,ItemNo");
+		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"客户型号,Customer ItemNo,Customer Item No");
 		int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
-		int colItemCName = getItemCol(dw_cell, startRow - 1, L"涓枃鍝佸悕");
-		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
-		int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�,閲囪喘浠锋牸");
+		int colItemCName = getItemCol(dw_cell, startRow - 1, L"中文品名");
+		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,规格,产品规格");
+		int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"采购价,采购价格");
 
-		int colBuyerRemark = getItemCol(dw_cell, startRow - 1, L"閲囪喘To涓氬姟澶囨敞");
-		int colFactoryImage = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
-		int colGWT = getItemCol(dw_cell, startRow - 1, L"姣涢噸,姣涢噸(KG)L");
-		int colNWT = getItemCol(dw_cell, startRow - 1, L"鍑�閲�,鍑�閲�(KG)L");
-		int colVolDesc = getItemCol(dw_cell, startRow - 1, L"浣撶Н鎻忚堪,闀縓瀹絏楂�,闀縓瀹絏楂�(CM)L");
-		int colVol = getItemCol(dw_cell, startRow - 1, L"浣撶Н,浣撶Н(M3)L");
+		int colBuyerRemark = getItemCol(dw_cell, startRow - 1, L"采购To业务备注");
+		int colFactoryImage = getItemCol(dw_cell, startRow - 1, L"工厂图片");
+		int colGWT = getItemCol(dw_cell, startRow - 1, L"毛重,毛重(KG)L");
+		int colNWT = getItemCol(dw_cell, startRow - 1, L"净重,净重(KG)L");
+		int colVolDesc = getItemCol(dw_cell, startRow - 1, L"体积描述,长X宽X高,长X宽X高(CM)L");
+		int colVol = getItemCol(dw_cell, startRow - 1, L"体积,体积(M3)L");
 		int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
 
-		int colSupplier = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�");
-		int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�1");
-		int colPOPrice = getItemCol(dw_cell, startRow - 1, L"浠锋牸");
-		int colPOPrice1 = getItemCol(dw_cell, startRow - 1, L"浠锋牸1");
-		int colProductInfo = getItemCol(dw_cell, startRow - 1, L"涓氬姟閮ㄤ骇鍝佷俊鎭�");
-		int colProductInfo1 = getItemCol(dw_cell, startRow - 1, L"閲囪喘閮ㄤ骇鍝佷俊鎭�");
+		int colSupplier = getItemCol(dw_cell, startRow - 1, L"供应商");
+		int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"供应商1");
+		int colPOPrice = getItemCol(dw_cell, startRow - 1, L"价格");
+		int colPOPrice1 = getItemCol(dw_cell, startRow - 1, L"价格1");
+		int colProductInfo = getItemCol(dw_cell, startRow - 1, L"业务部产品信息");
+		int colProductInfo1 = getItemCol(dw_cell, startRow - 1, L"采购部产品信息");
 
 		int LastRow = dw_cell.GetValidRow();
 		xstring content = L"";
@@ -860,22 +863,22 @@
 			itemStr += L"<ProductInfo>" + dw_cell.GetItemString(row, colProductInfo) + L"</ProductInfo>";
 			itemStr += L"<ProductInfo1>" + dw_cell.GetItemString(row, colProductInfo1) + L"</ProductInfo1>";
 
-			if (dw_cell.GetItemString(row, colBuyerPrice) == L"") return L"閲囪喘浠锋牸娌℃湁褰曞叆";
-			if (dw_cell.GetItemString(row, colGWT) == L"") return L"姣涢噸娌℃湁褰曞叆";
-			if (dw_cell.GetItemString(row, colNWT) == L"") return L"鍑�閲嶆病鏈夊綍鍏�";
-			if (dw_cell.GetItemString(row, colVolDesc) == L"") return L"闀縓瀹絏楂樻病鏈夊綍鍏�";
-			if (dw_cell.GetItemString(row, colFactoryImage) == L"") return L"鍥剧墖娌℃湁褰曞叆";
+			if (dw_cell.GetItemString(row, colBuyerPrice) == L"") return L"采购价格没有录入";
+			if (dw_cell.GetItemString(row, colGWT) == L"") return L"毛重没有录入";
+			if (dw_cell.GetItemString(row, colNWT) == L"") return L"净重没有录入";
+			if (dw_cell.GetItemString(row, colVolDesc) == L"") return L"长X宽X高没有录入";
+			if (dw_cell.GetItemString(row, colFactoryImage) == L"") return L"图片没有录入";
 
-			if (dw_cell.GetItemString(row, colSupplier) == L"")return L"渚涘簲鍟嗘病鏈夊綍鍏�";
-			if (dw_cell.GetItemString(row, colPOPrice) == L"")return L"閲囪喘浠锋牸娌℃湁褰曞叆";
+			if (dw_cell.GetItemString(row, colSupplier) == L"")return L"供应商没有录入";
+			if (dw_cell.GetItemString(row, colPOPrice) == L"")return L"采购价格没有录入";
 
 			if (dw_cell.GetItemString(row, colPOPrice1) != L"")
 			{
-				if (dw_cell.GetItemString(row, colSupplier1) == L"") return L"渚涘簲鍟�1娌℃湁褰曞叆";
+				if (dw_cell.GetItemString(row, colSupplier1) == L"") return L"供应商1没有录入";
 			}
 			if (dw_cell.GetItemString(row, colSupplier1) != L"")
 			{
-				if (dw_cell.GetItemString(row, colPOPrice1) == L"") return L"閲囪喘浠锋牸1娌℃湁褰曞叆";
+				if (dw_cell.GetItemString(row, colPOPrice1) == L"") return L"采购价格1没有录入";
 			}
 			itemStr += L"<BuyerRemark>" + dw_cell.GetItemString(row, colBuyerRemark) + L"</BuyerRemark>";
 			itemStr += L"<FactoryImage>" + dw_cell.GetItemString(row, colFactoryImage) + L"</FactoryImage>";
@@ -898,7 +901,7 @@
 	int ProcessSendMessage(xstring myurl, xstring param, xstring content, xstring datacontent, bool balert = false)
 	{
 		xaserverarg	 arg ;
-		arg.setNativePointer(xaserverarg::CreateInstance());
+		
 		arg.AddArg(L"myurl", myurl);
 		arg.AddArg(L"param", param);
 		arg.AddArg(L"content", content);
@@ -967,7 +970,7 @@
 		xml x ;
 		
 		xaserverarg arg ;
-		arg.setNativePointer(xaserverarg::CreateInstance());
+		
 
 		xstring empno;
 		KXMLDOMNode n = purcher.selectSingleNode(L"//HrEmployee[Name='"+purchor+L"']/UserNo");
@@ -978,28 +981,28 @@
 		arg.AddArg(L"FlowID",L"DCC32D5B-9FCD-4F53-B7CF-630441DE2B47");
 		arg.AddArg(L"EntityID",fileid);
 		//arg.AddArg(L"EntityID",L"DCC32D5B-9FCD-4F53-B7CF-630441DE2B47");
-		arg.AddArg(L"EntityNo",L"娴嬭瘯");
-		arg.AddArg(L"Subject",L"---娴嬭瘯鏁版嵁----:璇互涓嬩骇鍝佷环鏍�");
+		arg.AddArg(L"EntityNo",L"测试");
+		arg.AddArg(L"Subject",L"---测试数据----:询以下产品价格");
 		arg.AddArg(L"Content",content);
-		arg.AddArg(L"Status",L"閲囪喘璇环");
+		arg.AddArg(L"Status",L"采购询价");
 		arg.AddArg(L"Category",L"QuoteEnquiry");
 		arg.AddArg(L"Reciever",empno+L"|admin|00601");
 
 		xstring path=L"/sale/data/Thing/task/add/content1";
 		if (xurl::get(path,arg.GetString(),x) != 1)
 		{
-			alert(L"鍙戦�佸嚭閿欎簡!");
+			alert(L"发送出错了!");
 			return -1;
 		}else
 		{
 			if(x.xml().find(L"error")>=0)
 			{
-				alert(L"鍙戦�佸嚭閿欎簡!"+x.xml());
+				alert(L"发送出错了!"+x.xml());
 				return -1;
 			}
 			trace(x.xml());
 		}
-		trace(L"\r\n"+L"璇环鍗曞凡鍙戦�佺粰"+purchor);
+		trace(L"\r\n"+L"询价单已发送给"+purchor);
 
 		return 1;
 		*/
@@ -1012,29 +1015,29 @@
 		if (startRow < 1) return L"<data/>";
 		startRow++;
 
-		int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
-		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+		int colItemNo = getItemCol(dw_cell, startRow - 1, L"我司型号,ItemNo");
+		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"客户型号,Customer ItemNo,Customer Item No");
 		int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
-		int colItemCName = getItemCol(dw_cell, startRow - 1, L"涓枃鍝佸悕");
-		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
-		int colBuyer = getItemCol(dw_cell, startRow - 1, L"閲囪喘浜哄憳");
-		int colPackage = getItemCol(dw_cell, startRow - 1, L"Package,鍖呰鏂瑰紡");
+		int colItemCName = getItemCol(dw_cell, startRow - 1, L"中文品名");
+		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,规格,产品规格");
+		int colBuyer = getItemCol(dw_cell, startRow - 1, L"采购人员");
+		int colPackage = getItemCol(dw_cell, startRow - 1, L"Package,包装方式");
 		int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
 
-		int colGW = getItemCol(dw_cell, startRow - 1, L"姣涢噸(KG)L");
-		int colNW = getItemCol(dw_cell, startRow - 1, L"鍑�閲�(KG)L");
-		int colVolDesc = getItemCol(dw_cell, startRow - 1, L"闀縓瀹絏楂�(CM)L");
+		int colGW = getItemCol(dw_cell, startRow - 1, L"毛重(KG)L");
+		int colNW = getItemCol(dw_cell, startRow - 1, L"净重(KG)L");
+		int colVolDesc = getItemCol(dw_cell, startRow - 1, L"长X宽X高(CM)L");
 
-		int colPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�");
+		int colPrice = getItemCol(dw_cell, startRow - 1, L"采购价");
 
-		int colSupplier = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�");
-		int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�1");
-		int colPOPrice = getItemCol(dw_cell, startRow - 1, L"浠锋牸");
-		int colPOPrice1 = getItemCol(dw_cell, startRow - 1, L"浠锋牸1");
-		int colBOMType = getItemCol(dw_cell, startRow - 1, L"绫诲瀷");
-		int colBOMType1 = getItemCol(dw_cell, startRow - 1, L"绫诲瀷1");
-		int colProductInfo = getItemCol(dw_cell, startRow - 1, L"涓氬姟閮ㄤ骇鍝佷俊鎭�");
-		int colProductInfo1 = getItemCol(dw_cell, startRow - 1, L"閲囪喘閮ㄤ骇鍝佷俊鎭�");
+		int colSupplier = getItemCol(dw_cell, startRow - 1, L"供应商");
+		int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"供应商1");
+		int colPOPrice = getItemCol(dw_cell, startRow - 1, L"价格");
+		int colPOPrice1 = getItemCol(dw_cell, startRow - 1, L"价格1");
+		int colBOMType = getItemCol(dw_cell, startRow - 1, L"类型");
+		int colBOMType1 = getItemCol(dw_cell, startRow - 1, L"类型1");
+		int colProductInfo = getItemCol(dw_cell, startRow - 1, L"业务部产品信息");
+		int colProductInfo1 = getItemCol(dw_cell, startRow - 1, L"采购部产品信息");
 
 		xstring items = L"<data>";
 		int LastRow = dw_cell.GetValidRow();
@@ -1053,7 +1056,7 @@
 			itemStr += L"<ItemName>" + dw_cell.GetItemString(row, colItemName) + L"</ItemName>";
 			itemStr += L"<ItemCName>" + dw_cell.GetItemString(row, colItemCName) + L"</ItemCName>";
 			itemStr += L"<ItemSpec>" + dw_cell.GetItemString(row, colItemSpec) + L"</ItemSpec>";
-			itemStr += L"<RowNo>" + (row - startRow + 1).toString() + L"</RowNo>";
+			itemStr += L"<RowNo>" + xstring(row - startRow + 1) + L"</RowNo>";
 			itemStr += L"<Purchor>" + dw_cell.GetItemString(row, colBuyer) + L"</Purchor>";
 			itemStr += L"<Package>" + dw_cell.GetItemString(row, colPackage) + L"</Package>";
 			itemStr += L"<NWT>" + dw_cell.GetItemString(row, colNW) + L"</NWT>";
@@ -1086,21 +1089,21 @@
 		if (startRow < 1) return L"<data/>";
 		startRow++;
 
-		int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
-		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+		int colItemNo = getItemCol(dw_cell, startRow - 1, L"我司型号,ItemNo");
+		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"客户型号,Customer ItemNo,Customer Item No");
 		int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
-		int colItemCName = getItemCol(dw_cell, startRow - 1, L"涓枃鍝佸悕");
-		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
-		int colBuyer = getItemCol(dw_cell, startRow - 1, L"閲囪喘浜哄憳");
-		int colPackage = getItemCol(dw_cell, startRow - 1, L"Package,鍖呰鏂瑰紡");
+		int colItemCName = getItemCol(dw_cell, startRow - 1, L"中文品名");
+		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,规格,产品规格");
+		int colBuyer = getItemCol(dw_cell, startRow - 1, L"采购人员");
+		int colPackage = getItemCol(dw_cell, startRow - 1, L"Package,包装方式");
 		int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
 
-		int colGW = getItemCol(dw_cell, startRow - 1, L"姣涢噸(KG)L");
-		int colNW = getItemCol(dw_cell, startRow - 1, L"鍑�閲�(KG)L");
-		int colVolDesc = getItemCol(dw_cell, startRow - 1, L"闀縓瀹絏楂�(CM)L");
+		int colGW = getItemCol(dw_cell, startRow - 1, L"毛重(KG)L");
+		int colNW = getItemCol(dw_cell, startRow - 1, L"净重(KG)L");
+		int colVolDesc = getItemCol(dw_cell, startRow - 1, L"长X宽X高(CM)L");
 
-		int colProductInfo = getItemCol(dw_cell, startRow - 1, L"涓氬姟閮ㄤ骇鍝佷俊鎭�");
-		int colProductInfo1 = getItemCol(dw_cell, startRow - 1, L"閲囪喘閮ㄤ骇鍝佷俊鎭�");
+		int colProductInfo = getItemCol(dw_cell, startRow - 1, L"业务部产品信息");
+		int colProductInfo1 = getItemCol(dw_cell, startRow - 1, L"采购部产品信息");
 
 		xstring items = L"<data>";
 		int LastRow = dw_cell.GetValidRow();
@@ -1146,15 +1149,15 @@
 		if(startRow < 1) return L"<data/>";
 		startRow++;
 
-		int colItemNo = getItemCol(dw_cell,startRow - 1,L"鎴戝徃鍨嬪彿,ItemNo");
-		int colCustomerItemNo = getItemCol(dw_cell,startRow - 1,L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+		int colItemNo = getItemCol(dw_cell,startRow - 1,L"我司型号,ItemNo");
+		int colCustomerItemNo = getItemCol(dw_cell,startRow - 1,L"客户型号,Customer ItemNo,Customer Item No");
 		int colItemName = getItemCol(dw_cell,startRow - 1,L"Product Description,Product Name,Item Name");
-		int colItemCName = getItemCol(dw_cell,startRow - 1,L"涓枃鍝佸悕");
-		int colItemSpec = getItemCol(dw_cell,startRow - 1,L"Specifications,瑙勬牸,浜у搧瑙勬牸");
-		int colBuyer = getItemCol(dw_cell,startRow - 1,L"閲囪喘浜哄憳");
-		int colPackage = getItemCol(dw_cell,startRow - 1,L"Package,鍖呰鏂瑰紡");
+		int colItemCName = getItemCol(dw_cell,startRow - 1,L"中文品名");
+		int colItemSpec = getItemCol(dw_cell,startRow - 1,L"Specifications,规格,产品规格");
+		int colBuyer = getItemCol(dw_cell,startRow - 1,L"采购人员");
+		int colPackage = getItemCol(dw_cell,startRow - 1,L"Package,包装方式");
 		int col40HQ= getItemCol(dw_cell,startRow - 1,L"40HQ,QTY(40HQ)L");
-		int colBuyer = getItemCol(dw_cell,startRow - 1,L"閲囪喘浜哄憳");
+		int colBuyer = getItemCol(dw_cell,startRow - 1,L"采购人员");
 
 		xstring items=L"<data>";
 		int LastRow = dw_cell.GetValidRow();
@@ -1202,40 +1205,40 @@
 
 		if (row >= rowCount)
 		{
-			alert(L"鎵句笉鍒板晢鍝佽!");
+			alert(L"找不到商品行!");
 			return 1;
 		}
 
 		headrow = row;
 		int startRow = headrow + 1;
-		int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
-		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+		int colItemNo = getItemCol(dw_cell, startRow - 1, L"我司型号,ItemNo");
+		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"客户型号,Customer ItemNo,Customer Item No");
 		int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
-		int colItemCName = getItemCol(dw_cell, startRow - 1, L"涓枃鍝佸悕");
-		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
-		int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�,閲囪喘浠锋牸");
-		int colPurchor = getItemCol(dw_cell, startRow - 1, L"閲囪喘鍛�,閲囪喘浜哄憳");
+		int colItemCName = getItemCol(dw_cell, startRow - 1, L"中文品名");
+		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,规格,产品规格");
+		int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"采购价,采购价格");
+		int colPurchor = getItemCol(dw_cell, startRow - 1, L"采购员,采购人员");
 
-		int colBuyerRemark = getItemCol(dw_cell, startRow - 1, L"閲囪喘To涓氬姟澶囨敞");
-		int colFactoryImage = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
-		int colGWT = getItemCol(dw_cell, startRow - 1, L"姣涢噸,姣涢噸(KG)L");
-		int colNWT = getItemCol(dw_cell, startRow - 1, L"鍑�閲�,鍑�閲�(KG)L");
-		int colVolDesc = getItemCol(dw_cell, startRow - 1, L"浣撶Н鎻忚堪,闀縓瀹絏楂�,闀縓瀹絏楂�(CM)L");
-		int colVol = getItemCol(dw_cell, startRow - 1, L"浣撶Н,浣撶Н(M3)L");
+		int colBuyerRemark = getItemCol(dw_cell, startRow - 1, L"采购To业务备注");
+		int colFactoryImage = getItemCol(dw_cell, startRow - 1, L"工厂图片");
+		int colGWT = getItemCol(dw_cell, startRow - 1, L"毛重,毛重(KG)L");
+		int colNWT = getItemCol(dw_cell, startRow - 1, L"净重,净重(KG)L");
+		int colVolDesc = getItemCol(dw_cell, startRow - 1, L"体积描述,长X宽X高,长X宽X高(CM)L");
+		int colVol = getItemCol(dw_cell, startRow - 1, L"体积,体积(M3)L");
 		int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
 
-		int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�1");
-		int colPOPrice1 = getItemCol(dw_cell, startRow - 1, L"浠锋牸1");
-		int colSupplier = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�");
-		int colPOPrice = getItemCol(dw_cell, startRow - 1, L"浠锋牸");
-		int colSupplier2 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�2");
-		int colPOPrice2 = getItemCol(dw_cell, startRow - 1, L"浠锋牸2");
-		int colSupplier3 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�3");
-		int colPOPrice3 = getItemCol(dw_cell, startRow - 1, L"浠锋牸3");
+		int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"供应商1");
+		int colPOPrice1 = getItemCol(dw_cell, startRow - 1, L"价格1");
+		int colSupplier = getItemCol(dw_cell, startRow - 1, L"供应商");
+		int colPOPrice = getItemCol(dw_cell, startRow - 1, L"价格");
+		int colSupplier2 = getItemCol(dw_cell, startRow - 1, L"供应商2");
+		int colPOPrice2 = getItemCol(dw_cell, startRow - 1, L"价格2");
+		int colSupplier3 = getItemCol(dw_cell, startRow - 1, L"供应商3");
+		int colPOPrice3 = getItemCol(dw_cell, startRow - 1, L"价格3");
 
-		int colSalebackDate = getItemCol(dw_cell, startRow - 1, L"閲囪喘鎻愪氦涓氬姟鏃堕棿");
-		int colProductInfo = getItemCol(dw_cell, startRow - 1, L"涓氬姟閮ㄤ骇鍝佷俊鎭�");
-		int colProductInfo1 = getItemCol(dw_cell, startRow - 1, L"閲囪喘閮ㄤ骇鍝佷俊鎭�");
+		int colSalebackDate = getItemCol(dw_cell, startRow - 1, L"采购提交业务时间");
+		int colProductInfo = getItemCol(dw_cell, startRow - 1, L"业务部产品信息");
+		int colProductInfo1 = getItemCol(dw_cell, startRow - 1, L"采购部产品信息");
 
 		int LastRow = dw_cell.GetValidRow();
 		int count = 0;
@@ -1252,37 +1255,37 @@
 			/*
 			if(dw_cell.GetItemString(row, colBuyerPrice)==L"")
 			{
-				alert(L"閲囪喘浠锋牸娌℃湁褰曞叆");
+				alert(L"采购价格没有录入");
 				return 1;
 			}
 			if(dw_cell.GetItemString(row, colGWT)==L"")
 			{
-				alert(L"姣涢噸娌℃湁褰曞叆");
+				alert(L"毛重没有录入");
 				return 1;
 			}
 			if(dw_cell.GetItemString(row, colNWT)==L"")
 			{
-				alert(L"鍑�閲嶆病鏈夊綍鍏�");
+				alert(L"净重没有录入");
 				return 1;
 			}
 			if(dw_cell.GetItemString(row, colVolDesc)==L"")
 			{
-				alert(L"闀縓瀹絏楂樻病鏈夊綍鍏�");
+				alert(L"长X宽X高没有录入");
 				return 1;
 			}
 			if(dw_cell.GetItemString(row, colFactoryImage)==L"")
 			{
-				alert(L"宸ュ巶鍥剧墖娌℃湁褰曞叆");
+				alert(L"工厂图片没有录入");
 				return 1;
 			}
 			if(dw_cell.GetItemString(row, colSupplier)==L"")
 			{
-				alert(L"渚涘簲鍟嗘病鏈夊綍鍏�");
+				alert(L"供应商没有录入");
 				return 1;
 			}
 			if(dw_cell.GetItemString(row, colPOPrice)==L"")
 			{
-				alert(L"閲囪喘浠锋牸娌℃湁褰曞叆");
+				alert(L"采购价格没有录入");
 				return 1;
 			}*/
 
@@ -1291,7 +1294,7 @@
 			{
 				if(dw_cell.GetItemString(row, colSupplier1)==L"")
 				{
-					alert(L"渚涘簲鍟�1娌℃湁褰曞叆");
+					alert(L"供应商1没有录入");
 					return 1;
 				}
 			}
@@ -1299,7 +1302,7 @@
 			{
 				if(dw_cell.GetItemString(row, colPOPrice1)==L"")
 				{
-					alert(L"閲囪喘浠锋牸1娌℃湁褰曞叆");
+					alert(L"采购价格1没有录入");
 					return 1;
 				}
 			}*/
@@ -1318,8 +1321,8 @@
 			head = dw_cell.GetItemString(row, col);
 			if (head == L"Product Name" || head == L"Product Description") namecol = col;
 			if (head == L"FOB Price" || head == L"Fob Price" || head == L"FOB Price(USD)L") pricecol = col;
-			if (head == L"閲囪喘To涓氬姟澶囨敞") purchremarkcol = col;
-			if (head == L"閲囪喘浜哄憳") purchercol = col;
+			if (head == L"采购To业务备注") purchremarkcol = col;
+			if (head == L"采购人员") purchercol = col;
 		}
 
 		xstring items = GetPurchedItems();
@@ -1327,18 +1330,17 @@
 		arg4.setNativePointer(xaserverarg::CreateInstance());
 		trace(items);
 		arg4.AddArg(L"value", items);
-		OpenWindow(L"dev:xpage[QuoteFilePurched.vx]", cast(arg4 as int));
+		OpenWindow(L"dev:xpage[QuoteFilePurched.vx]", arg4);
 
 		if (arg4.GetArgString(L"process") != L"ok") return 1;
 		items = arg4.GetArgString(L"value");
 
 		xml x0 ;
-		x0.setNativePointer(xml::CreateInstance());
 		x0.loadXML(items);
 
 		KXMLDOMNodeList ts = x0.selectNodes(L"data/Item[IsSend='1']");
 		int len = ts.length();
-		if (len < 1) return L"";
+		if (len < 1) return 0;
 
 		xstring content = L"";
 		xstring sdate = publiccode::GetCurrentDate();
@@ -1351,37 +1353,37 @@
 
 			if (dw_cell.GetItemString(row, colBuyerPrice) == L"")
 			{
-				alert(L"閲囪喘浠锋牸娌℃湁褰曞叆");
+				alert(L"采购价格没有录入");
 				return 1;
 			}
 			if (dw_cell.GetItemString(row, colGWT) == L"")
 			{
-				alert(L"姣涢噸娌℃湁褰曞叆");
+				alert(L"毛重没有录入");
 				return 1;
 			}
 			if (dw_cell.GetItemString(row, colNWT) == L"")
 			{
-				alert(L"鍑�閲嶆病鏈夊綍鍏�");
+				alert(L"净重没有录入");
 				return 1;
 			}
 			if (dw_cell.GetItemString(row, colVolDesc) == L"")
 			{
-				alert(L"闀縓瀹絏楂樻病鏈夊綍鍏�");
+				alert(L"长X宽X高没有录入");
 				return 1;
 			}
 			if (dw_cell.GetItemString(row, colFactoryImage) == L"")
 			{
-				alert(L"宸ュ巶鍥剧墖娌℃湁褰曞叆");
+				alert(L"工厂图片没有录入");
 				return 1;
 			}
 			if (dw_cell.GetItemString(row, colSupplier) == L"")
 			{
-				alert(L"渚涘簲鍟嗘病鏈夊綍鍏�");
+				alert(L"供应商没有录入");
 				return 1;
 			}
 			if (dw_cell.GetItemString(row, colPOPrice) == L"")
 			{
-				alert(L"閲囪喘浠锋牸娌℃湁褰曞叆");
+				alert(L"采购价格没有录入");
 				return 1;
 			}
 
@@ -1399,34 +1401,34 @@
 			itemStr += L"<Buyer>" + dw_cell.GetItemString(row, colPurchor) + L"</Buyer>";
 
 			/*
-			if(dw_cell.GetItemString(row, colBuyerPrice)==L"") return L"閲囪喘浠锋牸娌℃湁褰曞叆";
-			if(dw_cell.GetItemString(row, colGWT)==L"") return L"姣涢噸娌℃湁褰曞叆";
-			if(dw_cell.GetItemString(row, colNWT)==L"") return L"鍑�閲嶆病鏈夊綍鍏�";
-			if(dw_cell.GetItemString(row, colVolDesc)==L"") return L"闀縓瀹絏楂樻病鏈夊綍鍏�";
-			if(dw_cell.GetItemString(row, colFactoryImage)==L"") return L"鍥剧墖娌℃湁褰曞叆";
+			if(dw_cell.GetItemString(row, colBuyerPrice)==L"") return L"采购价格没有录入";
+			if(dw_cell.GetItemString(row, colGWT)==L"") return L"毛重没有录入";
+			if(dw_cell.GetItemString(row, colNWT)==L"") return L"净重没有录入";
+			if(dw_cell.GetItemString(row, colVolDesc)==L"") return L"长X宽X高没有录入";
+			if(dw_cell.GetItemString(row, colFactoryImage)==L"") return L"图片没有录入";
 
-			if(dw_cell.GetItemString(row, colSupplier)==L"") return L"渚涘簲鍟嗘病鏈夊綍鍏�";
-			if(dw_cell.GetItemString(row, colPOPrice)==L"") return L"閲囪喘浠锋牸娌℃湁褰曞叆";
+			if(dw_cell.GetItemString(row, colSupplier)==L"") return L"供应商没有录入";
+			if(dw_cell.GetItemString(row, colPOPrice)==L"") return L"采购价格没有录入";
 
 			if(dw_cell.GetItemString(row, colPOPrice1)!=L"")
 			{
-				if(dw_cell.GetItemString(row, colSupplier1)==L"") return L"渚涘簲鍟�1娌℃湁褰曞叆";
+				if(dw_cell.GetItemString(row, colSupplier1)==L"") return L"供应商1没有录入";
 			}
 			if(dw_cell.GetItemString(row, colSupplier1)!=L"")
 			{
-				if(dw_cell.GetItemString(row, colPOPrice1)==L"") return L"閲囪喘浠锋牸1娌℃湁褰曞叆";
+				if(dw_cell.GetItemString(row, colPOPrice1)==L"") return L"采购价格1没有录入";
 			}
 			if(dw_cell.GetItemString(row, colGWT)!=L"")
 			{
-				if(dw_cell.GetItemString(row, colGWT)==L"") return L"姣涢噸娌℃湁褰曞叆";
+				if(dw_cell.GetItemString(row, colGWT)==L"") return L"毛重没有录入";
 			}
 			if(dw_cell.GetItemString(row, colNWT)!=L"")
 			{
-				if(dw_cell.GetItemString(row, colNWT)==L"") return L"鍑�閲嶆病鏈夊綍鍏�";
+				if(dw_cell.GetItemString(row, colNWT)==L"") return L"净重没有录入";
 			}
 			if(dw_cell.GetItemString(row, colVolDesc)!=L"")
 			{
-				if(dw_cell.GetItemString(row, colVolDesc)==L"") return L"浣撶Н淇℃伅娌℃湁褰曞叆";
+				if(dw_cell.GetItemString(row, colVolDesc)==L"") return L"体积信息没有录入";
 			}
 			*/
 			itemStr += L"<BuyerRemark>" + dw_cell.GetItemString(row, colBuyerRemark) + L"</BuyerRemark>";
@@ -1471,7 +1473,7 @@
 		{
 			trace(L"\r\ntaskid:" + taskid + L" finished:" + finished);
 			ProcessSendMessage(myurl, L"", content, datacontent, true);
-			win32::PostMessage(GetFrameWindow().GetHWND(), 0x401, L"xmRefreshTask", 0);
+			PostMessage(GetFrameWindow().GetHWND(), 0x401, (WPARAM)L"xmRefreshTask", 0);
 		}
 
 		return 1;
@@ -1492,21 +1494,21 @@
 
 		if (row >= rowCount)
 		{
-			alert(L"鎵句笉鍒板晢鍝佽!");
+			alert(L"找不到商品行!");
 			return 1;
 		}
 
 		headrow = row;
 		int startRow = headrow + 1;
-		int colCustomerItemNo = getItemCol(dw_cell, headrow, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+		int colCustomerItemNo = getItemCol(dw_cell, headrow, L"客户型号,Customer ItemNo,Customer Item No");
 		int colItemName = getItemCol(dw_cell, headrow, L"Product Description,Product Name,Item Name");
-		int colItemCName = getItemCol(dw_cell, headrow, L"涓枃鍝佸悕");
-		int colItemSpec = getItemCol(dw_cell, headrow, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
-		int colItemQty = getItemCol(dw_cell, headrow, L"鏁伴噺,Qty");
-		//int colItemSpec = getItemCol(dw_cell,headrow,L"Specifications,瑙勬牸,浜у搧瑙勬牸");
-		int colItemPurchDate = getItemCol(dw_cell, headrow, L"涓氬姟鍙戦�侀噰璐椂闂�");
+		int colItemCName = getItemCol(dw_cell, headrow, L"中文品名");
+		int colItemSpec = getItemCol(dw_cell, headrow, L"Specifications,规格,产品规格");
+		int colItemQty = getItemCol(dw_cell, headrow, L"数量,Qty");
+		//int colItemSpec = getItemCol(dw_cell,headrow,L"Specifications,规格,产品规格");
+		int colItemPurchDate = getItemCol(dw_cell, headrow, L"业务发送采购时间");
 		int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
-		int colInnerOuter = getItemCol(dw_cell, startRow - 1, L"瑁呯鏁�(鍐�/澶�)L");
+		int colInnerOuter = getItemCol(dw_cell, startRow - 1, L"装箱数(内/外)L");
 		int col = 0;
 		int namecol = 0;
 		int pricecol = 0;
@@ -1519,13 +1521,13 @@
 			head = dw_cell.GetItemString(row, col);
 			if (head == L"Product Name" || head == L"Product Description") namecol = col;
 			if (head == L"FOB Price" || head == L"Fob Price" || head == L"FOB Price(USD)L") pricecol = col;
-			if (head == L"閲囪喘To涓氬姟澶囨敞") purchremarkcol = col;
-			if (head == L"閲囪喘浜哄憳") purchercol = col;
+			if (head == L"采购To业务备注") purchremarkcol = col;
+			if (head == L"采购人员") purchercol = col;
 		}
 
 		if (purchercol == 0)
 		{
-			alert(L"鎵句笉鍒伴噰璐汉鍛樻暟鎹�!");
+			alert(L"找不到采购人员数据!");
 			return 1;
 		}
 
@@ -1534,7 +1536,7 @@
 		arg4.setNativePointer(xaserverarg::CreateInstance());
 		trace(items);
 		arg4.AddArg(L"value", items);
-		OpenWindow(L"dev:xpage[QuoteFilePurch.vx]", cast(arg4 as int));
+		OpenWindow(L"dev:xpage[QuoteFilePurch.vx]", arg4);
 		if (arg4.GetArgString(L"process") != L"ok") return 1;
 		items = arg4.GetArgString(L"value");
 
@@ -1558,22 +1560,22 @@
 
 		if (row >= rowCount)
 		{
-			alert(L"鎵句笉鍒板晢鍝佽!");
+			alert(L"找不到商品行!");
 			return 1;
 		}
 
 		headrow = row;
 		int startRow = headrow + 1;
-		int colCustomerItemNo = getItemCol(dw_cell, headrow, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+		int colCustomerItemNo = getItemCol(dw_cell, headrow, L"客户型号,Customer ItemNo,Customer Item No");
 		int colItemName = getItemCol(dw_cell, headrow, L"Product Description,Product Name,Item Name");
-		int colItemCName = getItemCol(dw_cell, headrow, L"涓枃鍝佸悕");
-		int colItemSpec = getItemCol(dw_cell, headrow, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
-		int colItemQty = getItemCol(dw_cell, headrow, L"鏁伴噺,Qty");
-		//int colItemSpec = getItemCol(dw_cell,headrow,L"Specifications,瑙勬牸,浜у搧瑙勬牸");
-		int colItemPurchDate = getItemCol(dw_cell, headrow, L"涓氬姟鍙戦�侀噰璐椂闂�");
+		int colItemCName = getItemCol(dw_cell, headrow, L"中文品名");
+		int colItemSpec = getItemCol(dw_cell, headrow, L"Specifications,规格,产品规格");
+		int colItemQty = getItemCol(dw_cell, headrow, L"数量,Qty");
+		//int colItemSpec = getItemCol(dw_cell,headrow,L"Specifications,规格,产品规格");
+		int colItemPurchDate = getItemCol(dw_cell, headrow, L"业务发送采购时间");
 		int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
-		int colInnerOuter = getItemCol(dw_cell, startRow - 1, L"瑁呯鏁�(鍐�/澶�)L");
-		int colSalebackDate = getItemCol(dw_cell, startRow - 1, L"閲囪喘鎻愪氦涓氬姟鏃堕棿");
+		int colInnerOuter = getItemCol(dw_cell, startRow - 1, L"装箱数(内/外)L");
+		int colSalebackDate = getItemCol(dw_cell, startRow - 1, L"采购提交业务时间");
 
 		int col = 0;
 		int namecol = 0;
@@ -1587,12 +1589,12 @@
 			head = dw_cell.GetItemString(row, col);
 			if (head == L"Product Name" || head == L"Product Description") namecol = col;
 			if (head == L"FOB Price" || head == L"Fob Price" || head == L"FOB Price(USD)L") pricecol = col;
-			if (head == L"閲囪喘To涓氬姟澶囨敞") purchremarkcol = col;
-			if (head == L"閲囪喘浜哄憳") purchercol = col;
+			if (head == L"采购To业务备注") purchremarkcol = col;
+			if (head == L"采购人员") purchercol = col;
 		}
 		if (purchercol == 0)
 		{
-			alert(L"鎵句笉鍒伴噰璐汉鍛樻暟鎹�!");
+			alert(L"找不到采购人员数据!");
 			return 1;
 		}
 
@@ -1600,7 +1602,7 @@
 		row++;
 
 		int colCustomerPhoto = getItemCol(dw_cell, startRow - 1, L"Photo,Customer Photo");
-		int colPackage = getItemCol(dw_cell, startRow - 1, L"Package,鍖呰鏂瑰紡");
+		int colPackage = getItemCol(dw_cell, startRow - 1, L"Package,包装方式");
 
 		while (row <= rowCount)
 		{
@@ -1616,7 +1618,7 @@
 				}
 				else
 				{
-					alert(L"娌℃湁閲囪喘鍛橈細" + str);
+					alert(L"没有采购员:" + str);
 					return 1;
 				}
 			}
@@ -1624,20 +1626,18 @@
 		}
 		if (strs == L",L")
 		{
-			alert(L"璇锋寚瀹氶噰璐汉鍛�!");
+			alert(L"请指定采购人员!");
 			return 1;
 		}
 
 		xstring items = GetPurchItems();
 		xaserverarg arg4 ;
-		arg4.setNativePointer(xaserverarg::CreateInstance());
 		arg4.AddArg(L"value", items);
-		OpenWindow(L"dev:xpage[QuoteFilePurch.vx]", cast(arg4 as int));
+		OpenWindow(L"dev:xpage[QuoteFilePurch.vx]", arg4);
 		if (arg4.GetArgString(L"process") != L"ok") return 1;
 		items = arg4.GetArgString(L"value");
 
 		xml x0 ;
-		x0.setNativePointer(xml::CreateInstance());
 		x0.loadXML(items);
 		KXMLDOMNodeList ts1 = x0.selectNodes(L"data/Item");
 		int len1 = ts1.length();
@@ -1674,7 +1674,7 @@
 				}
 				else
 				{
-					alert(L"娌℃湁閲囪喘鍛橈細" + str);
+					alert(L"没有采购员:" + str);
 					return 1;
 				}
 			}
@@ -1780,6 +1780,7 @@
 			}
 		}
 
+		int purchercol1 = 0;
 		//update purch
 		if (1 == 0)
 		{
@@ -1793,7 +1794,7 @@
 			}
 			else
 			{
-				alert(L"鍑虹幇閿欒");
+				alert(L"出现错误");
 				return 1;
 			}
 
@@ -1810,8 +1811,9 @@
 
 			headrow1 = row2;
 			startrow1 = headrow1 + 1;
-			int purchercol1 = getItemCol(cell1, headrow1, L"閲囪喘浜哄憳");
+			purchercol1 = getItemCol(cell1, headrow1, L"采购人员");
 		}
+		
 
 		//Clear
 		if (1 == 1)
@@ -1833,7 +1835,7 @@
 				supplier = dw_cell.GetItemString(lastrow, purchercol);
 				if (supplier != username)
 				{
-					KXMLDOMNode n1 = x0.selectSingleNode(L"data/Item[IsSend='1' and Purchor='" + supplier + L"' and RowNo='" + (lastrow - row + 1).toString() + L"']");
+					KXMLDOMNode n1 = x0.selectSingleNode(L"data/Item[IsSend='1' and Purchor='" + supplier + L"' and RowNo='" + xstring(lastrow - row + 1) + L"']");
 					if (n1)
 					{
 						xstring rowid = getRowID(dw_cell, lastrow);
@@ -1874,7 +1876,7 @@
 		}
 
 		//OnSaveEx(true);
-		//alert(L"璇环淇℃伅宸插彂閫佺粰:"+purchors);
+		//alert(L"询价信息已发送给:"+purchors);
 		return 1;
 	}
 
@@ -1893,45 +1895,45 @@
 
 		if (dw_base.GetItemString(1, L"CustomerID") == L"")
 		{
-			alert(L"璇疯緭鍏ユ姤浠风殑瀹㈡埛!");
+			alert(L"请输入报价的客户!");
 			return 1;
 		}
 
 		if (row >= rowCount)
 		{
-			alert(L"鎵句笉鍒板晢鍝佽!");
+			alert(L"找不到商品行!");
 			return 1;
 		}
 
-		if (getBaseItem(dw_cell, L"鎶ヤ环鎴鏃ユ湡锛�") == L"")
+		if (getBaseItem(dw_cell, L"报价截止日期:") == L"")
 		{
-			if (getBaseItem(dw_cell, L"鎶ヤ环鎴鏃ユ湡:") == L"")
+			if (getBaseItem(dw_cell, L"报价截止日期:") == L"")
 			{
-				alert(L"鎶ヤ环鎴鏃ユ湡鏈緭鍏�!");
+				alert(L"报价截止日期未输入!");
 				return 1;
 			}
 		}
 
-		if (getBaseItem(dw_cell, L"椤圭洰鍚嶇О:") == L"")
+		if (getBaseItem(dw_cell, L"项目名称:") == L"")
 		{
-			if (getBaseItem(dw_cell, L"椤圭洰鍚嶇О锛�") == L"")
+			if (getBaseItem(dw_cell, L"项目名称:") == L"")
 			{
-				alert(L"椤圭洰鍚嶇О鏈緭鍏�!");
+				alert(L"项目名称未输入!");
 				return 1;
 			}
 		}
 
 		headrow = row;
 		int startRow = headrow + 1;
-		int colCustomerItemNo = getItemCol(dw_cell, headrow, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+		int colCustomerItemNo = getItemCol(dw_cell, headrow, L"客户型号,Customer ItemNo,Customer Item No");
 		int colItemName = getItemCol(dw_cell, headrow, L"Product Description,Product Name,Item Name");
-		int colItemCName = getItemCol(dw_cell, headrow, L"涓枃鍝佸悕");
-		int colItemSpec = getItemCol(dw_cell, headrow, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
-		int colItemQty = getItemCol(dw_cell, headrow, L"鏁伴噺,Qty");
-		//int colItemSpec = getItemCol(dw_cell,headrow,L"Specifications,瑙勬牸,浜у搧瑙勬牸");
-		int colItemPurchDate = getItemCol(dw_cell, headrow, L"涓氬姟鍙戦�侀噰璐椂闂�");
+		int colItemCName = getItemCol(dw_cell, headrow, L"中文品名");
+		int colItemSpec = getItemCol(dw_cell, headrow, L"Specifications,规格,产品规格");
+		int colItemQty = getItemCol(dw_cell, headrow, L"数量,Qty");
+		//int colItemSpec = getItemCol(dw_cell,headrow,L"Specifications,规格,产品规格");
+		int colItemPurchDate = getItemCol(dw_cell, headrow, L"业务发送采购时间");
 		int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
-		int colInnerOuter = getItemCol(dw_cell, startRow - 1, L"瑁呯鏁�(鍐�/澶�)L");
+		int colInnerOuter = getItemCol(dw_cell, startRow - 1, L"装箱数(内/外)L");
 
 		int col = 0;
 		int namecol = 0;
@@ -1945,12 +1947,12 @@
 			head = dw_cell.GetItemString(row, col);
 			if (head == L"Product Name" || head == L"Product Description") namecol = col;
 			if (head == L"FOB Price" || head == L"Fob Price" || head == L"FOB Price(USD)L") pricecol = col;
-			if (head == L"閲囪喘To涓氬姟澶囨敞") purchremarkcol = col;
-			if (head == L"閲囪喘浜哄憳") purchercol = col;
+			if (head == L"采购To业务备注") purchremarkcol = col;
+			if (head == L"采购人员") purchercol = col;
 		}
 		if (purchercol == 0)
 		{
-			alert(L"鎵句笉鍒伴噰璐汉鍛樻暟鎹�!");
+			alert(L"找不到采购人员数据!");
 			return 1;
 		}
 
@@ -1958,7 +1960,7 @@
 		row++;
 
 		int colCustomerPhoto = getItemCol(dw_cell, startRow - 1, L"Photo,Customer Photo");
-		int colPackage = getItemCol(dw_cell, startRow - 1, L"Package,鍖呰鏂瑰紡");
+		int colPackage = getItemCol(dw_cell, startRow - 1, L"Package,包装方式");
 
 		while (row <= rowCount)
 		{
@@ -1967,38 +1969,38 @@
 
 			/*if(dw_cell.GetItemString(row,colCustomerItemNo)==L"")
 			{
-				alert(L"绗�"+xstring(row)+L"琛岃杈撳叆瀹㈡埛鍨嬪彿!");
+				alert(L"第"+xstring(row)+L"行请输入客户型号!");
 				return 1;
 			}*/
 			if (dw_cell.GetItemString(row, colItemName) == L"" || dw_cell.GetItemString(row, colItemCName) == L"")
 			{
-				alert(L"绗�" + xstring(row) + L"琛岃杈撳叆浜у搧鍚嶇О!");
+				alert(L"第" + xstring(row) + L"行请输入产品名称!");
 				return 1;
 			}
 			if (dw_cell.GetItemString(row, colPackage) == L"")
 			{
-				alert(L"绗�" + xstring(row) + L"琛岃杈撳叆浜у搧鍖呰鏂瑰紡!");
+				alert(L"第" + xstring(row) + L"行请输入产品包装方式!");
 				return 1;
 			}
 			if (dw_cell.GetItemString(row, colCustomerPhoto) == L"")
 			{
-				alert(L"绗�" + xstring(row) + L"琛岃閫夋嫨瀹㈡埛鍥剧墖!");
+				alert(L"第" + xstring(row) + L"行请选择客户图片!");
 				return 1;
 			}
 			if (dw_cell.GetItemString(row, colInnerOuter) == L"")
 			{
-				alert(L"绗�" + xstring(row) + L"琛岃褰曞叆鍐呭绠辫鏁�!");
+				alert(L"第" + xstring(row) + L"行请录入内外箱装数!");
 				return 1;
 			}
 			/*if(dw_cell.GetItemString(row,col40HQ)==L"")
 			{
-				alert(L"绗�"+xstring(row)+L"琛�40HQ鐨勬暟鎹槸绌虹殑!");
+				alert(L"第"+xstring(row)+L"行40HQ的数据是空的!");
 				return 1;
 			}*/
 
 			/*if(dw_cell.GetItemString(row,colItemQty)==L"")
 			{
-				alert(L"绗�"+xstring(row)+L"琛屾暟閲忔槸绌虹殑!");
+				alert(L"第"+xstring(row)+L"行数量是空的!");
 				return 1;
 			}*/
 
@@ -2011,7 +2013,7 @@
 				}
 				else
 				{
-					alert(L"娌℃湁閲囪喘鍛橈細" + str);
+					alert(L"没有采购员:" + str);
 					return 1;
 				}
 			}
@@ -2019,7 +2021,7 @@
 		}
 		if (strs == L",L")
 		{
-			alert(L"鎵句笉鍒伴噰璐汉鍛樻暟鎹�!");
+			alert(L"找不到采购人员数据!");
 			return 1;
 		}
 
@@ -2028,7 +2030,7 @@
 		arg4.setNativePointer(xaserverarg::CreateInstance());
 		trace(items);
 		arg4.AddArg(L"value", items);
-		OpenWindow(L"dev:xpage[QuoteFilePurch.vx]", cast(arg4 as int));
+		OpenWindow(L"dev:xpage[QuoteFilePurch.vx]", arg4);
 		if (arg4.GetArgString(L"process") != L"ok") return 1;
 		items = arg4.GetArgString(L"value");
 
@@ -2055,7 +2057,6 @@
 		}
 
 		xml x0 ;
-		x0.setNativePointer(xml::CreateInstance());
 		x0.loadXML(items);
 
 		while (supplier != L"")
@@ -2125,7 +2126,7 @@
 				cell1.SetRowColumn(1, purchercol);
 				cell1.SetAnchorRowColumn(1, purchercol);
 				SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
-				cell1.SetItemString(headrow, purchercol, L"涓氬姟鍛�");
+				cell1.SetItemString(headrow, purchercol, L"业务员");
 
 				cell1.SetRowColumn(1, pricecol);
 				cell1.SetAnchorRowColumn(1, pricecol);
@@ -2141,12 +2142,12 @@
 				SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
 				SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
 
-				cell1.SetItemString(headrow, purchremarkcol + 1, L"渚涘簲鍟�");
-				cell1.SetItemString(headrow, purchremarkcol + 2, L"绫诲瀷");
-				cell1.SetItemString(headrow, purchremarkcol + 3, L"浠锋牸");
-				cell1.SetItemString(headrow, purchremarkcol + 4, L"渚涘簲鍟�1");
-				cell1.SetItemString(headrow, purchremarkcol + 5, L"绫诲瀷1");
-				cell1.SetItemString(headrow, purchremarkcol + 6, L"浠锋牸1");
+				cell1.SetItemString(headrow, purchremarkcol + 1, L"供应商");
+				cell1.SetItemString(headrow, purchremarkcol + 2, L"类型");
+				cell1.SetItemString(headrow, purchremarkcol + 3, L"价格");
+				cell1.SetItemString(headrow, purchremarkcol + 4, L"供应商1");
+				cell1.SetItemString(headrow, purchremarkcol + 5, L"类型1");
+				cell1.SetItemString(headrow, purchremarkcol + 6, L"价格1");
 
 				int colRemark = getItemCol(cell1, headrow, L"Remarks");
 				cell1.SetRowColumn(1, colRemark);
@@ -2182,15 +2183,15 @@
 		}
 		OnUpdate();
 		//OnSaveEx(true);
-		//alert(L"璇环淇℃伅宸插彂閫佺粰:"+purchors);
+		//alert(L"询价信息已发送给:"+purchors);
 
 		return 1;
 	}
 
-	//鐒︾偣婵�娲诲鐞嗗嚱鏁�
-	int OnSetFocus(ref TEvent evt, int param)
+	//焦点激活处理函数
+	int OnSetFocus(TEvent* evt, LPARAM param)
 	{
-		//閲嶇疆宸ュ叿鏉�
+		//重置工具条
 		SetAgent();
 		return 1;
 	}
@@ -2200,8 +2201,7 @@
 		xml x = ViewObject::RetrieveData(L"/sale/data/TO/template/param", L"TemplateID", id);
 
 		xml sheet ;
-		sheet.setNativePointer(x.CreateInstance());
-		sheet.loadXML(x.selectSingleNode(L"data/*").xml);
+		sheet.loadXML(x.selectSingleNode(L"data/*").xml());
 
 		dw_cell.LoadTemplate(sheet);
 		dw_cell.Redraw();
@@ -2257,30 +2257,6 @@
 		return 1;
 	}
 
-
-	static stdcall int GetModuleFileName(int hModule, xstring lpFileName, int nSize) native from "kernel32.dll" alias "GetModuleFileNameW";
-	static stdcall int PathRemoveFileSpec(xstring lpFileName) native from "shlwapi.dll" alias "PathRemoveFileSpecW";
-
-	xstring GetModulePath()
-	{
-		xstring str = L"";
-		str = str.space(255);
-		GetModuleFileName(0, str, 250);
-		PathRemoveFileSpec(str);
-		return str;
-	}
-
-	xstring GetModuleTmpPath()
-	{
-		xstring str = L"";
-		str = str.space(255);
-		GetModuleFileName(0, str, 250);
-		PathRemoveFileSpec(str);
-		xstring tmp = str + L"\\Temp";
-		xaserver::CreateDirectory(tmp);
-		return tmp;
-	}
-
 	xstring UploadImage(xstring guid)
 	{
 		return UploadImage(guid, L"");
@@ -2290,16 +2266,16 @@
 	{
 		xstring name = guid + L".jpg";
 		xstring str = name.mid(0, 2);
-		str = str.upper();
+		str = str.toUpper();
 		int ret = 1;
 		if (filename != L"")
-			ret = xaserver::Upload(L"product" + str, name, filename, this.GetHWND(), L"", false);
+			ret = xaserver::Upload(L"product" + str, name, filename, GetHWND(), L"", false);
 		else
-			ret = xaserver::Upload(L"product" + str, name, this.GetHWND(), L"", false);
+			ret = xaserver::Upload(L"product" + str, name.c_str(), GetHWND(), L"", false);
 		if (ret == -1) return L"";
 		if (ret == 0)
 		{
-			alert(L"鍥剧墖涓婁紶澶辫触锛�");
+			alert(L"图片上传失败!");
 			return L"";
 		}
 		return GetImageUrl(guid);
@@ -2310,17 +2286,17 @@
 		ret = xaserver::DownLoadFile(GetServerUrl(),L"/business/products/chanpin/"+str+L"/"+name,name,appPath+L"/"+name);
 		if(ret < 0)
 		{
-			alert(L"鍥剧墖涓嬭浇澶辫触1锛�");
+			alert(L"图片下载失败1!");
 			return L"";
 		}
 
 		xutil::SmallImage(appPath+L"\\"+name,appPath+L"\\"+L"x_"+name,120,120);
-		int ret_1 = xaserver::Upload(L"product"+str, L"x_"+name,appPath+L"\\x_"+name, this.GetHWND(),L"",false);
+		int ret_1 = xaserver::Upload(L"product"+str, L"x_"+name,appPath+L"\\x_"+name, GetHWND(),L"",false);
 		//xaserver::DeleteFile(appPath+L"x_"+name);
 		//xaserver::DeleteFile(appPath+name);
 		if(ret_1 != 1)
 		{
-			alert(L"涓婁紶缂╃暐鍥惧け璐�!");
+			alert(L"上传缩略图失败!");
 			return L"";
 		}
 		return appPath+L"/"+name;
@@ -2331,35 +2307,35 @@
 	{
 		xstring name = guid + L".jpg";
 		xstring str = name.mid(0, 2);
-		str = str.upper();
+		str = str.toUpper();
 		int ret = 1;
 		if (filename != L"")
-			ret = xaserver::Upload(L"product" + str, name, filename, this.GetHWND(), L"", false);
+			ret = xaserver::Upload(L"product" + str, name, filename, GetHWND(), L"", false);
 		else
-			ret = xaserver::Upload(L"product" + str, name, this.GetHWND(), L"", false);
+			ret = xaserver::Upload(L"product" + str, name, GetHWND(), L"", false);
 		if (ret == -1) return L"";
 		if (ret == 0)
 		{
-			alert(L"鍥剧墖涓婁紶澶辫触锛�");
+			alert(L"图片上传失败!");
 			return L"";
 		}
 
-		xstring appPath = GetModuleTmpPath();
+		xstring appPath = xutil::GetModuleTmpPath();
 		xaserver::CreateDirectory(appPath);
 		ret = xaserver::DownLoadFile(GetServerUrl(), L"/business/products/chanpin/" + str + L"/" + name, name, appPath + L"/" + name);
 		if (ret < 0)
 		{
-			alert(L"鍥剧墖涓嬭浇澶辫触1锛�");
+			alert(L"图片下载失败1!");
 			return L"";
 		}
 
 		xutil::SmallImage(appPath + L"\\" + name, appPath + L"\\" + L"x_" + name, 120, 120);
-		int ret_1 = xaserver::Upload(L"product" + str, L"x_" + name, appPath + L"\\x_" + name, this.GetHWND(), L"", false);
+		int ret_1 = xaserver::Upload(L"product" + str, L"x_" + name, appPath + L"\\x_" + name, GetHWND(), L"", false);
 		//xaserver::DeleteFile(appPath+L"x_"+name);
 		//xaserver::DeleteFile(appPath+name);
 		if (ret_1 != 1)
 		{
-			alert(L"涓婁紶缂╃暐鍥惧け璐�!");
+			alert(L"上传缩略图失败!");
 			return L"";
 		}
 		return appPath + L"/" + name;
@@ -2416,8 +2392,8 @@
 			str += tm + L":" + guid + L";";
 		}
 
-		xstring goodno = L"瀹㈡埛鍥剧墖";
-		if (tm == L"supplier-photo") goodno = L"渚涘簲鍟嗗浘鐗�";
+		xstring goodno = L"客户图片";
+		if (tm == L"supplier-photo") goodno = L"供应商图片";
 		xstring picname = path;
 		if (picname == L"") picname = L"/business/products/chanpin/" + guid.left(2) + L"/" + guid + L".jpg";
 		im.AddImages(picname, goodno);
@@ -2453,11 +2429,11 @@
 		int row = dw_cell.GetRow();
 		int startRow = getItemHeadRow(dw_cell);
 
-		//娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+		//没有找到商品行的标题
 		if (startRow < 1) return 0;
 		startRow++;
 		int colPhoto = getItemCol(dw_cell, startRow - 1, L"Photo,Customer Photo");
-		int colPhoto1 = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
+		int colPhoto1 = getItemCol(dw_cell, startRow - 1, L"工厂图片");
 		if (row < startRow) return  0;
 
 		xstring str = dw_cell.GetItemString(row, 0);
@@ -2571,11 +2547,11 @@
 		int row = dw_cell.GetRow();
 		int startRow = getItemHeadRow(dw_cell);
 
-		//娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+		//没有找到商品行的标题
 		if (startRow < 1) return 0;
 		startRow++;
 		int colPhoto = getItemCol(dw_cell, startRow - 1, L"Photo,Customer Photo");
-		int colPhoto1 = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
+		int colPhoto1 = getItemCol(dw_cell, startRow - 1, L"工厂图片");
 		int LastRow = dw_cell.GetValidRow();
 		if (row < startRow) return  0;
 
@@ -2584,7 +2560,7 @@
 		dw_cell.SetCellProps(row, colPhoto, props);
 		dw_cell.SetCellProps(row, colPhoto1, props);
 
-		xstring appPath = GetModuleTmpPath();
+		xstring appPath = xutil::GetModuleTmpPath();
 		xstring guid = ViewObject::GetGuid();
 		xstring filename1 = UploadImage(guid);
 		if (filename1 != L"")
@@ -2611,36 +2587,35 @@
 		return 1;
 	}
 
-	int GetOpenFileNames(StringArray items, xstring initFileName, xstring filter, xstring ext)
+	int GetOpenFileNames(xarray<xstring>& items, xstring initFileName, xstring filter, xstring ext)
 	{
 		//xstring path = GetOpenFileName(L"",
-		//		"JPEG 鏂囦欢(*.jpg)\0*.jpg;*.jpeg;*.png;*.gif;*.bmp\0鍏ㄩ儴鏂囦欢(*.*)\0*.*\0",
+		//		"JPEG 文件(*.jpg)\0*.jpg;*.jpeg;*.png;*.gif;*.bmp\0全部文件(*.*)\0*.*\0",
 		//		"jpg");		
 
-		char[]  szFileName = new char[4096];
-		char[]  szPath = new char[4096];
+		wchar_t  szFileName[4096];
+		wchar_t szPath[4096];
 		szFileName[0] = 0;
 		szPath[0] = 0;
 
 		if (initFileName != L"")
 		{
 			int len = initFileName.length();
-			char[] tmp = initFileName;
+			const wchar_t* tmp = initFileName.c_str();
 			for (int i = 0; i < len + 1; i++)
 			{
-				//szFileName[i] = tmp[i];
 				szPath[i] = tmp[i];
 			}
 		}
 
 		int	 nFilterIndex = 1;
-		ref OPENFILENAMEW ofn = new OPENFILENAMEW;
+		OPENFILENAMEW ofn;
 
 		ofn.lStructSize = 88;//sizeof(ofn);
 		ofn.hwndOwner = 0;
 		ofn.hInstance = 0;
 		ofn.lpstrFilter = filter;
-		//"JPEG 鏂囦欢(*.jpg)\0*.jpg;*.jpeg;*.png;*.gif;*.bmp\0鍏ㄩ儴鏂囦欢(*.*)\0*.*\0";
+		//"JPEG 文件(*.jpg)\0*.jpg;*.jpeg;*.png;*.gif;*.bmp\0全部文件(*.*)\0*.*\0";
 		ofn.lpstrCustomFilter = 0;
 		ofn.nMaxCustFilter = 0;
 		ofn.nFilterIndex = nFilterIndex;
@@ -2648,7 +2623,7 @@
 		ofn.nMaxFile = 4096;
 		ofn.lpstrFileTitle = szFileName;
 		ofn.nMaxFileTitle = 4096;
-		ofn.lpstrTitle = L"璇锋寚瀹氭枃浠跺悕";
+		ofn.lpstrTitle = L"请指定文件名";
 		ofn.lpstrDefExt = ext;
 		//"jpg";
 		ofn.lpstrInitialDir = 0;
@@ -2662,7 +2637,7 @@
 		ofn.nFileExtension = 0;
 
 		//debugbreak();
-		if (file::GetOpenFileName(ofn))
+		if (xfile::GetOpenFileName(ofn))
 		{
 			int pos = ofn.nFileOffset & 0xffff;
 			xstring path = szPath;
@@ -2672,22 +2647,18 @@
 			}
 			else
 			{
-				int start = cast(szPath as int);
+				wchar_t* start = szPath;
 				start += pos * 2;
-				xstring str = cast(start  as xstring);
+				xstring str = start;
 				while (true)
 				{
 					if (str == L"")break;
 					items.push_back(path + L"/" + str);
 					start += (str.length() + 1) * 2;
-					str = cast(start  as xstring);
+					str = start;
 				}
 			}
 		}
-		delete szFileName;
-		delete szPath;
-		delete ofn;
-
 		return items.length();
 	}
 
@@ -2696,20 +2667,19 @@
 		int row = dw_cell.GetRow();
 		int startRow = getItemHeadRow(dw_cell);
 
-		//娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+		//没有找到商品行的标题
 		if (startRow < 1) return 0;
 		startRow++;
 		int colPhoto = getItemCol(dw_cell, startRow - 1, L"Photo,Customer Photo");
-		int colPhoto1 = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
+		int colPhoto1 = getItemCol(dw_cell, startRow - 1, L"工厂图片");
 		int LastRow = dw_cell.GetValidRow();
 		if (row < startRow) return  0;
 
-		xstring appPath = GetModuleTmpPath();
-		StringArray items;
-		items = StringArray::make();
+		xstring appPath = xutil::GetModuleTmpPath();
+		xarray<xstring> items;
 		GetOpenFileNames(items, L"",
-			"JPEG 鏂囦欢(*.jpg)\0*.jpg;*.jpeg;*.png;*.gif;*.bmp\0鍏ㄩ儴鏂囦欢(*.*)\0*.*\0",
-			"jpg");
+			L"JPEG 文件(*.jpg)\0*.jpg;*.jpeg;*.png;*.gif;*.bmp\0全部文件(*.*)\0*.*\0",
+			L"jpg");
 		if (items.length() < 1) return 1;
 
 		int sRow = row;
@@ -2769,11 +2739,11 @@
 		int row = dw_cell.GetRow();
 		int startRow = getItemHeadRow(dw_cell);
 
-		//娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+		//没有找到商品行的标题
 		if (startRow < 1) return 0;
 		startRow++;
 		int colPhoto = getItemCol(dw_cell, startRow - 1, L"Photo,Customer Photo");
-		int colPhoto1 = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
+		int colPhoto1 = getItemCol(dw_cell, startRow - 1, L"工厂图片");
 		int LastRow = dw_cell.GetValidRow();
 		if (row < startRow) return  0;
 
@@ -2782,12 +2752,11 @@
 		dw_cell.SetCellProps(row, colPhoto, props);
 		dw_cell.SetCellProps(row, colPhoto1, props);
 
-		xstring appPath = GetModuleTmpPath();
-		StringArray items;
-		items = StringArray::make();
+		xstring appPath = xutil::GetModuleTmpPath();
+		xarray<xstring> items;
 		GetOpenFileNames(items, L"",
-			L"JPEG 鏂囦欢(*.jpg)\0*.jpg;*.jpeg;*.png;*.gif;*.bmp\0鍏ㄩ儴鏂囦欢(*.*)\0*.*\0",
-			"jpg");
+			L"JPEG 文件(*.jpg)\0*.jpg;*.jpeg;*.png;*.gif;*.bmp\0全部文件(*.*)\0*.*\0",
+			L"jpg");
 		if (items.length() < 1) return 1;
 
 		for (int i = 0; i < items.length(); i++)
@@ -2848,31 +2817,31 @@
 		if (row < startRow + 1) return 1;
 		startRow++;
 
-		int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
-		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+		int colItemNo = getItemCol(dw_cell, startRow - 1, L"我司型号,ItemNo");
+		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"客户型号,Customer ItemNo,Customer Item No");
 		int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
-		int colItemCName = getItemCol(dw_cell, startRow - 1, L"涓枃鍝佸悕");
-		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
-		int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�,閲囪喘浠锋牸");
-		int colBuyer = getItemCol(dw_cell, startRow - 1, L"閲囪喘浜哄憳");
+		int colItemCName = getItemCol(dw_cell, startRow - 1, L"中文品名");
+		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,规格,产品规格");
+		int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"采购价,采购价格");
+		int colBuyer = getItemCol(dw_cell, startRow - 1, L"采购人员");
 		int colCustomerPhoto = getItemCol(dw_cell, startRow - 1, L"Photo,Customer Photo");
-		int colPackage = getItemCol(dw_cell, startRow - 1, L"Package,鍖呰鏂瑰紡");
+		int colPackage = getItemCol(dw_cell, startRow - 1, L"Package,包装方式");
 		int colFOBPrice = getItemCol(dw_cell, startRow - 1, L"FOB Price,FOB Price(USD),Fob Price");
-		int colQty = getItemCol(dw_cell, startRow - 1, L"Qty,鏁伴噺");
-		//int colToPODate = getItemCol(dw_cell,startRow - 1,L"涓氬姟鍙戦�侀噰璐椂闂�");
+		int colQty = getItemCol(dw_cell, startRow - 1, L"Qty,数量");
+		//int colToPODate = getItemCol(dw_cell,startRow - 1,L"业务发送采购时间");
 
 
-		int colVolDesc = getItemCol(dw_cell, startRow - 1, L"浣撶Н鎻忚堪,闀縓瀹絏楂�,闀縓瀹絏楂�(CM)L");
-		int colVol = getItemCol(dw_cell, startRow - 1, L"浣撶Н,浣撶Н(M3)L");
-		int colQtyPerPack = getItemCol(dw_cell, startRow - 1, L"瑁呯鏁�(鍐�/澶�),瑁呯鏁�(澶�/鍐�)L");
+		int colVolDesc = getItemCol(dw_cell, startRow - 1, L"体积描述,长X宽X高,长X宽X高(CM)L");
+		int colVol = getItemCol(dw_cell, startRow - 1, L"体积,体积(M3)L");
+		int colQtyPerPack = getItemCol(dw_cell, startRow - 1, L"装箱数(内/外),装箱数(外/内)L");
 		int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
 		int colSKUID = getItemCol(dw_cell, startRow - 1, L"SKUID");
 
-		int colPONote = getItemCol(dw_cell, startRow - 1, L"閲囪喘To涓氬姟澶囨敞");
-		int colPOPhoto = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
-		int colPOPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�");
-		int colNW = getItemCol(dw_cell, startRow - 1, L"姣涢噸(KG)L");
-		int colGW = getItemCol(dw_cell, startRow - 1, L"鍑�閲�(KG)L");
+		int colPONote = getItemCol(dw_cell, startRow - 1, L"采购To业务备注");
+		int colPOPhoto = getItemCol(dw_cell, startRow - 1, L"工厂图片");
+		int colPOPrice = getItemCol(dw_cell, startRow - 1, L"采购价");
+		int colNW = getItemCol(dw_cell, startRow - 1, L"毛重(KG)L");
+		int colGW = getItemCol(dw_cell, startRow - 1, L"净重(KG)L");
 		int colSKUNo = getItemCol(dw_cell, startRow - 1, L"SKUID,SKUNo");
 
 		if (col == colFOBPrice)
@@ -2883,7 +2852,7 @@
 			double colFOBPriceEx = fobprice.toDouble();
 
 			double colFOBPriceS;
-			colFOBPriceS = colFOBPriceEx.round(2);
+			colFOBPriceS = xdouble(colFOBPriceEx).round(2);
 			xstring colFOBPriceS1 = xstring(colFOBPriceS);
 			xstring colFOBPriceS2 = colFOBPriceS1.left(colFOBPriceS1.find(L"."));
 			xstring colFOBPriceS3 = colFOBPriceS1.mid(colFOBPriceS1.find(L"."), colFOBPriceS1.length());
@@ -2901,7 +2870,7 @@
 				xaserverarg argx ;
 				argx.setNativePointer(argx.CreateInstance());
 				argx.AddArg(L"GoodsNo", dw_cell.GetItemString(row, colItemNo));
-				OpenWindow(L"dev:xpage[CustomerItemNoList.vx]", cast(argx as int));
+				OpenWindow(L"dev:xpage[CustomerItemNoList.vx]", argx);
 				if (argx.GetArgString(L"action") != L"ok") return 1;
 
 				xml x1 ;
@@ -2945,7 +2914,10 @@
 							dw_cell.SetItemString(row, colQtyPerPack, str2 + L"/" + str1);
 						}
 						else
+						{
+							xstring str1 = goods.selectSingleNode(L"//PackingRate[1]").text();
 							dw_cell.SetItemString(row, colQtyPerPack, str1);
+						}
 					}
 					ProcessItemImage(dw_cell.GetItemString(row, colSKUNo), row);
 					//ProcessItemImage1(dw_cell.GetItemString(row,colItemNo),row);
@@ -2959,7 +2931,7 @@
 
 		if (col == colVolDesc || col == colQtyPerPack)
 		{
-			/*璁$畻浣撶Н*/
+			/*计算体积*/
 			double v = 0.0;
 			xstring desc = dw_cell.GetItemString(row, colVolDesc);
 			if (desc.find(L"cm") >= 0)
@@ -2999,26 +2971,26 @@
 				//if(qty2 !=L"") qty = qty*qty2.toDouble();
 				qty = qty2.toDouble();
 				double ttl = 65.0 * qty / v;
-				dw_cell.SetItemString(row, col40HQ, ttl.toInt().toString());
+				dw_cell.SetItemString(row, col40HQ, xstring((int)ttl));
 			}
 		}
 
 		if (action == L"purch")
 		{
-			int colPrice0 = getItemCol(dw_cell, startRow - 1, L"浠锋牸");
-			int colPrice1 = getItemCol(dw_cell, startRow - 1, L"浠锋牸1");
-			int colPrice2 = getItemCol(dw_cell, startRow - 1, L"浠锋牸2");
-			int colPrice3 = getItemCol(dw_cell, startRow - 1, L"浠锋牸3");
-			int colPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�");
+			int colPrice0 = getItemCol(dw_cell, startRow - 1, L"价格");
+			int colPrice1 = getItemCol(dw_cell, startRow - 1, L"价格1");
+			int colPrice2 = getItemCol(dw_cell, startRow - 1, L"价格2");
+			int colPrice3 = getItemCol(dw_cell, startRow - 1, L"价格3");
+			int colPrice = getItemCol(dw_cell, startRow - 1, L"采购价");
 
-			int colTyp = getItemCol(dw_cell, startRow - 1, L"绫诲瀷");
-			int colTyp1 = getItemCol(dw_cell, startRow - 1, L"绫诲瀷1");
-			int colTyp2 = getItemCol(dw_cell, startRow - 1, L"绫诲瀷2");
-			int colTyp3 = getItemCol(dw_cell, startRow - 1, L"绫诲瀷3");
-			int colSupplier = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�,宸ュ巶");
-			int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�1,宸ュ巶1");
-			int colSupplier2 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�2,宸ュ巶2");
-			int colSupplier3 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�3,宸ュ巶3");
+			int colTyp = getItemCol(dw_cell, startRow - 1, L"类型");
+			int colTyp1 = getItemCol(dw_cell, startRow - 1, L"类型1");
+			int colTyp2 = getItemCol(dw_cell, startRow - 1, L"类型2");
+			int colTyp3 = getItemCol(dw_cell, startRow - 1, L"类型3");
+			int colSupplier = getItemCol(dw_cell, startRow - 1, L"供应商,工厂");
+			int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"供应商1,工厂1");
+			int colSupplier2 = getItemCol(dw_cell, startRow - 1, L"供应商2,工厂2");
+			int colSupplier3 = getItemCol(dw_cell, startRow - 1, L"供应商3,工厂3");
 
 			if (colPrice0 == col || colPrice1 == col || colPrice2 == col || colPrice3 == col)
 			{
@@ -3042,7 +3014,7 @@
 						price = price0;
 						if (price.find(L"A") < 1 && price.find(L"B") < 1 && price.find(L"C") < 1 && price.find(L"a") < 1 && price.find(L"b") < 1 && price.find(L"b") < 1)
 						{
-							alert(L"浠锋牸涓病鎸囧畾ABC");
+							alert(L"价格中没指定ABC");
 							if (pricea == L"") pricea = price; else pricea += L"+L" + price;
 						}
 						else if (price.find(L"A") > 0 || price.find(L"a") > 0)
@@ -3057,7 +3029,7 @@
 						price = price1;
 						if (price.find(L"A") < 1 && price.find(L"B") < 1 && price.find(L"C") < 1 && price.find(L"a") < 1 && price.find(L"b") < 1 && price.find(L"b") < 1)
 						{
-							alert(L"浠锋牸涓病鎸囧畾ABC");
+							alert(L"价格中没指定ABC");
 							if (pricea == L"") pricea = price; else pricea += L"+L" + price;
 						}
 						else if (price.find(L"A") > 0 || price.find(L"a") > 0)
@@ -3072,7 +3044,7 @@
 						price = price2;
 						if (price.find(L"A") < 1 && price.find(L"B") < 1 && price.find(L"C") < 1 && price.find(L"a") < 1 && price.find(L"b") < 1 && price.find(L"b") < 1)
 						{
-							alert(L"浠锋牸涓病鎸囧畾ABC");
+							alert(L"价格中没指定ABC");
 							if (pricea == L"") pricea = price; else pricea += L"+L" + price;
 						}
 						else if (price.find(L"A") > 0 || price.find(L"a") > 0)
@@ -3087,7 +3059,7 @@
 						price = price3;
 						if (price.find(L"A") < 1 && price.find(L"B") < 1 && price.find(L"C") < 1 && price.find(L"a") < 1 && price.find(L"b") < 1 && price.find(L"b") < 1)
 						{
-							alert(L"浠锋牸涓病鎸囧畾ABC");
+							alert(L"价格中没指定ABC");
 							if (pricea == L"") pricea = price; else pricea += L"+L" + price;
 						}
 						else if (price.find(L"A") > 0 || price.find(L"a") > 0)
@@ -3121,7 +3093,7 @@
 		return 1;
 	}
 
-	int OnCellSelectChanged(ref TNotifyEvent evt, int p)
+	int OnCellSelectChanged(TEvent*, LPARAM p)
 	{
 		/*ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
 		xstring colname=hdr.colname;
@@ -3132,9 +3104,9 @@
 		return 1;
 	}
 
-	int OnItemChanged(ref TNotifyEvent evt, int p)
+	int OnItemChanged(TEvent* evt, LPARAM p)
 	{
-		ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
+		DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
 		xstring colname = hdr.colname;
 		xstring value = hdr.data;
 		int row = hdr.row;
@@ -3142,46 +3114,46 @@
 		if (colname == L"Project")
 		{
 
-			setBaseItem(dw_cell, L"椤圭洰鍚嶇О:", value);
+			setBaseItem(dw_cell, L"项目名称:", value);
 		}
 		return 1;
 	}
 
 	int OnToQuote()
 	{
-		xstring project = getBaseItem(dw_cell, L"椤圭洰鍚嶇О:");
+		xstring project = getBaseItem(dw_cell, L"项目名称:");
 		if (project != L"")dw_base.SetItemString(1, L"Project", project);
 
 		int startRow = getItemHeadRow(dw_cell);
 
-		//娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
-		if (startRow < 1) return L"";
+		//没有找到商品行的标题
+		if (startRow < 1) return 0;
 		startRow++;
 
-		int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
-		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+		int colItemNo = getItemCol(dw_cell, startRow - 1, L"我司型号,ItemNo");
+		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"客户型号,Customer ItemNo,Customer Item No");
 		int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
-		int colItemCName = getItemCol(dw_cell, startRow - 1, L"涓枃鍝佸悕");
-		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+		int colItemCName = getItemCol(dw_cell, startRow - 1, L"中文品名");
+		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,规格,产品规格");
 
-		int colTechNote = getItemCol(dw_cell, startRow - 1, L"涓氬姟閮ㄤ骇鍝佷俊鎭�");
-		int colTechNote1 = getItemCol(dw_cell, startRow - 1, L"閲囪喘閮ㄤ骇鍝佷俊鎭�");
+		int colTechNote = getItemCol(dw_cell, startRow - 1, L"业务部产品信息");
+		int colTechNote1 = getItemCol(dw_cell, startRow - 1, L"采购部产品信息");
 
 
 
-		int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�,閲囪喘浠锋牸");
+		int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"采购价,采购价格");
 		int colPackage = getItemCol(dw_cell, startRow - 1, L"Package");
-		int colPurchor = getItemCol(dw_cell, startRow - 1, L"閲囪喘鍛�,閲囪喘浜哄憳");
-		int colQtyPerPack = getItemCol(dw_cell, startRow - 1, L"瑁呯鏁�(鍐�/澶�)L");
+		int colPurchor = getItemCol(dw_cell, startRow - 1, L"采购员,采购人员");
+		int colQtyPerPack = getItemCol(dw_cell, startRow - 1, L"装箱数(内/外)L");
 		int colFOBPrice = getItemCol(dw_cell, startRow - 1, L"FOB Price,FOB Price(USD),Fob Price");
-		int colQuantity = getItemCol(dw_cell, startRow - 1, L"鏁伴噺,Qty");
+		int colQuantity = getItemCol(dw_cell, startRow - 1, L"数量,Qty");
 
-		int colBuyerRemark = getItemCol(dw_cell, startRow - 1, L"閲囪喘To涓氬姟澶囨敞");
-		int colFactoryImage = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
-		int colGWT = getItemCol(dw_cell, startRow - 1, L"姣涢噸,姣涢噸(KG)L");
-		int colNWT = getItemCol(dw_cell, startRow - 1, L"鍑�閲�,鍑�閲�(KG)L");
-		int colVolDesc = getItemCol(dw_cell, startRow - 1, L"浣撶Н鎻忚堪,闀縓瀹絏楂�,闀縓瀹絏楂�(CM)L");
-		int colVol = getItemCol(dw_cell, startRow - 1, L"浣撶Н,浣撶Н(M3)L");
+		int colBuyerRemark = getItemCol(dw_cell, startRow - 1, L"采购To业务备注");
+		int colFactoryImage = getItemCol(dw_cell, startRow - 1, L"工厂图片");
+		int colGWT = getItemCol(dw_cell, startRow - 1, L"毛重,毛重(KG)L");
+		int colNWT = getItemCol(dw_cell, startRow - 1, L"净重,净重(KG)L");
+		int colVolDesc = getItemCol(dw_cell, startRow - 1, L"体积描述,长X宽X高,长X宽X高(CM)L");
+		int colVol = getItemCol(dw_cell, startRow - 1, L"体积,体积(M3)L");
 		int colHQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
 		int colSKUNo = getItemCol(dw_cell, startRow - 1, L"SKUID,SKUNo");
 
@@ -3279,24 +3251,23 @@
 	int ProcessItemImage(xstring goodsno, int row)
 	{
 		xml xp ;
-		xp.setNativePointer(xml::CreateInstance());
 		xaserverarg arg_pic ;
 		arg_pic.setNativePointer(arg_pic.CreateInstance());
 		arg_pic.AddArg(L"SKUNo", goodsno);
 
 		ximageview im = GetControl(L"frame:im1");
-		im.ResetEx();
+		im.Reset();
 		xstring res = L"/sale/data/productlibrary3/pref/picture/imagelistskuno";
 		if (xurl::get(res, arg_pic.GetString(), xp) != 1)
 		{
-			trace(xp.GetXml());
+			trace(xp.xml());
 			return 1;
 		}
 		else
 		{
-			//alert(xp.GetXml());
+			//alert(xp.xml());
 			ClearImageTerm(row, L"customer-photo");
-			//alert(xp.GetXml());
+			//alert(xp.xml());
 			KXMLDOMNodeList nlistp = xp.selectNodes(L"ImageList/image");
 			int lenp = nlistp.length();
 			int ip = 0;
@@ -3339,23 +3310,22 @@
 	int ProcessItemImage1(xstring goodsno, int row)
 	{
 		xml xp ;
-		xp.setNativePointer(xml::CreateInstance());
 		xaserverarg arg_pic ;
 		arg_pic.setNativePointer(arg_pic.CreateInstance());
 		arg_pic.AddArg(L"GoodsNo", goodsno);
 
 		ximageview im = GetControl(L"frame:im1");
-		im.ResetEx();
+		im.Reset();
 		xstring res = L"/sale/data/ProductLibrary3/pref/picture/imagelistItemNo";
 		if (xurl::get(res, arg_pic.GetString(), xp) != 1)
 		{
-			trace(xp.GetXml());
+			trace(xp.xml());
 			return 1;
 		}
 		else
 		{
 			ClearImageTerm(row, L"customer-photo");
-			//alert(xp.GetXml());
+			//alert(xp.xml());
 			KXMLDOMNodeList nlistp = xp.selectNodes(L"ImageList/image");
 			int lenp = nlistp.length();
 			int ip = 0;
@@ -3371,7 +3341,7 @@
 				im.AddImages(picname,goodsno);*/
 				if (ip == 0)
 				{
-					xstring appPath = GetModuleTmpPath();
+					xstring appPath = xutil::GetModuleTmpPath();
 					xaserver::CreateDirectory(appPath);
 					xaserver::DownLoadFile(GetServerUrl(), L"/business/products/chanpin/" + id.left(2) + L"/" + name, name, appPath + L"/" + name);
 
@@ -3398,9 +3368,9 @@
 		startRow++;
 		int row = dw_cell.GetRow();
 
-		int colPurchPrice1 = getItemCol(dw_cell, headrow, L"浠锋牸1");
-		int colPurchPrice2 = getItemCol(dw_cell, headrow, L"浠锋牸2");
-		int colPurchPrice3 = getItemCol(dw_cell, headrow, L"浠锋牸3");
+		int colPurchPrice1 = getItemCol(dw_cell, headrow, L"价格1");
+		int colPurchPrice2 = getItemCol(dw_cell, headrow, L"价格2");
+		int colPurchPrice3 = getItemCol(dw_cell, headrow, L"价格3");
 		if (colPurchPrice3 > 0) return  1;
 
 		if (colPurchPrice2 < 1)
@@ -3414,9 +3384,9 @@
 			SendCtrlCmd(dw_cell, L"xmFormatCellInsertCol");
 			SendCtrlCmd(dw_cell, L"xmFormatCellInsertCol");
 
-			dw_cell.SetItemString(headrow, colPurchPrice1 + 1, L"渚涘簲鍟�2");
-			dw_cell.SetItemString(headrow, colPurchPrice1 + 2, L"绫诲瀷2");
-			dw_cell.SetItemString(headrow, colPurchPrice1 + 3, L"浠锋牸2");
+			dw_cell.SetItemString(headrow, colPurchPrice1 + 1, L"供应商2");
+			dw_cell.SetItemString(headrow, colPurchPrice1 + 2, L"类型2");
+			dw_cell.SetItemString(headrow, colPurchPrice1 + 3, L"价格2");
 		}
 		else
 		{
@@ -3429,14 +3399,14 @@
 			SendCtrlCmd(dw_cell, L"xmFormatCellInsertCol");
 			SendCtrlCmd(dw_cell, L"xmFormatCellInsertCol");
 
-			dw_cell.SetItemString(headrow, colPurchPrice2 + 1, L"渚涘簲鍟�3");
-			dw_cell.SetItemString(headrow, colPurchPrice2 + 2, L"绫诲瀷3");
-			dw_cell.SetItemString(headrow, colPurchPrice2 + 3, L"浠锋牸3");
+			dw_cell.SetItemString(headrow, colPurchPrice2 + 1, L"供应商3");
+			dw_cell.SetItemString(headrow, colPurchPrice2 + 2, L"类型3");
+			dw_cell.SetItemString(headrow, colPurchPrice2 + 3, L"价格3");
 		}
 		return 1;
 	}
 
-	//鍛戒护鍙戝竷鍑芥暟
+	//命令发布函数
 	int OnCmdDispatch(xstring comdid)
 	{
 		if (comdid == L"xmAddBOMItem") return OnAddBOMItem();
@@ -3444,7 +3414,7 @@
 		{
 			if (dw_base.GetItemString(1, L"CustomerID") == L"")
 			{
-				alert(L"瀵煎嚭鍓嶈杈撳叆瀹㈡埛");
+				alert(L"导出前请输入客户");
 				return 1;
 			}
 			return OnPrint();
@@ -3490,19 +3460,18 @@
 		}
 		else if (comdid == L"xmRefreshTask1")
 		{
-			win32::PostMessage(GetFrameWindow().GetHWND(), 0x401, L"xmRefreshTask", 0);
+			PostMessage(GetFrameWindow().GetHWND(), 0x401, (WPARAM)L"xmRefreshTask", 0);
 			return 1;
 		}
 		else if (comdid == L"xmFileOpen" || comdid == L"xmOpen" || comdid == L"xmNew")
 		{
 			xstring suserid = publiccode::GetUser().id;
 			xaserverarg args ;
-			args.setNativePointer(args.CreateInstance());
 
 			if (comdid == L"xmNew")
-				OpenWindow(L"dev:xpage[TONewSelectDlg.vx]", cast(args as int));
+				OpenWindow(L"dev:xpage[TONewSelectDlg.vx]", args);
 			else
-				OpenWindow(L"dev:xpage[TOSelectDlg.vx]", cast(args as int));
+				OpenWindow(L"dev:xpage[TOSelectDlg.vx]", args);
 			fileid = args.GetArgString(L"id");
 			templateID = args.GetArgString(L"templateID");
 			xstring myaction = args.GetArgString(L"action");
@@ -3527,7 +3496,7 @@
 
 			args.AddArg(L"src", L"data/QuoteFile/" + suserid);
 			args.AddArg(L"process", L"path");
-			OpenWindow(L"dev:xpage[trade.document.selectdlg.vx]", cast(args as int));
+			OpenWindow(L"dev:xpage[trade.document.selectdlg.vx]", args);
 			if (args.GetArgString(L"result") == L"ok")
 			{
 				xstring u = args.GetArgString(L"src");
@@ -3535,11 +3504,11 @@
 				
 				xaserver::LoadUrl(GetServerUrl(), u, L"", x);
 				trace(x.xml());
-				dw_cell.LoadTemplateEx(x.documentElement);
+				dw_cell.LoadTemplateEx(x.documentElement());
 				dw_cell.Redraw();
 				filename = args.GetArgString(L"filename");
 				fileid = args.GetArgString(L"ID");
-				win32::SetWindowText(GetHWND(), L"鎶ヤ环鏂囦欢:" + filename);
+				SetWindowText(GetHWND(), L"报价文件:" + filename);
 			}
 			return 1;
 		}
@@ -3549,7 +3518,7 @@
 			dw_cell.Redraw();
 			filename = L"";
 			fileid = L"";
-			win32::SetWindowText(GetHWND(), L"鎶ヤ环鏂囦欢:[new]");
+			SetWindowText(GetHWND(), L"报价文件:[new]");
 			return 1;
 		}
 		else if (comdid == L"xmFileSave" || comdid == L"xmSave")
@@ -3586,6 +3555,7 @@
 			if (action == L"purch")
 			{
 				int crow = dw_cell.GetRow();
+				xstring cmd = comdid.mid(3, comdid.length());
 				if (getRowID(dw_cell, crow) == L"") SendCtrlCmd(dw_cell, cmd);
 				return 1;
 			}
@@ -3637,7 +3607,7 @@
 		{
 			xstring QuoteNo = QuoteView::MakeBillNo();
 			dw_base.SetItemString(1, L"QuoteNo", QuoteNo);
-			setBaseItem(dw_cell, L"鎶ヤ环鍗曞彿:", QuoteNo);
+			setBaseItem(dw_cell, L"报价单号:", QuoteNo);
 		}
 		if (dw_base.GetGuid(1) == L"")
 			dw_base.SetGuid(1, entityID);
@@ -3684,12 +3654,13 @@
 				Item += L"<ModifyDate>" + sdate + L"</ModifyDate>";
 
 				Item += L"</Item>";
-			}
-			if (hasNew)
-			{
-				xstring newItem = L"<data>" + Item + L"</data>";
-				trace(newItem);
-				if (OnSaveNewItem(newItem) == -1) return 1;
+
+				if (hasNew)
+				{
+					xstring newItem = L"<data>" + Item + L"</data>";
+					trace(newItem);
+					if (OnSaveNewItem(newItem) == -1) return 1;
+				}
 			}
 		}
 
@@ -3713,19 +3684,19 @@
 		}
 		else
 		{
-			xstring str = x.documentElement.getAttribute(L"text");
+			xstring str = x.documentElement().getAttribute(L"text");
 			if (str == L"true")
 			{
 				dw_goods.ResetUpdateStatus();
 				dw_base.ResetUpdateStatus();
-				if (balert)alert(L"淇濆瓨鎴愬姛!");
+				if (balert)alert(L"保存成功!");
 
 				return -1;
 
 			}
 			else
 			{
-				alert(L"淇濆瓨澶辫触!");
+				alert(L"保存失败!");
 				return -1;
 			}
 		}
@@ -3735,7 +3706,7 @@
 	xstring GetExchangeRate(xstring pcur, xstring pdate)
 	{
 
-		if (pcur.upper() == L"RMB") return L"1";
+		if (pcur.toUpper() == L"RMB") return L"1";
 		xstring exchangeRate = L"";
 		if (exchangeRate == L"") {
 			xml x = ViewObject::RetrieveData(L"/sale/data/GDN3/profit/param", L"item", L"cryrate");
@@ -3752,7 +3723,7 @@
 
 	int OnInit()
 	{
-		//鍏徃鎶ご銆佹姤浠蜂汉銆佹姤浠锋棩鏈�
+		//公司抬头、报价人、报价日期
 		xstring sdate = publiccode::GetCurrentDate();
 		dw_base.SetItemString(1, L"QuoteDate", sdate);
 		xstring suserid = publiccode::GetUser().id;
@@ -3778,7 +3749,7 @@
 		//dw_base.SetItemString(1,L"ExchangeRate",GetExchangeRate(L"USD"));
 
 		dw_base.SetItemString(1, L"CompanyID", L"E9E3C542-062C-4957-B8F4-9B92C3E351FC");
-		dw_base.SetItemDisplayString(1, L"CompanyID", L"瀹佹尝瀹跺皵浣宠繘鍑哄彛鏈夐檺鍏徃");
+		dw_base.SetItemDisplayString(1, L"CompanyID", L"宁波家尔佳进出口有限公司");
 
 		/*xstring ss = L"select (select EnglishName from Party where PartyID = CompanyID) as 'CompanyID/@_displaystring',CompanyID from HR_Org where OrgID = '{$id}' for xml PATH('root'),ELEMENTS XSINIL";
 		xstring scguid;
@@ -3792,9 +3763,9 @@
 		return 1;
 	}
 
-	int OnRowChanged(ref TNotifyEvent evt, int p)
+	int OnRowChanged(TEvent* evt, LPARAM p)
 	{
-		ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
+		DWNMHDR&  hdr = *(DWNMHDR * )evt->notify.pnmh;
 		int row = hdr.row;
 
 		return OnQuoteLineChanged(row);
@@ -3803,7 +3774,7 @@
 	int OnQuoteLineChanged(int row)
 	{
 		ximageview im = GetControl(L"im1");
-		im.ResetEx();
+		im.Reset();
 		//xstring skuno = dw_goods.GetItemString(row,L"SKUNo");
 		//OnShowImage(skuno,row);
 		//im.Redraw();
@@ -3827,9 +3798,7 @@
 		ximageview im = GetControl(L"im1");
 
 		xml xp ;
-		xp.setNativePointer(xml::CreateInstance());
 		xaserverarg arg_pic ;
-		arg_pic.setNativePointer(arg_pic.CreateInstance());
 		arg_pic.AddArg(L"SKUNo", skuno);
 
 		xstring res = L"/sale/data/ProductLibrary3/pref/picture/imagelistSKUNo";
@@ -3846,7 +3815,7 @@
 		bool hasIamge = false;
 		if (xurl::get(res, arg_pic.GetString(), xp) != 1)
 		{
-			trace(xp.GetXml());
+			trace(xp.xml());
 			return 1;
 		}
 		else
@@ -3869,18 +3838,18 @@
 			res = L"/sale/data/ProductLibrary3/pref/picture/imagelistSKUNo";
 			if (xurl::get(res, arg_pic.GetString(), xp) != 1)
 			{
-				trace(xp.GetXml());
+				trace(xp.xml());
 				return 1;
 			}
 			else
 			{
-				nlistp = xp.selectNodes(L"ImageList/image");
-				lenp = nlistp.length();
-				for (ip = 0; ip < lenp; ip++)
+				KXMLDOMNodeList nlistp = xp.selectNodes(L"ImageList/image");
+				long lenp = nlistp.length();
+				for (int ip = 0; ip < lenp; ip++)
 				{
-					xitem = nlistp.item(ip);
-					picname = xitem.selectSingleNode(L"PicPath").text();
-					goodno = xitem.selectSingleNode(L"GoodsNo").text();
+					KXMLDOMNode xitem = nlistp.item(ip);
+					xstring picname = xitem.selectSingleNode(L"PicPath").text();
+					xstring goodno = xitem.selectSingleNode(L"GoodsNo").text();
 					if (picname == L"/business/products/Thumbs//")
 						picname = L"/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg";
 					im.AddImages(picname, goodno);
@@ -3903,7 +3872,7 @@
 			if (pos >= 0)
 			{
 				pos1 = content.find(L"</display>", pos);
-				str = content.mid(pos1 + L"</display>".length(), 9999999);
+				str = content.mid(pos1 + xstring(L"</display>").length(), 9999999);
 				content = content.left(pos) + str;
 			}
 			else
@@ -3920,7 +3889,7 @@
 	int OnUpdateProcessed()
 	{
 		int ret = ProcessSendMessage(L"/task/quote/update-processed", taskid, L"", L"", false);
-		win32::PostMessage(GetFrameWindow().GetHWND(), 0x401, L"xmRefreshTask", 0);
+		PostMessage(GetFrameWindow().GetHWND(), 0x401, (WPARAM)L"xmRefreshTask", 0);
 		return ret;
 	}
 
@@ -3939,7 +3908,7 @@
 			if (pos >= 0)
 			{
 				pos1 = content.find(L"</display>", pos);
-				str = content.mid(pos1 + L"</display>".length(), 9999999);
+				str = content.mid(pos1 + xstring(L"</display>").length(), 9999999);
 				content = content.left(pos) + str;
 			}
 			else
@@ -3980,8 +3949,8 @@
 
 		if (tabsheet != L"tab_quote") OnToQuote();
 
-		if (getBaseItem(dw_cell, L"鎶ヤ环鍗曞彿:") == L"")
-			setBaseItem(dw_cell, L"鎶ヤ环鍗曞彿:", dw_base.GetItemString(1, L"QuoteNo"));
+		if (getBaseItem(dw_cell, L"报价单号:") == L"")
+			setBaseItem(dw_cell, L"报价单号:", dw_base.GetItemString(1, L"QuoteNo"));
 
 		OnUpdate();
 		if (action == L"purch") return 1;
@@ -3993,9 +3962,8 @@
 		if (filename == L"" || saveas)
 		{
 			xaserverarg arg ;
-			
 			arg.AddArg(L"src", myurl);
-			OpenWindow(L"dev:xpage[trade.document.saveas.vx]", cast(arg as int));
+			OpenWindow(L"dev:xpage[trade.document.saveas.vx]", arg);
 			if (arg.GetArgString(L"result") == L"ok")
 			{
 				sfilename = arg.GetArgString(L"filename");
@@ -4009,19 +3977,17 @@
 		xstring sguid = publiccode::GetGuid();
 		xstring sname = sguid;
 		xstring str = sname.mid(0, 2);
-		str = str.upper();
+		str = str.toUpper();
 		xstring suri = L"attachment" + str;
 		int ret = xaserver::UploadData(suri, sguid + L".jpg", content);
 		if (ret < 0)
 		{
-			alert(L"涓婁紶鏂囦欢鍑洪敊!");
+			alert(L"上传文件出错!");
 			return 0;
 		}
 
 		xml x ;
-		
 		xaserverarg args ;
-		args.setNativePointer(args.CreateInstance());
 		args.AddArg(L"myurl", myurl);
 		args.AddArg(L"name", sfilename);
 		args.AddArg(L"filepath", sname);
@@ -4034,13 +4000,13 @@
 		if (filename == L"" || saveas) path = L"/sale/data/TDocument3/attachment/add";
 		if (xurl::get(path, args.GetString(), x) != 1)
 		{
-			alert(L"淇濆瓨鍑洪敊浜�!");
+			alert(L"保存出错了!");
 			return 0;
 		}
 		else
 		{
 			filename = sfilename;
-			win32::SetWindowText(GetHWND(), L"鎶ヤ环鏂囦欢:" + filename);
+			SetWindowText(GetHWND(), L"报价文件:" + filename);
 			alert(x.text());
 		}
 
@@ -4049,13 +4015,13 @@
 
 	int SendCtrlCmd(xcontrol xc, xstring cmd)
 	{
-		win32::SendMessage(xc.GetId(), 0x401, cmd, 0);
+		SendMessage(xc.GetHWND(), 0x401, (WPARAM)cmd.c_str(), 0);
 		return 1;
 	}
 
-	int OnCellClicked(ref TNotifyEvent evt, int p)
+	int OnCellClicked(TEvent* evt, LPARAM p)
 	{
-		ref DWNMHDR dwhdr = cast(evt.pnmh as ref DWNMHDR);
+		DWNMHDR& dwhdr=*(DWNMHDR*)evt->notify.pnmh;
 		int row = dwhdr.row;
 		int col = dwhdr.col;
 		//xstring col = dwhdr.colname;
@@ -4068,7 +4034,7 @@
 		if (row < startRow)
 		{
 			xstring val = dw_cell.GetItemString(row, col);
-			if (val == L"鎶ヤ环鍗曞彿:" || val == L"鎶ヤ环鎴鏃ユ湡锛�" || val == L"椤圭洰鍚嶇О:")
+			if (val == L"报价单号:" || val == L"报价截止日期:" || val == L"项目名称:")
 			{
 				dwhdr.idFrom = -1;
 				return 1;
@@ -4076,7 +4042,7 @@
 			if (col > 1)
 			{
 				val = dw_cell.GetItemString(row, col - 1);
-				if (val == L"鎶ヤ环鍗曞彿:")
+				if (val == L"报价单号:")
 				{
 					dwhdr.idFrom = -1;
 					return 1;
@@ -4091,49 +4057,49 @@
 		if (row < startRow + 1) return 1;
 		startRow++;
 
-		trace(xstring(row) + L"---" + (startRow - 1).toString());
+		trace(xstring(row) + L"---" + xstring(startRow - 1));
 
-		int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
-		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+		int colItemNo = getItemCol(dw_cell, startRow - 1, L"我司型号,ItemNo");
+		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"客户型号,Customer ItemNo,Customer Item No");
 		int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
-		int colItemCName = getItemCol(dw_cell, startRow - 1, L"涓枃鍝佸悕");
-		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
-		int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�,閲囪喘浠锋牸");
-		int colBuyer = getItemCol(dw_cell, startRow - 1, L"閲囪喘浜哄憳");
+		int colItemCName = getItemCol(dw_cell, startRow - 1, L"中文品名");
+		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,规格,产品规格");
+		int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"采购价,采购价格");
+		int colBuyer = getItemCol(dw_cell, startRow - 1, L"采购人员");
 		int colCustomerPhoto = getItemCol(dw_cell, startRow - 1, L"Photo,Customer Photo");
-		int colPackage = getItemCol(dw_cell, startRow - 1, L"Package,鍖呰鏂瑰紡");
+		int colPackage = getItemCol(dw_cell, startRow - 1, L"Package,包装方式");
 		int colFOBPrice = getItemCol(dw_cell, startRow - 1, L"FOB Price,FOB Price(USD),Fob Price");
-		int colQty = getItemCol(dw_cell, startRow - 1, L"Qty,鏁伴噺");
-		//int colToPODate = getItemCol(dw_cell,startRow - 1,L"涓氬姟鍙戦�侀噰璐椂闂�");
+		int colQty = getItemCol(dw_cell, startRow - 1, L"Qty,数量");
+		//int colToPODate = getItemCol(dw_cell,startRow - 1,L"业务发送采购时间");
 
-		int colSaler = getItemCol(dw_cell, startRow - 1, L"涓氬姟鍛�");
+		int colSaler = getItemCol(dw_cell, startRow - 1, L"业务员");
 
-		int colVolDesc = getItemCol(dw_cell, startRow - 1, L"浣撶Н鎻忚堪,闀縓瀹絏楂�,闀縓瀹絏楂�(CM)L");
-		int colVol = getItemCol(dw_cell, startRow - 1, L"浣撶Н,浣撶Н(M3)L");
-		int colQtyPerPack = getItemCol(dw_cell, startRow - 1, L"瑁呯鏁�(鍐�/澶�),瑁呯鏁�(澶�/鍐�)L");
+		int colVolDesc = getItemCol(dw_cell, startRow - 1, L"体积描述,长X宽X高,长X宽X高(CM)L");
+		int colVol = getItemCol(dw_cell, startRow - 1, L"体积,体积(M3)L");
+		int colQtyPerPack = getItemCol(dw_cell, startRow - 1, L"装箱数(内/外),装箱数(外/内)L");
 		int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
 		int colSKUID = getItemCol(dw_cell, startRow - 1, L"SKUID");
 
-		int colPONote = getItemCol(dw_cell, startRow - 1, L"閲囪喘To涓氬姟澶囨敞");
-		int colPONote2 = getItemCol(dw_cell, startRow - 1, L"涓氬姟To閲囪喘澶囨敞");
+		int colPONote = getItemCol(dw_cell, startRow - 1, L"采购To业务备注");
+		int colPONote2 = getItemCol(dw_cell, startRow - 1, L"业务To采购备注");
 
-		int colItemNote = getItemCol(dw_cell, startRow - 1, L"浜у搧澶囨敞");
+		int colItemNote = getItemCol(dw_cell, startRow - 1, L"产品备注");
 
-		int colPOPhoto = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
-		int colPOPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�");
-		int colNW = getItemCol(dw_cell, startRow - 1, L"姣涢噸(KG)L");
-		int colGW = getItemCol(dw_cell, startRow - 1, L"鍑�閲�(KG)L");
+		int colPOPhoto = getItemCol(dw_cell, startRow - 1, L"工厂图片");
+		int colPOPrice = getItemCol(dw_cell, startRow - 1, L"采购价");
+		int colNW = getItemCol(dw_cell, startRow - 1, L"毛重(KG)L");
+		int colGW = getItemCol(dw_cell, startRow - 1, L"净重(KG)L");
 		int colSKUNo = getItemCol(dw_cell, startRow - 1, L"SKUID,SKUNo");
 
-		int purchremarkcol = getItemCol(dw_cell, startRow - 1, L"閲囪喘To涓氬姟澶囨敞");
+		int purchremarkcol = getItemCol(dw_cell, startRow - 1, L"采购To业务备注");
 		int colRemark = getItemCol(dw_cell, startRow - 1, L"Remarks");
 
-		//int colProductInfo = getItemCol(dw_cell,startRow - 1,L"浜у搧淇℃伅");
-		int colProductInfo = getItemCol(dw_cell, startRow - 1, L"涓氬姟閮ㄤ骇鍝佷俊鎭�");
-		int colProductInfo1 = getItemCol(dw_cell, startRow - 1, L"閲囪喘閮ㄤ骇鍝佷俊鎭�");
+		//int colProductInfo = getItemCol(dw_cell,startRow - 1,L"产品信息");
+		int colProductInfo = getItemCol(dw_cell, startRow - 1, L"业务部产品信息");
+		int colProductInfo1 = getItemCol(dw_cell, startRow - 1, L"采购部产品信息");
 
 
-		int colItemPurchDate = getItemCol(dw_cell, startRow - 1, L"涓氬姟鍙戦�侀噰璐椂闂�");
+		int colItemPurchDate = getItemCol(dw_cell, startRow - 1, L"业务发送采购时间");
 
 		dwhdr.idFrom = 0;
 		if (action != L"purch")
@@ -4159,13 +4125,13 @@
 				xstring pitems = L"";
 				for (int i = 0; i < count; i++)
 				{
-					pitems += L"&lt;row&gt;&lt;鏄剧ず鍒�&gt;" + items.item(i).selectSingleNode(L"Name").text + L"&lt;/鏄剧ず鍒�&gt;&lt;鏁版嵁鍒�&gt;"
-						+ items.item(i).selectSingleNode(L"Name").text + L"&lt;/鏁版嵁鍒�&gt;&lt;/row&gt;";
+					pitems += (xstring)L"&lt;row&gt;&lt;显示列&gt;" + items.item(i).selectSingleNode(L"Name").text() + L"&lt;/显示列&gt;&lt;数据列&gt;"
+						+ items.item(i).selectSingleNode(L"Name").text() + L"&lt;/数据列&gt;&lt;/row&gt;";
 
 				}
-				xstring prop = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
-					"<edit edittype='ddlb' ddlbdataurl='' ddlbxml='&lt;data&gt;" + pitems + L"&lt;/data&gt;'/>" +
-					"</cellprop>";
+				xstring prop = (xstring)L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
+					L"<edit edittype='ddlb' ddlbdataurl='' ddlbxml='&lt;data&gt;" + pitems + L"&lt;/data&gt;'/>" +
+					L"</cellprop>";
 				dw_cell.SetCellProps(row, col, prop);
 			}
 		}
@@ -4179,8 +4145,8 @@
 				xstring pitems = L"";
 				for(int i=0;i<count;i++)
 				{
-					pitems += L"&lt;row&gt;&lt;鏄剧ず鍒�&gt;"+items.item(i).selectSingleNode(L"Name").text+L"&lt;/鏄剧ず鍒�&gt;&lt;鏁版嵁鍒�&gt;"
-							+items.item(i).selectSingleNode(L"Name").text + L"&lt;/鏁版嵁鍒�&gt;&lt;/row&gt;";
+					pitems += L"&lt;row&gt;&lt;显示列&gt;"+items.item(i).selectSingleNode(L"Name").text+L"&lt;/显示列&gt;&lt;数据列&gt;"
+							+items.item(i).selectSingleNode(L"Name").text + L"&lt;/数据列&gt;&lt;/row&gt;";
 
 				}
 				xstring prop=L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
@@ -4190,7 +4156,7 @@
 			}*/
 			if (col == colPackage)
 			{
-				xstring proppack = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='淇濇姢' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''><edit edittype='ddlb' ddlbdataurl='xquery:[Convert.quickcode.xq]?id=鍖呰鏂瑰紡1' ddlbxml=''/></cellprop>";
+				xstring proppack = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='保护' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''><edit edittype='ddlb' ddlbdataurl='xquery:[Convert.quickcode.xq]?id=包装方式1' ddlbxml=''/></cellprop>";
 				dw_cell.SetCellProps(row, col, proppack);
 			}
 		}
@@ -4209,44 +4175,44 @@
 
 		if (action == L"purch")
 		{
-			int colPrice0 = getItemCol(dw_cell, startRow - 1, L"浠锋牸");
-			int colPrice1 = getItemCol(dw_cell, startRow - 1, L"浠锋牸1");
-			int colPrice2 = getItemCol(dw_cell, startRow - 1, L"浠锋牸2");
-			int colPrice3 = getItemCol(dw_cell, startRow - 1, L"浠锋牸3");
-			int colPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�");
+			int colPrice0 = getItemCol(dw_cell, startRow - 1, L"价格");
+			int colPrice1 = getItemCol(dw_cell, startRow - 1, L"价格1");
+			int colPrice2 = getItemCol(dw_cell, startRow - 1, L"价格2");
+			int colPrice3 = getItemCol(dw_cell, startRow - 1, L"价格3");
+			int colPrice = getItemCol(dw_cell, startRow - 1, L"采购价");
 
-			int colTyp = getItemCol(dw_cell, startRow - 1, L"绫诲瀷");
-			int colTyp1 = getItemCol(dw_cell, startRow - 1, L"绫诲瀷1");
-			int colTyp2 = getItemCol(dw_cell, startRow - 1, L"绫诲瀷2");
-			int colTyp3 = getItemCol(dw_cell, startRow - 1, L"绫诲瀷3");
-			int colSupplier = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�,宸ュ巶");
-			int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�1,宸ュ巶1");
-			int colSupplier2 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�2,宸ュ巶2");
-			int colSupplier3 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�3,宸ュ巶3");
+			int colTyp = getItemCol(dw_cell, startRow - 1, L"类型");
+			int colTyp1 = getItemCol(dw_cell, startRow - 1, L"类型1");
+			int colTyp2 = getItemCol(dw_cell, startRow - 1, L"类型2");
+			int colTyp3 = getItemCol(dw_cell, startRow - 1, L"类型3");
+			int colSupplier = getItemCol(dw_cell, startRow - 1, L"供应商,工厂");
+			int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"供应商1,工厂1");
+			int colSupplier2 = getItemCol(dw_cell, startRow - 1, L"供应商2,工厂2");
+			int colSupplier3 = getItemCol(dw_cell, startRow - 1, L"供应商3,工厂3");
 
 
 			if (col == colSupplier || col == colSupplier1 || col == colSupplier2 || col == colSupplier3)
 			{
 				if (dw_cell.GetItemString(row, col) == L"")
 					dw_cell.SetItemString(row, col, L" ");
-				xstring prop2 = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
-					"<edit edittype='query' dddwxpageurl='' dddwdataurl='xquery:[Convert.quickcode.xq]?id=Supplier' dddwtemplateurl='dev:sheet[Supplier.v3.tpl/List]' dddwdatacolumn='Name' dddwdisplaycolumn='Name' dddwwidth='' dddwheight='' dddwautoselect='N' dddwshowbutton='鍚�' dddwcanedit='鏄�'/>" +
-					"</cellprop>";
+				xstring prop2 = (xstring)L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
+					L"<edit edittype='query' dddwxpageurl='' dddwdataurl='xquery:[Convert.quickcode.xq]?id=Supplier' dddwtemplateurl='dev:sheet[Supplier.v3.tpl/List]' dddwdatacolumn='Name' dddwdisplaycolumn='Name' dddwwidth='' dddwheight='' dddwautoselect='N' dddwshowbutton='否' dddwcanedit='是'/>" +
+					L"</cellprop>";
 				dw_cell.SetCellProps(row, col, prop2);
 				dw_cell.Redraw();
 			}
 			else if (col == colTyp1 || col == colTyp || col == colTyp2 || col == colTyp3)
 			{
 				xstring pitems1 = L"";
-				pitems1 += L"&lt;row&gt;&lt;鏄剧ず鍒�&gt;鎴愬搧&lt;/鏄剧ず鍒�&gt;&lt;鏁版嵁鍒�&gt;"
-					+ L"鎴愬搧&lt;/鏁版嵁鍒�&gt;&lt;/row&gt;";
-				pitems1 += L"&lt;row&gt;&lt;鏄剧ず鍒�&gt;鏁h揣&lt;/鏄剧ず鍒�&gt;&lt;鏁版嵁鍒�&gt;"
-					+ L"鏁h揣&lt;/鏁版嵁鍒�&gt;&lt;/row&gt;";
-				pitems1 += L"&lt;row&gt;&lt;鏄剧ず鍒�&gt;鍖呰&lt;/鏄剧ず鍒�&gt;&lt;鏁版嵁鍒�&gt;"
-					+ L"鍖呰&lt;/鏁版嵁鍒�&gt;&lt;/row&gt;";
-				xstring prop1 = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
-					"<edit edittype='ddlb' ddlbdataurl='' ddlbxml='&lt;data&gt;" + pitems1 + L"&lt;/data&gt;'/>" +
-					"</cellprop>";
+				pitems1 += (xstring)L"&lt;row&gt;&lt;显示列&gt;成品&lt;/显示列&gt;&lt;数据列&gt;"
+					+ L"成品&lt;/数据列&gt;&lt;/row&gt;";
+				pitems1 += (xstring)L"&lt;row&gt;&lt;显示列&gt;散货&lt;/显示列&gt;&lt;数据列&gt;"
+					+ L"散货&lt;/数据列&gt;&lt;/row&gt;";
+				pitems1 += (xstring)L"&lt;row&gt;&lt;显示列&gt;包装&lt;/显示列&gt;&lt;数据列&gt;"
+					+ L"包装&lt;/数据列&gt;&lt;/row&gt;";
+				xstring prop1 = (xstring)L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
+					L"<edit edittype='ddlb' ddlbdataurl='' ddlbxml='&lt;data&gt;" + pitems1 + L"&lt;/data&gt;'/>" +
+					L"</cellprop>";
 				dw_cell.SetCellProps(row, col, prop1);
 			}
 		}
@@ -4259,9 +4225,9 @@
 	}
 
 
-	int OnCellClicked1(ref TNotifyEvent evt, int p)
+	int OnCellClicked1(TEvent* evt, LPARAM p)
 	{
-		ref DWNMHDR dwhdr = cast(evt.pnmh as ref DWNMHDR);
+		DWNMHDR dwhdr = *(DWNMHDR*)evt->notify.pnmh;
 		int row = dwhdr.row;
 		int col = dwhdr.col;
 		//xstring col = dwhdr.colname;
@@ -4278,33 +4244,33 @@
 		if (row < startRow + 1) return 1;
 		startRow++;
 
-		trace(xstring(row) + L"---" + (startRow - 1).toString());
+		trace(xstring(row) + L"---" + xstring(startRow - 1));
 
-		int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
-		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+		int colItemNo = getItemCol(dw_cell, startRow - 1, L"我司型号,ItemNo");
+		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"客户型号,Customer ItemNo,Customer Item No");
 		int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
-		int colItemCName = getItemCol(dw_cell, startRow - 1, L"涓枃鍝佸悕");
-		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
-		int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�,閲囪喘浠锋牸");
-		int colBuyer = getItemCol(dw_cell, startRow - 1, L"閲囪喘浜哄憳");
+		int colItemCName = getItemCol(dw_cell, startRow - 1, L"中文品名");
+		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,规格,产品规格");
+		int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"采购价,采购价格");
+		int colBuyer = getItemCol(dw_cell, startRow - 1, L"采购人员");
 		int colCustomerPhoto = getItemCol(dw_cell, startRow - 1, L"Photo,Customer Photo");
-		int colPackage = getItemCol(dw_cell, startRow - 1, L"Package,鍖呰鏂瑰紡");
+		int colPackage = getItemCol(dw_cell, startRow - 1, L"Package,包装方式");
 		int colFOBPrice = getItemCol(dw_cell, startRow - 1, L"FOB Price,FOB Price(USD),Fob Price");
-		int colQty = getItemCol(dw_cell, startRow - 1, L"Qty,鏁伴噺");
-		//int colToPODate = getItemCol(dw_cell,startRow - 1,L"涓氬姟鍙戦�侀噰璐椂闂�");
+		int colQty = getItemCol(dw_cell, startRow - 1, L"Qty,数量");
+		//int colToPODate = getItemCol(dw_cell,startRow - 1,L"业务发送采购时间");
 
 
-		int colVolDesc = getItemCol(dw_cell, startRow - 1, L"浣撶Н鎻忚堪,闀縓瀹絏楂�,闀縓瀹絏楂�(CM)L");
-		int colVol = getItemCol(dw_cell, startRow - 1, L"浣撶Н,浣撶Н(M3)L");
-		int colQtyPerPack = getItemCol(dw_cell, startRow - 1, L"瑁呯鏁�(鍐�/澶�),瑁呯鏁�(澶�/鍐�)L");
+		int colVolDesc = getItemCol(dw_cell, startRow - 1, L"体积描述,长X宽X高,长X宽X高(CM)L");
+		int colVol = getItemCol(dw_cell, startRow - 1, L"体积,体积(M3)L");
+		int colQtyPerPack = getItemCol(dw_cell, startRow - 1, L"装箱数(内/外),装箱数(外/内)L");
 		int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
 		int colSKUID = getItemCol(dw_cell, startRow - 1, L"SKUID");
 
-		int colPONote = getItemCol(dw_cell, startRow - 1, L"閲囪喘To涓氬姟澶囨敞");
-		int colPOPhoto = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
-		int colPOPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�");
-		int colNW = getItemCol(dw_cell, startRow - 1, L"姣涢噸(KG)L");
-		int colGW = getItemCol(dw_cell, startRow - 1, L"鍑�閲�(KG)L");
+		int colPONote = getItemCol(dw_cell, startRow - 1, L"采购To业务备注");
+		int colPOPhoto = getItemCol(dw_cell, startRow - 1, L"工厂图片");
+		int colPOPrice = getItemCol(dw_cell, startRow - 1, L"采购价");
+		int colNW = getItemCol(dw_cell, startRow - 1, L"毛重(KG)L");
+		int colGW = getItemCol(dw_cell, startRow - 1, L"净重(KG)L");
 		int colSKUNo = getItemCol(dw_cell, startRow - 1, L"SKUID,SKUNo");
 
 		dwhdr.idFrom = 0;
@@ -4332,18 +4298,18 @@
 				xstring pitems = L"";
 				for (int i = 0; i < count; i++)
 				{
-					pitems += L"&lt;row&gt;&lt;鏄剧ず鍒�&gt;" + items.item(i).selectSingleNode(L"Name").text + L"&lt;/鏄剧ず鍒�&gt;&lt;鏁版嵁鍒�&gt;"
-						+ items.item(i).selectSingleNode(L"Name").text + L"&lt;/鏁版嵁鍒�&gt;&lt;/row&gt;";
+					pitems += (xstring)L"&lt;row&gt;&lt;显示列&gt;" + items.item(i).selectSingleNode(L"Name").text() + L"&lt;/显示列&gt;&lt;数据列&gt;"
+						+ items.item(i).selectSingleNode(L"Name").text() + L"&lt;/数据列&gt;&lt;/row&gt;";
 
 				}
-				xstring prop = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
-					"<edit edittype='ddlb' ddlbdataurl='' ddlbxml='&lt;data&gt;" + pitems + L"&lt;/data&gt;'/>" +
-					"</cellprop>";
+				xstring prop = (xstring)L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
+					L"<edit edittype='ddlb' ddlbdataurl='' ddlbxml='&lt;data&gt;" + pitems + L"&lt;/data&gt;'/>" +
+					L"</cellprop>";
 				dw_cell.SetCellProps(row, col, prop);
 			}
 			if (col == colPackage)
 			{
-				xstring proppack = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='淇濇姢' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''><edit edittype='ddlb' ddlbdataurl='xquery:[Convert.quickcode.xq]?id=鍖呰鏂瑰紡1' ddlbxml=''/></cellprop>";
+				xstring proppack = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='保护' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''><edit edittype='ddlb' ddlbdataurl='xquery:[Convert.quickcode.xq]?id=包装方式1' ddlbxml=''/></cellprop>";
 				dw_cell.SetCellProps(row, col, proppack);
 			}
 		}
@@ -4356,7 +4322,7 @@
 				xaserverarg argx ;
 				argx.setNativePointer(argx.CreateInstance());
 				argx.AddArg(L"GoodsNo", dw_cell.GetItemString(ARow, colItemNo));
-				OpenWindow(L"dev:xpage[CustomerItemNoList.vx]", cast(argx as int));
+				OpenWindow(L"dev:xpage[CustomerItemNoList.vx]", argx);
 				if (argx.GetArgString(L"action") != L"ok")
 				{
 					ARow = row;
@@ -4422,13 +4388,14 @@
 
 		if (((ACol == colVolDesc && (col != colVolDesc || row != ARow)) || (ACol == colQtyPerPack && (col != colQtyPerPack || row != ARow))) && ARow >= startRow)
 		{
-			/*璁$畻浣撶Н*/
+			/*计算体积*/
 			xstring desc = dw_cell.GetItemString(ARow, colVolDesc);
+			double v = 0.0;
 			if (desc == L"")
 				dw_cell.SetItemString(ARow, colVol, L"");
 			else
 			{
-				double v = calcVol(desc) / 1000000.00;
+				v = calcVol(desc) / 1000000.00;
 				xstring str = xstring(v);
 				if (str.find(L".") >= 0)	str = str.left(str.find(L".") + 5);
 				dw_cell.SetItemString(ARow, colVol, str);
@@ -4450,7 +4417,7 @@
 				if (qty1 != L"") qty = qty1.toDouble();
 				if (qty2 != L"") qty = qty * qty2.toDouble();
 				double ttl = 65.0 * qty / v;
-				dw_cell.SetItemString(ARow, col40HQ, ttl.toInt().toString());
+				dw_cell.SetItemString(ARow, col40HQ, xstring((int)ttl));
 			}
 		}
 
@@ -4467,15 +4434,15 @@
 
 		if (action == L"purch")
 		{
-			int colPrice0 = getItemCol(dw_cell, startRow - 1, L"浠锋牸");
-			int colPrice1 = getItemCol(dw_cell, startRow - 1, L"浠锋牸1");
-			int colPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�");
+			int colPrice0 = getItemCol(dw_cell, startRow - 1, L"价格");
+			int colPrice1 = getItemCol(dw_cell, startRow - 1, L"价格1");
+			int colPrice = getItemCol(dw_cell, startRow - 1, L"采购价");
 
-			int colTyp = getItemCol(dw_cell, startRow - 1, L"绫诲瀷");
-			int colTyp1 = getItemCol(dw_cell, startRow - 1, L"绫诲瀷1");
-			int colSupplier = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�,宸ュ巶");
-			int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�1,宸ュ巶1");
-			int colSupplier2 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�2,宸ュ巶2");
+			int colTyp = getItemCol(dw_cell, startRow - 1, L"类型");
+			int colTyp1 = getItemCol(dw_cell, startRow - 1, L"类型1");
+			int colSupplier = getItemCol(dw_cell, startRow - 1, L"供应商,工厂");
+			int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"供应商1,工厂1");
+			int colSupplier2 = getItemCol(dw_cell, startRow - 1, L"供应商2,工厂2");
 
 
 			if (col == colSupplier || col == colSupplier1 || col == colSupplier2)
@@ -4483,7 +4450,7 @@
 				if (dw_cell.GetItemString(row, col) == L"")
 					dw_cell.SetItemString(row, col, L" ");
 				xstring prop2 = (xstring)L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
-					L"<edit edittype='query' dddwxpageurl='' dddwdataurl='xquery:[Convert.quickcode.xq]?id=Supplier' dddwtemplateurl='dev:sheet[Supplier.v3.tpl/List]' dddwdatacolumn='Name' dddwdisplaycolumn='Name' dddwwidth='' dddwheight='' dddwautoselect='N' dddwshowbutton='鍚�' dddwcanedit='鏄�'/>" +
+					L"<edit edittype='query' dddwxpageurl='' dddwdataurl='xquery:[Convert.quickcode.xq]?id=Supplier' dddwtemplateurl='dev:sheet[Supplier.v3.tpl/List]' dddwdatacolumn='Name' dddwdisplaycolumn='Name' dddwwidth='' dddwheight='' dddwautoselect='N' dddwshowbutton='否' dddwcanedit='是'/>" +
 					L"</cellprop>";
 				dw_cell.SetCellProps(row, col, prop2);
 				dw_cell.Redraw();
@@ -4491,15 +4458,15 @@
 			else if (col == colTyp1 || col == colTyp)
 			{
 				xstring pitems1 = L"";
-				pitems1 += (xstring)L"&lt;row&gt;&lt;鏄剧ず鍒�&gt;鎴愬搧&lt;/鏄剧ず鍒�&gt;&lt;鏁版嵁鍒�&gt;"
-					+ L"鎴愬搧&lt;/鏁版嵁鍒�&gt;&lt;/row&gt;";
-				pitems1 += (xstring)L"&lt;row&gt;&lt;鏄剧ず鍒�&gt;鏁h揣&lt;/鏄剧ず鍒�&gt;&lt;鏁版嵁鍒�&gt;"
-					+ L"鏁h揣&lt;/鏁版嵁鍒�&gt;&lt;/row&gt;";
-				pitems1 += (xstring)L"&lt;row&gt;&lt;鏄剧ず鍒�&gt;鍖呰&lt;/鏄剧ず鍒�&gt;&lt;鏁版嵁鍒�&gt;"
-					+ L"鍖呰&lt;/鏁版嵁鍒�&gt;&lt;/row&gt;";
+				pitems1 += (xstring)L"&lt;row&gt;&lt;显示列&gt;成品&lt;/显示列&gt;&lt;数据列&gt;"
+					+ L"成品&lt;/数据列&gt;&lt;/row&gt;";
+				pitems1 += (xstring)L"&lt;row&gt;&lt;显示列&gt;散货&lt;/显示列&gt;&lt;数据列&gt;"
+					+ L"散货&lt;/数据列&gt;&lt;/row&gt;";
+				pitems1 += (xstring)L"&lt;row&gt;&lt;显示列&gt;包装&lt;/显示列&gt;&lt;数据列&gt;"
+					+ L"包装&lt;/数据列&gt;&lt;/row&gt;";
 				xstring prop1 = (xstring)L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
-					"<edit edittype='ddlb' ddlbdataurl='' ddlbxml='&lt;data&gt;" + pitems1 + L"&lt;/data&gt;'/>" +
-					"</cellprop>";
+					L"<edit edittype='ddlb' ddlbdataurl='' ddlbxml='&lt;data&gt;" + pitems1 + L"&lt;/data&gt;'/>" +
+					L"</cellprop>";
 				dw_cell.SetCellProps(row, col, prop1);
 			}
 
@@ -4516,14 +4483,14 @@
 					{
 						if (price0.find(L"A") < 1 && price0.find(L"B") < 1 && price0.find(L"C") < 1 && price0.find(L"a") < 1 && price0.find(L"b") < 1 && price0.find(L"b") < 1)
 						{
-							alert(L"浠锋牸涓病鎸囧畾ABC");
+							alert(L"价格中没指定ABC");
 						}
 					}
 					if (price1 != L"")
 					{
 						if (price1.find(L"A") < 1 && price1.find(L"B") < 1 && price1.find(L"C") < 1 && price1.find(L"a") < 1 && price1.find(L"b") < 1 && price1.find(L"c") < 1)
 						{
-							alert(L"浠锋牸涓病鎸囧畾ABC");
+							alert(L"价格中没指定ABC");
 						}
 						price = price0 + L"+L" + price1;
 					}
@@ -4569,12 +4536,12 @@
 
 		xstring sh = doc.GetXml();
 		int p = cast(sh as int);
-		win32::SendMessage(m_winHwnd, 0x401, p, 0);
+		SendMessage(m_winHwnd, 0x401, p, 0);
 		*/
 		return 1;
 	}
 
-	//鍛戒护澶勭悊浜嬩欢
+	//命令处理事件
 	int OnXCommand(TEvent * evt, LPARAM param)
 	{
 		return OnCmdDispatch(evt->xcommand.pStrID);
@@ -4582,19 +4549,19 @@
 
 	int OnAttachListon()
 	{
-		//缁戝畾宸ュ叿鏉$偣鍑讳簨浠�
-		AttachEvent(L"WM_XCOMMAND", OnXCommand);
-		//鑾峰彇鐒︾偣浜嬩欢锛岀敤浜庨噸缃伐鍏锋潯
-		AttachEvent(L"WM_SETFOCUS", OnSetFocus);
+		//绑定工具条点击事件
+		AttachEvent(L"WM_XCOMMAND", (FEvent)&QuoteFileView::OnXCommand);
+		//获取焦点事件,用于重置工具条
+		AttachEvent(L"WM_SETFOCUS", (FEvent)&QuoteFileView::OnSetFocus);
 
-		AttachEvent(L"frame:im1", L"IMG_LDBCLICK", OnImgDBClicked);
+		AttachEvent(L"frame:im1", L"IMG_LDBCLICK", (FEvent)&QuoteFileView::OnImgDBClicked);
 
-		AttachEvent(L"dw_base", L"DWV_ITEMCHANGED", OnItemChanged);
-		AttachEvent(L"dw_goods", L"DWV_ROWFOCUSCHANGED", OnRowChanged);
+		AttachEvent(L"dw_base", L"DWV_ITEMCHANGED", (FEvent)&QuoteFileView::OnItemChanged);
+		AttachEvent(L"dw_goods", L"DWV_ROWFOCUSCHANGED", (FEvent)&QuoteFileView::OnRowChanged);
 
-		AttachEvent(L"dw_cell", L"DWV_CLICKED", OnCellClicked);
-		AttachEvent(L"dw_cell", L"CELL_ITEMCHANGED", OnCellItemChanged);
-		AttachEvent(L"dw_cell", L"CELL_SELECTCHANGED", OnCellSelectChanged);
+		AttachEvent(L"dw_cell", L"DWV_CLICKED", (FEvent)&QuoteFileView::OnCellClicked);
+		AttachEvent(L"dw_cell", L"CELL_ITEMCHANGED", (FEvent)&QuoteFileView::OnCellItemChanged);
+		AttachEvent(L"dw_cell", L"CELL_SELECTCHANGED", (FEvent)&QuoteFileView::OnCellSelectChanged);
 		return 1;
 	}
 
@@ -4623,30 +4590,30 @@
 	{
 		int startRow = getItemHeadRow(dw_cell);
 
-		//娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+		//没有找到商品行的标题
 		if (startRow < 1) return 0;
 		startRow++;
 
-		int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
-		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+		int colItemNo = getItemCol(dw_cell, startRow - 1, L"我司型号,ItemNo");
+		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"客户型号,Customer ItemNo,Customer Item No");
 		int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
-		int colItemCName = getItemCol(dw_cell, startRow - 1, L"涓枃鍝佸悕");
-		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
-		int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�,閲囪喘浠锋牸");
-		int colBuyer = getItemCol(dw_cell, startRow - 1, L"閲囪喘浜哄憳");
+		int colItemCName = getItemCol(dw_cell, startRow - 1, L"中文品名");
+		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,规格,产品规格");
+		int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"采购价,采购价格");
+		int colBuyer = getItemCol(dw_cell, startRow - 1, L"采购人员");
 
-		int colBuyerRemark = getItemCol(dw_cell, startRow - 1, L"閲囪喘To涓氬姟澶囨敞");
-		int colFactoryImage = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
-		int colGWT = getItemCol(dw_cell, startRow - 1, L"姣涢噸,姣涢噸(KG)L");
-		int colNWT = getItemCol(dw_cell, startRow - 1, L"鍑�閲�,鍑�閲�(KG)L");
-		int colVolDesc = getItemCol(dw_cell, startRow - 1, L"浣撶Н鎻忚堪,闀縓瀹絏楂�,闀縓瀹絏楂�(CM)L");
-		int colVol = getItemCol(dw_cell, startRow - 1, L"浣撶Н,浣撶Н(M3)L");
+		int colBuyerRemark = getItemCol(dw_cell, startRow - 1, L"采购To业务备注");
+		int colFactoryImage = getItemCol(dw_cell, startRow - 1, L"工厂图片");
+		int colGWT = getItemCol(dw_cell, startRow - 1, L"毛重,毛重(KG)L");
+		int colNWT = getItemCol(dw_cell, startRow - 1, L"净重,净重(KG)L");
+		int colVolDesc = getItemCol(dw_cell, startRow - 1, L"体积描述,长X宽X高,长X宽X高(CM)L");
+		int colVol = getItemCol(dw_cell, startRow - 1, L"体积,体积(M3)L");
 		int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
-		int colPurchedDate = getItemCol(dw_cell, startRow - 1, L"閲囪喘鎻愪氦涓氬姟鏃堕棿");
-		int colPhoto1 = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
-		//int colProductInfo = getItemCol(dw_cell,startRow - 1,L"浜у搧淇℃伅");
-		int colProductInfo = getItemCol(dw_cell, startRow - 1, L"涓氬姟閮ㄤ骇鍝佷俊鎭�");
-		int colProductInfo1 = getItemCol(dw_cell, startRow - 1, L"閲囪喘閮ㄤ骇鍝佷俊鎭�");
+		int colPurchedDate = getItemCol(dw_cell, startRow - 1, L"采购提交业务时间");
+		int colPhoto1 = getItemCol(dw_cell, startRow - 1, L"工厂图片");
+		//int colProductInfo = getItemCol(dw_cell,startRow - 1,L"产品信息");
+		int colProductInfo = getItemCol(dw_cell, startRow - 1, L"业务部产品信息");
+		int colProductInfo1 = getItemCol(dw_cell, startRow - 1, L"采购部产品信息");
 
 		int LastRow = dw_cell.GetValidRow();
 		KXMLDOMNodeList items = x.selectNodes(L"//Item");
@@ -4769,9 +4736,8 @@
 		xstring templ = L"";
 		taskid = L"";
 		xaserverarg  arg;
-		if (GetParam()) {
-			arg ;
-			arg.setNativePointer(GetParam());
+		if (GetWinParam()) {
+			arg = GetArg();
 			templ = arg.GetArgString(L"template");
 			entityID = arg.GetArgString(L"EntityID");
 			taskid = arg.GetArgString(L"TaskID");
@@ -4827,7 +4793,7 @@
 
 			dw_cell.openUrl(templateurl);
 			*/
-			//win32::SetWindowText(GetHWND(),L"鎶ヤ环鏂囦欢:[new]");
+			//SetWindowText(GetHWND(),L"报价文件:[new]");
 		}
 
 		ARow = 0;
@@ -4872,7 +4838,7 @@
 			}
 		}
 
-		OnAttachEvent();
+		OnAttachListon();
 		filename = L"";
 
 		/*	#define LayerFlow_None			0x00000001		//not layer space
@@ -4907,17 +4873,17 @@
 	{
 		int startRow = getItemHeadRow(dw_cell);
 
-		//娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+		//没有找到商品行的标题
 		if (startRow < 1) return L"<data/>";
 		startRow++;
 
 		int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
-		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+		int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,规格,产品规格");
 
-		int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�1");
-		int colSupplier2 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�2");
-		int colSupplier3 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�3");
-		int colSupplier = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�");
+		int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"供应商1");
+		int colSupplier2 = getItemCol(dw_cell, startRow - 1, L"供应商2");
+		int colSupplier3 = getItemCol(dw_cell, startRow - 1, L"供应商3");
+		int colSupplier = getItemCol(dw_cell, startRow - 1, L"供应商");
 
 		int LastRow = dw_cell.GetValidRow();
 		xstring content = L"";
@@ -4992,9 +4958,9 @@
 		if (action != L"purch") return 1;
 		xstring content = GetMySupplier();
 		xaserverarg arg ;
-		arg.setNativePointer(xaserverarg::CreateInstance());
+		
 		arg.AddArg(L"value", content);
-		OpenWindow(L"dev:xpage[QuoteSupplierItem.vx]", cast(arg as int));
+		OpenWindow(L"dev:xpage[QuoteSupplierItem.vx]", arg);
 
 		return 1;
 	}
@@ -5002,15 +4968,14 @@
 	bool hasParty(xstring name)
 	{
 		xml x ;
-		
 		xaserverarg arg ;
-		arg.setNativePointer(xaserverarg::CreateInstance());
+		
 		arg.AddArg(L"Name", name);
 		if (getUrl(L"/sale/data/SupplierV3/HasParty", arg.GetString(), x) != 1)
 		{
-			alert(L"error:" + x.xml());
+			alert((xstring)L"error:" + x.xml());
 		}
-		xstring count = x.documentElement.getAttribute(L"count");
+		xstring count = x.documentElement().getAttribute(L"count");
 		if (count != L"0") return true;
 
 		return false;
@@ -5018,14 +4983,13 @@
 
 	int LoadPurcher()
 	{
-		purcher ;
-		purcher.setNativePointer(xml::CreateInstance());
+		xml purcher ;
 		xaserverarg arg ;
-		arg.setNativePointer(xaserverarg::CreateInstance());
-		arg.AddArg(L"id", L"閲囪喘鍛�");
+		
+		arg.AddArg(L"id", L"采购员");
 		if (getUrl(L"/sale/data/Quote/Purcher", arg.GetString(), purcher) != 1)
 		{
-			alert(L"error:" + purcher.GetXml());
+			alert((xstring)L"error:" + purcher.xml());
 		}
 		return 1;
 	}
@@ -5048,9 +5012,8 @@
 		LoadPurcher();
 
 		xaserverarg  arg;
-		if (GetParam()) {
-			arg ;
-			arg.setNativePointer(GetParam());
+		if (GetWinParam()) {
+			arg = GetArg();
 			if (arg.GetArgString(L"bill.purchor") == L"1") OnNextPurch();
 		}
 		return 1;

--
Gitblit v1.9.3