þÿuse "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "base.view.vd" unit trade [ class TestExpenseBase : public frame { xdwtable dw_base; xnode m_agentNode; //Agent Condition bool updated; int hObject = 0; string ApproveStatus = "e°^ú"; string positionname; int SetAgent() { return 1; 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 + "[1]/*"); if (agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent(anode, s); } } return 1; } string GetEntityName(int pr) { return "TestExpense"; } string GetEntityID(int pr) { return dw_base.GetGuid(1); } //q&p¹oÀm;YtQýep int OnSetFocus(ref TEvent evt, int param) { //‘Ín]åQwga SetAgent(); return 1; } int OnSave() { string TestExpenseNo = dw_base.GetItemString(1, "TestExpenseNo"); xml x1 = new xml; if (TestExpenseNo == "") { x1 = ViewObject::RetrieveData("/sale/data/expense3/TestExpenseNo"); TestExpenseNo = x1.GetXmlDoc().text; dw_base.SetItemString(1, "TestExpenseNo", TestExpenseNo); } //return 1; xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); dw_base.AcceptText(); dw_base.DwUpdateAllTo(x.GetXmlDoc()); string error = ""; arg.AddArg("content", x.GetXml()); if (url::get("/sale/data/expense3/update/Test", arg.GetString(), x) != 1) { error = x.GetXmlDoc().text; //alert(error); } else { string str = x.GetXmlDoc().documentElement.getAttribute("text"); if (str == "true") { dw_base.ResetUpdateStatus(); alert("OÝ[XbRŸ!"); win32::SendMessage(hObject, 0x401, "xmRefresh", 0); //CloseWindow(); } else { alert("OÝ[XY1%!"); } //alert(str); } return 1; } //T}NäSÑ^Qýep int OnCmdDispatch(string comdid) { string s = publiccode::GetUser().deptname; ApproveStatus = dw_base.GetItemString(1, "ApplyStatus"); //alert(ApproveStatus); if (ApproveStatus == "" || ApproveStatus == "e°^ú" || ApproveStatus == "Oîe9" || s == ""R¡è" || s == "~Ït[¤") { if (comdid == "xmSave") { /*if(dw_base.GetItemString(1,"TInvoiceNo") == "") { alert("‹÷XkQ™YÐS÷ÿ"); return 0; }*/ OnSave(); return 1; } if (s.find("NR¡") < 0) { if (comdid == "xmImportProduct") { //xaserverarg arg=new xaserverarg; xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); int p = cast(arg as int); OpenWindow("dev:xpage[TestExpense.GDNInvoiceno.vx]", p); string str = arg.GetArgString("items"); OnAddTest(str); return 1; } } } if (comdid == "xmCheck") { string CustomerID = dw_base.GetItemString(1, "CustomerID"); if (CustomerID == "") { alert("[¢b7N:zzÿ"); return 0; } string GoodsNo = dw_base.GetItemString(1, "GoodsNo"); if (GoodsNo == "") { alert("QlSøW‹S÷N:zzÿ"); return 0; } string CName = dw_base.GetItemString(1, "CName"); if (CName == "") { alert("N§TÁT yðN:zzÿ"); return 0; } string CustomerItemNo = dw_base.GetItemString(1, "CustomerItemNo"); if (CustomerItemNo == "") { alert("[¢b7W‹S÷N:zzÿ"); return 0; } string TestContent = dw_base.GetItemString(1, "TestContent"); if (TestContent == "") { alert("mK‹ÕQ…[¹N:zzÿ"); return 0; } string BuyerUserid = dw_base.GetItemString(1, "BuyerUserid"); if (BuyerUserid == "") { alert("‘Ǎ-TXN:zzÿ"); return 0; } string EntityID = dw_base.GetGuid(1); xml x = ViewObject::RetrieveData("/sale/data/Expense3/GetGoodsNo", "EntityID", EntityID); msxml::IXMLDOMNodeList items = x.GetXmlDoc().selectNodes("data/Item"); msxml::IXMLDOMNode t = items.item(0); if (t.selectSingleNode("count")) { string Count = t.selectSingleNode("count").text; if (Count.toInt() > 0) { alert("QlSøW‹S÷ST+\Q™[WkÍÿ eàlÕcÐN¤!"); return 0; } } ProcessFlowAction("action:bill.check.ask", 1); win32::PostMessage(GetFrameWindow().GetHWND(), 0x401, "xmRefresh", 0); CloseWindow(); return 1; } if (comdid == "xmClose") { if (updated) win32::SendMessage(hObject, 0x401, "xmRefresh", 0); CloseWindow(); return 1; } return 0; } int OnAddTest(string str) { if (str != "") { xml x = new xml; x.setNativePointer(xml::CreateInstance()); x.LoadXml(str); msxml::IXMLDOMNodeList items = x.GetXmlDoc().selectNodes("data/Item"); int lens = items.length; int k = 0; msxml::IXMLDOMElement e = items.item(k); if (e.selectSingleNode("InvoiceNo")) dw_base.SetItemString(1, "TInvoiceNo", e.selectSingleNode("InvoiceNo").text); if (e.selectSingleNode("goodsno")) dw_base.SetItemString(1, "GoodsNo", e.selectSingleNode("goodsno").text); if (e.selectSingleNode("CName")) dw_base.SetItemString(1, "CName", e.selectSingleNode("CName").text); if (e.selectSingleNode("CustomerItemNO")) dw_base.SetItemString(1, "CustomerItemNo", e.selectSingleNode("CustomerItemNO").text); if (e.selectSingleNode("Dept")) dw_base.SetItemString(1, "OrgName", e.selectSingleNode("Dept").text); if (e.selectSingleNode("POCreatorID")) dw_base.SetItemString(1, "BuyerUserid", e.selectSingleNode("POCreatorID").text); if (e.selectSingleNode("POCreatorIDEx")) dw_base.SetItemDisplayString(1, "BuyerUserid", e.selectSingleNode("POCreatorIDEx").text); //if(e.selectSingleNode("SalespersonID")) dw_base.SetItemString(1,"SalesPersonID",e.selectSingleNode("SalespersonID").text); //if(e.selectSingleNode("SalespersonIDEx")) dw_base.SetItemDisplayString(1,"SalesPersonID",e.selectSingleNode("SalespersonIDEx").text); if (e.selectSingleNode("CreatorID")) dw_base.SetItemString(1, "Merchandiser", e.selectSingleNode("CreatorID").text); if (e.selectSingleNode("CreatorIDEx")) dw_base.SetItemDisplayString(1, "Merchandiser", e.selectSingleNode("CreatorIDEx").text); if (e.selectSingleNode("CustomerID")) dw_base.SetItemString(1, "CustomerID", e.selectSingleNode("CustomerID").text); if (e.selectSingleNode("CustomerIDEx")) dw_base.SetItemDisplayString(1, "CustomerID", e.selectSingleNode("CustomerIDEx").text); } return 1; } //T}NäYtN‹Nö int OnXCommand(ref TXCommandEvent evt, int param) { return OnCmdDispatch(evt.pStrID); } int OnItemChanged(ref TNotifyEvent evt, int p) { ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); string colname = hdr.colname; string value = hdr.data; string dwname = "dw_base"; if (value != "") { msxml::IXMLDOMNodeList nlist = GetElement().selectNodes("//*[@name='" + dwname + "']/trans[@for='" + colname + "']"); ViewObject::TransData(nlist, dw_base, hdr.row, colname, value); } return 1; } int OnItemClick(ref TNotifyEvent evt, int p) { ref DWNMHDR hdr1 = trust(evt.pnmh as ref DWNMHDR); string colname1 = hdr1.colname; ref DWNMHDR hdr = evt.pnmh; string value = hdr.data; xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); if (value == "–DNö") { if (dw_base.GetGuid(1) == "") { alert("‹÷QHOÝ[Xÿ W(mûR –DNöÿ"); return 0; } arg.AddArg("entityid", dw_base.GetGuid(1)); int p3 = cast(arg as int); OpenWindow("dev:xpage[maint.Document.Test.v3.vx]", p3); } return 1; } int OnAttachEvent() { //~Ñ[š]åQwgap¹QûN‹Nö AttachEvent("WM_XCOMMAND", OnXCommand); //ƒ·SÖq&p¹N‹Nöÿ u(NŽ‘Ín]åQwga AttachEvent("WM_SETFOCUS", OnSetFocus); AttachEvent("dw_base", "DWV_ITEMCHANGED", OnItemChanged); AttachEvent("dw_base", "DWV_CLICKED", OnItemClick); } int OnRetrieveCopy(string TestExpensIDCopy) { xml x = ViewObject::RetrieveData("/sale/data/Expense3/GetTestExpenseByIDCopy", "TestExpensIDCopy", TestExpensIDCopy); msxml::IXMLDOMNodeList items = x.GetXmlDoc().selectNodes("data/Item"); trace(x.GetXml()); msxml::IXMLDOMNode t = items.item(0); if (t.selectSingleNode("CustomerID"))dw_base.SetItemString(1, "CustomerID", t.selectSingleNode("CustomerID").text); if (t.selectSingleNode("CustomerName"))dw_base.SetItemDisplayString(1, "CustomerID", t.selectSingleNode("CustomerName").text); if (t.selectSingleNode("SalesPersonID"))dw_base.SetItemString(1, "SalesPersonID", t.selectSingleNode("SalesPersonID").text); if (t.selectSingleNode("SalesPersonName"))dw_base.SetItemDisplayString(1, "SalesPersonID", t.selectSingleNode("SalesPersonName").text); if (t.selectSingleNode("BuyerUserid"))dw_base.SetItemString(1, "BuyerUserid", t.selectSingleNode("BuyerUserid").text); if (t.selectSingleNode("BuyerUserName"))dw_base.SetItemDisplayString(1, "BuyerUserid", t.selectSingleNode("BuyerUserName").text); if (t.selectSingleNode("CustomerID"))dw_base.SetItemString(1, "CustomerID", t.selectSingleNode("CustomerID").text); if (t.selectSingleNode("CustomerName"))dw_base.SetItemDisplayString(1, "CustomerID", t.selectSingleNode("CustomerName").text); if (t.selectSingleNode("Merchandiser"))dw_base.SetItemString(1, "Merchandiser", t.selectSingleNode("Merchandiser").text); if (t.selectSingleNode("MerchandiserName"))dw_base.SetItemDisplayString(1, "Merchandiser", t.selectSingleNode("MerchandiserName").text); if (t.selectSingleNode("GoodsNo"))dw_base.SetItemString(1, "GoodsNo", t.selectSingleNode("GoodsNo").text); if (t.selectSingleNode("CName"))dw_base.SetItemString(1, "CName", t.selectSingleNode("CName").text); if (t.selectSingleNode("CustomerItemNo"))dw_base.SetItemString(1, "CustomerItemNo", t.selectSingleNode("CustomerItemNo").text); if (t.selectSingleNode("TestContent"))dw_base.SetItemString(1, "TestContent", t.selectSingleNode("TestContent").text); if (t.selectSingleNode("OrgName"))dw_base.SetItemString(1, "OrgName", t.selectSingleNode("OrgName").text); return 1; } int OnRetrieve(string TestExpensID) { xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("TestExpensID", TestExpensID); if (getUrl("/sale/data/Expense3/GetTestExpenseByID", arg.GetString(), x) != 1) { trace(x.GetXmlDoc().text); return -1; } else { dw_base.Retrieve(x); dw_base.Redraw(); } return 1; } int onload() { dw_base = GetControl("dw_base"); dw_base.openUrl("/sale/view/Expense3/test/Base"); dw_base.SetColHeaderHeight(0); dw_base.SetRowSelectorWidth(0); dw_base.SetHScrollState(false); dw_base.SetVScrollState(false); string TestExpensID = ""; string TestExpensIDCopy = ""; hObject = 0; if (GetParam()) { xaserverarg arg = new xaserverarg; arg.setNativePointer(GetParam()); TestExpensID = arg.GetArgString("EntityID"); hObject = arg.GetArgString("HWND").toInt(); TestExpensIDCopy = arg.GetArgString("TestExpensID"); /*if(GetParam()) { xaserverarg arg = GetParam(); TestExpensID = arg.GetArgString("EntityID"); }*/ } if (TestExpensIDCopy != "") { OnRetrieveCopy(TestExpensIDCopy); } if (TestExpensID != "") { OnRetrieve(TestExpensID); } else { string suserid = publiccode::GetUser().id; string susername = publiccode::GetUser().name; dw_base.SetItemString(1, "CreateID", suserid); dw_base.SetItemDisplayString(1, "CreateID", susername); dw_base.SetItemString(1, "SalesPersonID", suserid); dw_base.SetItemDisplayString(1, "SalesPersonID", susername); string sdate = publiccode::GetCurrentDate(); dw_base.SetItemString(1, "CreateDate", sdate); dw_base.SetItemString(1, "ApproveStatus", "e°^ú"); dw_base.SetItemString(1, "OrgName", publiccode::GetUser().deptname); } OnAttachEvent(); updated = false; positionname = publiccode::GetUser().positionname; //alert(positionname); if (positionname.find("NR¡") >= 0) { dw_base.SetItemString(1, "Position", "NR¡"); } if (positionname.find("‘Ǎ-") >= 0) { dw_base.SetItemString(1, "Position", "‘Ǎ-"); } return 1; } int onloaded() { //SetAgent(); return 1; } }; ]