LiFan
2024-07-05 9e409d6e1e2cb1d35cf26f3fd2bd9048c624280f
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"体积描述,长X宽X高,长X宽X高(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"体积描述,长X宽X高,长X宽X高(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"体积描述,长X宽X高,长X宽X高(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"长X宽X高没有录入";
         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"长X宽X高(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"长X宽X高(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"体积描述,长X宽X高,长X宽X高(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"长X宽X高没有录入");
            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"长X宽X高没有录入");
            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"长X宽X高没有录入";
         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"体积描述,长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 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"体积描述,长X宽X高,长X宽X高(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"体积描述,长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 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;散货&lt;/显示列&gt;&lt;数据列&gt;"
               + L"散货&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"体积描述,长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 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;散货&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;";
            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"体积描述,长X宽X高,长X宽X高(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;