þÿuse "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "supplier.view.vd" unit trade [ class maintexOwnerSupplierv3 : public maint { xdwtable dw_base; xdwtable dw_kpinfo; xdwtable dw_basegy; xdwgrid dw_supgoods; xlayersheet m_layer; xlayersheet xsheet; //string xpage; string m_diffstr; vcontrol vc; xnode m_agentNode; int SetAgent(string scene, string EntityID) { 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 str_replace(string s, string a, string b, int k) { int i = s.find(a, k); if (i > -1) { string tmp; if (i == 0) tmp = b + s.mid(i + a.length(), s.length()); else if (i + a.length() == s.length()) tmp = s.mid(0, i) + b; else tmp = s.mid(0, i) + b + s.mid(i + a.length(), s.length()); str_replace(tmp, a, b, i + b.length() + 1); } else return "" + s; } string str_replace(string s, string a, string b) { return str_replace(s, a, b, 0); } int SetAttributeByxml(xml x, string nodename, string action, string status) { msxml::IXMLDOMElement e; msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().selectNodes("//" + nodename + ""); if (nlist) { int nlen = nlist.length; int i; for (i = 0; i < nlen; i++) { e = nlist.item(i); //alert(e.xml); e.setAttribute(action, status); //alert(e.xml); } } } int SetAttributeByaddress(xml x, string nodename, string action, string status) { msxml::IXMLDOMElement e; msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().selectNodes("//" + nodename + ""); if (nlist) { int nlen = nlist.length; int i; for (i = 0; i < nlen; i++) { e = nlist.item(i); //alert(e.xml); e.setAttribute(action, status); //alert(e.xml); } } } int OnPreSave() { dw_base.AcceptText(); dw_kpinfo.AcceptText(); //xdwtable__ dw_base = new xdwtable__; //dw_base.setNativePointer(this.GetControl("dw_base")); xdwtable dw = dw_base.FindDwTable("Supplier", 0); string sStatus = dw.GetItemString(1, "Status"); int slen = sStatus.length(); if (slen > 1) { alert("O›^”UFr¶`“Qeg ‹ïÿ"); return -1; } string sPartyNo = dw.GetItemString(1, "PartyNo", 0); if (sPartyNo == "") { //sPartyNo = publiccode::GetIdentityNo("Party2"); sPartyNo = publiccode::GetIdentityNo("Party2"); dw.SetItemString(1, "PartyNo", sPartyNo); //alert("O›^”UFS÷N:zzÿ"); //return -1; } string ShortName = dw.GetItemString(1, "ShortName", 0); if (ShortName.rtrim() == "") { alert("O›^”UF{€yðN:zzÿ"); return 1; } string YearEstablished = dw_base.GetItemString(1, "YearEstablished"); if (YearEstablished.rtrim() == "") { alert("bzËeö•ôN:zzÿ"); return -1; } string LegalPerson = dw_base.GetItemString(1, "LegalPerson"); if (LegalPerson.rtrim() == "") { alert("lÕNºNãˆhN:zzÿ"); return -1; } string ThirdPartyReport = dw_base.GetItemString(1, "ThirdPartyReport"); if (ThirdPartyReport.rtrim() == "") { alert("šŒS‚b¥TJN:zzÿ"); return -1; } string SupplierSource = dw_base.GetItemString(1, "SupplierSource"); if (SupplierSource.rtrim() == "") { alert("O›^”UFgenN:zzÿ"); return -1; } string Address = dw_base.GetItemString(1, "ThirdPartyReport"); if (Address.rtrim() == "") { alert("O›^”UFW0W@N:zzÿ"); return -1; } string bAddress = dw_base.GetItemString(1, "bAddress"); if (bAddress.rtrim() == "") { alert("[ÄNöW0W@N:zzÿ"); return -1; } string sName = dw.GetItemString(1, "Name", 0) + ""; sName.rtrim(); //sName = str_replace(sName," ",""); if (sName == "") { alert("O›^”UFT yðN:zzÿ"); return -1; } else { xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("stype", "Party2"); arg.AddArg("svalue", sName); xml x = new xml; x.setNativePointer(x.CreateInstance()); msxml::IXMLDOMDocument xdoc = x.GetXmlDoc(); dw_base.DwUpdateAllTo(xdoc); //msxml::IXMLDOMElement e= x.GetXmlDoc().documentElement; //var n = x.GetXmlDoc().selectSingleNode("Supplier[@update.new='1']"); //if (n) if (!maint::m_EntityID) { arg.AddArg("operate", "update.new"); } else { arg.AddArg("operate", "update.modify"); } string sguid = x.GetXmlDoc().selectSingleNode("Supplier/@guid").text; arg.AddArg("sguid", sguid); //alert(sguid,"->",maint::m_EntityID); bool lbRepeated = publiccode::IsRepeated(arg); if (lbRepeated) { alert("O›^”UFT yðg ‘ÍY ÿ"); return -1; } } /*dw = dw_basegy.FindDwTable("Supplier",0); string suserid = xaserver::GetUserId();//publiccode::GetUserInfo().id; string susername = publiccode::GetUser(suserid).name; string sdate = publiccode::GetCurrentDate(); dw.SetItemString(1,"ModifierID",suserid);//Party dw.SetItemDisplayString(1,"ModifierID",susername);//Party dw.SetItemString(1,"ModifyDate",sdate);*/ int i; dw = dw_base.FindDwTable("item", 0); for (i = 1; i <= dw.GetRowCount(); i++) { string aTemp; string aName = dw.GetItemString(i, "Name", 0); if (aName == "") { aTemp = dw.GetItemString(i, "JobTitle", 0) + dw.GetItemString(i, "Gender", 0) + dw.GetItemString(i, "Mobile", 0) + dw.GetItemString(i, "TEL", 0) + dw.GetItemString(i, "Email", 0) + dw.GetItemString(i, "IM", 0) + dw.GetItemString(i, "Remark", 0); if (aTemp != "") { alert("€T|ûNºT yð_ÅXkÿ"); return -1; } } else { string aStatus; aStatus = dw.GetItemString(i, "Status", 0); if (aStatus == "") { dw.SetItemString(i, "Status", "1"); } } } /*dw.setNativePointer(dw_base.FindDwTable("item2",0)); for(i=1;i<=dw.GetRowCount();i++) { string bTemp; bTemp=dw.GetItemString(i,"AddressName",0)+dw.GetItemString(i,"Address",0); if(bTemp !="" && bTemp != nil) { if (dw.GetItemString(i,"Status",0)=="" || dw.GetItemString(i,"Status",0)==nil) dw.SetItemString(i,"Status","1"); if (dw.GetItemString(i,"IdentifyAddressFlag",0)=="" || dw.GetItemString(i,"IdentifyAddressFlag",0)==nil) dw.SetItemString(i,"IdentifyAddressFlag","N"); if (dw.GetItemString(i,"PrimaryFlag",0)=="" || dw.GetItemString(i,"PrimaryFlag",0)==nil) dw.SetItemString(i,"PrimaryFlag","N"); } }*/ dw = dw_kpinfo.FindDwTable("item3", 0); for (i = 1; i <= dw.GetRowCount(); i++) { string cTemp; string cName = dw.GetItemString(i, "BankName", 0); if (cName == "") { cTemp = dw.GetItemString(i, "BankAccountNo", 0) + dw.GetItemString(i, "City", 0); if (cTemp != "") { alert("”öˆLT yð_ÅXkÿ"); return -1; } } cName = dw.GetItemString(i, "BankAccountNo", 0); if (cName == "") { cTemp = dw.GetItemString(i, "BankName", 0) + dw.GetItemString(i, "City", 0); if (cTemp != "") { alert("”öˆL&S÷_ÅXkÿ"); return -1; } } else { if (dw.GetItemString(i, "Status", 0) == "") dw.SetItemString(i, "Status", "1"); } } dw = dw_kpinfo.FindDwTable("Party", 0); if (dw) { xdwtable dw_b = dw_kpinfo.FindDwTable("item3", 0); for (i = 1; i <= dw.GetRowCount(); i++) { string skName = dw.GetItemString(i, "Name", 0); if (skName == "") { int j; for (j = 1; j <= dw_b.GetRowCount(); j++) { string kTemp = dw_b.GetItemString(j, "BankName", 0) + dw_b.GetItemString(j, "BankAccountNo", 0) + ""; if (kTemp != "") { alert("_yhSUOMT yðN:zzÿ"); return -1; } } } } } return 1; } int DoUpdate(bool showSuccess = true) { int rec = OnPreSave(); if (rec == -1) return 0; ProcessFlowAction0("action:bill.update", 1); return 1; } int OnChangeRowNo(xdwtable dw, int row) { dw.SetItemString(1, "SeqNo", "1"); int i; for (i = row; i <= dw.GetRowCount(); i++) dw.SetItemString(i, "SeqNo", i.toString()); return 1; } int OnAddRow() { if (!m_layer) return 0; int h = m_layer.GetSheetIndex(); int nindex = h + 1; msxml::IXMLDOMElement n = maint::m_configDoc.selectSingleNode("//maint/group[@for='dwviev']/dwview[" + nindex.toString() + "]"); string sname = n.selectSingleNode("@name").text; string stype = n.selectSingleNode("@type").text; if (stype == "dwtable") { int row; int crow; xdwtable dw_obj = this.GetControl(sname); xdwtable dw = dw_obj.GetCurTable(); string dw_n = dw.GetDwName(); if (dw_n == "item" || dw_n == "item2" || dw_n == "item3") { row = dw.InsertRow(-1); if (dw_n == "item2" || dw_n == "item3") { OnChangeRowNo(dw, dw.GetRowCount()); } //alert(row.toString()); //dw.SetItemString(row,"Status","Y"); } if (dw_n == "item3ooo") { dw = dw_obj.FindDwTable("Party", 0); crow = dw.GetRow(); string scName; if (crow > 0) scName = dw.GetItemString(crow, "Name", 0); row = dw.InsertRow(-1); if (scName != "") dw.SetItemString(dw.GetRowCount(), "Name", scName); } if (dw_n == "Party") { row = dw.InsertRow(-1); crow = dw.GetRow(); //alert(crow.toString()); dw.SetItemString(crow, "loadpic", "N O VþrG"); dw.SetItemString(crow, "dispic", "gåw "); } } else if (stype == "dwgrid") { xdwgrid dw_objx = new xdwgrid; dw_objx = this.GetControl(sname); int xrow = dw_objx.InsertRow(-1); //dw_objx.SetItemString(xrow,"Status","Y"); } return 1; } int OnInsertRow() { if (!m_layer) return 0; int h = m_layer.GetSheetIndex(); int nindex = h + 1; msxml::IXMLDOMElement n = maint::m_configDoc.selectSingleNode("//maint/group[@for='dwviev']/dwview[" + nindex.toString() + "]"); string sname = n.selectSingleNode("@name").text; string stype = n.selectSingleNode("@type").text; if (stype == "dwtable") { int row; int crow; xdwtable dw_obj = this.GetControl(sname); xdwtable dw = dw_obj.GetCurTable(); string dw_n = dw.GetDwName(); if (dw_n == "item" || dw_n == "item2" || dw_n == "item3") { row = dw.GetRow(); if (row == 1) row = 0; crow = dw.InsertRow(row); //dw.SetItemString(crow,"Status","Y"); } if (dw_n == "Party") { row = dw.GetRow(); if (row == 1) row = 0; crow = dw.InsertRow(row); crow = dw.GetRow(); dw.SetItemString(crow, "loadpic", "N O VþrG"); dw.SetItemString(crow, "dispic", "gåw "); } } return 1; } int OnDeleteRow() { if (!m_layer) return 0; int h = m_layer.GetSheetIndex(); int nindex = h + 1; msxml::IXMLDOMElement n = maint::m_configDoc.selectSingleNode("//maint/group[@for='dwviev']/dwview[" + nindex.toString() + "]"); string sname = n.selectSingleNode("@name").text; string stype = n.selectSingleNode("@type").text; if (stype == "dwtable") { int row; xdwtable dw_obj = this.GetControl(sname); xdwtable dw = dw_obj.GetCurTable(); string dw_n = dw.GetDwName(); if (dw_n == "item" || dw_n == "item2" || dw_n == "item3" || dw_n == "Party") { row = dw.GetRow(); dw.DeleteRow(row); } if (dw_n == "Party0") { row = dw.GetRow(); dw.DeleteRow(row); } } return 1; } string onpartyadjust(string val) { xml x = new xml; x.setNativePointer(x.CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("content", val); //alert(val); //string sguid = xdoc.selectSingleNode("@guid").text; string suserid = xaserver::GetUserId(); string sdate = publiccode::GetCurrentDate(); //arg.AddArg("sguid",sguid); arg.AddArg("suserid", suserid); arg.AddArg("sdate", sdate); if (url::post("/sale/data/" + GetEntityName(1) + "/pref/partyadjust", arg.GetString(), x) != 1) { alert(x.GetXmlDoc().text); return val; } else { string s = x.GetXml(); //alert(s); return s; } } string GetEntityData(int pr) { string val; xml x = new xml; x.setNativePointer(x.CreateInstance()); msxml::IXMLDOMDocument xdoc = x.GetXmlDoc(); msxml::IXMLDOMNodeList nlist = maint::m_configDoc.SelectNodes("//maint/group[@for='dwviev']/dwview[@name !='dw_check' and @name !='dw_supgoods']"); int index; int nlen = nlist.length; if (nlen > 0) { for (index = 0; index < nlen; index++) { msxml::IXMLDOMElement e = nlist.item(index); string sname = e.selectSingleNode("@name").text; string stype = e.selectSingleNode("@type").text; if (stype == "dwtable") { xdwtable dw_obj = this.GetControl(sname); dw_obj.AcceptText(); if (index == 0) { //Address xml xdd = new xml; xdd.setNativePointer(xdd.CreateInstance()); string bAddressID = "" + dw_base.GetItemString(1, "bAddressID"); if (bAddressID == " ") { dw_base.SetItemString(1, "bAddressID", publiccode::GetGuid()); dw_base.SetItemString(1, "bAddressName", "®[ÄW0W@"); dw_base.SetItemString(1, "bStatus", "1"); dw_base.SetItemString(1, "bPrimaryFlag", "N"); dw_base.SetItemString(1, "bIdentifyAddressFlag", "N"); dw_base.DwUpdateAllTo(xdd.GetXmlDoc()); string bAddress = "" + dw_base.GetItemString(1, "bAddress"); if (bAddress != "") SetAttributeByaddress(xdd, "bAddress", "update.new", "1"); xdoc = xdd.GetXmlDoc(); } else { dw_obj.DwUpdateAllTo(xdoc); } } /*else if (index==1) { xml__ xchk = new xml__; xchk.setNativePointer(xchk.CreateInstance()); dw_obj.DwUpdateAllTo(xchk.GetXmlDoc()); SetAttributeByaddress(xchk,"item3","update.modify","1"); SetAttributeByaddress(xchk,"isdeleted","update.modify","1"); xdoc = xchk.GetXmlDoc(); }*/ else dw_obj.DwUpdateAllTo(xdoc); } else { xdwgrid dw_objx = this.GetControl(sname); dw_objx.AcceptText(); dw_objx.DwUpdateAllTo(xdoc); } } } /*var root = xdoc.documentElement; var currNode = root.childNodes.item(1); var MyNewNode = currNode.cloneNode(true); root.appendChild(MyNewNode); alert(xdoc.xml); return ""; /*xml__ x1 = new xml__; x1.setNativePointer(x1.CreateInstance()); x1.LoadXml("<a/>"); msxml::IXMLDOMElement ele = x1.GetXmlDoc(); var root = xdoc.getElementsByTagName("Name").item(0); root.appendChild(ele);*/ val = xdoc.xml; //alert(val); //val = onpartyadjust(xdoc.xml); //alert(val); return val; } int SetEntityData(xaserverarg arg) { return 0; } int ProcessFlowAction0(string comdid, int pr) { string action = comdid.mid(comdid.find("action:", 0) + 7, 9999); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); xml x = new xml; x.setNativePointer(xml::CreateInstance()); string aurl = "/workflow/query/actioninfo/" + action; if (url::get(aurl, "", x) != 1) return -1; int nlen; int i = 0; string name; string worknode; string how; string state; bool at = true; msxml::IXMLDOMElement e; //SÂep‰lB msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().selectNodes("//params/param"); nlen = nlist.length; for (i = 0; i < nlen; i++) { e = nlist.item(i); name = e.selectSingleNode("@name").text; how = e.selectSingleNode("@how").text; if (how == "EntityID") arg.AddArg(name, GetEntityID(pr)); else if (how == "Entity" || how == "EntityData") arg.AddArg(name, GetEntityData(pr)); //"CHeckAskMsg" //"CHeckMsg" } arg.AddArg("action.entity", GetEntityName(pr)); //R¨O\ if (x.GetXmlDoc().selectSingleNode("//view.action[1]")) { msxml::IXMLDOMElement n = x.GetXmlDoc().selectSingleNode("//view.action[1]"); if (n) { name = n.selectSingleNode("@name").text; //worknode = n.selectSingleNode("@worknode").text; worknode = GetEntityWorkNode(pr, name); arg.AddArg("do", name); if (worknode != "") { openUrl(worknode, arg); } else { alert("Warn: Please configure worknode for action " + name + "."); return 1; } } } else { //url::post("/workflow/action/Supplier/bill.update",arg.GetString(),x); xml x1 = new xml; x1.setNativePointer(x1.CreateInstance()); //if (url::post("/workflow/action/"+GetEntityName(pr)+"/"+action,arg.GetString(),x1) != 1) if (url::post("/sale/data/SupplierV3/entity/owner/save", arg.GetString(), x) != 1) { if (x1.GetXmlDoc()) { string error = x1.GetXmlDoc().text; alert(error); } } else { //alert(x1.GetXml()); if (x1.GetXmlDoc().selectSingleNode("error")) { alert("OÝ[XQú•!"); return 0; } } win32::MessageBox(GetHWND(), "OÝ[XbRŸÿ", "cÐy:", 0); dw_base.ResetUpdateStatus(); dw_kpinfo.ResetUpdateStatus(); OnRetrieve(); } return 1; } int r1() { msxml::IXMLDOMNodeList nlist = maint::m_configDoc.SelectNodes("//maint/group[@for='dwviev']/dwview"); int index; int nlen = nlist.length; if (nlen > 0) { for (index = 0; index < nlen; index++) { msxml::IXMLDOMElement e = nlist.item(index); string sname = e.selectSingleNode("@name").text; string stype = e.selectSingleNode("@type").text; if (stype == "dwtable") { xdwtable dw_obj = this.GetControl(sname); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("EntityID", this.GetEntityID(1)); xml x1 = new xml; x1.setNativePointer(xml::CreateInstance()); string dataUrl = "/sale/data/" + GetEntityName(1) + "/entity/maint"; getUrl(dataUrl, arg.GetString(), x1); dw_obj.Retrieve(x1); break; } } return 1; } return 1; } int r2() { xml x = new xml; x.setNativePointer(x.CreateInstance()); msxml::IXMLDOMDocument xdoc = x.GetXmlDoc(); //dw_base.DwUpdateAllTo(xdoc); msxml::IXMLDOMNodeList nlist = maint::m_configDoc.SelectNodes("//maint/group[@for='dwviev']/dwview"); int index; int nlen = nlist.length; if (nlen > 0) { for (index = 0; index < nlen; index++) { msxml::IXMLDOMElement e = nlist.item(index); string sname = e.selectSingleNode("@name").text; string stype = e.selectSingleNode("@type").text; if (stype == "dwtable") { xdwtable dw_obj = this.GetControl(sname); dw_obj.DwUpdateAllToDiff(xdoc); m_diffstr = xdoc.xml; //alert(m_diffstr); break; } } return 1; } return 1; } int r3() { if (m_diffstr == "") return 1; xml x = new xml; x.setNativePointer(x.CreateInstance()); x.LoadXml(m_diffstr); msxml::IXMLDOMDocument xdoc = x.GetXmlDoc(); //dw_base.DwUpdateAllTo(xdoc); msxml::IXMLDOMNodeList nlist = maint::m_configDoc.SelectNodes("//maint/group[@for='dwviev']/dwview"); int index; int nlen = nlist.length; if (nlen > 0) { for (index = 0; index < nlen; index++) { msxml::IXMLDOMElement e = nlist.item(index); string sname = e.selectSingleNode("@name").text; string stype = e.selectSingleNode("@type").text; if (stype == "dwtable") { xdwtable dw_obj = this.GetControl(sname); dw_obj.RetrieveDiff(xdoc); dw_obj.Redraw(); break; } } return 1; } return 1; } int test() { xml x = new xml; x.setNativePointer(x.CreateInstance()); dw_kpinfo.DwUpdateAllTo(x.GetXmlDoc()); //dw_kpinfo.ClearAdvanceString(1,1); //dw_kpinfo.ClearNoteString(1,1); //dw_kpinfo.ClearOriginString(1,1); //dw_kpinfo.DeleteRows(1,1,1); //dw_kpinfo.ExpandCellRow(1,2); //dw_kpinfo.ExpandMarginRow(2,1); //dw_kpinfo.ExpandRow(2,3); //dw_kpinfo.GetDwType(); ??? //string s = dw_kpinfo.GetDwXPath(); //Supplier //msxml::IXMLDOMElement e = dw_kpinfo.GetElement(); //alert(e.xml); <xcell state="run" name="dw_kpinfo"/> //string s = dw_kpinfo.GetGuid(1); //string s = dw_kpinfo.GetHtml(); ??? //int i = dw_kpinfo.GetId(); //int i = dw_kpinfo.GetXNode(); //dw_kpinfo.SetGuid(1,"5CF56D30-C02C-4CC0-971B-57894236816A"); } int OnMoveup() { test(); return 1; if (!m_layer) return 0; int h = m_layer.GetSheetIndex(); int nindex = h + 1; msxml::IXMLDOMElement n = maint::m_configDoc.selectSingleNode("//maint/group[@for='dwviev']/dwview[" + nindex.toString() + "]"); string sname = n.selectSingleNode("@name").text; string stype = n.selectSingleNode("@type").text; if (stype == "dwtable") { xdwtable dw_obj = this.GetControl(sname); xdwtable dw = dw_obj.GetCurTable(); string dw_n = dw.GetDwName(); if (dw_n == "item3") { int row = dw.GetRow(); if (row == 1) row = 0; int crow = dw.InsertRow(row); //dw. //dw.SetItemString(crow,"Status","Y"); } } return 1; } int OnMovedown() { return 1; } int xxx() { //msxml::IXMLDOMElement xframeElement = GetElement(); //msxml::IXMLDOMNode xpage = xframeElement.selectSingleNode("//xpage"); //alert(xframeElement.xml); /*string xfNodeAgentArea = "layers"; xnode__ anode = GetAgentNode(xfNodeAgentArea); msxml::IXMLDOMElement xframeElement = GetElement(); alert(anode.GetXml()); msxml::IXMLDOMNode layers = xframeElement.selectSingleNode("//layers"); msxml::IXMLDOMNodeList nlist; int index; int nlen; msxml::IXMLDOMElement ele; if(layers) { nlist = layers.SelectNodes(".//layer"); nlen = nlist.length; alert("nlen=",nlen.toString()); } //string tools; //SetAgentNodeContent(anode, tools);*/ return 1; } int PreOnCmdDispatch(string comdid) { /* if(comdid=="action:xxx") return xxx(); if(comdid=="retrieve") return r1(); if(comdid=="retrievediff") return r3(); if(comdid=="updatediff") return r2(); if(comdid=="test") return test(); */ if (comdid == "xmToSupplier") { OnToSupplier(); return 1; } if (comdid == "xmBack") { return OnBack(); } //<action id="bill.update" caption="OÝ[X" scene="maint"/> if (comdid.find("action:bill.update", 0) >= 0) { int rec = OnPreSave(); if (rec == -1) return 0;//ÔVÞ0  N W(bgˆLNåN NãxÿÔVÞQvNÖ  bgˆLNåN Nãx0 ProcessFlowAction0(comdid, 1); return 0; } if (comdid.find("action:bill.addrow", 0) >= 0) OnAddRow(); if (comdid.find("action:bill.insertrow", 0) >= 0) OnInsertRow(); if (comdid.find("action:bill.deleterow", 0) >= 0) OnDeleteRow(); if (comdid.find("action:bill.moveup", 0) >= 0) OnMoveup(); if (comdid.find("action:bill.movedown", 0) >= 0) OnMovedown(); return 1; } int SendNotice() { string NO = dw_base.GetItemString(1, "PartyNo"); string Subject = dw_base.GetItemString(1, "Name") + "ÿVސkc_O›^”UF"; string EntityID = this.GetEntityID(1); string Category = "O›^”UFVސ"; string Reciever = dw_base.GetItemString(1, "userNo"); string Content = ""; xml x = ViewObject::AddMessage(Category, Reciever, NO, EntityID, Subject, Content); return 1; } int OnBack() { if (dw_base.GetRow() < 1) return 1; int MB_YESNO = 0x00000004; int IDYES = 6; if (win32::MessageBox(GetHWND(), "Vސ" + dw_base.GetItemDisplayString(dw_base.GetRow(), "Name") + "u3‹÷?", "cÐy:", MB_YESNO) != IDYES) return 1; xml x = new xml; x.setNativePointer(x.CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("SupplierID", this.GetEntityID(1)); // trace(sguid); if (url::post("/sale/data/SupplierV3/entity/ask2owner", arg.GetString(), x) != 1) { string error = x.GetXmlDoc().text; trace(error); } SendNotice(); OnRetrieve(); return 1; } int OnDoubleClicked(ref TNotifyEvent evt, int p) { ref DWNMHDR hdr = evt.pnmh; int row = hdr.row; /*if(row < 1 || row > list::dw_list.GetRowCount()) return 1; int hwnd = evt.lParam; int s = combobox::GetCount(cb_config.GetId()); int i; for (i=0; i < s; i++){ combobox cb = new combobox; cb.setNativePointer(this.GetControl("value"+i.ToString())); if(hwnd == cb.GetId()) break; }*/ return 1; } int OnItemChangedkp(ref TNotifyEvent evt, int p) { ref DWNMHDR hdr = evt.pnmh; string colname = hdr.colname; string coldata = hdr.data; int row = hdr.row; xdwtable dw = dw_kpinfo.FindDwTable("item3", 0); if (dw) { row = dw.GetRow(); string sdate = publiccode::GetCurrentDate(); dw.SetItemString(row, "ModifyDate", sdate); } } int OnItemChanged3(ref TNotifyEvent evt, int p) { ref DWNMHDR hdr = evt.pnmh; string colname = hdr.colname; string coldata = hdr.data; int row = hdr.row; if (colname == "DeveloperID") { xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("guid", coldata); if (url::get("/sale/data/" + GetEntityName(1) + "/pref/getAssignment", arg.GetString(), x) == 1) { msxml::IXMLDOMElement e = x.GetXmlDoc().documentElement; string sOrgID = e.selectSingleNode("OrgID").text; string sOrgName = e.selectSingleNode("OrgName").text; dw_basegy.SetItemString(1, "devOrgID", sOrgID); dw_basegy.SetItemDisplayString(1, "devOrgID", sOrgName); } } if (colname == "CreatorID") { xml x2 = new xml; x2.setNativePointer(xml::CreateInstance()); xaserverarg arg2 = new xaserverarg; arg2.setNativePointer(arg2.CreateInstance()); arg2.AddArg("guid", coldata); if (url::get("/sale/data/" + GetEntityName(1) + "/pref/getAssignment", arg2.GetString(), x2) == 1) { msxml::IXMLDOMElement e2 = x2.GetXmlDoc().documentElement; string sOrgID2 = e2.selectSingleNode("OrgID").text; string sOrgName2 = e2.selectSingleNode("OrgName").text; dw_basegy.SetItemString(1, "OrgID", sOrgID2); dw_basegy.SetItemDisplayString(1, "OrgID", sOrgName2); } } return 1; } int OnItemChanged(ref TNotifyEvent evt, int p) { ref DWNMHDR hdr = evt.pnmh; string colname = hdr.colname; string coldata = hdr.data; int row = hdr.row; if (colname == "DeveloperID") { xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("guid", coldata); if (url::get("/sale/data/" + GetEntityName(1) + "/pref/getAssignment", arg.GetString(), x) == 1) { msxml::IXMLDOMElement e = x.GetXmlDoc().documentElement; string sOrgID = e.selectSingleNode("OrgID").text; string sOrgName = e.selectSingleNode("OrgName").text; dw_base.SetItemString(1, "devOrgID", sOrgID); dw_base.SetItemDisplayString(1, "devOrgID", sOrgName); } } if (colname == "CreatorID") { xml x2 = new xml; x2.setNativePointer(xml::CreateInstance()); xaserverarg arg2 = new xaserverarg; arg2.setNativePointer(arg2.CreateInstance()); arg2.AddArg("guid", coldata); if (url::get("/sale/data/" + GetEntityName(1) + "/pref/getAssignment", arg2.GetString(), x2) == 1) { msxml::IXMLDOMElement e2 = x2.GetXmlDoc().documentElement; string sOrgID2 = e2.selectSingleNode("OrgID").text; string sOrgName2 = e2.selectSingleNode("OrgName").text; dw_base.SetItemString(1, "OrgID", sOrgID2); dw_base.SetItemDisplayString(1, "OrgID", sOrgName2); } } if (colname == "isdeleted") { //xml xchk = new xml; //xchk.setNativePointer(xchk.CreateInstance()); //var xdoc = xchk.GetXmlDoc(); // dw_kpinfo.DwUpdateAllTo(xdoc); //SetAttributeByxml(xchk,"isdeleted","update.modify","1"); //dw_kpinfo.SetColumnProp("isdeleted","update.modify","1"); //xdwtable dw = new xdwtable; //dw.setNativePointer(dw_kpinfo.FindDwTable("item3",0)); //dw.SetItemString(row,"isdeleted",coldata); } xdwtable dw = dw_base.FindDwTable("Supplier", 0); if (dw) { string suserid = xaserver::GetUserId();//publiccode::GetUserInfo().id; string susername = publiccode::GetUser(suserid).name; string sdate = publiccode::GetCurrentDate(); dw.SetItemString(1, "ModifierID", suserid);//Party dw.SetItemDisplayString(1, "ModifierID", susername);//Party dw.SetItemString(1, "ModifyDate", sdate); } if (colname == "ProvinceCode" || colname == "City" || colname == "District") { if (colname == "ProvinceCode") { dw_base.SetItemString(row, "City", ""); dw_base.SetItemString(row, "District", ""); dw_base.SetItemDisplayString(row, "City", ""); dw_base.SetItemDisplayString(row, "District", ""); } if (colname == "City") { dw_base.SetItemString(row, "District", ""); dw_base.SetItemDisplayString(row, "District", ""); } string provinceCode = dw_base.GetItemDisplayString(row, "ProvinceCode"); string city = dw_base.GetItemDisplayString(row, "City"); string district = dw_base.GetItemDisplayString(row, "District"); dw_base.SetItemString(row, "Address", provinceCode + city + district); dw_base.SetItemString(row, "bAddress", provinceCode + city + district); } if (colname == "Address") { dw_base.SetItemString(row, "bAddress", dw_base.GetItemString(1, "Address")); } return 1; } //--------- int UpLoad(string name) { string str = name.mid(0, 2); str = str.upper(); //alert(str); int ret1 = xaserver::Upload("supplier" + str, name + ".jpg", this.GetHWND(), "", false); //alert(ret1); return ret1; } int OnkpItemClick(ref TNotifyEvent evt, int p) { xdwtable dw = dw_kpinfo.FindDwTable("Party", 0); /*xdwtable__ dw1 = new xdwtable__; dw1.setNativePointer(dw_base.FindDwTable("item3",0)); */ ref DWNMHDR hdr = evt.pnmh; string value = hdr.data; int row = dw.GetRow();// hdr.row; string xrow = row.toString(); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); if (value == "N O VþrG") { string strguid = publiccode::GetGuid(); //alert(strguid); int ret1 = UpLoad(strguid); if (ret1 == -1) return -1; if (ret1 == 0) { alert("N O VþrGY1%"); return -1; } else { alert("N O VþrGbRŸ"); string strimage = dw.GetItemString(row, "ImageList1"); //alert(strimage); if (strimage == "") strimage = "<ImageList></ImageList>"; xml y = new xml; y.setNativePointer(xml::CreateInstance()); y.LoadXml(strimage); msxml::IXMLDOMElement ele = y.GetXmlDoc().documentElement; xml x = new xml; x.setNativePointer(xml::CreateInstance()); string xx = "<ImageList><image>" + strguid + ".jpg</image></ImageList>"; x.LoadXml(xx); msxml::IXMLDOMElement e = x.GetXmlDoc().selectSingleNode("//image"); ele.appendChild(e); dw.SetItemString(row, "ImageList1", ele.xml); //dw.Redraw(); } } if (value == "gåw ") { arg.AddArg("src", dw.GetItemString(row, "ImageList1")); int pa = arg.getNativePointer(); openUrl("/sale/view/" + GetEntityName(1) + "/xpage/supplierattachment/picture", pa); //alert(arg.GetArgString("src")); dw.SetItemString(row, "ImageList1", arg.GetArgString("src")); } 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; //alert(value); //xdwtable dw = dw_base.FindDwTable("item2",0); //xdwtable dw1 = dw_base.FindDwTable("item3",0); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); /*if(value == "N O –DNö") { string strguid = publiccode::GetGuid(); //alert(strguid); int ret1 = UpLoad(strguid); if(ret1 == -1) return -1; if(ret1 == 0) { alert("N O –DNöY1%"); return -1; } else { alert("N O –DNöbRŸ"); string strimage=dw_base.GetItemString(1,"ImageList1"); //alert(strimage); if(strimage=="") strimage="<ImageList></ImageList>"; xml y=new xml; y.setNativePointer(xml::CreateInstance()); y.LoadXml(strimage); msxml::IXMLDOMElement ele= y.GetXmlDoc().documentElement; xml x=new xml; x.setNativePointer(xml::CreateInstance()); string xx = "<ImageList><image>"+strguid+".jpg</image></ImageList>"; x.LoadXml(xx); msxml::IXMLDOMElement e= x.GetXmlDoc().selectSingleNode("//image"); ele.appendChild(e); dw_base.SetItemString(1,"ImageList1",ele.xml); dw_base.Redraw(); //alert(ele.xml); } }*/ if (value == "O›^”UFDe™–DNö") { /*arg.AddArg("src",dw_base.GetItemString(1,"ImageList1")); int pa = arg.getNativePointer(); openUrl("/sale/view/SupplierV3/xpage/supplierattachment/picture", pa); arg.setNativePointer(pa); dw_base.SetItemString(1,"ImageList1",arg.GetArgString("src")); */ arg.AddArg("entityid", dw_base.GetGuid(1)); int p3 = cast(arg as int); OpenWindow("dev:xpage[maint.Document.Supplier.v3.vx]", p3); } if (value == "šŒS‚b¥TJ–DNö") { /*arg.AddArg("src",dw_base.GetItemString(1,"ImageList1")); int pa = arg.getNativePointer(); openUrl("/sale/view/SupplierV3/xpage/supplierattachment/picture", pa); arg.setNativePointer(pa); dw_base.SetItemString(1,"ImageList1",arg.GetArgString("src")); */ arg.AddArg("entityid", dw_base.GetGuid(1)); int p7 = cast(arg as int); OpenWindow("dev:xpage[maint.Document.SupplierEx.v3.vx]", p7); } /*else if(value == "N§TÁOá`o") { int start=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex("MainProducts")); dw_base.ExpandCellRow(start,start + dw.GetRowCount() +1); } else if(value == "‹¾YN§€ý") { int start1=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex("MainProducts")); int begin=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex("DeveloperID")); dw_base.ExpandCellRow(start1 + dw.GetRowCount() +3,begin -2); //dw_base.ExpandMarginRow(-22,-20); }*/ else if (value == "TO\Oá`o") { int start2 = dw_base.GetCellRowFromRowColumn(1, dw_base.GetColumnIndex("Status")); dw_base.ExpandCellRow(start2, start2 + 1); //dw_base.ExpandMarginRow(-22,-20); } if (colname1 == "ThirdPartyReport") { xaserverarg arg1 = new xaserverarg; arg1.setNativePointer(arg.CreateInstance()); int p2 = cast(arg1 as int); dw_base.SetItemString(1, "ThirdPartyReport", ""); OpenWindow("dev:xpage[Inspection.Supplie.vx]", p2); string str1 = arg1.GetArgString("ThirdPartyReport"); if (str1 != "") { dw_base.SetItemString(1, "ThirdPartyReport", str1); dw_base.Redraw(); } } if (colname1 == "PayType") { xaserverarg arg2 = new xaserverarg; arg2.setNativePointer(arg.CreateInstance()); int p1 = cast(arg2 as int); OpenWindow("dev:xpage[paymen.Supplier.vx]", p1); string str = arg2.GetArgString("PayType"); if (str != "") { dw_base.SetItemString(1, "PayType", str); dw_base.Redraw(); } } return 1; } int OnSheetChanged(ref TNotifyEvent evt, int p) { string suserid = xaserver::GetUserId(); PUser pp = publiccode::GetUser(suserid); string userno = pp.no; if (userno == "admin") { dw_base.SetReadOnly(false); dw_kpinfo.SetReadOnly(false); } else { dw_base.SetReadOnly(true); dw_kpinfo.SetReadOnly(true); } } int PostOnAttachEvent() { AttachEvent("dw_base", "DWV_CLICKED", OnItemClick); //AttachEvent("tab_1", "LYSN_SELECTEDSHEET",OnSheetChanged); AttachEvent("dw_kpinfo", "DWV_CLICKED", OnkpItemClick); AttachEvent("dw_kpinfo", "DWV_ITEMCHANGED", OnItemChangedkp); AttachEvent("dw_base", "DWV_ITEMCHANGED", OnItemChanged); AttachEvent("dw_basegy", "DWV_ITEMCHANGED", OnItemChanged3); return 1; } int OnInit() { dw_base = this.GetControl("dw_base"); dw_base.SetColHeaderHeight(16); dw_kpinfo = this.GetControl("dw_kpinfo"); dw_kpinfo.SetColHeaderHeight(16); //xdwtable dw_check = this.GetControl("dw_check"); //dw_check.SetColHeaderHeight(16); //dw_check.SetReadOnly(true); dw_basegy = this.GetControl("dw_basegy"); dw_supgoods = this.GetControl("dw_supgoods"); m_layer = GetControl("tab_1"); xsheet = GetControl("tab_1"); if (!maint::m_EntityID) { string suserid = xaserver::GetUserId(); string susername = publiccode::GetUser(suserid).name; string sdate = publiccode::GetCurrentDate(); string sAddressID = publiccode::GetGuid(); dw_base.SetItemString(1, "CreatorID", suserid);//Party dw_base.SetItemDisplayString(1, "CreatorID", susername); dw_base.SetItemString(1, "CreateDate", sdate); //string sCountryCode = dw.GetItemString(1,"CountryCode",0); //if (sCountryCode=="" || sCountryCode== nil) dw_base.SetItemString(1, "CountryCode", "142"); dw_base.SetItemDisplayString(1, "CountryCode", "N-Vý"); dw_base.SetItemString(1, "Status", "1"); dw_base.SetItemString(1, "Type", "2");//PartyAccount O›^”UF dw_base.SetItemString(1, "aIdentifyAddressFlag", "Y");//PartyAddress N;W0W@ dw_base.SetItemString(1, "aPrimaryFlag", "Y"); dw_base.SetItemString(1, "aStatus", "1"); dw_base.SetItemString(1, "bAddressID", sAddressID);//PartyAddress [ÄNöW0W@ dw_base.SetItemString(1, "bAddressName", "[ÄNöW0W@"); dw_base.SetItemString(1, "bIdentifyAddressFlag", "N"); dw_base.SetItemString(1, "bPrimaryFlag", "N"); dw_base.SetItemString(1, "bStatus", "1"); //dw_base.ResetUpdateStatus(); //dw_check.SetItemDisplayString(1,"BusinessLicenceFlag","„%Nbgqg"); //dw_check.SetItemDisplayString(1,"TaxRegistrationFlag","zR¡v{‹°‹ÁY SpNö"); //dw_check.SetItemDisplayString(1,"OrganizationCodeFlag","~Ä~Çg:g„Nãx"); } //dw_base.SetColHeaderHeight(0); //dw_base.SetRowSelectorWidth(0); //dw_base.SetScrollState(false); return 1; } int OnToSupplier() { xdwtable dw_pc = dw_base.FindDwTable("item"); for (int i = 1; i <= dw_pc.GetRowCount(); i++) { if (dw_pc.GetItemString(i, "Name") == "") { alert("‹÷“Qe€T|ûNºYÓT !"); return 1; } if (dw_pc.GetItemString(i, "Mobile") == "") { alert("‹÷“Qe€T|ûNºbKg:S÷!"); return 1; } if (dw_pc.GetItemString(i, "IM") == "") { alert("‹÷“Qe€T|ûNºQQS÷!"); return 1; } } xdwtable dw = dw_base.FindDwTable("Supplier", 0); string PayType = dw.GetItemString(1, "PayType", 0); if (PayType.rtrim() == "") { alert("NØk>e¹_N:zzÿ"); return -1; } string ShortName = dw.GetItemString(1, "ShortName", 0); if (ShortName.rtrim() == "") { alert("O›^”UF{€yðN:zzÿ"); return -1; } string YearEstablished = dw_base.GetItemString(1, "YearEstablished"); if (YearEstablished.rtrim() == "") { alert("bzËeö•ôN:zzÿ"); return -1; } string LegalPerson = dw_base.GetItemString(1, "LegalPerson"); if (LegalPerson.rtrim() == "") { alert("lÕNºNãˆhN:zzÿ"); return -1; } string ThirdPartyReport = dw_base.GetItemString(1, "ThirdPartyReport"); if (ThirdPartyReport.rtrim() == "") { alert("šŒS‚b¥TJN:zzÿ"); return -1; } string Address = dw_base.GetItemString(1, "Address"); if (Address.rtrim() == "") { alert("O›^”UFW0W@N:zzÿ"); return -1; } string bAddress = dw_base.GetItemString(1, "bAddress"); if (bAddress.rtrim() == "") { alert("[ÄNöW0W@N:zzÿ"); return -1; } string sName = dw.GetItemString(1, "Name", 0) + ""; sName.rtrim(); //sName = str_replace(sName," ",""); if (sName == "") { alert("O›^”UFT yðN:zzÿ"); return -1; } int MB_YESNO = 0x00000004; int IDYES = 6; if (win32::MessageBox(GetHWND(), dw_base.GetItemDisplayString(1, "Name") + "lbkc_O›^”UF?", "cÐy:", MB_YESNO) != IDYES) return 1; dw_base.SetItemString(1, "Type", "2"); string no = dw_base.GetItemString(1, "PartyNo"); if (no.right(1) == "N") { no = no.left(no.length() - 1); dw_base.SetItemString(1, "PartyNo", no); } MessageStatus(); return 1; } int MessageStatus() { string EntityID = this.GetEntityID(1); xml x = ViewObject::RetrieveData("/sale/data/SupplierV3/entity/MessageStatus", "EntityID", EntityID); xml x1 = ViewObject::RetrieveData("/sale/data/SupplierV3/entity/ask2supplier", "SupplierID", EntityID); return 1; } int onload() { maint::onload(); return 1; } int onloaded() { maint::onloaded(); OnInit(); string suserid = xaserver::GetUserId(); PUser p = publiccode::GetUser(suserid); string deptname = p.deptname; string userno = p.no; string jobname = p.jobname; return 1; } }; ]