class Enquiry3list : public listwin { string m_sType; //树选中的类型 string m_sTypeTxt; //树选中的数据 string urlTree; string myDataUrl; string myDataUrl1; xcombobox ddlb_1; xtreeview tv_folder; xtreeview tv_folder_pricebill; xdwgrid dw_goods; xdwgrid dw_list1; xdwgrid dw_list2; xdwgrid dw_goods1; xdwgrid dw_goods2; xdwgrid dw_pricelist; xdwgrid dw_pricelistex; xdwgrid dw_priceitem; xdwgrid dw_pricelistshare; int changeddlb; int state1; int state2; string sheetname; xnode m_agentNode; int SetAgentEx() { string xfNodeAgentArea = "agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); /*if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); } else {*/ msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[@id='"+sheetname+"']/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); } //} return 1; } int SetAgent1(string scene, string EntityID) { string xfNodeAgentArea = "agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMNode agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("scene",scene,"xs:string"); arg.AddArg("EntityID",EntityID,"xs:string"); arg.AddArg("EntityName",GetEntityName(1),"xs:string"); url::get("/workflow/query/datarole/"+GetEntityName(1),arg.GetString(),x); SetObjectInfo(x.GetXmlDoc().documentElement); string sNodes; sNodes = "datarole/actions/action[contains(@scene,'"+ scene + "')]"; msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes(sNodes); int index; int nlen = nlist.length; msxml::IXMLDOMElement ele; string tools=""; if(scene=="list") tools +=""; for(index=0;index"; else tool = ""; tools += tool; } /*if(agent) { nlist = agent.SelectNodes(".//xtoolbutton"); nlen = nlist.length; for(index=0;index 0) tv_folder.SetItemChild(hItem,1); for (int i= 0; i < len; i++) { msxml::IXMLDOMElement e = nlist.item(i); string name = e.getAttribute("name"); int h = tv_folder.InsertChildItem(hItem,name, trust(e as int),image); ExpandCatChildFolder(tv_folder,h,e,35); } return 1; } int ExpandFolderItem(xtreeview tv_folder, int hItem,string no) { xml x = ViewObject::RetrieveData(urlTree,"no",no); //if(x) alert(x.GetXml()); if(!x) return 0; msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("/data/item"); int len = nlist.length; for (int i = 0; i < len; i++) { msxml::IXMLDOMElement e = nlist.item(i); string name = e.getAttribute("name"); int h = tv_folder.InsertChildItem(hItem,name, trust(e as int),35); ExpandCatChildFolder(tv_folder,h,e,35); } return 1; } //树展开 int OnTreeExpanding(ref TNotifyEvent evt,int p) { ref NMTREEVIEW nmtv = evt.pnmh; int hItem = nmtv.itemNew.hItem; int hTopItem = LookupTopFolder(tv_folder,hItem); string name = tv_folder.GetItemLabel(hTopItem); int child = tv_folder.GetChildItem(hItem); msxml::IXMLDOMElement e = tv_folder.GetItemData(hItem); if(!child)ExpandFolderItem(tv_folder,hItem, e.getAttribute("no")); return 1; } int OnPriceBillTreeExpanding(ref TNotifyEvent evt,int p) { ref NMTREEVIEW nmtv = evt.pnmh; int hItem = nmtv.itemNew.hItem; int hTopItem = LookupTopFolder(tv_folder_pricebill,hItem); string name = tv_folder_pricebill.GetItemLabel(hTopItem); int child = tv_folder_pricebill.GetChildItem(hItem); msxml::IXMLDOMElement e = tv_folder_pricebill.GetItemData(hItem); if(!child)ExpandFolderItem(tv_folder_pricebill,hItem, e.getAttribute("no")); return 1; } int ExpandChildFolder(xtreeview tv_folder, int hItem, msxml::IXMLDOMElement pElement) { msxml::IXMLDOMNodeList nlist = pElement.SelectNodes("Item"); int len = nlist.length; for (int i = 0; i < len; i++) { msxml::IXMLDOMElement e = nlist.item(i); string name = e.getAttribute("name"); string sImage = e.getAttribute("image"); string child = e.getAttribute("child"); int image = 15; if(sImage) image = sImage.toInt(); int h= tv_folder.InsertChildItem(tv_folder.GetId(),hItem,name, trust(e as int),image); if(child !="no" ) tv_folder.SetItemChild(h,1); ExpandChildFolder(tv_folder,h,e); } return 1; } int InitialFolder() { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement e = xframeElement.selectSingleNode("//xtree[@name='tv_folder']/initial"); if(e)ExpandChildFolder(tv_folder, 0,e); return 1; } int InitialFolderPriceBill() { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement e = xframeElement.selectSingleNode("//xtree[@name='tv_folder_pricebill']/initial"); if(e)ExpandChildFolder(tv_folder_pricebill,0,e); return 1; } int OnTreeSelChanged(ref TNotifyEvent evt,int p) { //OnPriceBillRetrieve(); //OnProductPriceBillRetrieve(); return OnPreRetrieve(); } int OnPriceBillTreeSelChanged(ref TNotifyEvent evt,int p) { OnPriceBillRetrieve(); OnProductPriceBillRetrieve(); return 1; } int OnSaveShare() { dw_pricelistshare.AcceptText(); xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); dw_pricelistshare.DwUpdateAllToEx(x.GetXmlDoc()); arg.AddArg("content", x.GetXml() ); if(url::get("/sale/data/UserGroup/update/entity", arg.GetString(),x)!=1) { string error = x.GetXmlDoc().text; alert("err:"+error); return 1; }else { string str = x.GetXmlDoc().documentElement.getAttribute("text"); if(str == "true") { alert("保存成功!"); dw_pricelistshare.ResetUpdateStatus(); }else { alert("保存失败!"); } } if(x) x.Free(); return 1; } int Send(string PersonID, string CName,string NO,string EntityID) { xml x = ViewObject::RetrieveData("/sale/data/business/message/getUserNO","PersonID",PersonID); msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("//data/Item"); msxml::IXMLDOMElement xitem = nlist.item(0); string Reciever = xitem.selectSingleNode("userno").text; string Subject = "价格单已共享["+CName+"]"; string Category = "价格单共享"; string Content = ""; x = ViewObject::AddMessage(Category,Reciever, NO, EntityID, Subject, Content); return 1; } int SendNotice(xml content) { msxml::IXMLDOMNodeList nlist = content.GetXmlDoc().SelectNodes("//root/item[@update.new='1']"); int leng = nlist.length; for(int i = 0; i < leng; i++) { msxml::IXMLDOMElement xitem = nlist.item(i); string PersonID = xitem.selectSingleNode("PersonID").text; string UserGroupID = xitem.selectSingleNode("UserGroupID").text; string CName = xitem.selectSingleNode("CName").text; string NO = xitem.selectSingleNode("NO").text; string EntityID = xitem.selectSingleNode("EntityID").text; if(PersonID != "") { Send(PersonID,CName,NO,EntityID); } if(UserGroupID != "") { xml x = ViewObject::RetrieveData("/sale/data/business/message/getPersonIDByGroup","UserGroupID",UserGroupID); msxml::IXMLDOMNodeList nlist1 = x.GetXmlDoc().SelectNodes("//data/Item"); for(int j = 0 ; j < nlist1.length ; j++) { msxml::IXMLDOMElement xitem1 = nlist1.item(j); PersonID = xitem1.selectSingleNode("PersonID").text; Send(PersonID,CName,NO,EntityID); } } return 1; } return 1; } int OnSave() { dw_pricelist.AcceptText(); dw_pricelistex.AcceptText(); dw_pricelistshare.AcceptText(); xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); dw_pricelistex.DwUpdateAllToEx(x.GetXmlDoc()); if(x.GetXml()!="") { string error = ""; string str = ""; arg.AddArg("content", x.GetXml()); if(url::get("/sale/data/Enquiry/update/pricelistex", arg.GetString(),x)!=1) { error = x.GetXmlDoc().text; alert(error); return 1; } else { str = x.GetXmlDoc().documentElement.getAttribute("text"); if(str == "true") { dw_pricelistex.ResetUpdateStatus(); }else { alert("成品价格单保存失败!"); return 1; } } xml x0 = new xml; x0.setNativePointer(xml::CreateInstance()); dw_pricelist.DwUpdateAllToEx(x0.GetXmlDoc()); if(x0.GetXml() !="") { xml x1 = xml::Make(); dw_priceitem.DwUpdateAllToEx(x1.GetXmlDoc()); if(x0.GetXmlDoc().documentElement) { if(x1.GetXmlDoc().documentElement) x0.GetXmlDoc().documentElement.appendChild(x1.GetXmlDoc().documentElement); } x1.Free(); arg.AddArg("content", x0.GetXml() ); x0.Free(); if(url::get("/sale/data/Enquiry/update/pricelist", arg.GetString(),x)!=1) { error = x.GetXmlDoc().text; alert(error); return 1; } else { str = x.GetXmlDoc().documentElement.getAttribute("text"); if(str == "true") { dw_pricelist.ResetUpdateStatus(); dw_priceitem.ResetUpdateStatus(); }else { alert("组件价格单保存失败!"); return 1; } } } } xml x2 = new xml; x2.setNativePointer(xml::CreateInstance()); dw_pricelistshare.DwUpdateAllToEx(x2.GetXmlDoc()); arg.AddArg("content", x2.GetXml()); if(url::get("/sale/data/UserGroup/update/entity", arg.GetString(),x)!=1) { error = x.GetXmlDoc().text; alert("err:"+error); return 1; }else { str = x.GetXmlDoc().documentElement.getAttribute("text"); if(str == "true") { dw_pricelistshare.ResetUpdateStatus(); alert("保存成功!"); OnProductPriceShareRetrieve();//刷新数据 SendNotice(x2);//发送通知 x2.Free(); }else { alert("共享数据保存失败!"); } } x.Free(); return 1; } int ViewUpdate(int pr,string updateItem,xaserverarg arg) { if( updateItem=="del") { int DelRow = dw_list.GetRow(); dw_list.DeleteRow(DelRow); } else if( updateItem=="setstate") { int row = this.dw_list.GetRow(); if (row < 1) return 1; msxml::IXMLDOMElement ele = this.dw_list.GetRowElement(row); string id = GetEntityIDName(1); string entity = ele.selectSingleNode(id).text; //trace(entity); SetAgent("list", entity); if(arg.GetArgString("state") != "") //this.dw_list.SetItemString(row, "ApprovalStatus", arg.GetArgString("state")); dw_list.SetItemString(row, "ApplyStatus", arg.GetArgString("state")); if(arg.GetArgString("billstatus") != "") { string billstatus = arg.GetArgString("billstatus"); string statusName = GetBillStatusName(billstatus); dw_list.SetItemString(row, "ApprovalStatus", billstatus); dw_list.SetItemDisplayString(row, "ApprovalStatus", statusName); } this.dw_list.Redraw(); } return 1; } bool IsEmptyQueryStr(string queryStr) { if(queryStr=="") return true; if(queryStr=="") return true; if(queryStr=="") return true; return false; } //检索 int OnPreRetrieve() { int hItem = tv_folder.GetSelectedItem(); if(hItem <=0) return 1; int hCursor = xutil::SetCursorWait(); msxml::IXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement); string no = e1.getAttribute("no"); xml x = 0; if(!(no =="Category:All" && IsEmptyQueryStr(m_QueryTxt))) x = ViewObject::RetrieveData(myDataUrl,"no",no,"QueryTxt", m_QueryTxt); if(x) { dw_list.Retrieve(x); dw_list.Redraw(); }else { dw_list.ResetEx(); dw_list.Redraw(); dw_goods.ResetEx(); dw_goods.Redraw(); } if(!(no =="Category:All" && IsEmptyQueryStr(m_QueryTxt))) x = ViewObject::RetrieveData("/sale/data/Enquiry/folder/list2","no",no,"QueryTxt", m_QueryTxt); if(x) { dw_list2.Retrieve(x); dw_list2.Redraw(); }else { dw_list2.ResetEx(); dw_list2.Redraw(); dw_goods2.ResetEx(); dw_goods2.Redraw(); } if(x) { dw_list1.Retrieve(x); dw_list1.Redraw(); }else { dw_list1.ResetEx(); dw_list1.Redraw(); dw_goods1.ResetEx(); dw_goods1.Redraw(); } x = ViewObject::RetrieveData(myDataUrl1,"no",no,"QueryTxt", m_QueryTxt); if(x) { dw_list1.Retrieve(x); dw_list1.Redraw(); }else { dw_list1.ResetEx(); dw_list1.Redraw(); dw_goods1.ResetEx(); dw_goods1.Redraw(); } dw_list1.SetReadOnly(true); xutil::RestoreCursor(hCursor); return 1; } //历史数据 int Onhistroydata() { return 1; int row = dw_list.GetNextSelectRow(1); if(row>0) { msxml::IXMLDOMElement e =dw_list.GetRowElement(row); xaserverarg arg=new xaserverarg; arg.setNativePointer(arg.CreateInstance()); string sCustomerID = e.selectSingleNode("CustomerID").text; arg.AddArg("CustomerID",sCustomerID,""); string sCustomerName = e.selectSingleNode("CustomerName").text; arg.AddArg("CustomerName",sCustomerName,""); arg.AddArg("EntityName",GetEntityName(1),""); arg.AddArg("EntityID",GetEntityID(1),""); int p = arg.ptr_native_; openUrl("/sale/view/Enquiry3/xpage/histroydata", p); } return 1; } int OnPrint() { xaserverarg arg=new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("EntityName","Enquiry",""); arg.AddArg("EntityID",GetEntityID(1),""); arg.AddArg("EntityNo",GetEntityNo(1),""); int p = arg.ptr_native_; openUrl("/sale/view/view.base/xpage/Template/PrintViewEx", p); return 0; } int OnAddPriceList() { dw_priceitem.Reset(); xaserverarg arg = xaserverarg::Make(); arg.AddArg("action","AddPriceList"); OpenWindow("dev:xpage[ProductSchemaSelect.vx]",cast(arg as int)); if(arg.GetArgString("process") == "ok") { xml x = new xml; x.setNativePointer(xml::CreateInstance()); if (getUrl("/sale/data/Enquiry/PriceListEx/SKU",arg.GetString(),x)!=1) return 1; msxml::IXMLDOMNodeList nodes = x.GetXmlDoc().selectNodes("data/Item"); int len = nodes.length; for(int i=0; i 0 ; i = i - 1) { dw_priceitem.DeleteRow(i); } return 1; } int OnDeleteRow() { if(dw_pricelist.GetRow() < 1) return 1; dw_priceitem.DeleteRow(0); string PriceInfo = ""; for(int i=1;i<=dw_pricelist.GetRowCount();i++) { if(i==1) PriceInfo = dw_priceitem.GetItemString(i,"PriceInfo"); else PriceInfo = PriceInfo + " " + dw_priceitem.GetItemString(i,"PriceInfo"); } dw_pricelist.SetItemString(dw_pricelist.GetRow(),"PriceInfo",PriceInfo); dw_pricelist.Redraw(); return 1; } int OnRowChanged(ref TNotifyEvent evt,int p) { listwin::OnRowChanged(evt,p); ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); int row = hdr.row; int hCursor = xutil::SetCursorWait(); string EnquiryNo = dw_list.GetItemString(row,"EnquiryNo"); xml x = ViewObject::RetrieveData("/sale/data/Enquiry/maint","id",EnquiryNo); if(x) dw_goods.Retrieve(x); else dw_goods.Reset(); dw_goods.Redraw(); dw_goods.SetReadOnly(true); xutil::RestoreCursor(hCursor); return 1; } int OnRowChanged2(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); int row = hdr.row; int hCursor = xutil::SetCursorWait(); string EnquiryNo = dw_list2.GetItemString(row,"EnquiryNo"); xml x = ViewObject::RetrieveData("/sale/data/Enquiry/maint","id",EnquiryNo); if(x) dw_goods2.Retrieve(x); else dw_goods2.Reset(); dw_goods2.Redraw(); dw_goods2.SetReadOnly(true); xutil::RestoreCursor(hCursor); return 1; } int OnRowChanged1(ref TNotifyEvent evt,int p) { //fixed one event only one process //listwin::OnRowChanged(evt,p); ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); int row = hdr.row; int hCursor = xutil::SetCursorWait(); string ItemID = dw_list1.GetItemString(row,"ItemID"); //alert(ItemID); xml x = ViewObject::RetrieveData("/sale/data/Enquiry/folder/listitemsex","itemID",ItemID,"type",state2.toString()); if(x) dw_goods1.Retrieve(x); else dw_goods1.Reset(); dw_goods1.Redraw(); dw_goods1.SetReadOnly(true); xutil::RestoreCursor(hCursor); return 1; } int OnShare() { xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); OpenWindow("dev:xpage[UserGroupShareEx.vx]",cast(arg as int)); if(arg.GetArgString("process")=="ok") { xdwgrid dw_obj = dw_pricelistex; if(sheetname=="tab_pricebillex") dw_obj = dw_pricelist; sheetname="tab_pricebillshare"; SetAgent("list"); SwitchLayer("sheet5","frame"); xml x = xml::Make(); x.LoadXml(arg.GetArgString("result")); msxml::IXMLDOMNodeList nodes = x.GetXmlDoc().selectNodes("root/item"); int count = nodes.length; int row = dw_obj.GetNextSelectRow(1); while(row > 0 && row <= dw_obj.GetRowCount()) { string SKUID = dw_obj.GetItemString(row,"SKUID"); string SKUNo = dw_obj.GetItemDisplayString(row,"SKUID"); string CName = dw_obj.GetItemString(row,"CName"); string Version = dw_obj.GetItemString(row,"Version"); string GoodsNo = dw_obj.GetItemString(row,"GoodsNo"); string BOMSchema = dw_obj.GetItemString(row,"BOMSchema"); string EntityID = dw_obj.GetGuid(row); if(EntityID=="") EntityID = dw_obj.GetItemString(row,"EnquiryPriceListID"); for(int i=0; i rows) { return 1; } if(colname=="EnquiryNo" || colname=="SupplierID" || colname=="EnquiryDate" || colname=="ValidDate"||colname=="ApprovalStatus"||colname=="SalespersonID"|| colname=="PayTerm"||colname=="OrgName") { int days = dw_list.GetItemInt(row,"Days"); if(days < 0) { hdr.mask = DMS_CSSSTYLE; hdr.cssstyle = "color:#cccccc"; } } return 1; } int OnFilter() { string str = GetControl("sl_search").GetText(); xdwgrid dw_obj; if(sheetname=="tab_goods") dw_obj = dw_list1; else if(sheetname=="tab_pricebill") dw_obj = dw_pricelistex; else if(sheetname=="tab_pricebillex") dw_obj = dw_pricelist; else if(sheetname=="tab_pricebillshare") dw_obj = dw_pricelistshare; dw_obj.Filter("*",str); return 1; } int OnPriceListDoubleClicked(ref TNotifyEvent evt,int p) { int hCursor = xutil::SetCursorWait(); int row = dw_pricelistex.GetRow(); if(row > 0) OnTech(dw_pricelistex); xutil::RestoreCursor(hCursor); return 1; } int OnDoubleClicked(ref TNotifyEvent evt,int p) { int hCursor = xutil::SetCursorWait(); int row = dw_list2.GetRow(); xaserverarg arg=new xaserverarg; arg.setNativePointer(arg.CreateInstance()); string EnquiryNo = dw_list2.GetItemString(row,"EnquiryNo"); arg.AddArg("EnquiryNo",EnquiryNo); int pa = arg.getNativePointer(); openUrl("/sale/view/Enquiry3/xpage/maint", pa); xutil::RestoreCursor(hCursor); return 1; } int OnDoubleClicked(ref TNotifyEvent evt,int p) { int hCursor = xutil::SetCursorWait(); OnCmdDispatch("action:bill.open"); xutil::RestoreCursor(hCursor); return 1; } int AttachEvent() { AttachEvent("tv_folder", "TVN_SELCHANGED",OnTreeSelChanged); //树选择 AttachEvent("tv_folder", "TVN_ITEMEXPANDING",OnTreeExpanding); //树展开 AttachEvent("dw_list","DWV_ROWFOCUSCHANGED",OnRowChanged); AttachEvent("dw_list2","DWV_ROWFOCUSCHANGED",OnRowChanged2); AttachEvent("dw_list1","DWV_ROWFOCUSCHANGED",OnRowChanged1); AttachEvent("cbx_1","CBN_SELCHANGE",OnSelectDdlb); AttachEvent("WM_COMMAND",OnCkbCLick); AttachEvent("dw_list","DWV_ASKSTYLE",OnItemAskStyle); AttachEvent("dw_pricelist","DWV_ROWFOCUSCHANGED",OnPriceListRowChanged); AttachEvent("tv_folder_pricebill", "TVN_SELCHANGED",OnPriceBillTreeSelChanged); //树选择 AttachEvent("tv_folder_pricebill", "TVN_ITEMEXPANDING",OnPriceBillTreeExpanding); AttachEvent("dw_pricelistex","DWV_DOUBLECLICKED",OnPriceListDoubleClicked); AttachEvent("dw_list2","DWV_DOUBLECLICKED",OnDoubleClicked); return 1; } int OnRetrieveItem(string EnquiryPriceListID) { xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("EnquiryPriceListID",EnquiryPriceListID); if (getUrl("/sale/data/Enquiry/fetch/PriceList/item",arg.GetString(),x)!=1) { trace(x.GetXmlDoc().text); return -1; }else { dw_priceitem.Retrieve(x); dw_priceitem.Redraw(); dw_priceitem.SetReadOnly(true); } return 1; } int OnPriceBillRetrieve() { int hItem = tv_folder_pricebill.GetSelectedItem(); msxml::IXMLDOMElement e1 = cast(tv_folder_pricebill.GetItemData(hItem) as msxml::IXMLDOMElement); string no = e1.getAttribute("no"); xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("no",no); if (getUrl("/sale/data/Enquiry/fetch/PriceList",arg.GetString(),x)!=1) { trace(x.GetXmlDoc().text); return -1; }else { dw_pricelist.Retrieve(x); dw_pricelist.Redraw(); dw_pricelist.SetSelectionMode(3); } if(dw_pricelist.GetRowCount() > 0) OnRetrieveItem(dw_pricelist.GetGuid(1)); else { dw_priceitem.Reset(); } return 1; } int OnProductPriceBillRetrieve() { int hItem = tv_folder_pricebill.GetSelectedItem(); msxml::IXMLDOMElement e1 = cast(tv_folder_pricebill.GetItemData(hItem) as msxml::IXMLDOMElement); string no = e1.getAttribute("no"); xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("no",no); if (getUrl("/sale/data/Enquiry/ProductPriceList/nobom",arg.GetString(),x)!=1) { trace(x.GetXmlDoc().text); return -1; }else { dw_pricelistex.Retrieve(x); dw_pricelistex.Redraw(); dw_pricelistex.SetSelectionMode(3); } return 1; } int OnProductPriceShareRetrieve() { xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); if (getUrl("/sale/data/Enquiry/ProductPriceList/share",arg.GetString(),x)!=1) { trace(x.GetXmlDoc().text); return -1; }else { trace(x.GetXml()); dw_pricelistshare.Retrieve(x); dw_pricelistshare.Redraw(); dw_pricelistshare.SetReadOnly(true); } } int onload() { state1=-1; state2=-1; listwin::onload(); dw_list.SetAskStyle(true); dw_list2 = GetControl("dw_list2"); dw_list2.openUrl("/sale/view/Enquiry3/template/list"); dw_list2.SetColumnState("SupplierID",false); dw_list2.SetColumnState("PayTerm",false); dw_list2.SetColumnState("EnquiryID",false); dw_list2.SetColumnState("Days",false); dw_list2.SetSelectionMode(3); dw_goods2 = GetControl("dw_goods2"); dw_goods2.openUrl("/sale/view/Enquiry3/template/item/pricelist"); dw_goods2.SetColumnState("ItemID",false); dw_goods2.SetColumnState("Picture",false); dw_goods2.SetColumnState("category",false); dw_goods2.SetColumnState("RealEnquiryLineID",false); dw_goods2.SetColumnState("RelEnquiryLineID",false); ddlb_1 = this.GetControl("cbx_1"); dw_goods = GetControl("dw_goods"); dw_goods .openUrl("/sale/view/Enquiry3/template/item/pricelist"); dw_goods.SetColumnState("ItemID",false); dw_goods.SetColumnState("SupplierID",false); dw_list1 = GetControl("dw_list1"); dw_list1 .openUrl("/sale/view/Enquiry3/template/item/itempricelist"); dw_list1.SetColumnState("ItemID",false); dw_goods1 = GetControl("dw_goods1"); dw_goods1 .openUrl("/sale/view/Enquiry3/template/item/itempricelist"); dw_goods1.SetColumnState("ItemID",false); dw_pricelistex = GetControl("dw_pricelistex"); dw_pricelistex.openUrl("/sale/view/Enquiry3/template/purcharpricelist"); dw_pricelistex.SetColumnState("EnquiryID",false); dw_pricelistex.SetColumnState("PayTerm",false); dw_pricelistex.SetColumnState("Source",false); dw_pricelistex.SetColumnState("SONo",false); dw_pricelistex.SetColumnState("OriginEnquiryLineID",false); dw_pricelistex.SetColumnState("EnquiryLineID",false); dw_pricelistex.SetColumnState("SupplierID1",false); dw_pricelistex.SetColumnState("supplieridName1",false); dw_pricelistex.SetColumnState("CustomerContactName",false); dw_pricelistex.SetColumnState("ContactTel",false); dw_pricelist = GetControl("dw_pricelist"); dw_pricelist.openUrl("/sale/view/Enquiry3/template/purcharpricelistex"); dw_pricelist.SetColumnState("ItemID",false); dw_priceitem = GetControl("dw_priceitem"); dw_priceitem.openUrl("/sale/view/Enquiry3/template/purcharpricelist/item"); dw_pricelistshare = GetControl("dw_pricelistshare"); dw_pricelistshare.openUrl("/sale/view/Enquiry3/template/purcharpricelist/item/share"); dw_pricelistshare.SetReadOnly(true); dw_pricelistex.SetColumnState("ItemID",false); dw_pricelistex.SetColumnState("EnquiryLineID",false); dw_pricelistshare.SetColumnState("UserGroupID",false); dw_pricelistshare.SetColumnState("EntityID",false); dw_pricelistshare.SetColumnState("EntityName",false); dw_pricelistshare.SetColumnState("PersonID",false); dw_pricelistshare.SetColumnState("NO",false); dw_priceitem.SetColumnState("PriceInfo",false); dw_priceitem.SetColumnState("EnquiryID",false); dw_priceitem.SetColumnState("PayTerm",false); dw_priceitem.SetColumnState("Source",false); dw_priceitem.SetColumnState("SONo",false); dw_priceitem.SetColumnState("OriginEnquiryLineID",false); dw_priceitem.SetColumnState("EnquiryLineID",false); dw_priceitem.SetColumnState("SupplierID1",false); dw_priceitem.SetColumnState("supplieridName1",false); dw_priceitem.SetColumnState("CustomerContactName",false); dw_priceitem.SetColumnState("ContactTel",false); dw_priceitem.SetColumnState("Remark",false); myDataUrl = "/sale/data/Enquiry/folder/list"; myDataUrl1 = "/sale/data/Enquiry/folder/listitems"; urlTree = "/sale/data/Enquiry/folder"; tv_folder = GetControl("tv_folder"); //tv_folder.SetLineAtRoot(true); InitialFolder(); tv_folder_pricebill = GetControl("tv_folder_pricebill"); InitialFolderPriceBill(); } int onloaded() { listwin::onloaded(); AttachEvent(); dw_list.SetColumnState("EnquiryID",false); dw_list.SetColumnState("Days",false); dw_list1.SetColumnState("EnquiryLineID",false); dw_list1.SetColumnState("EnquiryPriceListID",false); OnAttachEvent(); OnRetrieve(); dw_list1.SetReadOnly(true); OnProductPriceShareRetrieve(); int hItem = tv_folder.GetRootItem(); tv_folder.ExpandItem(hItem); tv_folder.ItemFocus(hItem); hItem = tv_folder_pricebill.GetRootItem(); tv_folder_pricebill.ExpandItem(hItem); tv_folder_pricebill.ItemFocus(hItem); sheetname = "tab_list"; //dw_priceitem.SetColumnState("EnquiryLineID",false); //dw_priceitem.SetColumnState("EnquiryPriceListID",false); dw_pricelistex.SetColumnState("BOMPartNo",false); dw_pricelistex.SetColumnState("BOMSchema",false); dw_pricelistex.SetColumnState("BOMType",false); dw_pricelistex.SetColumnState("Current",false); dw_priceitem.SetReadOnly(true); return -1; } int ProcessUsedArg(xaserverarg arg) { int hItem = tv_folder.GetCaretItem(); arg.AddArg("sheetname",sheetname); if(hItem > 0) { msxml::IXMLDOMElement e = tv_folder.GetItemData(hItem); if(e) { string no = e.getAttribute("no"); if(no.find("Customer:")>=0) { arg.AddArg("CustomerID",e.getAttribute("id")); string name = e.getAttribute("name"); if(name.find("(")>=0) name = name.left(name.find("(")); arg.AddArg("CustomerName",name); } } } return 1; } };