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="<vbox class=''>";
|
if(scene=="list") tools +="<xspace height='12'/>";
|
|
for(index=0;index<nlen;index++)
|
{
|
ele = nlist.item(index);
|
string name = ele.selectSingleNode("@id").text;//.getAttribute("id");
|
string label = ele.selectSingleNode("@caption").text;//ele.getAttribute("caption");
|
string image;
|
string src = "";
|
if(ele.selectSingleNode("@image"))
|
image = ele.selectSingleNode("@image").text;
|
else
|
image = "0 22";
|
|
if(ele.selectSingleNode("@src"))
|
src = ele.selectSingleNode("@src").text;
|
|
string tool;
|
|
if (src != "")
|
tool = "<xtoolbutton src='"+src+"' caption='"+label+"' name='action:"+name+"' height='23' style='background-color:none #ceecce none #ffffff'/>";
|
else
|
tool = "<xtoolbutton image='"+image+"' caption='"+label+"' name='action:"+name+"' height='23' style='background-color:none #ceecce none #ffffff'/>";
|
tools += tool;
|
}
|
/*if(agent)
|
{
|
nlist = agent.SelectNodes(".//xtoolbutton");
|
nlen = nlist.length;
|
for(index=0;index<nlen;index++)
|
{
|
ele = nlist.item(index);
|
string tmp = ele.xml;
|
tools += tmp;
|
}
|
}*/
|
tools +="</vbox>";
|
//trace(tools);
|
SetAgentNodeContent(anode, tools);
|
|
return 1;
|
}
|
|
int SetAgent(string scene, string EntityID)
|
{
|
if(sheetname !="tab_pricebill" && sheetname !="tab_pricebillex" && sheetname !="tab_pricebillshare" && sheetname !="tab_list2")
|
SetAgent1(scene,EntityID);
|
else
|
SetAgentEx();
|
return 1;
|
}
|
|
//process tree
|
//查找当前树项的顶级目录
|
int LookupTopFolder(xtreeview tv_folder, int hItem)
|
{
|
int hRoot = tv_folder.GetRootItem();
|
while(tv_folder.GetParentItem(hItem)) hItem = tv_folder.GetParentItem(hItem);
|
return hItem;
|
}
|
|
int ExpandCatChildFolder(xtreeview tv_folder, int hItem, msxml::IXMLDOMElement ele ,int image)
|
{
|
msxml::IXMLDOMNodeList nlist = ele.SelectNodes("item");
|
int len = nlist.length;
|
if(len > 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=="<items join='and'/>") return true;
|
if(queryStr=="<items join=\"and\"/>") 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<len;i++)
|
{
|
dw_pricelist.InsertRow(0);
|
int row = dw_pricelist.GetRowCount();
|
dw_pricelist.SetRow(row);
|
msxml::IXMLDOMNode ele = nodes.item(i);
|
if(ele.selectSingleNode("SKUID")) dw_pricelist.SetItemString(row,"SKUID",ele.selectSingleNode("SKUID").text);
|
if(ele.selectSingleNode("SKUID/@_displaystring")) dw_pricelist.SetItemDisplayString(row,"SKUID",ele.selectSingleNode("SKUID/@_displaystring").text);
|
if(ele.selectSingleNode("GoodsNo")) dw_pricelist.SetItemString(row,"GoodsNo",ele.selectSingleNode("GoodsNo").text);
|
if(ele.selectSingleNode("CName")) dw_pricelist.SetItemString(row,"CName",ele.selectSingleNode("CName").text);
|
if(ele.selectSingleNode("BOMSchema")) dw_pricelist.SetItemString(row,"BOMSchema",ele.selectSingleNode("BOMSchema").text);
|
if(ele.selectSingleNode("Version")) dw_pricelist.SetItemString(row,"Version",ele.selectSingleNode("Version").text);
|
if(ele.selectSingleNode("SchemaNote")) dw_pricelist.SetItemString(row,"SchemaNote",ele.selectSingleNode("SchemaNote").text);
|
if(ele.selectSingleNode("Current")) dw_pricelist.SetItemString(row,"Current",ele.selectSingleNode("Current").text);
|
if(ele.selectSingleNode("PriceInfo")) dw_pricelist.SetItemString(row,"PriceInfo",ele.selectSingleNode("PriceInfo").text);
|
|
string id = dw_pricelist.GetGuid(row);
|
if(id=="")
|
{
|
id = publiccode::GetGuid();
|
dw_pricelist.SetGuid(row,id);
|
}
|
msxml::IXMLDOMNodeList items = ele.selectNodes("data/Item");
|
AddItems(id,items);
|
items.Release();
|
ele.Release();
|
}
|
x.Free();
|
nodes.Release();
|
}
|
arg.Free();
|
//OnRetrieveItem(dw_pricelist.GetGuid(row));
|
return 1;
|
}
|
|
int OnAddPriceListVersion()
|
{
|
int row = dw_pricelist.GetRow();
|
if( row < 1 ) return 1;
|
|
dw_priceitem.Reset();
|
|
xaserverarg arg = xaserverarg::Make();
|
xml x = new xml;
|
x.setNativePointer(xml::CreateInstance());
|
arg.AddArg("SKUID",dw_pricelist.GetItemString(row,"SKUID"));
|
arg.AddArg("SchemaNo",dw_pricelist.GetItemString(row,"BOMSchema"));
|
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<len;i++)
|
{
|
dw_pricelist.InsertRow(0);
|
row = dw_pricelist.GetRowCount();
|
dw_pricelist.SetRow(row);
|
msxml::IXMLDOMNode ele = nodes.item(i);
|
if(ele.selectSingleNode("SKUID")) dw_pricelist.SetItemString(row,"SKUID",ele.selectSingleNode("SKUID").text);
|
if(ele.selectSingleNode("SKUID/@_displaystring")) dw_pricelist.SetItemDisplayString(row,"SKUID",ele.selectSingleNode("SKUID/@_displaystring").text);
|
if(ele.selectSingleNode("GoodsNo")) dw_pricelist.SetItemString(row,"GoodsNo",ele.selectSingleNode("GoodsNo").text);
|
if(ele.selectSingleNode("CName")) dw_pricelist.SetItemString(row,"CName",ele.selectSingleNode("CName").text);
|
if(ele.selectSingleNode("BOMSchema")) dw_pricelist.SetItemString(row,"BOMSchema",ele.selectSingleNode("BOMSchema").text);
|
if(ele.selectSingleNode("Version")) dw_pricelist.SetItemString(row,"Version",ele.selectSingleNode("Version").text);
|
if(ele.selectSingleNode("SchemaNote")) dw_pricelist.SetItemString(row,"SchemaNote",ele.selectSingleNode("SchemaNote").text);
|
if(ele.selectSingleNode("Current")) dw_pricelist.SetItemString(row,"Current",ele.selectSingleNode("Current").text);
|
if(ele.selectSingleNode("PriceInfo")) dw_pricelist.SetItemString(row,"PriceInfo",ele.selectSingleNode("PriceInfo").text);
|
string id = dw_pricelist.GetGuid(row);
|
if(id=="")
|
{
|
id = publiccode::GetGuid();
|
dw_pricelist.SetGuid(row,id);
|
}
|
msxml::IXMLDOMNodeList items = ele.selectNodes("data/Item");
|
AddItems(id,items);
|
items.Release();
|
ele.Release();
|
}
|
nodes.Release();
|
x.Free();
|
arg.Free();
|
|
//OnRetrieveItem(dw_pricelist.GetGuid(row));
|
return 1;
|
}
|
|
int AddItems(string id, msxml::IXMLDOMNodeList nodes)
|
{
|
//dw_pricelist.Filter("EnquiryPriceListID","");
|
|
int len = nodes.length;
|
for(int i=0;i<len;i++)
|
{
|
dw_priceitem.InsertRow(0);
|
int row = dw_priceitem.GetRowCount();
|
dw_priceitem.SetItemString(row,"EnquiryPriceListID",id);
|
msxml::IXMLDOMNode ele = nodes.item(i);
|
if(ele.selectSingleNode("SchemaNote")) dw_priceitem.SetItemString(row,"SchemaNote",ele.selectSingleNode("SchemaNote").text);
|
if(ele.selectSingleNode("BOMType")) dw_priceitem.SetItemString(row,"BOMType",ele.selectSingleNode("BOMType").text);
|
if(ele.selectSingleNode("BOMPartNo")) dw_priceitem.SetItemString(row,"BOMPartNo",ele.selectSingleNode("BOMPartNo").text);
|
if(ele.selectSingleNode("SupplierID")) dw_priceitem.SetItemString(row,"SupplierID",ele.selectSingleNode("SupplierID").text);
|
if(ele.selectSingleNode("SupplierID/@_displaystring")) dw_priceitem.SetItemDisplayString(row,"SupplierID",ele.selectSingleNode("SupplierID/@_displaystring").text);
|
if(ele.selectSingleNode("BuyPrice")) dw_priceitem.SetItemString(row,"BuyPrice",ele.selectSingleNode("BuyPrice").text);
|
if(ele.selectSingleNode("ItemMiniQty")) dw_priceitem.SetItemString(row,"ItemMiniQty",ele.selectSingleNode("ItemMiniQty").text);
|
if(ele.selectSingleNode("EnquiryNo")) dw_priceitem.SetItemString(row,"EnquiryNo",ele.selectSingleNode("EnquiryNo").text);
|
if(ele.selectSingleNode("EnquiryDate")) dw_priceitem.SetItemString(row,"EnquiryDate",ele.selectSingleNode("EnquiryDate").text);
|
if(ele.selectSingleNode("ValidDay")) dw_priceitem.SetItemString(row,"ValidDay",ele.selectSingleNode("ValidDay").text);
|
if(ele.selectSingleNode("ItemNote")) dw_priceitem.SetItemString(row,"ItemNote",ele.selectSingleNode("ItemNote").text);
|
if(ele.selectSingleNode("EnquiryLineID")) dw_priceitem.SetItemString(row,"EnquiryLineID",ele.selectSingleNode("EnquiryLineID").text);
|
if(ele.selectSingleNode("PriceInfo")) dw_priceitem.SetItemString(row,"PriceInfo",ele.selectSingleNode("PriceInfo").text);
|
}
|
return 1;
|
}
|
|
int OnAddRow()
|
{
|
if(dw_pricelist.GetRow() < 1) return 1;
|
|
int row = dw_pricelist.GetRow();
|
xaserverarg arg= new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg("SKUID",dw_pricelist.GetItemString(row,"SKUID"));
|
arg.AddArg("SchemaNo",dw_pricelist.GetItemString(row,"BOMSchema"));
|
OpenWindow("dev:xpage[PriceList.PurcharItemSelect.vx]",cast(arg as int));
|
string id = dw_pricelist.GetGuid(dw_pricelist.GetRow());
|
if(id=="")
|
{
|
id = publiccode::GetGuid();
|
dw_pricelist.SetGuid(dw_pricelist.GetRow(),id);
|
}
|
if(arg.GetArgString("process")=="ok")
|
{
|
string content = arg.GetArgString("result");
|
xml x = xml::Make();
|
x.LoadXml(content);
|
msxml::IXMLDOMNodeList nodes = x.GetXmlDoc().selectNodes("data/Item");
|
AddItems(id,nodes);
|
nodes.Release();
|
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 OnDeletePriceList()
|
{
|
dw_pricelist.DeleteRow(0);
|
for(int i = dw_pricelist.GetRowCount(); 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<count; i++)
|
{
|
msxml::IXMLDOMNode node = nodes.item(i);
|
string No = "";
|
string GroupOrEmp = "";
|
if(node.selectSingleNode("NO")) No = node.selectSingleNode("NO").text;
|
if(node.selectSingleNode("Name")) GroupOrEmp = node.selectSingleNode("Name").text;
|
int crow = dw_pricelistshare.InsertRow(1);
|
//int crow = dw_pricelistshare.GetRowCount();
|
dw_pricelistshare.SetItemString(crow,"NO",No);
|
dw_pricelistshare.SetItemString(crow,"GroupOrEmp",GroupOrEmp);
|
dw_pricelistshare.SetItemString(crow,"EntityID",EntityID);
|
dw_pricelistshare.SetItemString(crow,"EntityName","产品价格单");
|
if(node.selectSingleNode("UserGroupID"))
|
dw_pricelistshare.SetItemString(crow,"UserGroupID",node.selectSingleNode("UserGroupID").text);
|
if(node.selectSingleNode("PersonID"))
|
dw_pricelistshare.SetItemString(crow,"PersonID",node.selectSingleNode("PersonID").text);
|
|
dw_pricelistshare.SetItemString(crow,"SKUID",SKUID);
|
dw_pricelistshare.SetItemDisplayString(crow,"SKUID",SKUNo);
|
dw_pricelistshare.SetItemString(crow,"CName",CName);
|
dw_pricelistshare.SetItemString(crow,"Version",Version);
|
dw_pricelistshare.SetItemString(crow,"GoodsNo",GoodsNo);
|
dw_pricelistshare.SetItemString(crow,"BOMSchema",BOMSchema);
|
|
node.Release();
|
}
|
row = dw_obj.GetNextSelectRow(row + 1);
|
}
|
}
|
return 1;
|
}
|
|
|
int OnShare2()
|
{
|
xaserverarg arg = new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
|
OpenWindow("dev:xpage[UserGroupShareEx.vx]",cast(arg as int));
|
|
return 1;
|
}
|
|
int OnTransPriceBillEx()
|
{
|
xaserverarg arg= new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg("no","Category:All");
|
arg.AddArg("QueryTxt","");
|
OpenWindow("dev:xpage[PriceList.PurcharItemSelectEx.vx]",cast(arg as int));
|
if(arg.GetArgString("process") == "ok")
|
{
|
xml x = new xml;
|
x.setNativePointer(xml::CreateInstance());
|
x.LoadXml(arg.GetArgString("result"));
|
msxml::IXMLDOMNodeList nodes = x.GetXmlDoc().selectNodes("data/Item");
|
int len = nodes.length;
|
for(int i=0; i<len;i++)
|
{
|
int row = dw_pricelistex.InsertRow(1);
|
//int row = dw_pricelistex.GetRowCount();
|
msxml::IXMLDOMNode ele = nodes.item(i);
|
//alert(ele.xml);
|
if(ele.selectSingleNode("SKUID")) dw_pricelistex.SetItemString(row,"Item",ele.selectSingleNode("SKUID").text);
|
if(ele.selectSingleNode("SKUNo")) dw_pricelistex.SetItemDisplayString(row,"SKUID",ele.selectSingleNode("SKUNo").text);
|
if(ele.selectSingleNode("GoodsNo")) dw_pricelistex.SetItemString(row,"GoodsNo",ele.selectSingleNode("GoodsNo").text);
|
if(ele.selectSingleNode("CName")) dw_pricelistex.SetItemString(row,"CName",ele.selectSingleNode("CName").text);
|
if(ele.selectSingleNode("ItemName")) dw_pricelistex.SetItemString(row,"CName",ele.selectSingleNode("ItemName").text);
|
if(ele.selectSingleNode("BOMSchema")) dw_pricelistex.SetItemString(row,"BOMSchema",ele.selectSingleNode("BOMSchema").text);
|
if(ele.selectSingleNode("Version")) dw_pricelistex.SetItemString(row,"Version",ele.selectSingleNode("Version").text);
|
if(ele.selectSingleNode("SchemaNote")) dw_pricelistex.SetItemString(row,"SchemaNote",ele.selectSingleNode("SchemaNote").text);
|
if(ele.selectSingleNode("Current")) dw_pricelistex.SetItemString(row,"Current",ele.selectSingleNode("Current").text);
|
if(ele.selectSingleNode("PriceInfo")) dw_pricelistex.SetItemString(row,"PriceInfo",ele.selectSingleNode("PriceInfo").text);
|
|
string edate = ele.selectSingleNode("EnquiryDate").text;
|
string ver = edate.mid(2,2)+"."+edate.mid(5,2)+"."+edate.mid(5,2);
|
dw_pricelistex.SetItemString(row,"Version",ver);
|
|
///dw_pricelistex.SetItemString(row,"EnquiryPriceListID",id);
|
if(ele.selectSingleNode("SchemaNote")) dw_pricelistex.SetItemString(row,"SchemaNote",ele.selectSingleNode("SchemaNote").text);
|
if(ele.selectSingleNode("BOMType")) dw_pricelistex.SetItemString(row,"BOMType",ele.selectSingleNode("BOMType").text);
|
if(ele.selectSingleNode("BOMPartNo")) dw_pricelistex.SetItemString(row,"BOMPartNo",ele.selectSingleNode("BOMPartNo").text);
|
if(ele.selectSingleNode("SupplierID")) dw_pricelistex.SetItemString(row,"SupplierID",ele.selectSingleNode("SupplierID").text);
|
if(ele.selectSingleNode("SupplierID/@_displaystring")) dw_pricelistex.SetItemDisplayString(row,"SupplierID",ele.selectSingleNode("SupplierID/@_displaystring").text);
|
if(ele.selectSingleNode("POPrice")) dw_pricelistex.SetItemString(row,"BuyPrice",ele.selectSingleNode("POPrice").text);
|
if(ele.selectSingleNode("ItemMiniQty")) dw_pricelistex.SetItemString(row,"ItemMiniQty",ele.selectSingleNode("ItemMiniQty").text);
|
if(ele.selectSingleNode("EnquiryNo")) dw_pricelistex.SetItemString(row,"EnquiryNo",ele.selectSingleNode("EnquiryNo").text);
|
if(ele.selectSingleNode("EnquiryDate")) dw_pricelistex.SetItemString(row,"EnquiryDate",ele.selectSingleNode("EnquiryDate").text);
|
if(ele.selectSingleNode("ValidDay")) dw_pricelistex.SetItemString(row,"ValidDay",ele.selectSingleNode("ValidDay").text);
|
if(ele.selectSingleNode("ItemNote")) dw_pricelistex.SetItemString(row,"ItemNote",ele.selectSingleNode("ItemNote").text);
|
if(ele.selectSingleNode("EnquiryLineID")) dw_pricelistex.SetItemString(row,"EnquiryLineID",ele.selectSingleNode("EnquiryLineID").text);
|
ele.Release();
|
}
|
x.Free();
|
nodes.Release();
|
}
|
return 1;
|
}
|
|
int OnTransPriceBill()
|
{
|
xaserverarg arg= new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg("no","Category:All");
|
arg.AddArg("QueryTxt","");
|
OpenWindow("dev:xpage[PriceList.PurcharItemSelectEx.vx]",cast(arg as int));
|
if(arg.GetArgString("process") == "ok")
|
{
|
xml x = new xml;
|
x.setNativePointer(xml::CreateInstance());
|
x.LoadXml(arg.GetArgString("result"));
|
msxml::IXMLDOMNodeList nodes = x.GetXmlDoc().selectNodes("data/Item");
|
int len = nodes.length;
|
for(int i=0; i<len;i++)
|
{
|
dw_pricelist.InsertRow(0);
|
int row = dw_pricelist.GetRowCount();
|
//dw_pricelist.SetRow(row);
|
msxml::IXMLDOMNode ele = nodes.item(i);
|
if(ele.selectSingleNode("SKUID")) dw_pricelist.SetItemString(row,"Item",ele.selectSingleNode("SKUID").text);
|
if(ele.selectSingleNode("SKUNo")) dw_pricelist.SetItemDisplayString(row,"SKUID",ele.selectSingleNode("SKUNo").text);
|
if(ele.selectSingleNode("GoodsNo")) dw_pricelist.SetItemString(row,"GoodsNo",ele.selectSingleNode("GoodsNo").text);
|
if(ele.selectSingleNode("CName")) dw_pricelist.SetItemString(row,"CName",ele.selectSingleNode("CName").text);
|
if(ele.selectSingleNode("BOMSchema")) dw_pricelist.SetItemString(row,"BOMSchema",ele.selectSingleNode("BOMSchema").text);
|
if(ele.selectSingleNode("Version")) dw_pricelist.SetItemString(row,"Version",ele.selectSingleNode("Version").text);
|
if(ele.selectSingleNode("SchemaNote")) dw_pricelist.SetItemString(row,"SchemaNote",ele.selectSingleNode("SchemaNote").text);
|
if(ele.selectSingleNode("Current")) dw_pricelist.SetItemString(row,"Current",ele.selectSingleNode("Current").text);
|
if(ele.selectSingleNode("PriceInfo")) dw_pricelist.SetItemString(row,"PriceInfo",ele.selectSingleNode("PriceInfo").text);
|
|
string edate = ele.selectSingleNode("EnquiryDate").text;
|
string ver = edate.mid(2,2)+"."+edate.mid(5,2)+"."+edate.mid(5,2);
|
dw_pricelist.SetItemString(row,"Version",ver);
|
|
if(ele.selectSingleNode("SupplierID/@_displaystring"))
|
{
|
string name = ele.selectSingleNode("SupplierID/@_displaystring").text;
|
string price = ele.selectSingleNode("POPrice").text;
|
string PriceInfo = price + " " + name;
|
dw_pricelist.SetItemString(row,"PriceInfo",PriceInfo);
|
}
|
string id = dw_pricelist.GetGuid(row);
|
if(id=="")
|
{
|
id = publiccode::GetGuid();
|
dw_pricelist.SetGuid(row,id);
|
}
|
|
dw_priceitem.InsertRow(0);
|
row = dw_priceitem.GetRowCount();
|
dw_priceitem.SetItemString(row,"EnquiryPriceListID",id);
|
if(ele.selectSingleNode("SchemaNote")) dw_priceitem.SetItemString(row,"SchemaNote",ele.selectSingleNode("SchemaNote").text);
|
if(ele.selectSingleNode("BOMType")) dw_priceitem.SetItemString(row,"BOMType",ele.selectSingleNode("BOMType").text);
|
if(ele.selectSingleNode("BOMPartNo")) dw_priceitem.SetItemString(row,"BOMPartNo",ele.selectSingleNode("BOMPartNo").text);
|
if(ele.selectSingleNode("SupplierID")) dw_priceitem.SetItemString(row,"SupplierID",ele.selectSingleNode("SupplierID").text);
|
if(ele.selectSingleNode("SupplierID/@_displaystring")) dw_priceitem.SetItemDisplayString(row,"SupplierID",ele.selectSingleNode("SupplierID/@_displaystring").text);
|
if(ele.selectSingleNode("POPrice")) dw_priceitem.SetItemString(row,"BuyPrice",ele.selectSingleNode("POPrice").text);
|
if(ele.selectSingleNode("ItemMiniQty")) dw_priceitem.SetItemString(row,"ItemMiniQty",ele.selectSingleNode("ItemMiniQty").text);
|
if(ele.selectSingleNode("EnquiryNo")) dw_priceitem.SetItemString(row,"EnquiryNo",ele.selectSingleNode("EnquiryNo").text);
|
if(ele.selectSingleNode("EnquiryDate")) dw_priceitem.SetItemString(row,"EnquiryDate",ele.selectSingleNode("EnquiryDate").text);
|
if(ele.selectSingleNode("ValidDay")) dw_priceitem.SetItemString(row,"ValidDay",ele.selectSingleNode("ValidDay").text);
|
if(ele.selectSingleNode("ItemNote")) dw_priceitem.SetItemString(row,"ItemNote",ele.selectSingleNode("ItemNote").text);
|
if(ele.selectSingleNode("EnquiryLineID")) dw_priceitem.SetItemString(row,"EnquiryLineID",ele.selectSingleNode("EnquiryLineID").text);
|
|
//AddItems(id,items);
|
//items.Release();
|
ele.Release();
|
}
|
x.Free();
|
nodes.Release();
|
}
|
return 1;
|
}
|
|
int OnTech(xdwgrid dw_term)
|
{
|
xaserverarg arg = new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
int row = dw_term.GetRow();
|
if(row < 1) return 0;
|
string str = dw_term.GetItemString(row,"TechNote");
|
arg.AddArg("value",str);
|
OpenWindow("dev:xpage[memo.edit.new.vx]",arg.getNativePointer());
|
if(arg.GetArgString("comdid")=="xmOK")
|
{
|
str = arg.GetArgString("value");
|
dw_term.AcceptText();
|
dw_term.SetItemString(row,"TechNote",str);
|
dw_term.Redraw();
|
}
|
return 0;
|
}
|
|
int OnCopy()
|
{
|
xaserverarg arg = new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
int row = dw_pricelistex.GetRow();
|
|
if(row < 1) return 0;
|
|
string ItemID = dw_pricelistex.GetItemString(row,"ItemID");
|
string EnquiryID = dw_pricelistex.GetItemString(row,"EnquiryID");
|
string OriginEnquiryLineID = dw_pricelistex.GetItemString(row,"OriginEnquiryLineID");
|
string ValidDay = dw_pricelistex.GetItemString(row,"ValidDay");
|
string SupplierID = dw_pricelistex.GetItemString(row,"SupplierID1");
|
string SupplierIDName = dw_pricelistex.GetItemString(row,"supplieridName1");
|
string SONo = dw_pricelistex.GetItemString(row,"SONo");
|
string Remark = dw_pricelistex.GetItemString(row,"Remark");
|
string Source = dw_pricelistex.GetItemString(row,"Source");
|
string PayTerm = dw_pricelistex.GetItemString(row,"PayTerm");
|
string CustomerContactName = dw_pricelistex.GetItemString(row,"CustomerContactName");
|
string ContactTel = dw_pricelistex.GetItemString(row,"ContactTel");
|
//string EnquiryNo = EnquiryView::MakeBillNo();
|
|
arg.AddArg("ItemID",ItemID);
|
arg.AddArg("EnquiryID",EnquiryID);
|
arg.AddArg("ValidDay",ValidDay);
|
arg.AddArg("SupplierID",SupplierID);
|
arg.AddArg("SupplierID/@_displaystring",SupplierIDName);
|
arg.AddArg("SONo",SONo);
|
arg.AddArg("Remark",Remark);
|
arg.AddArg("Source",Source);
|
arg.AddArg("PayTerm",PayTerm);
|
arg.AddArg("CustomerContactName",CustomerContactName);
|
arg.AddArg("ContactTel",ContactTel);
|
int pa = arg.getNativePointer();
|
openUrl("/sale/view/Enquiry3/xpage/maint", pa);
|
return 1;
|
}
|
|
int OnGroupCopy()
|
{
|
xaserverarg arg = new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
int row = dw_priceitem.GetRow();
|
int row1 = dw_pricelist.GetRow();
|
if(row < 1) return 0;
|
if(row1 < 1) return 0;
|
|
string ItemID = dw_pricelist.GetItemString(row1,"ItemID");
|
string EnquiryID = dw_priceitem.GetItemString(row,"EnquiryID");
|
string OriginEnquiryLineID = dw_priceitem.GetItemString(row,"OriginEnquiryLineID");
|
string ValidDay = dw_priceitem.GetItemString(row,"ValidDay");
|
string SupplierID = dw_priceitem.GetItemString(row,"SupplierID1");
|
string SupplierIDName = dw_priceitem.GetItemString(row,"supplieridName1");
|
string SONo = dw_priceitem.GetItemString(row,"SONo");
|
string Remark = dw_priceitem.GetItemString(row,"Remark");
|
string Source = dw_priceitem.GetItemString(row,"Source");
|
string PayTerm = dw_priceitem.GetItemString(row,"PayTerm");
|
string CustomerContactName = dw_priceitem.GetItemString(row,"CustomerContactName");
|
string ContactTel = dw_priceitem.GetItemString(row,"ContactTel");
|
//string EnquiryNo = EnquiryView::MakeBillNo();
|
|
arg.AddArg("ItemID",ItemID);
|
arg.AddArg("EnquiryID",EnquiryID);
|
arg.AddArg("ValidDay",ValidDay);
|
arg.AddArg("SupplierID",SupplierID);
|
arg.AddArg("SupplierID/@_displaystring",SupplierIDName);
|
arg.AddArg("SONo",SONo);
|
arg.AddArg("Remark",Remark);
|
arg.AddArg("Source",Source);
|
arg.AddArg("PayTerm",PayTerm);
|
arg.AddArg("CustomerContactName",CustomerContactName);
|
arg.AddArg("ContactTel",ContactTel);
|
|
|
int pa = arg.getNativePointer();
|
openUrl("/sale/view/Enquiry3/xpage/maint", pa);
|
return 1;
|
}
|
|
int PreOnCmdDispatch(string comdid)
|
{
|
//alert(comdid);
|
if(comdid=="xmSearch")
|
{
|
OnFilter();
|
return 0;
|
}
|
if(comdid=="xmTech")
|
{
|
return OnTech(dw_pricelistex);
|
}
|
else if(comdid=="xmTech1")
|
{
|
return OnTech(dw_pricelist);
|
}
|
else if(comdid=="xmTech2")
|
{
|
return OnTech(dw_priceitem);
|
}
|
if(comdid=="tab_pricebill")
|
{
|
sheetname="tab_pricebill";
|
SetAgent("list");
|
|
SwitchLayer("tv_folder_pricebill","folder_frame");
|
if(dw_pricelistex.GetRowCount() < 1) OnProductPriceBillRetrieve();
|
return 0;
|
}
|
else if(comdid=="tab_pricebillex")
|
{
|
sheetname="tab_pricebillex";
|
SetAgent("list");
|
SwitchLayer("tv_folder_pricebill","folder_frame");
|
if(dw_pricelist.GetRowCount() < 1) OnPriceBillRetrieve();
|
return 0;
|
}else if(comdid=="tab_list2")
|
{
|
dw_list = GetControl("dw_list2");
|
sheetname = "tab_list2";
|
SetAgent("list");
|
}
|
|
else if(comdid.left(4)=="tab_")
|
{
|
if(comdid=="tab_list")
|
{
|
dw_list = GetControl("dw_list");
|
sheetname = "dw_list";
|
}
|
if(comdid=="tab_pricebillshare")
|
SwitchLayer("tv_folder_pricebill","folder_frame");
|
else
|
SwitchLayer("tv_folder","folder_frame");
|
sheetname=comdid;
|
SetAgent("list");
|
return 0;
|
}
|
|
if(comdid=="xmAddRow")
|
{
|
OnAddRow();
|
return 0;
|
}
|
if(comdid=="xmDeleteRow")
|
{
|
OnDeleteRow();
|
return 0;
|
}
|
if(comdid=="xmDelete")
|
{
|
OnDeletePriceList();
|
return 0;
|
}
|
|
if(comdid=="xmBOMSchema")
|
{
|
OpenWindow("dev:xpage[ProductSchema.vx]");
|
return 0;
|
}
|
else if(comdid=="xmAddPriceList")
|
{
|
OnAddPriceList();
|
return 0;
|
}
|
else if(comdid=="xmAddPriceListVersion")
|
{
|
OnAddPriceListVersion();
|
return 0;
|
}
|
|
if(comdid=="action:bill.trantopricebill" || comdid=="bill.trantopricebill")
|
{
|
OnTransPriceBillEx();
|
return 0;
|
}
|
if(comdid=="action:bill.new")
|
{
|
string s = publiccode::GetUser().id;
|
xml supplier_x = ViewObject::RetrieveData("/sale/data/SupplierV3/entity/FindBySaleType","id", s);
|
if(supplier_x)
|
{
|
if(supplier_x.GetXmlDoc().text == "采购经理")
|
{
|
alert("当前角色不是采购员不能新增单子,请重新选择角色");
|
return 0;
|
}
|
}
|
}
|
if(comdid=="action:bill.histroydata") return Onhistroydata();
|
else if(comdid=="action:bill.refresh") return OnPreRetrieve();
|
else if(comdid=="action:bill.print") return OnPrint();
|
else if(comdid=="action:bill.share" || comdid=="xmShare")
|
{
|
OnShare();
|
return 0;
|
}
|
|
else if(comdid=="xmShare2")
|
{
|
OnShare2();
|
return 0;
|
}
|
else if(comdid=="xmSave")
|
{
|
OnSave();
|
return 0;
|
}
|
else if(comdid=="xmCopy")
|
{
|
OnCopy();
|
return 0;
|
}
|
else if(comdid=="xmGroupCopy")
|
{
|
OnGroupCopy();
|
return 0;
|
}
|
else if(comdid=="xmShareSave")
|
{
|
OnSaveShare();
|
return 0;
|
}
|
else if(comdid=="xmPriceListDeleteRow")
|
{
|
dw_pricelistex.DeleteRow(0);
|
return 0;
|
}
|
else if(comdid=="xmShareRefresh")
|
{
|
OnProductPriceShareRetrieve();
|
return 0;
|
}
|
else if(comdid=="xmPriceBillRefresh")
|
{
|
OnPriceBillRetrieve();
|
return 0;
|
}
|
else if(comdid=="xmShareDeleteRow")
|
{
|
dw_pricelistshare.DeleteRow(0);
|
return 0;
|
}
|
|
return 1;
|
}
|
|
//xcombobox下拉
|
int OnSelectDdlb(ref TNotifyEvent evt,int p)
|
{
|
changeddlb=1;
|
int wid = ddlb_1.GetId();
|
int CB_GETCURSEL = 0x0147;
|
int nIndex = win32::SendMessage(wid,CB_GETCURSEL,0,0);
|
msxml::IXMLDOMElement e = ddlb_1.GetElement();
|
msxml::IXMLDOMElement e2 = e.selectSingleNode("item["+(nIndex+1).toString()+"]");
|
string no=e2.selectSingleNode("@element").text;
|
|
int hItem = tv_folder.GetRootItem();
|
while(tv_folder.GetChildItem(hItem))
|
tv_folder.DeleteItem(tv_folder.GetChildItem(hItem));
|
ExpandFolderItem(tv_folder,hItem, no);
|
|
changeddlb=0;
|
return 1;
|
}
|
|
|
int OnCkbCLick(ref TEvent evt,int p)
|
{
|
xcheckbox cbx_1 = GetControl("cbx1");
|
int state=cbx_1.GetCheck(cbx_1.GetId());
|
if(evt.lParam == GetControl("cbx1").GetId())
|
{
|
if (state== -1)
|
SwitchLayer("sheet1","frame");
|
else
|
SwitchLayer("sheet2","frame");
|
return 1;
|
}else if(evt.lParam == GetControl("cbx2").GetId())
|
{
|
cbx_1 = GetControl("cbx2");
|
state=cbx_1.GetCheck(cbx_1.GetId());
|
int hCursor = xutil::SetCursorWait();
|
string ItemID = dw_list1.GetItemString(dw_list1.GetRow(),"ItemID");
|
|
xml x = ViewObject::RetrieveData("/sale/data/Enquiry/folder/listitemsex","itemID",ItemID,"type",state.toString());
|
if(x)
|
dw_goods1.Retrieve(x);
|
else
|
dw_goods1.Reset();
|
dw_goods1.Redraw();
|
dw_goods1.SetReadOnly(true);
|
xutil::RestoreCursor(hCursor);
|
if(state==-1) state2 = 1; else state2 = -1;
|
return 1;
|
}
|
}
|
|
int OnPriceListRowChanged(ref TNotifyEvent evt,int p)
|
{
|
ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR);
|
int row = hdr.row;
|
|
int hCursor = xutil::SetCursorWait();
|
OnRetrieveItem(dw_pricelist.GetGuid(row));
|
|
return 1;
|
}
|
|
int OnItemAskStyle(ref TNotifyEvent evt,int p)
|
{
|
int DMS_CSSSTYLE = 0x8;
|
ref DWASKSTYLENMHDR hdr = trust(evt.pnmh as ref DWASKSTYLENMHDR);
|
int row = hdr.row;
|
int col = hdr.col;
|
string colname = hdr.colname;
|
|
int rows = dw_list.GetRowCount();
|
if(row < 1 || row > 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;
|
}
|
};
|