#include <wobject/xstring.hpp>
|
#include <xcontrol/xtreeview.hpp>
|
#include <xcontrol/xdwgrid.hpp>
|
|
#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
|
#include "viewobject/view.base.hpp"
|
|
using xml = KXMLDOMDocument;
|
class __declspec(dllexport) Enquiry3list : public listwin
|
{
|
|
public:
|
Enquiry3list(void* implPtr, HWND hWnd) :listwin(implPtr, hWnd) {}
|
public:
|
static Enquiry3list* CreateInstance(void* implPtr, void* hWnd)
|
{
|
Enquiry3list* pWin = new Enquiry3list(implPtr, (HWND)hWnd);
|
return pWin;
|
}
|
|
public:
|
xstring m_sType; //树选中的类型
|
xstring m_sTypeTxt; //树选中的数据
|
xstring urlTree;
|
xstring myDataUrl;
|
xstring 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;
|
xstring sheetname;
|
xnode m_agentNode;
|
|
int SetAgentEx()
|
{
|
xstring xfNodeAgentArea = L"agentarea";
|
xnode anode = GetAgentNode(xfNodeAgentArea);
|
/*if(m_agentNode)
|
{
|
SetAgentNodeContent (anode,m_agentNode);
|
}
|
else
|
{*/
|
KXMLDOMElement xframeElement = GetElement();
|
KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[@id='"+sheetname+L"']/*");
|
if(agent)
|
{
|
xstring s = agent.xml();
|
m_agentNode = SetAgentNodeContent (anode,s);
|
}
|
//}
|
return 1;
|
}
|
|
int SetAgent1(xstring scene, xstring EntityID)
|
{
|
xstring xfNodeAgentArea = L"agentarea";
|
xnode anode = GetAgentNode(xfNodeAgentArea);
|
KXMLDOMElement xframeElement = GetElement();
|
KXMLDOMNode agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[1]/*");
|
|
xml x ;
|
|
xaserverarg& arg = *new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg(L"scene",scene,L"xs:xstring");
|
arg.AddArg(L"EntityID",EntityID,L"xs:xstring");
|
arg.AddArg(L"EntityName",GetEntityName(1),L"xs:xstring");
|
|
xurl::get(L"/workflow/query/datarole/"+GetEntityName(1),arg.GetString(),x);
|
|
SetObjectInfo(x.documentElement());
|
|
xstring sNodes;
|
sNodes = L"datarole/actions/action[contains(@scene,'"+ scene + L"')]";
|
KXMLDOMNodeList nlist = x.selectNodes(sNodes);
|
int index;
|
int nlen = nlist.length();
|
KXMLDOMElement ele;
|
|
xstring tools=L"<vbox class=''>";
|
if(scene==L"list") tools +=L"<xspace height='12'/>";
|
|
for(index=0;index<nlen;index++)
|
{
|
ele = nlist.item(index);
|
xstring name = ele.selectSingleNode(L"@id").text();//.getAttribute(L"id");
|
xstring label = ele.selectSingleNode(L"@caption").text();//ele.getAttribute(L"caption");
|
xstring image;
|
xstring src = L"";
|
if(ele.selectSingleNode(L"@image"))
|
image = ele.selectSingleNode(L"@image").text();
|
else
|
image = L"0 22";
|
|
if(ele.selectSingleNode(L"@src"))
|
src = ele.selectSingleNode(L"@src").text();
|
|
xstring tool;
|
|
if (src != L"")
|
tool = L"<xtoolbutton src='"+src+L"' caption='"+label+L"' name='action:"+name+L"' height='23' style='background-color:none #ceecce none #ffffff'/>";
|
else
|
tool = L"<xtoolbutton image='"+image+L"' caption='"+label+L"' name='action:"+name+L"' height='23' style='background-color:none #ceecce none #ffffff'/>";
|
tools += tool;
|
}
|
/*if(agent)
|
{
|
nlist = agent.selectNodes(L".//xtoolbutton");
|
nlen = nlist.length();
|
for(index=0;index<nlen;index++)
|
{
|
ele = nlist.item(index);
|
xstring tmp = ele.xml;
|
tools += tmp;
|
}
|
}*/
|
tools +=L"</vbox>";
|
//trace(tools);
|
SetAgentNodeContent(anode, tools);
|
|
return 1;
|
}
|
|
int SetAgent(xstring scene, xstring EntityID)
|
{
|
if(sheetname !=L"tab_pricebill" && sheetname !=L"tab_pricebillex" && sheetname !=L"tab_pricebillshare" && sheetname !=L"tab_list2")
|
SetAgent1(scene,EntityID);
|
else
|
SetAgentEx();
|
return 1;
|
}
|
|
//process tree
|
//查找当前树项的顶级目录
|
HTREEITEM LookupTopFolder(HTREEITEM hItem)
|
{
|
HTREEITEM hRoot = tv_folder.GetRootItem();
|
while (tv_folder.GetParentItem(hItem)) hItem = tv_folder.GetParentItem(hItem);
|
return hItem;
|
}
|
|
int ExpandCatChildFolder(xtreeview tv_folder, HTREEITEM hItem, KXMLDOMElement ele ,int image)
|
{
|
KXMLDOMNodeList nlist = ele.selectNodes(L"item");
|
int len = nlist.length();
|
if(len > 0) tv_folder.SetItemChild(hItem,1);
|
for (int i= 0; i < len; i++)
|
{
|
KXMLDOMElement e = nlist.item(i);
|
xstring name = e.getAttribute(L"name");
|
HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, image);
|
ExpandCatChildFolder(tv_folder,h,e,35);
|
}
|
return 1;
|
}
|
|
int ExpandFolderItem(xtreeview tv_folder, HTREEITEM hItem,xstring no)
|
{
|
KXMLDOMDocument x = ViewObject::RetrieveData(urlTree,L"no",no);
|
//if(x) alert(x.xml());
|
if(!x) return 0;
|
KXMLDOMNodeList nlist = x.selectNodes(L"/data/item");
|
int len = nlist.length();
|
for (int i = 0; i < len; i++)
|
{
|
KXMLDOMElement e = nlist.item(i);
|
xstring name = e.getAttribute(L"name");
|
HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e,35);
|
ExpandCatChildFolder(tv_folder,h,e,35);
|
}
|
return 1;
|
}
|
|
//树展开
|
int OnTreeExpanding(TEvent* evt, int p)
|
{
|
NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh;
|
HTREEITEM hItem = nmtv.itemNew.hItem;
|
HTREEITEM hTopItem = LookupTopFolder(hItem);
|
xstring name = tv_folder.GetItemLabel(hTopItem);
|
HTREEITEM child = tv_folder.GetChildItem(hItem);
|
|
KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
|
if (!child)ExpandFolderItem(tv_folder,hItem,e.getAttribute(L"no"));
|
|
return 1;
|
}
|
|
|
int OnPriceBillTreeExpanding(TEvent* evt, int p)
|
{
|
|
NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh;
|
HTREEITEM hItem = nmtv.itemNew.hItem;
|
HTREEITEM hTopItem = LookupTopFolder(hItem);
|
xstring name = tv_folder_pricebill.GetItemLabel(hTopItem);
|
HTREEITEM child = tv_folder_pricebill.GetChildItem(hItem);
|
|
KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder_pricebill.GetItemData(hItem);
|
if (!child)ExpandFolderItem(tv_folder_pricebill,hItem,e.getAttribute(L"no"));
|
|
return 1;
|
|
}
|
|
int ExpandChildFolder(xtreeview tv_folder, HTREEITEM hItem, KXMLDOMElement pElement)
|
{
|
KXMLDOMNodeList nlist = pElement.selectNodes(L"Item");
|
int len = nlist.length();
|
for (int i = 0; i < len; i++)
|
{
|
KXMLDOMElement e = nlist.item(i);
|
xstring name = e.getAttribute(L"name");
|
xstring sImage = e.getAttribute(L"image");
|
xstring child = e.getAttribute(L"child");
|
int image = 15;
|
if(sImage) image = sImage.toInt();
|
|
HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, image);
|
if(child !=L"no" ) tv_folder.SetItemChild(h,1);
|
ExpandChildFolder(tv_folder,h,e);
|
}
|
return 1;
|
}
|
|
int InitialFolder()
|
{
|
KXMLDOMElement xframeElement = GetElement();
|
KXMLDOMElement e = xframeElement.selectSingleNode(L"//xtree[@name='tv_folder']/initial");
|
if(e)ExpandChildFolder(tv_folder, 0,e);
|
return 1;
|
}
|
int InitialFolderPriceBill()
|
{
|
KXMLDOMElement xframeElement = GetElement();
|
KXMLDOMElement e = xframeElement.selectSingleNode(L"//xtree[@name='tv_folder_pricebill']/initial");
|
if(e)ExpandChildFolder(tv_folder_pricebill,0,e);
|
return 1;
|
}
|
|
int OnTreeSelChanged(TEvent* evt, int p)
|
{
|
//OnPriceBillRetrieve();
|
//OnProductPriceBillRetrieve();
|
return OnPreRetrieve();
|
}
|
|
int OnPriceBillTreeSelChanged(TEvent* evt, int p)
|
{
|
OnPriceBillRetrieve();
|
OnProductPriceBillRetrieve();
|
return 1;
|
}
|
|
int OnSaveShare()
|
{
|
dw_pricelistshare.AcceptText();
|
|
xml x ;
|
|
xaserverarg arg;
|
|
dw_pricelistshare.DwUpdateAllToEx(x);
|
|
arg.AddArg(L"content", x.xml() );
|
if(xurl::get(L"/sale/data/UserGroup/update/entity", arg.GetString(),x)!=1)
|
{
|
xstring error = x.text();
|
alert(L"err:"+error);
|
return 1;
|
}else
|
{
|
xstring str = x.documentElement().getAttribute(L"text");
|
if(str == L"true")
|
{
|
alert(L"保存成功!");
|
dw_pricelistshare.ResetUpdateStatus();
|
}else
|
{
|
alert(L"保存失败!");
|
}
|
}
|
if(x) x.Free();
|
|
return 1;
|
}
|
int Send(xstring PersonID, xstring CName,xstring NO,xstring EntityID)
|
{
|
KXMLDOMDocument x = ViewObject::RetrieveData(L"/sale/data/business/message/getUserNO",L"PersonID",PersonID);
|
KXMLDOMNodeList nlist = x.selectNodes(L"//data/Item");
|
KXMLDOMElement xitem = nlist.item(0);
|
|
xstring Reciever = xitem.selectSingleNode(L"userno").text();
|
xstring Subject = L"价格单已共享["+CName+L"]";
|
xstring Category = L"价格单共享";
|
xstring Content = L"";
|
KXMLDOMDocument x = ViewObject::AddMessage(Category, Reciever, NO, EntityID, Subject, Content);
|
return 1;
|
}
|
int SendNotice(xml content)
|
{
|
|
KXMLDOMNodeList nlist = content.selectNodes(L"//root/item[@update.new='1']");
|
int leng = nlist.length();
|
for(int i = 0; i < leng; i++)
|
{
|
KXMLDOMElement xitem = nlist.item(i);
|
xstring PersonID = xitem.selectSingleNode(L"PersonID").text();
|
xstring UserGroupID = xitem.selectSingleNode(L"UserGroupID").text();
|
xstring CName = xitem.selectSingleNode(L"CName").text();
|
xstring NO = xitem.selectSingleNode(L"NO").text();
|
xstring EntityID = xitem.selectSingleNode(L"EntityID").text();
|
if(PersonID != L"")
|
{
|
Send(PersonID,CName,NO,EntityID);
|
}
|
if(UserGroupID != L"")
|
{
|
xml x = ViewObject::RetrieveData(L"/sale/data/business/message/getPersonIDByGroup",L"UserGroupID",UserGroupID);
|
KXMLDOMNodeList nlist1 = x.selectNodes(L"//data/Item");
|
for(int j = 0 ; j < nlist1.length() ; j++)
|
{
|
KXMLDOMElement xitem1 = nlist1.item(j);
|
PersonID = xitem1.selectSingleNode(L"PersonID").text();
|
Send(PersonID,CName,NO,EntityID);
|
}
|
|
}
|
return 1;
|
}
|
|
return 1;
|
}
|
|
int OnSave()
|
{
|
xstring error = L"";
|
xstring str = L"";
|
|
dw_pricelist.AcceptText();
|
dw_pricelistex.AcceptText();
|
dw_pricelistshare.AcceptText();
|
|
xml x ;
|
|
xaserverarg arg ;
|
arg.setNativePointer(arg.CreateInstance());
|
|
dw_pricelistex.DwUpdateAllToEx(x);
|
if(x.xml()!=L"")
|
{
|
|
arg.AddArg(L"content", x.xml());
|
if(xurl::get(L"/sale/data/Enquiry/update/pricelistex", arg.GetString(),x)!=1)
|
{
|
error = x.text();
|
alert(error);
|
return 1;
|
}
|
else
|
{
|
str = x.documentElement().getAttribute(L"text");
|
if(str == L"true")
|
{
|
dw_pricelistex.ResetUpdateStatus();
|
}else
|
{
|
alert(L"成品价格单保存失败!");
|
return 1;
|
}
|
}
|
|
xml x0 ;
|
|
dw_pricelist.DwUpdateAllToEx(x0);
|
if(x0.xml() !=L"")
|
{
|
xml x1 = xml::Make();
|
dw_priceitem.DwUpdateAllToEx(x1);
|
if(x0.documentElement())
|
{
|
if(x1.documentElement())
|
x0.documentElement().appendChild(x1.documentElement());
|
}
|
x1.Free();
|
arg.AddArg(L"content", x0.xml() );
|
x0.Free();
|
if(xurl::get(L"/sale/data/Enquiry/update/pricelist", arg.GetString(),x)!=1)
|
{
|
error = x.text();
|
alert(error);
|
return 1;
|
}
|
else
|
{
|
str = x.documentElement().getAttribute(L"text");
|
if(str == L"true")
|
{
|
dw_pricelist.ResetUpdateStatus();
|
dw_priceitem.ResetUpdateStatus();
|
}else
|
{
|
alert(L"组件价格单保存失败!");
|
return 1;
|
}
|
}
|
}
|
}
|
|
xml x2;
|
|
dw_pricelistshare.DwUpdateAllToEx(x2);
|
arg.AddArg(L"content", x2.xml());
|
if(xurl::get(L"/sale/data/UserGroup/update/entity", arg.GetString(),x)!=1)
|
{
|
error = x.text();
|
alert(L"err:"+error);
|
return 1;
|
}else
|
{
|
str = x.documentElement().getAttribute(L"text");
|
if(str == L"true")
|
{
|
dw_pricelistshare.ResetUpdateStatus();
|
alert(L"保存成功!");
|
OnProductPriceShareRetrieve();//刷新数据
|
SendNotice(x2);//发送通知
|
x2.Free();
|
}else
|
{
|
alert(L"共享数据保存失败!");
|
}
|
}
|
x.Free();
|
|
return 1;
|
}
|
|
int ViewUpdate(int pr,xstring updateItem,xaserverarg arg)
|
{
|
if( updateItem==L"del")
|
{
|
int DelRow = dw_list.GetRow();
|
dw_list.DeleteRow(DelRow);
|
}
|
else if( updateItem==L"setstate")
|
{
|
int row = dw_list.GetRow();
|
if (row < 1) return 1;
|
KXMLDOMElement ele = dw_list.GetRowElement(row);
|
xstring id = GetEntityIDName(1);
|
xstring entity = ele.selectSingleNode(id).text();
|
//trace(entity);
|
SetAgent(L"list", entity);
|
if(arg.GetArgString(L"state") != L"")
|
//dw_list.SetItemString(row, L"ApprovalStatus", arg.GetArgString(L"state"));
|
dw_list.SetItemString(row, L"ApplyStatus", arg.GetArgString(L"state"));
|
if(arg.GetArgString(L"billstatus") != L"")
|
{
|
xstring billstatus = arg.GetArgString(L"billstatus");
|
xstring statusName = GetBillStatusName(billstatus);
|
dw_list.SetItemString(row, L"ApprovalStatus", billstatus);
|
dw_list.SetItemDisplayString(row, L"ApprovalStatus", statusName);
|
}
|
|
dw_list.Redraw();
|
}
|
return 1;
|
}
|
|
bool IsEmptyQueryStr(xstring queryStr)
|
{
|
if(queryStr==L"") return true;
|
if(queryStr==L"<items join='and'/>") return true;
|
if(queryStr==L"<items join=\"and\"/>") return true;
|
return false;
|
}
|
|
//检索
|
int OnPreRetrieve()
|
{
|
|
int hItem = tv_folder.GetSelectedItem();
|
if(hItem <=0) return 1;
|
|
int hCursor = xutil::SetCursorWait();
|
KXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement);
|
xstring no = e1.getAttribute(L"no");
|
xml x = 0;
|
if(!(no ==L"Category:All" && IsEmptyQueryStr(m_QueryTxt)))
|
x = ViewObject::RetrieveData(myDataUrl,L"no",no,L"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 ==L"Category:All" && IsEmptyQueryStr(m_QueryTxt)))
|
x = ViewObject::RetrieveData(L"/sale/data/Enquiry/folder/list2",L"no",no,L"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,L"no",no,L"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)
|
{
|
KXMLDOMElement e =dw_list.GetRowElement(row);
|
xaserverarg arg=new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
xstring sCustomerID = e.selectSingleNode(L"CustomerID").text();
|
arg.AddArg(L"CustomerID",sCustomerID,L"");
|
xstring sCustomerName = e.selectSingleNode(L"CustomerName").text();
|
arg.AddArg(L"CustomerName",sCustomerName,L"");
|
arg.AddArg(L"EntityName",GetEntityName(1),L"");
|
arg.AddArg(L"EntityID",GetEntityID(1),L"");
|
int p = arg.ptr_native_;
|
openUrl(L"/sale/view/Enquiry3/xpage/histroydata", p);
|
}
|
return 1;
|
}
|
|
int OnPrint()
|
{
|
xaserverarg arg=new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg(L"EntityName",L"Enquiry",L"");
|
arg.AddArg(L"EntityID",GetEntityID(1),L"");
|
arg.AddArg(L"EntityNo",GetEntityNo(1),L"");
|
int p = arg.ptr_native_;
|
openUrl(L"/sale/view/view.base/xpage/Template/PrintViewEx", p);
|
return 0;
|
}
|
|
int OnAddPriceList()
|
{
|
dw_priceitem.Reset();
|
|
xaserverarg arg = xaserverarg::Make();
|
arg.AddArg(L"action",L"AddPriceList");
|
|
OpenWindow(L"dev:xpage[ProductSchemaSelect.vx]",cast(arg as int));
|
if(arg.GetArgString(L"process") == L"ok")
|
{
|
|
xml x = new xml;
|
x.setNativePointer(xml::CreateInstance());
|
if (getUrl(L"/sale/data/Enquiry/PriceListEx/SKU",arg.GetString(),x)!=1) return 1;
|
KXMLDOMNodeList nodes = x.selectNodes(L"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);
|
KXMLDOMNode ele = nodes.item(i);
|
if(ele.selectSingleNode(L"SKUID")) dw_pricelist.SetItemString(row,L"SKUID",ele.selectSingleNode(L"SKUID").text());
|
if(ele.selectSingleNode(L"SKUID/@_displaystring")) dw_pricelist.SetItemDisplayString(row,L"SKUID",ele.selectSingleNode(L"SKUID/@_displaystring").text());
|
if(ele.selectSingleNode(L"GoodsNo")) dw_pricelist.SetItemString(row,L"GoodsNo",ele.selectSingleNode(L"GoodsNo").text());
|
if(ele.selectSingleNode(L"CName")) dw_pricelist.SetItemString(row,L"CName",ele.selectSingleNode(L"CName").text());
|
if(ele.selectSingleNode(L"BOMSchema")) dw_pricelist.SetItemString(row,L"BOMSchema",ele.selectSingleNode(L"BOMSchema").text());
|
if(ele.selectSingleNode(L"Version")) dw_pricelist.SetItemString(row,L"Version",ele.selectSingleNode(L"Version").text());
|
if(ele.selectSingleNode(L"SchemaNote")) dw_pricelist.SetItemString(row,L"SchemaNote",ele.selectSingleNode(L"SchemaNote").text());
|
if(ele.selectSingleNode(L"Current")) dw_pricelist.SetItemString(row,L"Current",ele.selectSingleNode(L"Current").text());
|
if(ele.selectSingleNode(L"PriceInfo")) dw_pricelist.SetItemString(row,L"PriceInfo",ele.selectSingleNode(L"PriceInfo").text());
|
|
xstring id = dw_pricelist.GetGuid(row);
|
if(id==L"")
|
{
|
id = publiccode::GetGuid();
|
dw_pricelist.SetGuid(row,id);
|
}
|
KXMLDOMNodeList items = ele.selectNodes(L"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(L"SKUID",dw_pricelist.GetItemString(row,L"SKUID"));
|
arg.AddArg(L"SchemaNo",dw_pricelist.GetItemString(row,L"BOMSchema"));
|
if (getUrl(L"/sale/data/Enquiry/PriceListEx/SKU",arg.GetString(),x)!=1) return 1;
|
KXMLDOMNodeList nodes = x.selectNodes(L"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);
|
KXMLDOMNode ele = nodes.item(i);
|
if(ele.selectSingleNode(L"SKUID")) dw_pricelist.SetItemString(row,L"SKUID",ele.selectSingleNode(L"SKUID").text());
|
if(ele.selectSingleNode(L"SKUID/@_displaystring")) dw_pricelist.SetItemDisplayString(row,L"SKUID",ele.selectSingleNode(L"SKUID/@_displaystring").text());
|
if(ele.selectSingleNode(L"GoodsNo")) dw_pricelist.SetItemString(row,L"GoodsNo",ele.selectSingleNode(L"GoodsNo").text());
|
if(ele.selectSingleNode(L"CName")) dw_pricelist.SetItemString(row,L"CName",ele.selectSingleNode(L"CName").text());
|
if(ele.selectSingleNode(L"BOMSchema")) dw_pricelist.SetItemString(row,L"BOMSchema",ele.selectSingleNode(L"BOMSchema").text());
|
if(ele.selectSingleNode(L"Version")) dw_pricelist.SetItemString(row,L"Version",ele.selectSingleNode(L"Version").text());
|
if(ele.selectSingleNode(L"SchemaNote")) dw_pricelist.SetItemString(row,L"SchemaNote",ele.selectSingleNode(L"SchemaNote").text());
|
if(ele.selectSingleNode(L"Current")) dw_pricelist.SetItemString(row,L"Current",ele.selectSingleNode(L"Current").text());
|
if(ele.selectSingleNode(L"PriceInfo")) dw_pricelist.SetItemString(row,L"PriceInfo",ele.selectSingleNode(L"PriceInfo").text());
|
xstring id = dw_pricelist.GetGuid(row);
|
if(id==L"")
|
{
|
id = publiccode::GetGuid();
|
dw_pricelist.SetGuid(row,id);
|
}
|
KXMLDOMNodeList items = ele.selectNodes(L"data/Item");
|
AddItems(id,items);
|
items.Release();
|
ele.Release();
|
}
|
nodes.Release();
|
x.Free();
|
arg.Free();
|
|
//OnRetrieveItem(dw_pricelist.GetGuid(row));
|
return 1;
|
}
|
|
int AddItems(xstring id, KXMLDOMNodeList nodes)
|
{
|
//dw_pricelist.Filter(L"EnquiryPriceListID",L"");
|
|
int len = nodes.length();
|
for(int i=0;i<len;i++)
|
{
|
dw_priceitem.InsertRow(0);
|
int row = dw_priceitem.GetRowCount();
|
dw_priceitem.SetItemString(row,L"EnquiryPriceListID",id);
|
KXMLDOMNode ele = nodes.item(i);
|
if(ele.selectSingleNode(L"SchemaNote")) dw_priceitem.SetItemString(row,L"SchemaNote",ele.selectSingleNode(L"SchemaNote").text());
|
if(ele.selectSingleNode(L"BOMType")) dw_priceitem.SetItemString(row,L"BOMType",ele.selectSingleNode(L"BOMType").text());
|
if(ele.selectSingleNode(L"BOMPartNo")) dw_priceitem.SetItemString(row,L"BOMPartNo",ele.selectSingleNode(L"BOMPartNo").text());
|
if(ele.selectSingleNode(L"SupplierID")) dw_priceitem.SetItemString(row,L"SupplierID",ele.selectSingleNode(L"SupplierID").text());
|
if(ele.selectSingleNode(L"SupplierID/@_displaystring")) dw_priceitem.SetItemDisplayString(row,L"SupplierID",ele.selectSingleNode(L"SupplierID/@_displaystring").text());
|
if(ele.selectSingleNode(L"BuyPrice")) dw_priceitem.SetItemString(row,L"BuyPrice",ele.selectSingleNode(L"BuyPrice").text());
|
if(ele.selectSingleNode(L"ItemMiniQty")) dw_priceitem.SetItemString(row,L"ItemMiniQty",ele.selectSingleNode(L"ItemMiniQty").text());
|
if(ele.selectSingleNode(L"EnquiryNo")) dw_priceitem.SetItemString(row,L"EnquiryNo",ele.selectSingleNode(L"EnquiryNo").text());
|
if(ele.selectSingleNode(L"EnquiryDate")) dw_priceitem.SetItemString(row,L"EnquiryDate",ele.selectSingleNode(L"EnquiryDate").text());
|
if(ele.selectSingleNode(L"ValidDay")) dw_priceitem.SetItemString(row,L"ValidDay",ele.selectSingleNode(L"ValidDay").text());
|
if(ele.selectSingleNode(L"ItemNote")) dw_priceitem.SetItemString(row,L"ItemNote",ele.selectSingleNode(L"ItemNote").text());
|
if(ele.selectSingleNode(L"EnquiryLineID")) dw_priceitem.SetItemString(row,L"EnquiryLineID",ele.selectSingleNode(L"EnquiryLineID").text());
|
if(ele.selectSingleNode(L"PriceInfo")) dw_priceitem.SetItemString(row,L"PriceInfo",ele.selectSingleNode(L"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(L"SKUID",dw_pricelist.GetItemString(row,L"SKUID"));
|
arg.AddArg(L"SchemaNo",dw_pricelist.GetItemString(row,L"BOMSchema"));
|
OpenWindow(L"dev:xpage[PriceList.PurcharItemSelect.vx]",cast(arg as int));
|
xstring id = dw_pricelist.GetGuid(dw_pricelist.GetRow());
|
if(id==L"")
|
{
|
id = publiccode::GetGuid();
|
dw_pricelist.SetGuid(dw_pricelist.GetRow(),id);
|
}
|
if(arg.GetArgString(L"process")==L"ok")
|
{
|
xstring content = arg.GetArgString(L"result");
|
xml x = xml::Make();
|
x.LoadXml(content);
|
KXMLDOMNodeList nodes = x.selectNodes(L"data/Item");
|
AddItems(id,nodes);
|
nodes.Release();
|
xstring PriceInfo = L"";
|
for(int i=1;i<=dw_pricelist.GetRowCount();i++)
|
{
|
if(i==1)
|
PriceInfo = dw_priceitem.GetItemString(i,L"PriceInfo");
|
else
|
PriceInfo = PriceInfo + L" " + dw_priceitem.GetItemString(i,L"PriceInfo");
|
}
|
dw_pricelist.SetItemString(dw_pricelist.GetRow(),L"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);
|
xstring PriceInfo = L"";
|
for(int i=1;i<=dw_pricelist.GetRowCount();i++)
|
{
|
if(i==1)
|
PriceInfo = dw_priceitem.GetItemString(i,L"PriceInfo");
|
else
|
PriceInfo = PriceInfo + L" " + dw_priceitem.GetItemString(i,L"PriceInfo");
|
}
|
dw_pricelist.SetItemString(dw_pricelist.GetRow(),L"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();
|
xstring EnquiryNo = dw_list.GetItemString(row,L"EnquiryNo");
|
xml x = ViewObject::RetrieveData(L"/sale/data/Enquiry/maint",L"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();
|
xstring EnquiryNo = dw_list2.GetItemString(row,L"EnquiryNo");
|
xml x = ViewObject::RetrieveData(L"/sale/data/Enquiry/maint",L"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();
|
xstring ItemID = dw_list1.GetItemString(row,L"ItemID");
|
//alert(ItemID);
|
xml x = ViewObject::RetrieveData(L"/sale/data/Enquiry/folder/listitemsex",L"itemID",ItemID,L"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(L"dev:xpage[UserGroupShareEx.vx]",cast(arg as int));
|
if(arg.GetArgString(L"process")==L"ok")
|
{
|
xdwgrid dw_obj = dw_pricelistex;
|
if(sheetname==L"tab_pricebillex") dw_obj = dw_pricelist;
|
|
sheetname=L"tab_pricebillshare";
|
SetAgent(L"list");
|
SwitchLayer(L"sheet5",L"frame");
|
xml x = xml::Make();
|
x.LoadXml(arg.GetArgString(L"result"));
|
KXMLDOMNodeList nodes = x.selectNodes(L"root/item");
|
int count = nodes.length();
|
int row = dw_obj.GetNextSelectRow(1);
|
while(row > 0 && row <= dw_obj.GetRowCount())
|
{
|
xstring SKUID = dw_obj.GetItemString(row,L"SKUID");
|
xstring SKUNo = dw_obj.GetItemDisplayString(row,L"SKUID");
|
xstring CName = dw_obj.GetItemString(row,L"CName");
|
xstring Version = dw_obj.GetItemString(row,L"Version");
|
xstring GoodsNo = dw_obj.GetItemString(row,L"GoodsNo");
|
xstring BOMSchema = dw_obj.GetItemString(row,L"BOMSchema");
|
xstring EntityID = dw_obj.GetGuid(row);
|
if(EntityID==L"") EntityID = dw_obj.GetItemString(row,L"EnquiryPriceListID");
|
|
for(int i=0; i<count; i++)
|
{
|
KXMLDOMNode node = nodes.item(i);
|
xstring No = L"";
|
xstring GroupOrEmp = L"";
|
if(node.selectSingleNode(L"NO")) No = node.selectSingleNode(L"NO").text();
|
if(node.selectSingleNode(L"Name")) GroupOrEmp = node.selectSingleNode(L"Name").text();
|
int crow = dw_pricelistshare.InsertRow(1);
|
//int crow = dw_pricelistshare.GetRowCount();
|
dw_pricelistshare.SetItemString(crow,L"NO",No);
|
dw_pricelistshare.SetItemString(crow,L"GroupOrEmp",GroupOrEmp);
|
dw_pricelistshare.SetItemString(crow,L"EntityID",EntityID);
|
dw_pricelistshare.SetItemString(crow,L"EntityName",L"产品价格单");
|
if(node.selectSingleNode(L"UserGroupID"))
|
dw_pricelistshare.SetItemString(crow,L"UserGroupID",node.selectSingleNode(L"UserGroupID").text());
|
if(node.selectSingleNode(L"PersonID"))
|
dw_pricelistshare.SetItemString(crow,L"PersonID",node.selectSingleNode(L"PersonID").text());
|
|
dw_pricelistshare.SetItemString(crow,L"SKUID",SKUID);
|
dw_pricelistshare.SetItemDisplayString(crow,L"SKUID",SKUNo);
|
dw_pricelistshare.SetItemString(crow,L"CName",CName);
|
dw_pricelistshare.SetItemString(crow,L"Version",Version);
|
dw_pricelistshare.SetItemString(crow,L"GoodsNo",GoodsNo);
|
dw_pricelistshare.SetItemString(crow,L"BOMSchema",BOMSchema);
|
|
node.Release();
|
}
|
row = dw_obj.GetNextSelectRow(row + 1);
|
}
|
}
|
return 1;
|
}
|
|
|
int OnShare2()
|
{
|
xaserverarg arg = new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
|
OpenWindow(L"dev:xpage[UserGroupShareEx.vx]",cast(arg as int));
|
|
return 1;
|
}
|
|
int OnTransPriceBillEx()
|
{
|
xaserverarg arg= new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg(L"no",L"Category:All");
|
arg.AddArg(L"QueryTxt",L"");
|
OpenWindow(L"dev:xpage[PriceList.PurcharItemSelectEx.vx]",cast(arg as int));
|
if(arg.GetArgString(L"process") == L"ok")
|
{
|
xml x = new xml;
|
x.setNativePointer(xml::CreateInstance());
|
x.LoadXml(arg.GetArgString(L"result"));
|
KXMLDOMNodeList nodes = x.selectNodes(L"data/Item");
|
int len = nodes.length();
|
for(int i=0; i<len;i++)
|
{
|
int row = dw_pricelistex.InsertRow(1);
|
//int row = dw_pricelistex.GetRowCount();
|
KXMLDOMNode ele = nodes.item(i);
|
//alert(ele.xml);
|
if(ele.selectSingleNode(L"SKUID")) dw_pricelistex.SetItemString(row,L"Item",ele.selectSingleNode(L"SKUID").text());
|
if(ele.selectSingleNode(L"SKUNo")) dw_pricelistex.SetItemDisplayString(row,L"SKUID",ele.selectSingleNode(L"SKUNo").text());
|
if(ele.selectSingleNode(L"GoodsNo")) dw_pricelistex.SetItemString(row,L"GoodsNo",ele.selectSingleNode(L"GoodsNo").text());
|
if(ele.selectSingleNode(L"CName")) dw_pricelistex.SetItemString(row,L"CName",ele.selectSingleNode(L"CName").text());
|
if(ele.selectSingleNode(L"ItemName")) dw_pricelistex.SetItemString(row,L"CName",ele.selectSingleNode(L"ItemName").text());
|
if(ele.selectSingleNode(L"BOMSchema")) dw_pricelistex.SetItemString(row,L"BOMSchema",ele.selectSingleNode(L"BOMSchema").text());
|
if(ele.selectSingleNode(L"Version")) dw_pricelistex.SetItemString(row,L"Version",ele.selectSingleNode(L"Version").text());
|
if(ele.selectSingleNode(L"SchemaNote")) dw_pricelistex.SetItemString(row,L"SchemaNote",ele.selectSingleNode(L"SchemaNote").text());
|
if(ele.selectSingleNode(L"Current")) dw_pricelistex.SetItemString(row,L"Current",ele.selectSingleNode(L"Current").text());
|
if(ele.selectSingleNode(L"PriceInfo")) dw_pricelistex.SetItemString(row,L"PriceInfo",ele.selectSingleNode(L"PriceInfo").text());
|
|
xstring edate = ele.selectSingleNode(L"EnquiryDate").text();
|
xstring ver = edate.mid(2,2)+L"."+edate.mid(5,2)+L"."+edate.mid(5,2);
|
dw_pricelistex.SetItemString(row,L"Version",ver);
|
|
///dw_pricelistex.SetItemString(row,L"EnquiryPriceListID",id);
|
if(ele.selectSingleNode(L"SchemaNote")) dw_pricelistex.SetItemString(row,L"SchemaNote",ele.selectSingleNode(L"SchemaNote").text());
|
if(ele.selectSingleNode(L"BOMType")) dw_pricelistex.SetItemString(row,L"BOMType",ele.selectSingleNode(L"BOMType").text());
|
if(ele.selectSingleNode(L"BOMPartNo")) dw_pricelistex.SetItemString(row,L"BOMPartNo",ele.selectSingleNode(L"BOMPartNo").text());
|
if(ele.selectSingleNode(L"SupplierID")) dw_pricelistex.SetItemString(row,L"SupplierID",ele.selectSingleNode(L"SupplierID").text());
|
if(ele.selectSingleNode(L"SupplierID/@_displaystring")) dw_pricelistex.SetItemDisplayString(row,L"SupplierID",ele.selectSingleNode(L"SupplierID/@_displaystring").text());
|
if(ele.selectSingleNode(L"POPrice")) dw_pricelistex.SetItemString(row,L"BuyPrice",ele.selectSingleNode(L"POPrice").text());
|
if(ele.selectSingleNode(L"ItemMiniQty")) dw_pricelistex.SetItemString(row,L"ItemMiniQty",ele.selectSingleNode(L"ItemMiniQty").text());
|
if(ele.selectSingleNode(L"EnquiryNo")) dw_pricelistex.SetItemString(row,L"EnquiryNo",ele.selectSingleNode(L"EnquiryNo").text());
|
if(ele.selectSingleNode(L"EnquiryDate")) dw_pricelistex.SetItemString(row,L"EnquiryDate",ele.selectSingleNode(L"EnquiryDate").text());
|
if(ele.selectSingleNode(L"ValidDay")) dw_pricelistex.SetItemString(row,L"ValidDay",ele.selectSingleNode(L"ValidDay").text());
|
if(ele.selectSingleNode(L"ItemNote")) dw_pricelistex.SetItemString(row,L"ItemNote",ele.selectSingleNode(L"ItemNote").text());
|
if(ele.selectSingleNode(L"EnquiryLineID")) dw_pricelistex.SetItemString(row,L"EnquiryLineID",ele.selectSingleNode(L"EnquiryLineID").text());
|
ele.Release();
|
}
|
x.Free();
|
nodes.Release();
|
}
|
return 1;
|
}
|
|
int OnTransPriceBill()
|
{
|
xaserverarg arg= new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg(L"no",L"Category:All");
|
arg.AddArg(L"QueryTxt",L"");
|
OpenWindow(L"dev:xpage[PriceList.PurcharItemSelectEx.vx]",cast(arg as int));
|
if(arg.GetArgString(L"process") == L"ok")
|
{
|
xml x = new xml;
|
x.setNativePointer(xml::CreateInstance());
|
x.LoadXml(arg.GetArgString(L"result"));
|
KXMLDOMNodeList nodes = x.selectNodes(L"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);
|
KXMLDOMNode ele = nodes.item(i);
|
if(ele.selectSingleNode(L"SKUID")) dw_pricelist.SetItemString(row,L"Item",ele.selectSingleNode(L"SKUID").text());
|
if(ele.selectSingleNode(L"SKUNo")) dw_pricelist.SetItemDisplayString(row,L"SKUID",ele.selectSingleNode(L"SKUNo").text());
|
if(ele.selectSingleNode(L"GoodsNo")) dw_pricelist.SetItemString(row,L"GoodsNo",ele.selectSingleNode(L"GoodsNo").text());
|
if(ele.selectSingleNode(L"CName")) dw_pricelist.SetItemString(row,L"CName",ele.selectSingleNode(L"CName").text());
|
if(ele.selectSingleNode(L"BOMSchema")) dw_pricelist.SetItemString(row,L"BOMSchema",ele.selectSingleNode(L"BOMSchema").text());
|
if(ele.selectSingleNode(L"Version")) dw_pricelist.SetItemString(row,L"Version",ele.selectSingleNode(L"Version").text());
|
if(ele.selectSingleNode(L"SchemaNote")) dw_pricelist.SetItemString(row,L"SchemaNote",ele.selectSingleNode(L"SchemaNote").text());
|
if(ele.selectSingleNode(L"Current")) dw_pricelist.SetItemString(row,L"Current",ele.selectSingleNode(L"Current").text());
|
if(ele.selectSingleNode(L"PriceInfo")) dw_pricelist.SetItemString(row,L"PriceInfo",ele.selectSingleNode(L"PriceInfo").text());
|
|
xstring edate = ele.selectSingleNode(L"EnquiryDate").text();
|
xstring ver = edate.mid(2,2)+L"."+edate.mid(5,2)+L"."+edate.mid(5,2);
|
dw_pricelist.SetItemString(row,L"Version",ver);
|
|
if(ele.selectSingleNode(L"SupplierID/@_displaystring"))
|
{
|
xstring name = ele.selectSingleNode(L"SupplierID/@_displaystring").text();
|
xstring price = ele.selectSingleNode(L"POPrice").text();
|
xstring PriceInfo = price + L" " + name;
|
dw_pricelist.SetItemString(row,L"PriceInfo",PriceInfo);
|
}
|
xstring id = dw_pricelist.GetGuid(row);
|
if(id==L"")
|
{
|
id = publiccode::GetGuid();
|
dw_pricelist.SetGuid(row,id);
|
}
|
|
dw_priceitem.InsertRow(0);
|
row = dw_priceitem.GetRowCount();
|
dw_priceitem.SetItemString(row,L"EnquiryPriceListID",id);
|
if(ele.selectSingleNode(L"SchemaNote")) dw_priceitem.SetItemString(row,L"SchemaNote",ele.selectSingleNode(L"SchemaNote").text());
|
if(ele.selectSingleNode(L"BOMType")) dw_priceitem.SetItemString(row,L"BOMType",ele.selectSingleNode(L"BOMType").text());
|
if(ele.selectSingleNode(L"BOMPartNo")) dw_priceitem.SetItemString(row,L"BOMPartNo",ele.selectSingleNode(L"BOMPartNo").text());
|
if(ele.selectSingleNode(L"SupplierID")) dw_priceitem.SetItemString(row,L"SupplierID",ele.selectSingleNode(L"SupplierID").text());
|
if(ele.selectSingleNode(L"SupplierID/@_displaystring")) dw_priceitem.SetItemDisplayString(row,L"SupplierID",ele.selectSingleNode(L"SupplierID/@_displaystring").text());
|
if(ele.selectSingleNode(L"POPrice")) dw_priceitem.SetItemString(row,L"BuyPrice",ele.selectSingleNode(L"POPrice").text());
|
if(ele.selectSingleNode(L"ItemMiniQty")) dw_priceitem.SetItemString(row,L"ItemMiniQty",ele.selectSingleNode(L"ItemMiniQty").text());
|
if(ele.selectSingleNode(L"EnquiryNo")) dw_priceitem.SetItemString(row,L"EnquiryNo",ele.selectSingleNode(L"EnquiryNo").text());
|
if(ele.selectSingleNode(L"EnquiryDate")) dw_priceitem.SetItemString(row,L"EnquiryDate",ele.selectSingleNode(L"EnquiryDate").text());
|
if(ele.selectSingleNode(L"ValidDay")) dw_priceitem.SetItemString(row,L"ValidDay",ele.selectSingleNode(L"ValidDay").text());
|
if(ele.selectSingleNode(L"ItemNote")) dw_priceitem.SetItemString(row,L"ItemNote",ele.selectSingleNode(L"ItemNote").text());
|
if(ele.selectSingleNode(L"EnquiryLineID")) dw_priceitem.SetItemString(row,L"EnquiryLineID",ele.selectSingleNode(L"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;
|
xstring str = dw_term.GetItemString(row,L"TechNote");
|
arg.AddArg(L"value",str);
|
OpenWindow(L"dev:xpage[memo.edit.new.vx]",arg.getNativePointer());
|
if(arg.GetArgString(L"comdid")==L"xmOK")
|
{
|
str = arg.GetArgString(L"value");
|
dw_term.AcceptText();
|
dw_term.SetItemString(row,L"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;
|
|
xstring ItemID = dw_pricelistex.GetItemString(row,L"ItemID");
|
xstring EnquiryID = dw_pricelistex.GetItemString(row,L"EnquiryID");
|
xstring OriginEnquiryLineID = dw_pricelistex.GetItemString(row,L"OriginEnquiryLineID");
|
xstring ValidDay = dw_pricelistex.GetItemString(row,L"ValidDay");
|
xstring SupplierID = dw_pricelistex.GetItemString(row,L"SupplierID1");
|
xstring SupplierIDName = dw_pricelistex.GetItemString(row,L"supplieridName1");
|
xstring SONo = dw_pricelistex.GetItemString(row,L"SONo");
|
xstring Remark = dw_pricelistex.GetItemString(row,L"Remark");
|
xstring Source = dw_pricelistex.GetItemString(row,L"Source");
|
xstring PayTerm = dw_pricelistex.GetItemString(row,L"PayTerm");
|
xstring CustomerContactName = dw_pricelistex.GetItemString(row,L"CustomerContactName");
|
xstring ContactTel = dw_pricelistex.GetItemString(row,L"ContactTel");
|
//xstring EnquiryNo = EnquiryView::MakeBillNo();
|
|
arg.AddArg(L"ItemID",ItemID);
|
arg.AddArg(L"EnquiryID",EnquiryID);
|
arg.AddArg(L"ValidDay",ValidDay);
|
arg.AddArg(L"SupplierID",SupplierID);
|
arg.AddArg(L"SupplierID/@_displaystring",SupplierIDName);
|
arg.AddArg(L"SONo",SONo);
|
arg.AddArg(L"Remark",Remark);
|
arg.AddArg(L"Source",Source);
|
arg.AddArg(L"PayTerm",PayTerm);
|
arg.AddArg(L"CustomerContactName",CustomerContactName);
|
arg.AddArg(L"ContactTel",ContactTel);
|
int pa = arg.getNativePointer();
|
openUrl(L"/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;
|
|
xstring ItemID = dw_pricelist.GetItemString(row1,L"ItemID");
|
xstring EnquiryID = dw_priceitem.GetItemString(row,L"EnquiryID");
|
xstring OriginEnquiryLineID = dw_priceitem.GetItemString(row,L"OriginEnquiryLineID");
|
xstring ValidDay = dw_priceitem.GetItemString(row,L"ValidDay");
|
xstring SupplierID = dw_priceitem.GetItemString(row,L"SupplierID1");
|
xstring SupplierIDName = dw_priceitem.GetItemString(row,L"supplieridName1");
|
xstring SONo = dw_priceitem.GetItemString(row,L"SONo");
|
xstring Remark = dw_priceitem.GetItemString(row,L"Remark");
|
xstring Source = dw_priceitem.GetItemString(row,L"Source");
|
xstring PayTerm = dw_priceitem.GetItemString(row,L"PayTerm");
|
xstring CustomerContactName = dw_priceitem.GetItemString(row,L"CustomerContactName");
|
xstring ContactTel = dw_priceitem.GetItemString(row,L"ContactTel");
|
//xstring EnquiryNo = EnquiryView::MakeBillNo();
|
|
arg.AddArg(L"ItemID",ItemID);
|
arg.AddArg(L"EnquiryID",EnquiryID);
|
arg.AddArg(L"ValidDay",ValidDay);
|
arg.AddArg(L"SupplierID",SupplierID);
|
arg.AddArg(L"SupplierID/@_displaystring",SupplierIDName);
|
arg.AddArg(L"SONo",SONo);
|
arg.AddArg(L"Remark",Remark);
|
arg.AddArg(L"Source",Source);
|
arg.AddArg(L"PayTerm",PayTerm);
|
arg.AddArg(L"CustomerContactName",CustomerContactName);
|
arg.AddArg(L"ContactTel",ContactTel);
|
|
|
int pa = arg.getNativePointer();
|
openUrl(L"/sale/view/Enquiry3/xpage/maint", pa);
|
return 1;
|
}
|
|
int PreOnCmdDispatch(xstring comdid)
|
{
|
//alert(comdid);
|
if(comdid==L"xmSearch")
|
{
|
OnFilter();
|
return 0;
|
}
|
if(comdid==L"xmTech")
|
{
|
return OnTech(dw_pricelistex);
|
}
|
else if(comdid==L"xmTech1")
|
{
|
return OnTech(dw_pricelist);
|
}
|
else if(comdid==L"xmTech2")
|
{
|
return OnTech(dw_priceitem);
|
}
|
if(comdid==L"tab_pricebill")
|
{
|
sheetname=L"tab_pricebill";
|
SetAgent(L"list");
|
|
SwitchLayer(L"tv_folder_pricebill",L"folder_frame");
|
if(dw_pricelistex.GetRowCount() < 1) OnProductPriceBillRetrieve();
|
return 0;
|
}
|
else if(comdid==L"tab_pricebillex")
|
{
|
sheetname=L"tab_pricebillex";
|
SetAgent(L"list");
|
SwitchLayer(L"tv_folder_pricebill",L"folder_frame");
|
if(dw_pricelist.GetRowCount() < 1) OnPriceBillRetrieve();
|
return 0;
|
}else if(comdid==L"tab_list2")
|
{
|
dw_list = GetControl(L"dw_list2");
|
sheetname = L"tab_list2";
|
SetAgent(L"list");
|
}
|
|
else if(comdid.left(4)==L"tab_")
|
{
|
if(comdid==L"tab_list")
|
{
|
dw_list = GetControl(L"dw_list");
|
sheetname = L"dw_list";
|
}
|
if(comdid==L"tab_pricebillshare")
|
SwitchLayer(L"tv_folder_pricebill",L"folder_frame");
|
else
|
SwitchLayer(L"tv_folder",L"folder_frame");
|
sheetname=comdid;
|
SetAgent(L"list");
|
return 0;
|
}
|
|
if(comdid==L"xmAddRow")
|
{
|
OnAddRow();
|
return 0;
|
}
|
if(comdid==L"xmDeleteRow")
|
{
|
OnDeleteRow();
|
return 0;
|
}
|
if(comdid==L"xmDelete")
|
{
|
OnDeletePriceList();
|
return 0;
|
}
|
|
if(comdid==L"xmBOMSchema")
|
{
|
OpenWindow(L"dev:xpage[ProductSchema.vx]");
|
return 0;
|
}
|
else if(comdid==L"xmAddPriceList")
|
{
|
OnAddPriceList();
|
return 0;
|
}
|
else if(comdid==L"xmAddPriceListVersion")
|
{
|
OnAddPriceListVersion();
|
return 0;
|
}
|
|
if(comdid==L"action:bill.trantopricebill" || comdid==L"bill.trantopricebill")
|
{
|
OnTransPriceBillEx();
|
return 0;
|
}
|
if(comdid==L"action:bill.new")
|
{
|
xstring s = publiccode::GetUser().id;
|
xml supplier_x = ViewObject::RetrieveData(L"/sale/data/SupplierV3/entity/FindBySaleType",L"id", s);
|
if(supplier_x)
|
{
|
if(supplier_x.text == L"采购经理")
|
{
|
alert(L"当前角色不是采购员不能新增单子,请重新选择角色");
|
return 0;
|
}
|
}
|
}
|
if(comdid==L"action:bill.histroydata") return Onhistroydata();
|
else if(comdid==L"action:bill.refresh") return OnPreRetrieve();
|
else if(comdid==L"action:bill.print") return OnPrint();
|
else if(comdid==L"action:bill.share" || comdid==L"xmShare")
|
{
|
OnShare();
|
return 0;
|
}
|
|
else if(comdid==L"xmShare2")
|
{
|
OnShare2();
|
return 0;
|
}
|
else if(comdid==L"xmSave")
|
{
|
OnSave();
|
return 0;
|
}
|
else if(comdid==L"xmCopy")
|
{
|
OnCopy();
|
return 0;
|
}
|
else if(comdid==L"xmGroupCopy")
|
{
|
OnGroupCopy();
|
return 0;
|
}
|
else if(comdid==L"xmShareSave")
|
{
|
OnSaveShare();
|
return 0;
|
}
|
else if(comdid==L"xmPriceListDeleteRow")
|
{
|
dw_pricelistex.DeleteRow(0);
|
return 0;
|
}
|
else if(comdid==L"xmShareRefresh")
|
{
|
OnProductPriceShareRetrieve();
|
return 0;
|
}
|
else if(comdid==L"xmPriceBillRefresh")
|
{
|
OnPriceBillRetrieve();
|
return 0;
|
}
|
else if(comdid==L"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);
|
KXMLDOMElement e = ddlb_1.GetElement();
|
KXMLDOMElement e2 = e.selectSingleNode(L"item["+(nIndex+1).toString()+L"]");
|
xstring no=e2.selectSingleNode(L"@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(L"cbx1");
|
int state=cbx_1.GetCheck(cbx_1.GetId());
|
if(evt.lParam == GetControl(L"cbx1").GetId())
|
{
|
if (state== -1)
|
SwitchLayer(L"sheet1",L"frame");
|
else
|
SwitchLayer(L"sheet2",L"frame");
|
return 1;
|
}else if(evt.lParam == GetControl(L"cbx2").GetId())
|
{
|
cbx_1 = GetControl(L"cbx2");
|
state=cbx_1.GetCheck(cbx_1.GetId());
|
int hCursor = xutil::SetCursorWait();
|
xstring ItemID = dw_list1.GetItemString(dw_list1.GetRow(),L"ItemID");
|
|
xml x = ViewObject::RetrieveData(L"/sale/data/Enquiry/folder/listitemsex",L"itemID",ItemID,L"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;
|
xstring colname = hdr.colname;
|
|
int rows = dw_list.GetRowCount();
|
if(row < 1 || row > rows)
|
{
|
return 1;
|
}
|
if(colname==L"EnquiryNo" || colname==L"SupplierID" || colname==L"EnquiryDate" ||
|
colname==L"ValidDate"||colname==L"ApprovalStatus"||colname==L"SalespersonID"||
|
colname==L"PayTerm"||colname==L"OrgName")
|
{
|
int days = dw_list.GetItemInt(row,L"Days");
|
if(days < 0)
|
{
|
hdr.mask = DMS_CSSSTYLE;
|
hdr.cssstyle = L"color:#cccccc";
|
}
|
}
|
return 1;
|
}
|
int OnFilter()
|
{
|
xstring str = GetControl(L"sl_search").GetText();
|
xdwgrid dw_obj;
|
if(sheetname==L"tab_goods") dw_obj = dw_list1;
|
else if(sheetname==L"tab_pricebill") dw_obj = dw_pricelistex;
|
else if(sheetname==L"tab_pricebillex") dw_obj = dw_pricelist;
|
else if(sheetname==L"tab_pricebillshare") dw_obj = dw_pricelistshare;
|
dw_obj.Filter(L"*",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());
|
|
xstring EnquiryNo = dw_list2.GetItemString(row,L"EnquiryNo");
|
arg.AddArg(L"EnquiryNo",EnquiryNo);
|
|
int pa = arg.getNativePointer();
|
openUrl(L"/sale/view/Enquiry3/xpage/maint", pa);
|
xutil::RestoreCursor(hCursor);
|
return 1;
|
}
|
int OnDoubleClicked(ref TNotifyEvent evt,int p)
|
{
|
int hCursor = xutil::SetCursorWait();
|
OnCmdDispatch(L"action:bill.open");
|
xutil::RestoreCursor(hCursor);
|
return 1;
|
}
|
int AttachEvent()
|
{
|
AttachEvent(L"tv_folder", L"TVN_SELCHANGED",OnTreeSelChanged); //树选择
|
AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING",OnTreeExpanding); //树展开
|
AttachEvent(L"dw_list",L"DWV_ROWFOCUSCHANGED",OnRowChanged);
|
AttachEvent(L"dw_list2",L"DWV_ROWFOCUSCHANGED",OnRowChanged2);
|
AttachEvent(L"dw_list1",L"DWV_ROWFOCUSCHANGED",OnRowChanged1);
|
AttachEvent(L"cbx_1",L"CBN_SELCHANGE",OnSelectDdlb);
|
AttachEvent(L"WM_COMMAND",OnCkbCLick);
|
AttachEvent(L"dw_list",L"DWV_ASKSTYLE",OnItemAskStyle);
|
AttachEvent(L"dw_pricelist",L"DWV_ROWFOCUSCHANGED",OnPriceListRowChanged);
|
AttachEvent(L"tv_folder_pricebill", L"TVN_SELCHANGED",OnPriceBillTreeSelChanged); //树选择
|
AttachEvent(L"tv_folder_pricebill", L"TVN_ITEMEXPANDING",OnPriceBillTreeExpanding);
|
|
AttachEvent(L"dw_pricelistex",L"DWV_DOUBLECLICKED",OnPriceListDoubleClicked);
|
AttachEvent(L"dw_list2",L"DWV_DOUBLECLICKED",OnDoubleClicked);
|
|
return 1;
|
}
|
|
|
|
int OnRetrieveItem(xstring EnquiryPriceListID)
|
{
|
xml x = new xml;
|
x.setNativePointer(xml::CreateInstance());
|
xaserverarg arg = new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg(L"EnquiryPriceListID",EnquiryPriceListID);
|
if (getUrl(L"/sale/data/Enquiry/fetch/PriceList/item",arg.GetString(),x)!=1)
|
{
|
trace(x.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();
|
KXMLDOMElement e1 = cast(tv_folder_pricebill.GetItemData(hItem) as KXMLDOMElement);
|
xstring no = e1.getAttribute(L"no");
|
|
xml x = new xml;
|
x.setNativePointer(xml::CreateInstance());
|
xaserverarg arg = new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg(L"no",no);
|
if (getUrl(L"/sale/data/Enquiry/fetch/PriceList",arg.GetString(),x)!=1)
|
{
|
trace(x.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();
|
KXMLDOMElement e1 = cast(tv_folder_pricebill.GetItemData(hItem) as KXMLDOMElement);
|
xstring no = e1.getAttribute(L"no");
|
|
xml x = new xml;
|
x.setNativePointer(xml::CreateInstance());
|
xaserverarg arg = new xaserverarg;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg(L"no",no);
|
if (getUrl(L"/sale/data/Enquiry/ProductPriceList/nobom",arg.GetString(),x)!=1)
|
{
|
trace(x.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(L"/sale/data/Enquiry/ProductPriceList/share",arg.GetString(),x)!=1)
|
{
|
trace(x.text());
|
return -1;
|
}else
|
{
|
trace(x.xml());
|
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(L"dw_list2");
|
dw_list2.openUrl(L"/sale/view/Enquiry3/template/list");
|
dw_list2.SetColumnState(L"SupplierID",false);
|
dw_list2.SetColumnState(L"PayTerm",false);
|
dw_list2.SetColumnState(L"EnquiryID",false);
|
dw_list2.SetColumnState(L"Days",false);
|
dw_list2.SetSelectionMode(3);
|
|
dw_goods2 = GetControl(L"dw_goods2");
|
dw_goods2.openUrl(L"/sale/view/Enquiry3/template/item/pricelist");
|
dw_goods2.SetColumnState(L"ItemID",false);
|
dw_goods2.SetColumnState(L"Picture",false);
|
dw_goods2.SetColumnState(L"category",false);
|
dw_goods2.SetColumnState(L"RealEnquiryLineID",false);
|
dw_goods2.SetColumnState(L"RelEnquiryLineID",false);
|
|
|
ddlb_1 = GetControl(L"cbx_1");
|
dw_goods = GetControl(L"dw_goods");
|
dw_goods .openUrl(L"/sale/view/Enquiry3/template/item/pricelist");
|
dw_goods.SetColumnState(L"ItemID",false);
|
dw_goods.SetColumnState(L"SupplierID",false);
|
|
dw_list1 = GetControl(L"dw_list1");
|
dw_list1 .openUrl(L"/sale/view/Enquiry3/template/item/itempricelist");
|
dw_list1.SetColumnState(L"ItemID",false);
|
|
dw_goods1 = GetControl(L"dw_goods1");
|
dw_goods1 .openUrl(L"/sale/view/Enquiry3/template/item/itempricelist");
|
dw_goods1.SetColumnState(L"ItemID",false);
|
|
dw_pricelistex = GetControl(L"dw_pricelistex");
|
dw_pricelistex.openUrl(L"/sale/view/Enquiry3/template/purcharpricelist");
|
dw_pricelistex.SetColumnState(L"EnquiryID",false);
|
dw_pricelistex.SetColumnState(L"PayTerm",false);
|
dw_pricelistex.SetColumnState(L"Source",false);
|
dw_pricelistex.SetColumnState(L"SONo",false);
|
dw_pricelistex.SetColumnState(L"OriginEnquiryLineID",false);
|
dw_pricelistex.SetColumnState(L"EnquiryLineID",false);
|
dw_pricelistex.SetColumnState(L"SupplierID1",false);
|
dw_pricelistex.SetColumnState(L"supplieridName1",false);
|
dw_pricelistex.SetColumnState(L"CustomerContactName",false);
|
dw_pricelistex.SetColumnState(L"ContactTel",false);
|
|
dw_pricelist = GetControl(L"dw_pricelist");
|
dw_pricelist.openUrl(L"/sale/view/Enquiry3/template/purcharpricelistex");
|
dw_pricelist.SetColumnState(L"ItemID",false);
|
|
dw_priceitem = GetControl(L"dw_priceitem");
|
dw_priceitem.openUrl(L"/sale/view/Enquiry3/template/purcharpricelist/item");
|
|
dw_pricelistshare = GetControl(L"dw_pricelistshare");
|
dw_pricelistshare.openUrl(L"/sale/view/Enquiry3/template/purcharpricelist/item/share");
|
dw_pricelistshare.SetReadOnly(true);
|
|
dw_pricelistex.SetColumnState(L"ItemID",false);
|
dw_pricelistex.SetColumnState(L"EnquiryLineID",false);
|
|
dw_pricelistshare.SetColumnState(L"UserGroupID",false);
|
dw_pricelistshare.SetColumnState(L"EntityID",false);
|
dw_pricelistshare.SetColumnState(L"EntityName",false);
|
dw_pricelistshare.SetColumnState(L"PersonID",false);
|
dw_pricelistshare.SetColumnState(L"NO",false);
|
|
dw_priceitem.SetColumnState(L"PriceInfo",false);
|
dw_priceitem.SetColumnState(L"EnquiryID",false);
|
dw_priceitem.SetColumnState(L"PayTerm",false);
|
dw_priceitem.SetColumnState(L"Source",false);
|
dw_priceitem.SetColumnState(L"SONo",false);
|
dw_priceitem.SetColumnState(L"OriginEnquiryLineID",false);
|
dw_priceitem.SetColumnState(L"EnquiryLineID",false);
|
dw_priceitem.SetColumnState(L"SupplierID1",false);
|
dw_priceitem.SetColumnState(L"supplieridName1",false);
|
dw_priceitem.SetColumnState(L"CustomerContactName",false);
|
dw_priceitem.SetColumnState(L"ContactTel",false);
|
dw_priceitem.SetColumnState(L"Remark",false);
|
|
|
|
myDataUrl = L"/sale/data/Enquiry/folder/list";
|
myDataUrl1 = L"/sale/data/Enquiry/folder/listitems";
|
urlTree = L"/sale/data/Enquiry/folder";
|
tv_folder = GetControl(L"tv_folder");
|
//tv_folder.SetLineAtRoot(true);
|
InitialFolder();
|
|
tv_folder_pricebill = GetControl(L"tv_folder_pricebill");
|
InitialFolderPriceBill();
|
|
}
|
|
int onloaded()
|
{
|
listwin::onloaded();
|
|
AttachEvent();
|
|
dw_list.SetColumnState(L"EnquiryID",false);
|
dw_list.SetColumnState(L"Days",false);
|
|
dw_list1.SetColumnState(L"EnquiryLineID",false);
|
dw_list1.SetColumnState(L"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 = L"tab_list";
|
|
//dw_priceitem.SetColumnState(L"EnquiryLineID",false);
|
//dw_priceitem.SetColumnState(L"EnquiryPriceListID",false);
|
|
dw_pricelistex.SetColumnState(L"BOMPartNo",false);
|
dw_pricelistex.SetColumnState(L"BOMSchema",false);
|
dw_pricelistex.SetColumnState(L"BOMType",false);
|
dw_pricelistex.SetColumnState(L"Current",false);
|
|
dw_priceitem.SetReadOnly(true);
|
|
return -1;
|
}
|
|
int ProcessUsedArg(xaserverarg arg)
|
{
|
int hItem = tv_folder.GetCaretItem();
|
arg.AddArg(L"sheetname",sheetname);
|
if(hItem > 0)
|
{
|
KXMLDOMElement e = tv_folder.GetItemData(hItem);
|
|
if(e)
|
{
|
xstring no = e.getAttribute(L"no");
|
if(no.find(L"Customer:")>=0)
|
{
|
arg.AddArg(L"CustomerID",e.getAttribute(L"id"));
|
xstring name = e.getAttribute(L"name");
|
if(name.find(L"(L")>=0) name = name.left(name.find(L"(L"));
|
arg.AddArg(L"CustomerName",name);
|
}
|
}
|
}
|
return 1;
|
}
|
};
|