LiFan
2025-04-24 9b3b2eb20b09e13da837a28f16e552ba70a090c4
jrj/project/business/QuoteFile.cpp
@@ -254,10 +254,10 @@
   {
      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"<QuoteDate>" + dw_base.GetItemString(1, L"QuoteDate") + L"</QuoteDate>";
      base += L"<QuoteNo>" + getBaseXmlItem(cell, L"报价单号:") + L"</QuoteNo>";
      base += L"<ExpDate>" + getBaseXmlItem(cell, L"报价截止日期:") + L"</ExpDate>";
      base += L"<PrjName>" + getBaseXmlItem(cell, L"项目名称:") + L"</PrjName>";
      base += L"<QuoteDate>" + dw_base.GetItemXmlString(1, L"QuoteDate") + L"</QuoteDate>";
      int startRow = getItemHeadRow(cell);
@@ -313,34 +313,34 @@
         xstring itemStr = L"";
         rowid = getRowID(cell, row);
         itemStr += L"<RowID>" + getRowID(cell, row) + L"</RowID>";
         itemStr += L"<SKUID>" + cell.GetItemString(row, colSKUID) + L"</SKUID>";
         itemStr += L"<SKUID>" + cell.GetItemXmlString(row, colSKUID) + L"</SKUID>";
         itemStr += L"<customer-photo>" + getRowTerm(cell, row, L"customer-photo") + L"</customer-photo>";
         itemStr += L"<supplier-photo>" + getRowTerm(cell, row, L"supplier-photo") + L"</supplier-photo>";
         itemStr += L"<customer-photo-url>" + getImageList(getRowTerm(cell, row, L"customer-photo")) + L"</customer-photo-url>";
         itemStr += L"<supplier-photo-url>" + getImageList(getRowTerm(cell, row, L"supplier-photo")) + L"</supplier-photo-url>";
         itemStr += L"<ItemNo>" + cell.GetItemString(row, colItemNo) + L"</ItemNo>";
         itemStr += L"<CustomItemNo>" + cell.GetItemString(row, colCustomerItemNo) + L"</CustomItemNo>";
         itemStr += L"<ItemName>" + cell.GetItemString(row, colItemName) + L"</ItemName>";
         itemStr += L"<ItemCName>" + cell.GetItemString(row, colItemCName) + L"</ItemCName>";
         itemStr += L"<ItemSpec>" + cell.GetItemString(row, colItemSpec) + L"</ItemSpec>";
         itemStr += L"<CustomerImage>" + cell.GetItemString(row, colCustomerImage) + L"</CustomerImage>";
         itemStr += L"<BuyerPrice>" + cell.GetItemString(row, colBuyerPrice) + L"</BuyerPrice>";
         itemStr += L"<SaleRemark>" + cell.GetItemString(row, colSaleRemark) + L"</SaleRemark>";
         itemStr += L"<ItemNo>" + cell.GetItemXmlString(row, colItemNo) + L"</ItemNo>";
         itemStr += L"<CustomItemNo>" + cell.GetItemXmlString(row, colCustomerItemNo) + L"</CustomItemNo>";
         itemStr += L"<ItemName>" + cell.GetItemXmlString(row, colItemName) + L"</ItemName>";
         itemStr += L"<ItemCName>" + cell.GetItemXmlString(row, colItemCName) + L"</ItemCName>";
         itemStr += L"<ItemSpec>" + cell.GetItemXmlString(row, colItemSpec) + L"</ItemSpec>";
         itemStr += L"<CustomerImage>" + cell.GetItemXmlString(row, colCustomerImage) + L"</CustomerImage>";
         itemStr += L"<BuyerPrice>" + cell.GetItemXmlString(row, colBuyerPrice) + L"</BuyerPrice>";
         itemStr += L"<SaleRemark>" + cell.GetItemXmlString(row, colSaleRemark) + L"</SaleRemark>";
         itemStr += L"<BuyerMOQ>" + cell.GetItemString(row, colBuyerMOQ) + L"</BuyerMOQ>";
         itemStr += L"<BuyerRemark>" + cell.GetItemString(row, colBuyerRemark) + L"</BuyerRemark>";
         itemStr += L"<FactoryImage>" + cell.GetItemString(row, colFactoryImage) + L"</FactoryImage>";
         itemStr += L"<GWT>" + cell.GetItemString(row, colGWT) + L"</GWT>";
         itemStr += L"<NWT>" + cell.GetItemString(row, colNWT) + L"</NWT>";
         itemStr += L"<VolDesc>" + cell.GetItemString(row, colVolDesc) + L"</VolDesc>";
         itemStr += L"<Vol>" + cell.GetItemString(row, colVol) + L"</Vol>";
         itemStr += L"<F40HQ>" + cell.GetItemString(row, col40HQ) + L"</F40HQ>";
         itemStr += L"<Packing>" + cell.GetItemString(row, colInnerOuter) + L"</Packing>";
         itemStr += L"<Quantity>" + cell.GetItemString(row, colItemQty) + L"</Quantity>";
         itemStr += L"<Package>" + cell.GetItemString(row, colPackage) + L"</Package>";
         itemStr += L"<Buyer>" + cell.GetItemString(row, colBuyer) + L"</Buyer>";
         itemStr += L"<RemarkS>" + cell.GetItemString(row, colRemark) + L"</RemarkS>";
         itemStr += L"<FOBPrice>" + cell.GetItemString(row, colFOBPrice) + L"</FOBPrice>";
         itemStr += L"<BuyerMOQ>" + cell.GetItemXmlString(row, colBuyerMOQ) + L"</BuyerMOQ>";
         itemStr += L"<BuyerRemark>" + cell.GetItemXmlString(row, colBuyerRemark) + L"</BuyerRemark>";
         itemStr += L"<FactoryImage>" + cell.GetItemXmlString(row, colFactoryImage) + L"</FactoryImage>";
         itemStr += L"<GWT>" + cell.GetItemXmlString(row, colGWT)+ L"</GWT>";
         itemStr += L"<NWT>" + cell.GetItemXmlString(row, colNWT) + L"</NWT>";
         itemStr += L"<VolDesc>" + cell.GetItemXmlString(row, colVolDesc) + L"</VolDesc>";
         itemStr += L"<Vol>" + cell.GetItemXmlString(row, colVol) + L"</Vol>";
         itemStr += L"<F40HQ>" + cell.GetItemXmlString(row, col40HQ) + L"</F40HQ>";
         itemStr += L"<Packing>" + cell.GetItemXmlString(row, colInnerOuter) + L"</Packing>";
         itemStr += L"<Quantity>" + cell.GetItemXmlString(row, colItemQty) + L"</Quantity>";
         itemStr += L"<Package>" + cell.GetItemXmlString(row, colPackage) + L"</Package>";
         itemStr += L"<Buyer>" + cell.GetItemXmlString(row, colBuyer) + L"</Buyer>";
         itemStr += L"<RemarkS>" + cell.GetItemXmlString(row, colRemark) + L"</RemarkS>";
         itemStr += L"<FOBPrice>" + cell.GetItemXmlString(row, colFOBPrice) + L"</FOBPrice>";
         itemStr += L"<PurchedDate>" + sdate + L"</PurchedDate>";
@@ -356,10 +356,10 @@
   {
      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"<QuoteDate>" + dw_base.GetItemString(1, L"QuoteDate") + L"</QuoteDate>";
      base += L"<QuoteNo>" + getBaseXmlItem(cell, L"报价单号:") + L"</QuoteNo>";
      base += L"<ExpDate>" + getBaseXmlItem(cell, L"报价截止日期:") + L"</ExpDate>";
      base += L"<PrjName>" + getBaseXmlItem(cell, L"项目名称:") + L"</PrjName>";
      base += L"<QuoteDate>" + dw_base.GetItemXmlString(1, L"QuoteDate") + L"</QuoteDate>";
      int startRow = getItemHeadRow(cell);
@@ -423,46 +423,46 @@
         xstring itemStr = L"";
         itemStr += L"<RowID>" + getRowID(cell, row) + L"</RowID>";
         itemStr += L"<SKUID>" + cell.GetItemString(row, colSKUID) + L"</SKUID>";
         itemStr += L"<SKUID>" + cell.GetItemXmlString(row, colSKUID) + L"</SKUID>";
         itemStr += L"<customer-photo>" + getRowTerm(cell, row, L"customer-photo") + L"</customer-photo>";
         itemStr += L"<supplier-photo>" + getRowTerm(cell, row, L"supplier-photo") + L"</supplier-photo>";
         itemStr += L"<ItemNo>" + cell.GetItemString(row, colItemNo) + L"</ItemNo>";
         itemStr += L"<CustomItemNo>" + cell.GetItemString(row, colCustomerItemNo) + L"</CustomItemNo>";
         itemStr += L"<ItemName>" + cell.GetItemString(row, colItemName) + L"</ItemName>";
         itemStr += L"<ItemCName>" + cell.GetItemString(row, colItemCName) + L"</ItemCName>";
         itemStr += L"<ItemSpec>" + cell.GetItemString(row, colItemSpec) + L"</ItemSpec>";
         itemStr += L"<CustomerImage>" + cell.GetItemString(row, colCustomerImage) + L"</CustomerImage>";
         itemStr += L"<BuyerPrice>" + cell.GetItemString(row, colBuyerPrice) + L"</BuyerPrice>";
         itemStr += L"<SaleRemark>" + cell.GetItemString(row, colSaleRemark) + L"</SaleRemark>";
         itemStr += L"<ItemNo>" + cell.GetItemXmlString(row, colItemNo) + L"</ItemNo>";
         itemStr += L"<CustomItemNo>" + cell.GetItemXmlString(row, colCustomerItemNo) + L"</CustomItemNo>";
         itemStr += L"<ItemName>" + cell.GetItemXmlString(row, colItemName) + L"</ItemName>";
         itemStr += L"<ItemCName>" + cell.GetItemXmlString(row, colItemCName) + L"</ItemCName>";
         itemStr += L"<ItemSpec>" + cell.GetItemXmlString(row, colItemSpec) + L"</ItemSpec>";
         itemStr += L"<CustomerImage>" + cell.GetItemXmlString(row, colCustomerImage) + L"</CustomerImage>";
         itemStr += L"<BuyerPrice>" + cell.GetItemXmlString(row, colBuyerPrice) + L"</BuyerPrice>";
         itemStr += L"<SaleRemark>" + cell.GetItemXmlString(row, colSaleRemark) + L"</SaleRemark>";
         itemStr += L"<BuyerMOQ>" + cell.GetItemString(row, colBuyerMOQ) + L"</BuyerMOQ>";
         itemStr += L"<BuyerRemark>" + cell.GetItemString(row, colBuyerRemark) + L"</BuyerRemark>";
         itemStr += L"<FactoryImage>" + cell.GetItemString(row, colFactoryImage) + L"</FactoryImage>";
         itemStr += L"<GWT>" + cell.GetItemString(row, colGWT) + L"</GWT>";
         itemStr += L"<NWT>" + cell.GetItemString(row, colNWT) + L"</NWT>";
         itemStr += L"<VolDesc>" + cell.GetItemString(row, colVolDesc) + L"</VolDesc>";
         itemStr += L"<Vol>" + cell.GetItemString(row, colVol) + L"</Vol>";
         itemStr += L"<F40HQ>" + cell.GetItemString(row, col40HQ) + L"</F40HQ>";
         itemStr += L"<Packing>" + cell.GetItemString(row, colInnerOuter) + L"</Packing>";
         itemStr += L"<Quantity>" + cell.GetItemString(row, colItemQty) + L"</Quantity>";
         itemStr += L"<Package>" + cell.GetItemString(row, colPackage) + L"</Package>";
         itemStr += L"<Buyer>" + cell.GetItemString(row, colBuyer) + L"</Buyer>";
         itemStr += L"<RemarkS>" + cell.GetItemString(row, colRemark) + L"</RemarkS>";
         itemStr += L"<FOBPrice>" + cell.GetItemString(row, colFOBPrice) + L"</FOBPrice>";
         itemStr += L"<BuyerMOQ>" + cell.GetItemXmlString(row, colBuyerMOQ) + L"</BuyerMOQ>";
         itemStr += L"<BuyerRemark>" + cell.GetItemXmlString(row, colBuyerRemark) + L"</BuyerRemark>";
         itemStr += L"<FactoryImage>" + cell.GetItemXmlString(row, colFactoryImage) + L"</FactoryImage>";
         itemStr += L"<GWT>" + cell.GetItemXmlString(row, colGWT) + L"</GWT>";
         itemStr += L"<NWT>" + cell.GetItemXmlString(row, colNWT) + L"</NWT>";
         itemStr += L"<VolDesc>" + cell.GetItemXmlString(row, colVolDesc) + L"</VolDesc>";
         itemStr += L"<Vol>" + cell.GetItemXmlString(row, colVol) + L"</Vol>";
         itemStr += L"<F40HQ>" + cell.GetItemXmlString(row, col40HQ) + L"</F40HQ>";
         itemStr += L"<Packing>" + cell.GetItemXmlString(row, colInnerOuter) + L"</Packing>";
         itemStr += L"<Quantity>" + cell.GetItemXmlString(row, colItemQty) + L"</Quantity>";
         itemStr += L"<Package>" + cell.GetItemXmlString(row, colPackage) + L"</Package>";
         itemStr += L"<Buyer>" + cell.GetItemXmlString(row, colBuyer) + L"</Buyer>";
         itemStr += L"<RemarkS>" + cell.GetItemXmlString(row, colRemark) + L"</RemarkS>";
         itemStr += L"<FOBPrice>" + cell.GetItemXmlString(row, colFOBPrice) + L"</FOBPrice>";
         itemStr += L"<Supplier>" + cell.GetItemString(row, colSupplier) + L"</Supplier>";
         itemStr += L"<Supplier1>" + cell.GetItemString(row, colSupplier1) + L"</Supplier1>";
         itemStr += L"<Supplier2>" + cell.GetItemString(row, colSupplier2) + L"</Supplier2>";
         itemStr += L"<Supplier3>" + cell.GetItemString(row, colSupplier3) + L"</Supplier3>";
         itemStr += L"<POPrice>" + cell.GetItemString(row, colPOPrice) + L"</POPrice>";
         itemStr += L"<POPrice1>" + cell.GetItemString(row, colPOPrice1) + L"</POPrice1>";
         itemStr += L"<POPrice2>" + cell.GetItemString(row, colPOPrice2) + L"</POPrice2>";
         itemStr += L"<POPrice3>" + cell.GetItemString(row, colPOPrice3) + L"</POPrice3>";
         itemStr += L"<Supplier>" + cell.GetItemXmlString(row, colSupplier) + L"</Supplier>";
         itemStr += L"<Supplier1>" + cell.GetItemXmlString(row, colSupplier1) + L"</Supplier1>";
         itemStr += L"<Supplier2>" + cell.GetItemXmlString(row, colSupplier2) + L"</Supplier2>";
         itemStr += L"<Supplier3>" + cell.GetItemXmlString(row, colSupplier3) + L"</Supplier3>";
         itemStr += L"<POPrice>" + cell.GetItemXmlString(row, colPOPrice) + L"</POPrice>";
         itemStr += L"<POPrice1>" + cell.GetItemXmlString(row, colPOPrice1) + L"</POPrice1>";
         itemStr += L"<POPrice2>" + cell.GetItemXmlString(row, colPOPrice2) + L"</POPrice2>";
         itemStr += L"<POPrice3>" + cell.GetItemXmlString(row, colPOPrice3) + L"</POPrice3>";
         itemStr += L"<BOMType>" + cell.GetItemString(row, colBOMType) + L"</BOMType>";
         itemStr += L"<BOMType1>" + cell.GetItemString(row, colBOMType1) + L"</BOMType1>";
         itemStr += L"<BOMType2>" + cell.GetItemString(row, colBOMType2) + L"</BOMType2>";
         itemStr += L"<BOMType3>" + cell.GetItemString(row, colBOMType2) + L"</BOMType3>";
         itemStr += L"<BOMType>" + cell.GetItemXmlString(row, colBOMType) + L"</BOMType>";
         itemStr += L"<BOMType1>" + cell.GetItemXmlString(row, colBOMType1) + L"</BOMType1>";
         itemStr += L"<BOMType2>" + cell.GetItemXmlString(row, colBOMType2) + L"</BOMType2>";
         itemStr += L"<BOMType3>" + cell.GetItemXmlString(row, colBOMType2) + L"</BOMType3>";
         itemStr += L"<PurchedDate>" + sdate + L"</PurchedDate>";
         itemStr += L"<EnquiryLineID>" + getRowTerm(cell, row, L"EnquiryLineID") + L"</EnquiryLineID>";
@@ -474,19 +474,19 @@
            if (cell.GetItemString(row, colItemName) != L"" || cell.GetItemString(row, colItemSpec) != L"") break;
            if (cell.GetItemString(row, colSupplier) == L"")break;
            xstring extStr = L"";
            extStr += L"<Supplier>" + cell.GetItemString(row, colSupplier) + L"</Supplier>";
            extStr += L"<Supplier1>" + cell.GetItemString(row, colSupplier1) + L"</Supplier1>";
            extStr += L"<Supplier2>" + cell.GetItemString(row, colSupplier2) + L"</Supplier2>";
            extStr += L"<Supplier3>" + cell.GetItemString(row, colSupplier3) + L"</Supplier3>";
            extStr += L"<POPrice>" + cell.GetItemString(row, colPOPrice) + L"</POPrice>";
            extStr += L"<POPrice1>" + cell.GetItemString(row, colPOPrice1) + L"</POPrice1>";
            extStr += L"<POPrice2>" + cell.GetItemString(row, colPOPrice2) + L"</POPrice2>";
            extStr += L"<POPrice3>" + cell.GetItemString(row, colPOPrice3) + L"</POPrice3>";
            extStr += L"<Supplier>" + cell.GetItemXmlString(row, colSupplier) + L"</Supplier>";
            extStr += L"<Supplier1>" + cell.GetItemXmlString(row, colSupplier1) + L"</Supplier1>";
            extStr += L"<Supplier2>" + cell.GetItemXmlString(row, colSupplier2) + L"</Supplier2>";
            extStr += L"<Supplier3>" + cell.GetItemXmlString(row, colSupplier3) + L"</Supplier3>";
            extStr += L"<POPrice>" + cell.GetItemXmlString(row, colPOPrice) + L"</POPrice>";
            extStr += L"<POPrice1>" + cell.GetItemXmlString(row, colPOPrice1) + L"</POPrice1>";
            extStr += L"<POPrice2>" + cell.GetItemXmlString(row, colPOPrice2) + L"</POPrice2>";
            extStr += L"<POPrice3>" + cell.GetItemXmlString(row, colPOPrice3) + L"</POPrice3>";
            extStr += L"<BOMType>" + cell.GetItemString(row, colBOMType) + L"</BOMType>";
            extStr += L"<BOMType1>" + cell.GetItemString(row, colBOMType1) + L"</BOMType1>";
            extStr += L"<BOMType2>" + cell.GetItemString(row, colBOMType2) + L"</BOMType2>";
            extStr += L"<BOMType3>" + cell.GetItemString(row, colBOMType2) + L"</BOMType3>";
            extStr += L"<BOMType>" + cell.GetItemXmlString(row, colBOMType) + L"</BOMType>";
            extStr += L"<BOMType1>" + cell.GetItemXmlString(row, colBOMType1) + L"</BOMType1>";
            extStr += L"<BOMType2>" + cell.GetItemXmlString(row, colBOMType2) + L"</BOMType2>";
            extStr += L"<BOMType3>" + cell.GetItemXmlString(row, colBOMType2) + L"</BOMType3>";
            itemStr += L"<ExtItem>" + extStr + L"</ExtItem>"; //备用采购信息
            xstring eid = GetGuid();
@@ -567,6 +567,11 @@
      im.Redraw();
      return 1;
   }
   xstring getBaseXmlItem(xcell dw_cell, xstring colname)
   {
      return xutil::ToXmlText(getBaseItem(dw_cell, colname));
   }
   xstring getBaseItem(xcell dw_cell, xstring colname)
@@ -858,14 +863,14 @@
         xstring itemStr = L"";
         itemStr += L"<RowID>" + getRowID(dw_cell, row) + L"</RowID>";
         itemStr += L"<ItemNo>" + dw_cell.GetItemString(row, colItemNo) + L"</ItemNo>";
         itemStr += L"<CustomerItemNo>" + dw_cell.GetItemString(row, colCustomerItemNo) + L"</CustomerItemNo>";
         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"<BuyerPrice>" + dw_cell.GetItemString(row, colBuyerPrice) + L"</BuyerPrice>";
         itemStr += L"<ProductInfo>" + dw_cell.GetItemString(row, colProductInfo) + L"</ProductInfo>";
         itemStr += L"<ProductInfo1>" + dw_cell.GetItemString(row, colProductInfo1) + L"</ProductInfo1>";
         itemStr += L"<ItemNo>" + dw_cell.GetItemXmlString(row, colItemNo) + L"</ItemNo>";
         itemStr += L"<CustomerItemNo>" + dw_cell.GetItemXmlString(row, colCustomerItemNo) + L"</CustomerItemNo>";
         itemStr += L"<ItemName>" + dw_cell.GetItemXmlString(row, colItemName) + L"</ItemName>";
         itemStr += L"<ItemCName>" + dw_cell.GetItemXmlString(row, colItemCName) + L"</ItemCName>";
         itemStr += L"<ItemSpec>" + dw_cell.GetItemXmlString(row, colItemSpec) + L"</ItemSpec>";
         itemStr += L"<BuyerPrice>" + dw_cell.GetItemXmlString(row, colBuyerPrice) + L"</BuyerPrice>";
         itemStr += L"<ProductInfo>" + dw_cell.GetItemXmlString(row, colProductInfo) + L"</ProductInfo>";
         itemStr += L"<ProductInfo1>" + dw_cell.GetItemXmlString(row, colProductInfo1) + L"</ProductInfo1>";
         if (dw_cell.GetItemString(row, colBuyerPrice) == L"") return L"采购价格没有录入";
         if (dw_cell.GetItemString(row, colGWT) == L"") return L"毛重没有录入";
@@ -884,14 +889,14 @@
         {
            if (dw_cell.GetItemString(row, colPOPrice1) == L"") return L"采购价格1没有录入";
         }
         itemStr += L"<BuyerMOQ>" + dw_cell.GetItemString(row, colBuyerMOQ) + L"</BuyerMOQ>";
         itemStr += L"<BuyerRemark>" + dw_cell.GetItemString(row, colBuyerRemark) + L"</BuyerRemark>";
         itemStr += L"<FactoryImage>" + dw_cell.GetItemString(row, colFactoryImage) + L"</FactoryImage>";
         itemStr += L"<GWT>" + dw_cell.GetItemString(row, colGWT) + L"</GWT>";
         itemStr += L"<NWT>" + dw_cell.GetItemString(row, colNWT) + L"</NWT>";
         itemStr += L"<VolDesc>" + dw_cell.GetItemString(row, colVolDesc) + L"</VolDesc>";
         itemStr += L"<Vol>" + dw_cell.GetItemString(row, colVol) + L"</Vol>";
         itemStr += L"<F40HQ>" + dw_cell.GetItemString(row, col40HQ) + L"</F40HQ>";
         itemStr += L"<BuyerMOQ>" + dw_cell.GetItemXmlString(row, colBuyerMOQ) + L"</BuyerMOQ>";
         itemStr += L"<BuyerRemark>" + dw_cell.GetItemXmlString(row, colBuyerRemark) + L"</BuyerRemark>";
         itemStr += L"<FactoryImage>" + dw_cell.GetItemXmlString(row, colFactoryImage) + L"</FactoryImage>";
         itemStr += L"<GWT>" + dw_cell.GetItemXmlString(row, colGWT) + L"</GWT>";
         itemStr += L"<NWT>" + dw_cell.GetItemXmlString(row, colNWT) + L"</NWT>";
         itemStr += L"<VolDesc>" + dw_cell.GetItemXmlString(row, colVolDesc) + L"</VolDesc>";
         itemStr += L"<Vol>" + dw_cell.GetItemXmlString(row, colVol) + L"</Vol>";
         itemStr += L"<F40HQ>" + dw_cell.GetItemXmlString(row, col40HQ) + L"</F40HQ>";
         itemStr += L"<PurchedDate>" + sdate + L"</PurchedDate>";
         itemStr += L"<EnquiryLineID>" + getRowTerm(dw_cell, row, L"EnquiryLineID") + L"</EnquiryLineID>";
@@ -1057,25 +1062,25 @@
         xstring itemStr = L"";
         xstring issend = L"1";
         itemStr += L"<RowID>" + getRowID(dw_cell, row) + L"</RowID>";
         itemStr += L"<ItemNo>" + dw_cell.GetItemString(row, colItemNo) + L"</ItemNo>";
         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"<ItemNo>" + dw_cell.GetItemXmlString(row, colItemNo) + L"</ItemNo>";
         itemStr += L"<ItemName>" + dw_cell.GetItemXmlString(row, colItemName) + L"</ItemName>";
         itemStr += L"<ItemCName>" + dw_cell.GetItemXmlString(row, colItemCName) + L"</ItemCName>";
         itemStr += L"<ItemSpec>" + dw_cell.GetItemXmlString(row, colItemSpec) + L"</ItemSpec>";
         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>";
         itemStr += L"<GWT>" + dw_cell.GetItemString(row, colGW) + L"</GWT>";
         itemStr += L"<VolDesc>" + dw_cell.GetItemString(row, colVolDesc) + L"</VolDesc>";
         itemStr += L"<Supplier>" + dw_cell.GetItemString(row, colSupplier) + L"</Supplier>";
         itemStr += L"<BuyPrice>" + dw_cell.GetItemString(row, colPOPrice) + L"</BuyPrice>";
         itemStr += L"<Supplier1>" + dw_cell.GetItemString(row, colSupplier1) + L"</Supplier1>";
         itemStr += L"<BuyPrice1>" + dw_cell.GetItemString(row, colPOPrice1) + L"</BuyPrice1>";
         itemStr += L"<BOMType1>" + dw_cell.GetItemString(row, colBOMType1) + L"</BOMType1>";
         itemStr += L"<BOMType>" + dw_cell.GetItemString(row, colBOMType) + L"</BOMType>";
         itemStr += L"<POPrice>" + dw_cell.GetItemString(row, colPrice) + L"</POPrice>";
         itemStr += L"<ProductInfo>" + dw_cell.GetItemString(row, colProductInfo) + L"</ProductInfo>";
         itemStr += L"<ProductInfo1>" + dw_cell.GetItemString(row, colProductInfo1) + L"</ProductInfo1>";
         itemStr += L"<Purchor>" + dw_cell.GetItemXmlString(row, colBuyer) + L"</Purchor>";
         itemStr += L"<Package>" + dw_cell.GetItemXmlString(row, colPackage) + L"</Package>";
         itemStr += L"<NWT>" + dw_cell.GetItemXmlString(row, colNW) + L"</NWT>";
         itemStr += L"<GWT>" + dw_cell.GetItemXmlString(row, colGW) + L"</GWT>";
         itemStr += L"<VolDesc>" + dw_cell.GetItemXmlString(row, colVolDesc) + L"</VolDesc>";
         itemStr += L"<Supplier>" + dw_cell.GetItemXmlString(row, colSupplier) + L"</Supplier>";
         itemStr += L"<BuyPrice>" + dw_cell.GetItemXmlString(row, colPOPrice) + L"</BuyPrice>";
         itemStr += L"<Supplier1>" + dw_cell.GetItemXmlString(row, colSupplier1) + L"</Supplier1>";
         itemStr += L"<BuyPrice1>" + dw_cell.GetItemXmlString(row, colPOPrice1) + L"</BuyPrice1>";
         itemStr += L"<BOMType1>" + dw_cell.GetItemXmlString(row, colBOMType1) + L"</BOMType1>";
         itemStr += L"<BOMType>" + dw_cell.GetItemXmlString(row, colBOMType) + L"</BOMType>";
         itemStr += L"<POPrice>" + dw_cell.GetItemXmlString(row, colPrice) + L"</POPrice>";
         itemStr += L"<ProductInfo>" + dw_cell.GetItemXmlString(row, colProductInfo) + L"</ProductInfo>";
         itemStr += L"<ProductInfo1>" + dw_cell.GetItemXmlString(row, colProductInfo1) + L"</ProductInfo1>";
         if (dw_cell.GetItemString(row, colBuyer) == L"")issend = L"0";
         itemStr += L"<IsSend>" + issend + L"</IsSend>";
@@ -1123,19 +1128,19 @@
         xstring itemStr = L"";
         xstring issend = L"1";
         itemStr += L"<RowID>" + getRowID(dw_cell, row) + L"</RowID>";
         itemStr += L"<ItemNo>" + dw_cell.GetItemString(row, colItemNo) + L"</ItemNo>";
         itemStr += L"<CustomerItemNo>" + dw_cell.GetItemString(row, colCustomerItemNo) + L"</CustomerItemNo>";
         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"<ItemNo>" + dw_cell.GetItemXmlString(row, colItemNo) + L"</ItemNo>";
         itemStr += L"<CustomerItemNo>" + dw_cell.GetItemXmlString(row, colCustomerItemNo) + L"</CustomerItemNo>";
         itemStr += L"<ItemName>" + dw_cell.GetItemXmlString(row, colItemName) + L"</ItemName>";
         itemStr += L"<ItemCName>" + dw_cell.GetItemXmlString(row, colItemCName) + L"</ItemCName>";
         itemStr += L"<ItemSpec>" + dw_cell.GetItemXmlString(row, colItemSpec) + L"</ItemSpec>";
         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>";
         itemStr += L"<GWT>" + dw_cell.GetItemString(row, colGW) + L"</GWT>";
         itemStr += L"<VolDesc>" + dw_cell.GetItemString(row, colVolDesc) + L"</VolDesc>";
         itemStr += L"<ProductInfo>" + dw_cell.GetItemString(row, colProductInfo) + L"</ProductInfo>";
         itemStr += L"<ProductInfo1>" + dw_cell.GetItemString(row, colProductInfo1) + L"</ProductInfo1>";
         itemStr += L"<Purchor>" + dw_cell.GetItemXmlString(row, colBuyer) + L"</Purchor>";
         itemStr += L"<Package>" + dw_cell.GetItemXmlString(row, colPackage) + L"</Package>";
         itemStr += L"<NWT>" + dw_cell.GetItemXmlString(row, colNW) + L"</NWT>";
         itemStr += L"<GWT>" + dw_cell.GetItemXmlString(row, colGW) + L"</GWT>";
         itemStr += L"<VolDesc>" + dw_cell.GetItemXmlString(row, colVolDesc) + L"</VolDesc>";
         itemStr += L"<ProductInfo>" + dw_cell.GetItemXmlString(row, colProductInfo) + L"</ProductInfo>";
         itemStr += L"<ProductInfo1>" + dw_cell.GetItemXmlString(row, colProductInfo1) + L"</ProductInfo1>";
         if (dw_cell.GetItemString(row, colBuyer) == L"")issend = L"0";
         itemStr += L"<IsSend>" + issend + L"</IsSend>";
@@ -1177,14 +1182,14 @@
         xstring itemStr = L"";
         xstring issend=L"1";
         itemStr += L"<RowID>"+getRowID(dw_cell,row)+L"</RowID>";
         itemStr += L"<ItemNo>"+dw_cell.GetItemString(row, colItemNo)+L"</ItemNo>";
         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"<ItemNo>"+dw_cell.GetItemXmlString(row, colItemNo)+L"</ItemNo>";
         itemStr += L"<ItemName>"+dw_cell.GetItemXmlString(row, colItemName)+L"</ItemName>";
         itemStr += L"<ItemCName>"+dw_cell.GetItemXmlString(row, colItemCName)+L"</ItemCName>";
         itemStr += L"<ItemSpec>"+dw_cell.GetItemXmlString(row, colItemSpec)+L"</ItemSpec>";
         itemStr += L"<RowNo>"+(row - startRow +1).toString()+L"</RowNo>";
         itemStr += L"<Purchor>"+dw_cell.GetItemString(row, colBuyer)+L"</Purchor>";
         itemStr += L"<Package>"+dw_cell.GetItemString(row, colPackage)+L"</Package>";
         if(dw_cell.GetItemString(row, colBuyer) ==L"")issend=L"0";
         itemStr += L"<Purchor>"+dw_cell.GetItemXmlString(row, colBuyer)+L"</Purchor>";
         itemStr += L"<Package>"+dw_cell.GetItemXmlString(row, colPackage)+L"</Package>";
         if(dw_cell.GetItemXmlString(row, colBuyer) ==L"")issend=L"0";
         itemStr += L"<IsSend>"+issend+L"</IsSend>";
         items += L"<Item>"+itemStr+L"</Item>";
@@ -1397,14 +1402,14 @@
         //if(dw_cell.GetItemString(row, colItemName)==L"")continue;
         xstring itemStr = L"";
         itemStr += L"<RowID>" + getRowID(dw_cell, row) + L"</RowID>";
         itemStr += L"<ItemNo>" + dw_cell.GetItemString(row, colItemNo) + L"</ItemNo>";
         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"<BuyerPrice>" + dw_cell.GetItemString(row, colBuyerPrice) + L"</BuyerPrice>";
         itemStr += L"<ProductInfo>" + dw_cell.GetItemString(row, colProductInfo) + L"</ProductInfo>";
         itemStr += L"<ProductInfo1>" + dw_cell.GetItemString(row, colProductInfo1) + L"</ProductInfo1>";
         itemStr += L"<Buyer>" + dw_cell.GetItemString(row, colPurchor) + L"</Buyer>";
         itemStr += L"<ItemNo>" + dw_cell.GetItemXmlString(row, colItemNo) + L"</ItemNo>";
         itemStr += L"<ItemName>" + dw_cell.GetItemXmlString(row, colItemName) + L"</ItemName>";
         itemStr += L"<ItemCName>" + dw_cell.GetItemXmlString(row, colItemCName) + L"</ItemCName>";
         itemStr += L"<ItemSpec>" + dw_cell.GetItemXmlString(row, colItemSpec) + L"</ItemSpec>";
         itemStr += L"<BuyerPrice>" + dw_cell.GetItemXmlString(row, colBuyerPrice) + L"</BuyerPrice>";
         itemStr += L"<ProductInfo>" + dw_cell.GetItemXmlString(row, colProductInfo) + L"</ProductInfo>";
         itemStr += L"<ProductInfo1>" + dw_cell.GetItemXmlString(row, colProductInfo1) + L"</ProductInfo1>";
         itemStr += L"<Buyer>" + dw_cell.GetItemXmlString(row, colPurchor) + L"</Buyer>";
         /*
         if(dw_cell.GetItemString(row, colBuyerPrice)==L"") return L"采购价格没有录入";
@@ -1437,14 +1442,14 @@
            if(dw_cell.GetItemString(row, colVolDesc)==L"") return L"体积信息没有录入";
         }
         */
         itemStr += L"<BuyerMOQ>" + dw_cell.GetItemString(row, colBuyerMOQ) + L"</BuyerMOQ>";
         itemStr += L"<BuyerRemark>" + dw_cell.GetItemString(row, colBuyerRemark) + L"</BuyerRemark>";
         itemStr += L"<FactoryImage>" + dw_cell.GetItemString(row, colFactoryImage) + L"</FactoryImage>";
         itemStr += L"<GWT>" + dw_cell.GetItemString(row, colGWT) + L"</GWT>";
         itemStr += L"<NWT>" + dw_cell.GetItemString(row, colNWT) + L"</NWT>";
         itemStr += L"<VolDesc>" + dw_cell.GetItemString(row, colVolDesc) + L"</VolDesc>";
         itemStr += L"<Vol>" + dw_cell.GetItemString(row, colVol) + L"</Vol>";
         itemStr += L"<F40HQ>" + dw_cell.GetItemString(row, col40HQ) + L"</F40HQ>";
         itemStr += L"<BuyerMOQ>" + dw_cell.GetItemXmlString(row, colBuyerMOQ) + L"</BuyerMOQ>";
         itemStr += L"<BuyerRemark>" + dw_cell.GetItemXmlString(row, colBuyerRemark) + L"</BuyerRemark>";
         itemStr += L"<FactoryImage>" + dw_cell.GetItemXmlString(row, colFactoryImage) + L"</FactoryImage>";
         itemStr += L"<GWT>" + dw_cell.GetItemXmlString(row, colGWT) + L"</GWT>";
         itemStr += L"<NWT>" + dw_cell.GetItemXmlString(row, colNWT) + L"</NWT>";
         itemStr += L"<VolDesc>" + dw_cell.GetItemXmlString(row, colVolDesc) + L"</VolDesc>";
         itemStr += L"<Vol>" + dw_cell.GetItemXmlString(row, colVol) + L"</Vol>";
         itemStr += L"<F40HQ>" + dw_cell.GetItemXmlString(row, col40HQ) + L"</F40HQ>";
         itemStr += L"<PurchedDate>" + sdate + L"</PurchedDate>";
         itemStr += L"<supplier-photo>" + getRowTerm(dw_cell, row, L"supplier-photo") + L"</supplier-photo>";
@@ -1853,7 +1858,7 @@
                  }
                  dw_cell.SetRowColumn(lastrow, 1);
                  dw_cell.SetAnchorRowColumn(lastrow, 1);
                  SendCtrlCmd(dw_cell, L"xmFormatCellDeleteRow");
                  //SendCtrlCmd(dw_cell, L"xmFormatCellDeleteRow");  //now not direct delete purch next
                  drow++;
               }
            }
@@ -1862,12 +1867,16 @@
      }
      xstring finished = L"1";
      PUser& user = publiccode::GetUser();
      xstring myname = user.name;
      for (row = startRow; row <= rowCount; row++)
      {
         if (getRowID(dw_cell, row) == L"") continue;
         if (dw_cell.GetItemString(row, colItemName) == L"")continue;
         if (dw_cell.GetItemString(row, colSalebackDate) == L"")
         {
            xstring purchor = dw_cell.GetItemString(row, purchercol);
            if (purchor != L"" && purchor != myname) continue; //purchnext
            finished = L"0";
            break;
         }
@@ -1876,11 +1885,7 @@
      if (0 == 1)OnUpdateEntityFile();
      OnUpdate();
      if (finished == L"1")
      {
         OnUpdateProcessed();
         alert(L"xxxxx");
      }
      if (finished == L"1")OnUpdateProcessed();
      //OnSaveEx(true);
      //alert(L"询价信息已发送给:"+purchors);
@@ -2145,16 +2150,16 @@
            SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
            SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
            SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
            SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
            SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
            SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
            //SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
            //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 + 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);
@@ -2220,7 +2225,10 @@
   {
      trace(L"BusinessItemID:" + id);
      xml x = ViewObject::RetrieveData(L"/sale/data/TO/business/document", L"BusinessItemID", id);
      BSTR str;
      x.get_xml(str);
      ::SysFreeString(str);
      /*
      xml sheet ;
      sheet.setNativePointer(x.CreateInstance());
@@ -2953,7 +2961,7 @@
      trace(L"\r\n----row:" + xstring(row) + L"--col:" + xstring(col));
      trace(L"\r\n----row:" + xstring(row) + L"--col:" + xstring(col));
      trace(L"\r\n--value:" + dw_cell.GetItemString(row, col) + L"--orig:" + orivalue);
      if (row == ARow && col == ACol && dw_cell.GetItemString(row, col) == orivalue) return 1;
      //if (row == ARow && col == ACol && dw_cell.GetItemString(row, col) == orivalue) return 1;
      trace(L"\r\n--enter:");
      ARow = row;
@@ -3523,14 +3531,31 @@
      startRow++;
      int row = dw_cell.GetRow();
      int colPurchPrice = getItemCol(dw_cell, headrow, L"价格");
      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)
      if (colPurchPrice1 < 1)
      {
         //dw_cell.SetColumnCount(dw_cell.GetColumnCount()+3);
         dw_cell.SetColumnCount(dw_cell.GetColumnCount()+3);
         //dw_cell.SetColumnCount(dw_cell.GetValidCol()+3);
         dw_cell.SetRowColumn(row, colPurchPrice + 1);
         dw_cell.SetAnchorRowColumn(row, colPurchPrice + 1);
         SendCtrlCmd(dw_cell, L"xmFormatCellInsertCol");
         SendCtrlCmd(dw_cell, L"xmFormatCellInsertCol");
         SendCtrlCmd(dw_cell, L"xmFormatCellInsertCol");
         dw_cell.SetItemString(headrow, colPurchPrice + 1, L"供应商1");
         dw_cell.SetItemString(headrow, colPurchPrice + 2, L"类型1");
         dw_cell.SetItemString(headrow, colPurchPrice + 3, L"价格1");
         dw_cell.SetColumnWidth(colPurchPrice + 2, 0);
      }
      else if (colPurchPrice2 < 1)
      {
         dw_cell.SetColumnCount(dw_cell.GetColumnCount()+3);
         //dw_cell.SetColumnCount(dw_cell.GetValidCol()+3);
         dw_cell.SetRowColumn(row, colPurchPrice1 + 1);
         dw_cell.SetAnchorRowColumn(row, colPurchPrice1 + 1);
@@ -3542,10 +3567,11 @@
         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.SetColumnWidth(colPurchPrice1 + 2, 0);
      }
      else
      else if(colPurchPrice3 < 1)
      {
         //dw_cell.SetColumnCount(dw_cell.GetColumnCount()+3);
         dw_cell.SetColumnCount(dw_cell.GetColumnCount()+3);
         //dw_cell.SetColumnCount(dw_cell.GetValidCol()+3);
         dw_cell.SetRowColumn(row, colPurchPrice2 + 1);
         dw_cell.SetAnchorRowColumn(row, colPurchPrice2 + 1);
@@ -3557,6 +3583,61 @@
         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.SetColumnWidth(colPurchPrice2 + 2, 0);
      }
      return 1;
   }
   int OnDelBOMItem()
   {
      int startRow = getItemHeadRow(dw_cell);
      int headrow = startRow;
      if (startRow < 1) return 1;
      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");
      if (colPurchPrice3 > 0)
      {
         dw_cell.SetRowColumn(row, colPurchPrice3 - 2);
         dw_cell.SetAnchorRowColumn(row, colPurchPrice3 - 2);
         SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
         SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
         SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
         dw_cell.SetColumnCount(dw_cell.GetColumnCount() - 3);
         return 1;
      }
      if (colPurchPrice2 > 0)
      {
         dw_cell.SetRowColumn(row, colPurchPrice2 -2);
         dw_cell.SetAnchorRowColumn(row, colPurchPrice2 -2);
         SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
         SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
         SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
         dw_cell.SetColumnCount(dw_cell.GetColumnCount() - 3);
         return 1;
      }
      if (colPurchPrice1 > 0)
      {
         dw_cell.SetRowColumn(row, colPurchPrice1 - 2);
         dw_cell.SetAnchorRowColumn(row, colPurchPrice1 - 2);
         SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
         SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
         SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
         dw_cell.SetColumnCount(dw_cell.GetColumnCount() - 3);
         return 1;
      }
      return 1;
   }
@@ -3565,6 +3646,7 @@
   int OnCmdDispatch(xstring comdid)
   {
      if (comdid == L"xmAddBOMItem") return OnAddBOMItem();
      if (comdid == L"xmDelBOMItem") return OnDelBOMItem();
      if (comdid == L"xmQuoteBill")
      {
         if (dw_base.GetItemString(1, L"CustomerID") == L"")
@@ -3760,9 +3842,10 @@
      arg.AddArg(L"EntityID", entityID);
      OpenWindow(L"dev:xpage[QuoteFilePurch2Select.vx]", arg);
      xstring taskID = arg.GetArgString(L"TaskID");
      xstring reason = arg.GetArgString(L"Reason");
      if (taskID != L"")
      {
         ProcessSendMessage(L"/task/quote/repurch", taskID, L"", L"", true);
         ProcessSendMessage(L"/task/quote/repurch", taskID, reason, L"", true);
      }
      return 1;
   }
@@ -3804,7 +3887,7 @@
            dw_goods.SetItemString(i, L"ItemID", ItemID);
            xstring Item = L"<Item update.new='1' update.modify='1' guid='" + ItemID + L"'>";
            Item += L"<SKUID>" + ItemID + L"</SKUID>";
            Item += L"<GoodsNo>" + dw_goods.GetItemString(i, L"GoodsNo") + L"</GoodsNo>";
            Item += L"<GoodsNo>" + dw_goods.GetItemXmlString(i, L"GoodsNo") + L"</GoodsNo>";
            xstring SKUNo = GetNo();
            dw_goods.SetItemString(i, L"SKUNo", SKUNo);
            dw_goods.Redraw();
@@ -3815,9 +3898,9 @@
            Item += L"<No>" + SKUNo + L"</No>";
            Item += L"<SKUNo>" + SKUNo + L"</SKUNo>";
            Item += L"<CName>" + dw_goods.GetItemString(i, L"CName") + L"</CName>";
            Item += L"<EName>" + dw_goods.GetItemString(i, L"ItemName") + L"</EName>";
            Item += L"<Packing>" + dw_goods.GetItemString(i, L"Packing") + L"</Packing>";
            Item += L"<CName>" + dw_goods.GetItemXmlString(i, L"CName") + L"</CName>";
            Item += L"<EName>" + dw_goods.GetItemXmlString(i, L"ItemName") + L"</EName>";
            Item += L"<Packing>" + dw_goods.GetItemXmlString(i, L"Packing") + L"</Packing>";
            Item += L"<CategoryID>" + categoryID + L"</CategoryID>";
            Item += L"<FolderID>" + folderID + L"</FolderID>";
@@ -4073,6 +4156,7 @@
      ensureRowID();
      xstring content = dw_cell.GetData();
      string val = content.c_str();
      content = content.mid(content.find(L"<xsheet"), 9999999);
      while (true)
      {
@@ -4921,6 +5005,167 @@
      return str.mid(pos, epos - pos);
   }
   int AdjustView(xcell& dw_cell)
   {
      int startRow = getItemHeadRow(dw_cell);
      //没有找到商品行的标题
      if (startRow < 1) return 0;
      startRow++;
      int colItemDesc = getItemCol(dw_cell, startRow - 1, L"产品信息");
      int colPhoto = getItemCol(dw_cell, startRow - 1, L"Photo");
      bool newItemDesc = false;
      if (colItemDesc < 0)
      {
         dw_cell.SetRowColumn(1, colPhoto+1);
         dw_cell.SetAnchorRowColumn(1, colPhoto+1);
         SendCtrlCmd(dw_cell, L"xmFormatCellInsertCol");
         colItemDesc = colPhoto + 1;
         dw_cell.SetItemString(startRow - 1, colItemDesc, L"产品信息");
         newItemDesc = true;
      }
      if (newItemDesc)
      {
         int colSKUID = getItemCol(dw_cell, startRow - 1, L"SKUID");
         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 colQty = getItemCol(dw_cell, startRow - 1, L"Qty");
         int colPackage = getItemCol(dw_cell, startRow - 1, L"Package");
         int colInnerOuter = getItemCol(dw_cell, startRow - 1, L"装箱数(内/外)");
         int colBuyerMOQ = getItemCol(dw_cell, startRow - 1, L"MOQ");
         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)");
         int colNWT = getItemCol(dw_cell, startRow - 1, L"净重,净重(KG)");
         int colVolDesc = getItemCol(dw_cell, startRow - 1, L"体积描述,长X宽X高,长X宽X高(CM)");
         int colVol = getItemCol(dw_cell, startRow - 1, L"体积,体积(M3)");
         int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)");
         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 colProductInfo1 = getItemCol(dw_cell, startRow - 1, L"采购部产品信息");
         int colBOMType = getItemCol(dw_cell, startRow - 1, L"类型");
         int colBOMType1 = getItemCol(dw_cell, startRow - 1, L"类型1");
         int colSaler = getItemCol(dw_cell, startRow - 1, L"业务员");
         int colSaletoBuyerRemark = getItemCol(dw_cell, startRow - 1, L"业务To采购备注");
         int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"供应商1");
         int colBuyPrice1 = getItemCol(dw_cell, startRow - 1, L"价格1");
         dw_cell.SetColumnWidth(colSKUID, 0);
         dw_cell.SetColumnWidth(colItemNo, 0);
         dw_cell.SetColumnWidth(colCustomerItemNo, 0);
         dw_cell.SetColumnWidth(colItemName, 0);
         dw_cell.SetColumnWidth(colItemCName, 0);
         //dw_cell.SetColumnWidth(colBuyerRemark, 0);
         dw_cell.SetColumnWidth(colPackage, 0);
         dw_cell.SetColumnWidth(colQty, 0);
         dw_cell.SetColumnWidth(col40HQ, 0);
         dw_cell.SetColumnWidth(colInnerOuter, 0);
         dw_cell.SetColumnWidth(colSaler, 0);
         dw_cell.SetColumnWidth(colSaletoBuyerRemark, 0);
         dw_cell.SetColumnWidth(colProductInfo, 0);
         dw_cell.SetColumnWidth(colSaler, 0);
         dw_cell.SetColumnWidth(colBOMType, 0);
         dw_cell.SetColumnWidth(colBOMType1, 0);
         dw_cell.SetColumnWidth(colItemDesc, 160);
         bool bPrice1 = false;
         for (int row = startRow; row <= dw_cell.GetValidRow(); row++)
         {
            if (dw_cell.GetItemString(row, colSKUID) != L"")
            {
               xstring itemDesc = L"SKUID:" + dw_cell.GetItemString(row, colSKUID);
               if (dw_cell.GetItemString(row, colItemNo) != L"")
                  itemDesc += L"\r\nItem No: " + dw_cell.GetItemString(row, colItemNo);
               if (dw_cell.GetItemString(row, colItemNo) != L"")
                  itemDesc += L"\r\nCustomer Item No: " + dw_cell.GetItemString(row, colCustomerItemNo);
               if (dw_cell.GetItemString(row, colItemName) != L"")
                  itemDesc +=  L"\r\nItem Name:" + dw_cell.GetItemString(row, colItemName);
               if (dw_cell.GetItemString(row, colItemCName) != L"")
                  itemDesc += L"\r\n产品名称:" + dw_cell.GetItemString(row, colItemCName);
               if (dw_cell.GetItemString(row, colQty) != L"")
                  itemDesc += L"\r\n数量:" + dw_cell.GetItemString(row, colQty);
               if (dw_cell.GetItemString(row, colPackage) != L"")
                  itemDesc += L"\r\n包装:" + dw_cell.GetItemString(row, colPackage);
               if (dw_cell.GetItemString(row, colInnerOuter) != L"")
                  itemDesc += L"\r\n装箱数(内/外):" + dw_cell.GetItemString(row, colInnerOuter);
               if (dw_cell.GetItemString(row, colProductInfo) != L"")
                  itemDesc += L"\r\n\r\n规格:\r\n" + dw_cell.GetItemString(row, colProductInfo);
               if (dw_cell.GetItemString(row, colSaletoBuyerRemark) != L"")
                  itemDesc += L"\r\n\r\n采购要求:\r\n" + dw_cell.GetItemString(row, colSaletoBuyerRemark);
               dw_cell.SetItemString(row, colItemDesc, itemDesc);
               if (!bPrice1)
               {
                  if (dw_cell.GetItemString(row, colSupplier1) != L"") bPrice1 = true;
                  else if (dw_cell.GetItemString(row, colBuyPrice1) != L"") bPrice1 = true;
               }
            }
         }
         if (!bPrice1 && colSupplier1 > 0)
         {
            dw_cell.SetRowColumn(1, colSupplier1);
            dw_cell.SetAnchorRowColumn(1, colSupplier1);
            SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
            SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
            SendCtrlCmd(dw_cell, L"xmFormatCellDeleteCol");
         }
         dw_cell.SetRowColumn(1, 1);
         dw_cell.SetAnchorRowColumn(startRow - 2, 1);
         SendCtrlCmd(dw_cell, L"xmEditCopy");
         dw_cell.SetRowColumn(1, colPhoto);
         dw_cell.SetAnchorRowColumn(startRow - 2, colPhoto);
         SendCtrlCmd(dw_cell, L"xmEditPaste");
         dw_cell.SetRowColumn(1, 2);
         dw_cell.SetAnchorRowColumn(startRow - 2, 2);
         SendCtrlCmd(dw_cell, L"xmEditCopy");
         dw_cell.SetRowColumn(1, colPhoto+1);
         dw_cell.SetAnchorRowColumn(startRow - 2, colPhoto+1);
         SendCtrlCmd(dw_cell, L"xmEditPaste");
         int colSaleSendDate = getItemCol(dw_cell, startRow - 1, L"业务发送采购时间");
         dw_cell.SetItemString(2, colBuyerPrice, L"业务员");
         dw_cell.SetItemString(3, colBuyerPrice, L"发送日期:");
         dw_cell.SetItemString(2, colBuyerPrice+1, dw_cell.GetItemString(startRow, colSaler));
         dw_cell.SetItemString(3, colBuyerPrice+1, dw_cell.GetItemString(startRow, colSaleSendDate));
         dw_cell.SetColumnWidth(colSaleSendDate, 0);
         int colMOQ = getItemCol(dw_cell, startRow - 1, L"MOQ");
         int colSupplier = getItemCol(dw_cell, startRow - 1, L"供应商");
         int colBuyPrice = getItemCol(dw_cell, startRow - 1, L"价格");
         dw_cell.SetRowColumn(startRow, colSupplier);
         dw_cell.SetAnchorRowColumn(startRow, colSupplier);
         dw_cell.SetColumnWidth(colBuyerPrice, 50);
         dw_cell.SetColumnWidth(colMOQ, 50);
         dw_cell.SetColumnWidth(colBuyPrice, 50);
      }
      return 1;
   }
   int onload()
   {
      SetArg();
@@ -5061,7 +5306,9 @@
      {
         xnode anode = GetAgentNode(L"tabheader");
         anode.SetLayerFlow(0x00000100);
         dw_cell.SetColumnCount(dw_cell.GetValidCol() + 6);
         dw_cell.SetColumnCount(dw_cell.GetValidCol() + 9);
         //dw_cell.SetFixedCols(7);
         AdjustView(dw_cell);
      }
      else
         dw_cell.SetColumnCount(dw_cell.GetValidCol()+3);
@@ -5102,8 +5349,8 @@
               if (hasParty(dw_cell.GetItemString(row, colSupplier)) == false)
               {
                  itemStr += L"<Item update.new='1' update.modify='1'>";
                  itemStr += L"<Name>" + dw_cell.GetItemString(row, colSupplier) + L"</Name>";
                  itemStr += L"<ShortName>" + dw_cell.GetItemString(row, colSupplier) + L"</ShortName>";
                  itemStr += L"<Name>" + dw_cell.GetItemXmlString(row, colSupplier) + L"</Name>";
                  itemStr += L"<ShortName>" + dw_cell.GetItemXmlString(row, colSupplier) + L"</ShortName>";
                  itemStr += L"</Item>";
               }
            }
@@ -5115,8 +5362,8 @@
               if (hasParty(dw_cell.GetItemString(row, colSupplier1)) == false)
               {
                  itemStr += L"<Item update.new='1' update.modify='1'>";
                  itemStr += L"<Name>" + dw_cell.GetItemString(row, colSupplier1) + L"</Name>";
                  itemStr += L"<ShortName>" + dw_cell.GetItemString(row, colSupplier1) + L"</ShortName>";
                  itemStr += L"<Name>" + dw_cell.GetItemXmlString(row, colSupplier1) + L"</Name>";
                  itemStr += L"<ShortName>" + dw_cell.GetItemXmlString(row, colSupplier1) + L"</ShortName>";
                  itemStr += L"</Item>";
               }
            }
@@ -5128,8 +5375,8 @@
               if (hasParty(dw_cell.GetItemString(row, colSupplier2)) == false)
               {
                  itemStr += L"<Item update.new='1' update.modify='1'>";
                  itemStr += L"<Name>" + dw_cell.GetItemString(row, colSupplier2) + L"</Name>";
                  itemStr += L"<ShortName>" + dw_cell.GetItemString(row, colSupplier2) + L"</ShortName>";
                  itemStr += L"<Name>" + dw_cell.GetItemXmlString(row, colSupplier2) + L"</Name>";
                  itemStr += L"<ShortName>" + dw_cell.GetItemXmlString(row, colSupplier2) + L"</ShortName>";
                  itemStr += L"</Item>";
               }
            }
@@ -5141,8 +5388,8 @@
               if (hasParty(dw_cell.GetItemString(row, colSupplier3)) == false)
               {
                  itemStr += L"<Item update.new='1' update.modify='1'>";
                  itemStr += L"<Name>" + dw_cell.GetItemString(row, colSupplier3) + L"</Name>";
                  itemStr += L"<ShortName>" + dw_cell.GetItemString(row, colSupplier3) + L"</ShortName>";
                  itemStr += L"<Name>" + dw_cell.GetItemXmlString(row, colSupplier3) + L"</Name>";
                  itemStr += L"<ShortName>" + dw_cell.GetItemXmlString(row, colSupplier3) + L"</ShortName>";
                  itemStr += L"</Item>";
               }
            }