þÿuse "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "supplier.view.vd" unit trade [ class OwnerMaintSupplierWin : public frame { xdwtable dw_base; xdwtable dw_visitp; xnode m_agentNode; string bcodetotal; int SetAgent() { 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; } //q&p¹oÀm;YtQýep int OnSetFocus(ref TEvent evt, int param) { //‘Ín]åQwga SetAgent(); return 1; } int OnRetrieve(string SupplierID) { xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); //arg.AddArg("SupplierID",SupplierID); arg.AddArg("EntityID", SupplierID); //return 1; //if (getUrl("/sale/data/SupplierV3/entity/owner/maint",arg.GetString(),x)!=1) if (getUrl("/sale/data/SupplierV3/entity/maint", arg.GetString(), x) != 1) { trace(x.GetXmlDoc().text); return -1; } else { dw_base.Retrieve(x); dw_visitp.Retrieve(x); dw_base.Redraw(); dw_visitp.Redraw(); } return 1; } int SendNotice() { xml x1 = new xml; x1.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); dw_base.DwUpdateAllTo(x1.GetXmlDoc()); string NO = dw_base.GetItemString(1, "PartyNo"); string Subject = dw_base.GetItemString(1, "Name") + "ÿu3‹÷ubkc_O›^”UF"; string EntityID = x1.GetXmlDoc().selectSingleNode("Supplier/@guid").text; string Category = "SupplierV3"; string Reciever = "00601"; string Content = ""; xml x = ViewObject::AddMessage(Category, Reciever, NO, EntityID, Subject, Content); return 1; } int SendNoticeOne() { xml x1 = new xml; x1.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); dw_base.DwUpdateAllTo(x1.GetXmlDoc()); string NO = dw_base.GetItemString(1, "PartyNo"); string Subject = dw_base.GetItemString(1, "Name") + "ÿu3‹÷ubkc_O›^”UF"; string EntityID = x1.GetXmlDoc().selectSingleNode("Supplier/@guid").text; string Category = "SupplierV3"; string Reciever = "00603"; string Content = ""; xml x = ViewObject::AddMessage(Category, Reciever, NO, EntityID, Subject, Content); return 1; } int SendNoticeTwo() { xml x1 = new xml; x1.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); dw_base.DwUpdateAllTo(x1.GetXmlDoc()); string NO = dw_base.GetItemString(1, "PartyNo"); string Subject = dw_base.GetItemString(1, "Name") + "ÿu3‹÷ubkc_O›^”UF"; string EntityID = x1.GetXmlDoc().selectSingleNode("Supplier/@guid").text; string Category = "SupplierV3"; string Reciever = "00609"; string Content = ""; xml x = ViewObject::AddMessage(Category, Reciever, NO, EntityID, Subject, Content); return 1; } int OnAsk() { string AdvantageProduct = dw_base.GetItemString(1, "AdvantageProduct"); if (AdvantageProduct.rtrim() == "") { alert("OR¿N§TÁN:zzÿ"); return 1; } string FactoryForPaperCard = dw_base.GetItemString(1, "FactoryForPaperCard"); string FactoryForPart = dw_base.GetItemString(1, "FactoryForPart"); string FactoryForPacking = dw_base.GetItemString(1, "FactoryForPacking"); string FactoryForItem = dw_base.GetItemString(1, "FactoryForItem"); string FactoryForMake = dw_base.GetItemString(1, "FactoryForMake"); if (FactoryForPaperCard != "Y" && FactoryForPart != "Y" && FactoryForPacking != "Y" && FactoryForItem != "Y" && FactoryForMake != "Y") { alert("O›^”UFR~Ä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, "Address"); string CountryCode = dw_base.GetItemString(1, "CountryCode"); string ProvinceCode = dw_base.GetItemString(1, "ProvinceCode"); string City = dw_base.GetItemString(1, "City"); string District = dw_base.GetItemString(1, "District"); if (Address.rtrim() == "" || CountryCode.rtrim() == "" || ProvinceCode.rtrim() == "" || City.rtrim() == "" || District.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 PayType = dw_base.GetItemString(1, "PayType"); if (PayType.rtrim() == "") { alert("NØk>e¹_N:zzÿ"); return 1; } //string ImageList1 = dw_base.GetItemString(1,"ImageList1"); string count = "0"; string entityid = dw_base.GetGuid(1); xml x = ViewObject::RetrieveData("/sale/data/TDocument3/attachment/countbyid", "entityid", entityid); msxml::IXMLDOMNodeList items = x.GetXmlDoc().selectNodes("data/Item"); msxml::IXMLDOMNode t = items.item(0); if (t.selectSingleNode("count"))count = t.selectSingleNode("count").text; if (count == "0") { alert("g*N O „%NbgqgVþrGÿ"); return 1; } int MB_YESNO = 0x00000004; int IDYES = 6; if (win32::MessageBox(GetHWND(), "u3‹÷" + dw_base.GetItemDisplayString(1, "Name") + "ubkc_O›^”UF?", "cÐy:", MB_YESNO) != IDYES) return 1; dw_base.SetItemString(1, "Type", "13"); SendNotice(); //SendNoticeOne(); SendNoticeTwo(); return OnSave(false); } int OnSave(bool at = true) { dw_base.AcceptText(); dw_visitp.AcceptText(); if (dw_base.GetItemString(1, "Type") == "") { dw_base.SetItemString(1, "Type", "12"); } string ShortName = dw_base.GetItemString(1, "ShortName"); if (ShortName.rtrim() == "") { alert("O›^”UF{€yðN:zzÿ"); return 1; } string sPartyNo = dw_base.GetItemString(1, "PartyNo"); if (sPartyNo == "") { sPartyNo = publiccode::GetIdentityNo("Party2"); dw_base.SetItemString(1, "PartyNo", sPartyNo + "N"); } 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; } } xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); dw_base.DwUpdateAllTo(x.GetXmlDoc()); dw_visitp.DwUpdateAllTo(x.GetXmlDoc()); string error = ""; arg.AddArg("content", x.GetXml()); if (url::get("/sale/data/SupplierV3/entity/owner/save", arg.GetString(), x) != 1) { error = x.GetXmlDoc().text; alert(error); } else { if (at) { string str = x.GetXmlDoc().documentElement.getAttribute("text"); if (str == "true") { dw_base.ResetUpdateStatus(); dw_visitp.ResetUpdateStatus(); alert("OÝ[XbRŸ!"); OnRetrieve(dw_base.GetGuid(1)); } else { alert("OÝ[XY1%!"); } } } 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() { int row; int crow; xdwtable dw_obj = this.GetControl("dw_base"); xdwtable dw = dw_obj.GetCurTable(); string dw_n = dw.GetDwName(); if (dw_n == "item" || dw_n == "item2" || dw_n == "item3" || dw_n == "item4") { row = dw.InsertRow(-1); if (dw_n == "item2" || dw_n == "item3") { OnChangeRowNo(dw, dw.GetRowCount()); } } return 1; } int OnDeleteRow() { int row; xdwtable dw_obj = this.GetControl("dw_base"); xdwtable dw = dw_obj.GetCurTable(); string dw_n = dw.GetDwName(); if (dw_n == "item" || dw_n == "item2" || dw_n == "item3" || dw_n == "item4") { row = dw.GetRow(); dw.DeleteRow(row); } return 1; } int VOnAddRow() { int row; int crow; xdwtable dw_obj = this.GetControl("dw_visitp"); xdwtable dw = dw_obj.GetCurTable(); string dw_n = dw.GetDwName(); if (dw_n == "item" || dw_n == "item2" || dw_n == "item3" || dw_n == "item4") { row = dw.InsertRow(-1); if (dw_n == "item2" || dw_n == "item3") { OnChangeRowNo(dw, dw.GetRowCount()); } } return 1; } int VOnDeleteRow() { int row; xdwtable dw_obj = this.GetControl("dw_visitp"); xdwtable dw = dw_obj.GetCurTable(); string dw_n = dw.GetDwName(); if (dw_n == "item" || dw_n == "item2" || dw_n == "item3" || dw_n == "item4") { row = dw.GetRow(); dw.DeleteRow(row); } return 1; } //T}NäSÑ^Qýep int OnCmdDispatch(string comdid) { if (comdid == "tab_base") { bcodetotal = "1"; } else if (comdid == "tab_visitp") { bcodetotal = "2"; } else if (comdid == "xmSave") { OnSave(true); return 1; } else if (comdid == "xmAsk") return OnAsk(); else if (comdid == "xmAddRow" && bcodetotal == "1") return OnAddRow(); else if (comdid == "xmDeleteRow" && bcodetotal == "1") return OnDeleteRow(); else if (comdid == "xmAddRow" && bcodetotal == "2") return VOnAddRow(); else if (comdid == "xmDeleteRow" && bcodetotal == "2") return VOnDeleteRow(); else if (comdid == "xmClose") { CloseWindow(); return 1; } return 0; } //--------- 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 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")); */ string guid = dw_base.GetGuid(1); if (guid.length() <= 0) { guid = publiccode::GetGuid(); dw_base.SetGuid(1, guid); } arg.AddArg("entityid", guid); int p3 = cast(arg as int); trace(dw_base.GetGuid(1)); OpenWindow("dev:xpage[maint.Document.Supplier.v3.vx]", p3); } if (value == "šŒS‚b¥TJ–DNö") { string guid7 = dw_base.GetGuid(1); if (guid7.length() <= 0) { guid7 = publiccode::GetGuid(); dw_base.SetGuid(1, guid7); } arg.AddArg("entityid", guid7); int p7 = cast(arg as int); trace(dw_base.GetGuid(1)); 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; } //T}NäYtN‹Nö int OnXCommand(ref TXCommandEvent evt, int param) { return OnCmdDispatch(evt.pStrID); } /*int OnAskDataBase(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); hdr.data =""; string x= hdr.colname; if (x=="Province") { string ProvinceCode = dw_base.GetItemString(1,"ProvinceCode"); alert(ProvinceCode); hdr.data = "xxxxxxxxx"; } return 1; }*/ int OnItemChanged(ref TNotifyEvent evt, int p) { ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); string colname = hdr.colname; string value = hdr.data; int row = hdr.row; 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")); } dw_base.Redraw(); return 1; } int OnItemClickExS(ref TNotifyEvent evt, int p) { xdwtable dw = dw_visitp.FindDwTable("item4", 0); ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR); string value = hdr.data; int row = hdr.row; //alert(value); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); if (value == "–DNöN O ") { if (dw.GetGuid(dw.GetRow()) == "") { alert("OÝ[XTW(N O ÿ"); return 1; } arg.AddArg("entityid", dw.GetGuid(dw.GetRow())); int p4 = cast(arg as int); OpenWindow("dev:xpage[maint.Document.Customer.v3.vx]", p4); return 1; } if (value == "NºTX") { xaserverarg arg2 = new xaserverarg; arg2.setNativePointer(arg2.CreateInstance()); xaserverarg parg2 = GetParam(); OpenWindow("dev:xpage[SupplierUserGroupPersonSelect.vx]", cast(arg2 as int)); if (arg2.GetArgString("comdid") == "xmOk") { string data = arg2.GetArgString("data"); xml x2 = new xml; x2.setNativePointer(xml::CreateInstance()); x2.LoadXml(data); msxml::IXMLDOMNodeList nodes = x2.GetXmlDoc().selectNodes("/root/item"); trace(x2.GetXml()); int len = nodes.length; string Names = ""; for (int i = 0; i < len; i++) { msxml::IXMLDOMElement t = nodes.item(i); if (t.getAttribute("Name")) { string Name = t.getAttribute("Name"); if (Names == "") Names = Name; else if (Names.find(Name) < 0) Names += "," + Name; } } dw.SetItemString(dw.GetRow(), "ItemType", Names); } return 1; } 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_CLICKED", OnItemClick); AttachEvent("dw_base", "DWV_ITEMCHANGED", OnItemChanged); //AttachEvent("dw_base","DWV_ASKDATA",OnAskDataBase); AttachEvent("dw_visitp", "DWV_CLICKED", OnItemClickExS); return 1; } int NewInitail() { dw_base.SetItemString(1, "Type", "12"); //SæeöO›^”UF string sdate = publiccode::GetCurrentDate(); dw_base.SetItemString(1, "CreateDate", sdate); string suserid = publiccode::GetUser().id; string susername = publiccode::GetUser().name; dw_base.SetItemString(1, "CreatorID", suserid); dw_base.SetItemDisplayString(1, "CreatorID", susername); string sAddressID = publiccode::GetGuid(); //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.SetItemDisplayString(1, "FND_Province", "FND_Province"); dw_base.SetItemString(1, "Status", "1"); dw_base.SetItemDisplayString(1, "Status", "fn"); 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.Redraw(); xdwtable dw_pc = dw_base.FindDwTable("item"); dw_pc.SetItemString(1, "PrimaryFlag", "Y"); return 1; } int onload() { dw_base = GetControl("dw_base"); dw_base.openUrl("/sale/view/SupplierV3/template/supplier/base"); dw_base.SetColHeaderHeight(0); dw_base.SetRowSelectorWidth(0); dw_visitp = GetControl("dw_visitp"); dw_visitp.openUrl("/sale/view/SupplierV3/template/supplier/visit"); dw_visitp.SetColHeaderHeight(0); dw_visitp.SetRowSelectorWidth(0); bcodetotal = "1"; OnAttachEvent(); if (GetParam()) { xaserverarg arg = GetParam(); if (arg.GetArgString("EntityID") == "") { NewInitail(); } else OnRetrieve(arg.GetArgString("EntityID")); } else { NewInitail(); } return 1; } int onloaded() { SetAgent(); dw_base.SetEditUpperMode(true); return 1; } }; ]