LiFan
2024-10-29 8ff4f704c43f98078f7d7b151d41411c73f031bf
update
已添加4个文件
已修改2个文件
1498 ■■■■■ 文件已修改
jrj/ext-jrj/ext-jrj.vcxproj 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/ext-jrj/ext-jrj.vcxproj.filters 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Affair/Business5.cpp 669 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Affair/ProcessManagement.cpp 171 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Affair/message.business.cpp 416 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Affair/message.supplier.cpp 218 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/ext-jrj/ext-jrj.vcxproj
@@ -282,6 +282,18 @@
  <ItemGroup>
    <ClCompile Include="..\jarch.impl\JStringImpl.cpp" />
    <ClCompile Include="..\project\analysis\DataVanalysisWin.cpp" />
    <ClCompile Include="..\project\business\Affair\Business5.cpp">
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
    </ClCompile>
    <ClCompile Include="..\project\business\Affair\message.business.cpp">
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
    </ClCompile>
    <ClCompile Include="..\project\business\Affair\message.supplier.cpp">
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
    </ClCompile>
    <ClCompile Include="..\project\business\Affair\ProcessManagement.cpp">
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
    </ClCompile>
    <ClCompile Include="..\project\business\AP\APBank.cpp">
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
    </ClCompile>
jrj/ext-jrj/ext-jrj.vcxproj.filters
@@ -1442,6 +1442,18 @@
    <ClCompile Include="..\project\business\PO\paymentmethod.cpp">
      <Filter>project\business\PO</Filter>
    </ClCompile>
    <ClCompile Include="..\project\business\Affair\Business5.cpp">
      <Filter>project\business\Affair</Filter>
    </ClCompile>
    <ClCompile Include="..\project\business\Affair\message.business.cpp">
      <Filter>project\business\Affair</Filter>
    </ClCompile>
    <ClCompile Include="..\project\business\Affair\message.supplier.cpp">
      <Filter>project\business\Affair</Filter>
    </ClCompile>
    <ClCompile Include="..\project\business\Affair\ProcessManagement.cpp">
      <Filter>project\business\Affair</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <None Include="ext-jrj.def">
jrj/project/business/Affair/Business5.cpp
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,669 @@
use "xcontrol.vframe.vbusiness.vd"
use "xbase.vframe.vbusiness.vd"
use "saleorder.view.vd"
use "publiccode.vutil.vbusiness.vd"
unit trade
[
    class Business5Win :  public xframe
    {
        xdwgrid    dw_list;
        xdwgrid dw_processed;
        xdwgrid dw_message;
        xdwgrid dw_outbox;
        xdwgrid dw_Recovery;
        xnode    m_agentNode;    //Agent Condition
        xtreeview tv_folder;
        int        hMessage;
        int        hTask;
        string     agentFor;
        string    selectname;
        xwin        sheet;
        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+"[@for='"+agentFor+"']/*");
                if(agent)
                {
                    string s = agent.xml;
                    m_agentNode =  SetAgentNodeContent (anode,s);
                    //FillGoodsCarList();
                }
            }
            return 1;
        }
        //焦点激活处理函数
        int OnSetFocus(ref TEvent evt,int param)
        {
            //重置工具条
            SetAgent();
            return 1;
        }
        int RetrieveData()
        {
            if(selectname == "已处理任务")
            {
                xml x = ViewObject::RetrieveData("/sale/data/business/list/processedtask");
                dw_processed.Retrieve(x);
                dw_processed.Redraw();
                dw_processed.SetReadOnly(true);
            }else if(selectname == "收件箱")
            {
                string UserNO= publiccode::GetUser().no;
                x = ViewObject::RetrieveData("/sale/data/business/list/inbox");
                dw_message.Retrieve(x);
                dw_message.Redraw();
                dw_message.SetReadOnly(true);
            }
            else if(selectname == "发件箱")
            {
                x = ViewObject::RetrieveData("/sale/data/business/list/outbox");
                dw_outbox.Retrieve(x);
                dw_outbox.Redraw();
                dw_outbox.SetReadOnly(true);
            }
            else if(selectname == "回收箱")
            {
                x = ViewObject::RetrieveData("/sale/data/business/list/Recovery");
                dw_Recovery.Retrieve(x);
                dw_Recovery.Redraw();
                dw_Recovery.SetReadOnly(true);
            }
            AdjustTip();
            return 1;
        }
        int OnDelete()
        {
            int MB_OKCANCEL = 1;
            int IDOK  = 1;
            int ret = win32::MessageBox(GetHWND(),"确认删除消息?","提示",MB_OKCANCEL);
            if(ret == IDOK)
            {
                msxml::IXMLDOMElement ele = dw_message.GetRowElement(dw_message.GetRow());
                string TaskID = ele.getAttribute("guid");
                xml x = ViewObject::RetrieveData("/sale/data/business/message/delete","TaskID",TaskID);
                string status = x.GetXml();
                if(status.find("ok") == 1)
                {
                    alert("删除成功");
                    RetrieveData();
                }else
                {
                    alert("删除失败");
                }
            }
            return 1;
        }
        int OnUpdateRecovery()
        {
            int MB_OKCANCEL = 1;
            int IDOK  = 1;
            int ret = win32::MessageBox(GetHWND(),"确认恢复消息?","提示",MB_OKCANCEL);
            if(ret == IDOK)
            {
                msxml::IXMLDOMElement ele = dw_Recovery.GetRowElement(dw_Recovery.GetRow());
                string TaskID = ele.getAttribute("guid");
                xml x = ViewObject::RetrieveData("/sale/data/business/Recovery/UpdateRecovery","TaskID",TaskID);
                string status = x.GetXml();
                if(status.find("ok") == 1)
                {
                    alert("恢复成功");
                    RetrieveData();
                }else
                {
                    alert("恢复失败");
                }
            }
            return 1;
        }
        int OnDeleteRecovery()
        {
            int MB_OKCANCEL = 1;
            int IDOK  = 1;
            int ret = win32::MessageBox(GetHWND(),"确认彻底删除消息?","提示",MB_OKCANCEL);
            if(ret == IDOK)
            {
                msxml::IXMLDOMElement ele = dw_Recovery.GetRowElement(dw_Recovery.GetRow());
                string TaskID = ele.getAttribute("guid");
                xml x = ViewObject::RetrieveData("/sale/data/business/Recovery/DeleteRecovery","TaskID",TaskID);
                string status = x.GetXml();
                if(status.find("ok") == 1)
                {
                    alert("删除成功");
                    RetrieveData();
                }else
                {
                    alert("删除失败");
                }
            }
            return 1;
        }
        int OnAdd()
        {
            OpenWindow("dev:xpage[message.business.vx]");
            if(selectname == "发件箱" || selectname == "草稿箱") RetrieveData();
            return 1;
        }
        //命令发布函数
        int OnCmdDispatch(string comdid)
        {
            int ret = 0;
            if(comdid.find("action:",0)>=0)
            {
                ret = win32::SendMessage(sheet.GetHWND(),0x401,comdid,0);
            }
            if(comdid=="xmRefreshTask")
            {
                trace("\r\n----refresh task--------");
                win32::SendMessage(sheet.GetHWND(),0x401,comdid,0);
                return 1;
            }
            if(comdid=="xmRefresh")
            {
                trace("\r\n----refresh--------");
                ret = win32::SendMessage(sheet.GetHWND(),0x401,comdid,0);
            }
            if(comdid == "xmRertieve")
            {
                RetrieveData();
                ret = 1;
            }
            if(comdid=="xmAdd")
            {
                OnAdd();
                ret = 1;
            }
            if(comdid == "xmDelete")
            {
                OnDelete();
                ret = 1;
            }
            if(comdid == "UpdateRecovery")
            {
                OnUpdateRecovery();
                ret = 1;
            }
            if(comdid == "DeleteRecovery")
            {
                OnDeleteRecovery();
                ret = 1;
            }
            if(comdid == "xmImage")
            {
                int row = dw_message.GetRow();
                string PriceID = dw_message.GetItemString(row,"EntityID");
                xml x = ViewObject::RetrieveData("/sale/data/Enquiry/PriceList/GetSkunoByPriceID","PriceID",PriceID);
                msxml::IXMLDOMNodeList items = x.GetXmlDoc().selectNodes("data/Item");
                msxml::IXMLDOMNode t = items.item(0);
                string skunos =  t.selectSingleNode("skuno").text;
                xaserverarg arg_pic=new xaserverarg;
                arg_pic.setNativePointer(arg_pic.CreateInstance());
                arg_pic.AddArg("SKUNoList",skunos);
                arg_pic.AddArg("ParentWindow",GetHWND().toString());
                arg_pic.AddArg("OpenFlag","1");
                OpenWindow("dev:xpage[SKU.PictureView.Product3.vx]",cast(arg_pic as int));
                return 1;
            }
            else if(comdid == "xmSearchOne")
            {
                OnSearchOne();
                return 1;
            }
            else if(comdid == "xmSearchTwo")
            {
                OnSearchTwo();
                return 1;
            }
            else if(comdid=="Lognew")
            {
                string EntityID = dw_processed.GetItemString(dw_processed.GetRow(),"EntityID");
                //alert(EntityID);
                xaserverarg args=new xaserverarg;
                args.setNativePointer(args.CreateInstance());
                args.AddArg("EntityID",EntityID);
                //OpenWindow("dev:xpage[workflow.actionlog.vx]",cast(args as int));
                OpenWindow("dev:xpage[workflow.actionlog_vd.vx]",args.getNativePointer());
            }
            return ret;
        }
        int OnSearchOne()
        {
            string searchStr="";
            xaserverarg arg=new xaserverarg;
            arg.setNativePointer(arg.CreateInstance());
            arg.AddArg("text", searchStr);
            OpenWindow("dev:xpage[search.dialog.vx]", cast(arg as int));
            string str = arg.GetArgString("text");
            if(str != searchStr)
            {
                searchStr = str;
                dw_message.Filter("*",searchStr);
                return 1;
            }
            return 1;
        }
        int OnSearchTwo()
        {
            string searchStr="";
            xaserverarg arg=new xaserverarg;
            arg.setNativePointer(arg.CreateInstance());
            arg.AddArg("text", searchStr);
            OpenWindow("dev:xpage[search.dialog.vx]", cast(arg as int));
            string str = arg.GetArgString("text");
            if(str != searchStr)
            {
                searchStr = str;
                dw_Recovery.Filter("*",searchStr);
                return 1;
            }
            return 1;
        }
        //命令处理事件
        int OnXCommand(ref TXCommandEvent evt,int param)
        {
            return OnCmdDispatch(evt.pStrID);
        }
        //查找当前树项的顶级目录
        int LookupTopFolder(int hItem)
        {
            int hRoot = tv_folder.GetRootItem();
            while(tv_folder.GetParentItem(hItem)) hItem = tv_folder.GetParentItem(hItem);
            return hItem;
        }
        int ResetAgent(string agentAsk)
        {
            if(agentFor != agentAsk)
            {
                agentFor = agentAsk;
                m_agentNode = 0;
                SetAgent();
            }
            return 1;
        }
        int OnTreeSelChanged(ref TNotifyEvent evt,int p)
        {
            ref NMTREEVIEW nmtv = cast(evt.pnmh as NMTREEVIEW);
            int hItem = nmtv.itemNew.hItem;
            int hTopItem = LookupTopFolder(hItem);
            string data = tv_folder.GetItemData(hItem);
            trace("\r\n"+data);
            //msxml::IXMLDOMElement e = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement);
            //if(e)trace(e.xml);
            string name = tv_folder.GetItemLabel(hTopItem);
            selectname = tv_folder.GetItemLabel(hItem);
            if(selectname == "待处理任务")
            {
                SwitchLayer("sheet2","frame");
                sheet = GetChildWin("sheet2");
                ResetAgent("business1");
            }else if(selectname == "已处理任务")
            {
                SwitchLayer("sheet3","frame");
                RetrieveData();
                ResetAgent("business2");
            }else if(selectname == "收件箱")
            {
                SwitchLayer("sheet4","frame");
                RetrieveData();
                ResetAgent("business3");
            }else if(selectname == "发件箱")
            {
                SwitchLayer("sheet5","frame");
                RetrieveData();
                ResetAgent("business2");
            }
            else if(selectname == "事务")
            {
                SwitchLayer("sheet1","frame");
            }else if(selectname == "回收箱")
            {
                SwitchLayer("sheet6","frame");
                RetrieveData();
                ResetAgent("business5");
            }
            return 1;
        }
        int OnRowChanged(ref TNotifyEvent evt,int p)
        {
            //fixed one event only one process
            ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
            int row = hdr.row;
            if(selectname == "已处理任务")
                msxml::IXMLDOMElement ele = dw_processed.GetRowElement(row);
            else if(selectname == "收件箱")
            {
                ele = dw_message.GetRowElement(row);
                string Subject = dw_message.GetItemString(row,"Subject");
                if(Subject.find("价格单") == -1)
                {
                    ResetAgent("business3");
                }else{
                    ResetAgent("business4");
                }
            }
            else if(selectname == "回收箱")
            {
                ele = dw_Recovery.GetRowElement(row);
                string SubjectOne = dw_Recovery.GetItemString(row,"Subject");
            }
            else if(selectname == "发件箱")
                ele = dw_outbox.GetRowElement(row);
            xaserverarg arg=new xaserverarg;
            arg.setNativePointer(arg.CreateInstance());
            trace(ele.xml);
            arg.AddArg("content",ele.xml);
            xml doc=new xml;
            doc.setNativePointer(xml::CreateInstance());
            if(getUrl("/sale/data/vpage/vstart/task",arg.GetString(),doc)!=1)
            {
                trace("error->:"+doc.GetXml());
                return 0;
            }
            if(doc.GetXml() == "")
                return -1;
            //trace(doc.GetXml());
            htmlctrl ht = GetControl("taskinfo");
            ht.SetContent(doc.GetXml());
            ht.Redraw();
            return 1;
        }
        int OnItemAskStyle(ref TNotifyEvent evt,int p)
        {
            int DMS_CSSSTYLE = 0x8;
            ref DWASKSTYLENMHDR hdr = trust(evt.pnmh as ref DWASKSTYLENMHDR);
            int row = hdr.row;
            int col = hdr.col;
            string colname = hdr.colname;
            int rows = dw_message.GetRowCount();
            if(row < 1 || row > rows)
            {
                return 1;
            }
            if(colname=="flowName" || colname=="Process" || colname=="sender" ||
            colname=="SendDate"||colname=="processer"||colname=="ProcessedDate"||
            colname=="Subject"||colname=="Content")
            {
                string ReadedFlag = dw_message.GetItemString(row,"ReadedFlag");
                if(ReadedFlag != "Y")
                {
                    hdr.mask =  DMS_CSSSTYLE;
                    //hdr.cssstyle = "color:#cccccc";
                    hdr.cssstyle = "font-weight:700";
                }
            }
            return 1;
        }
        int OnDWClick(ref TNotifyEvent evt,int p)
        {
            string UserNO=publiccode::GetUser().no;
            if(UserNO !="00701")
            {
                ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
                string value = hdr.data;
                string colname = hdr.colname;
                int row = hdr.row;
                msxml::IXMLDOMElement ele = dw_message.GetRowElement(row);
                string TaskID = ele.getAttribute("guid");
                string ReadedFlag = dw_message.GetItemString(row,"ReadedFlag");
                string flowName = dw_message.GetItemString(row,"flowName");
                if(ReadedFlag != "Y")
                {
                    xml x = ViewObject::RetrieveData("/sale/data/business/message/read","TaskID",TaskID);
                    dw_message.SetItemString(row,"ReadedFlag","Y");
                    if(ReadedFlag != "Y" && flowName == "价格单共享")
                    {
                        xml x1 = ViewObject::RetrieveData("/sale/data/business/Recovery/MessageStatus","TaskID",TaskID);
                    }
                    dw_message.Redraw();
                    //RetrieveData();
                }
                AdjustTip();
            }
            return 1;
        }
        int OpenShowroom1(ref TNotifyEvent evt,int p)
            {
                ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
                string value = hdr.data;
                string colname = hdr.colname;
                int row = hdr.row;
                msxml::IXMLDOMElement ele = dw_outbox.GetRowElement(row);
                string TaskID = ele.getAttribute("guid");
                string Category = dw_outbox.GetItemString(row,"flowName");
                if(Category=="普通"){
                    xaserverarg arg2 = new xaserverarg;
                    arg2.setNativePointer(arg2.CreateInstance());
                    if(dw_outbox.GetRowCount() < 1) return 1;
                    msxml::IXMLDOMElement ele1 = dw_outbox.GetRowElement(dw_outbox.GetRow());
                    arg2.AddArg("EntityID",dw_outbox.GetItemString(dw_outbox.GetRow(),"EntityID"));
                    arg2.AddArg("id",ele1.getAttribute("guid"));
                    OpenWindow("dev:xpage[message.business.vx]", cast(arg2 as int));
                    return 1;
                }
                return 1;
            }
        int OpenShowroom(ref TNotifyEvent evt,int p)
            {
                ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
                string value = hdr.data;
                string colname = hdr.colname;
                int row = hdr.row;
                msxml::IXMLDOMElement ele = dw_message.GetRowElement(row);
                string TaskID = ele.getAttribute("guid");
                string Category = dw_message.GetItemString(row,"Category");
                if(Category=="货号申请"){
                    int p1="" ;
                    OpenWindow("dev:xpage[UserProductApply.vx]", p1);
                }
                if(Category=="普通"){
                    xaserverarg arg2 = new xaserverarg;
                    arg2.setNativePointer(arg2.CreateInstance());
                    if(dw_message.GetRowCount() < 1) return 1;
                    msxml::IXMLDOMElement ele1 = dw_message.GetRowElement(dw_message.GetRow());
                    arg2.AddArg("EntityID",dw_message.GetItemString(dw_message.GetRow(),"EntityID"));
                    arg2.AddArg("id",ele1.getAttribute("guid"));
                    OpenWindow("dev:xpage[message.business.vx]", cast(arg2 as int));
                    return 1;
                }
                else if(Category=="报价单共享")
                {
                    if(dw_message.GetRowCount() < 1) return 1;
                    string No = dw_message.GetItemString(dw_message.GetRow(),"No");
                    OpenWindow("dev:xpage[EnquiryEx.quote.vx]",cast(No as int));
                }
                if(Category=="SupplierV3")
                {
                    xaserverarg arg = new xaserverarg;
                    arg.setNativePointer(arg.CreateInstance());
                    if(dw_message.GetRowCount() < 1) return 1;
                    arg.AddArg("EntityID",dw_message.GetItemString(dw_message.GetRow(),"EntityID"));
                    //OpenWindow("dev:xpage[maint.Owner.Supplier.v3.vx]",cast(arg as int));
                    arg.AddArg("config","/sale/view/SupplierV3/config/supplier/open");
                    OpenWindow("dev:xpage[maintex.Owner.Supplier.v3.vx]",arg.getNativePointer());
                }
                if(Category=="供应商回退")
                {
                    xaserverarg arg1 = new xaserverarg;
                    arg1.setNativePointer(arg1.CreateInstance());
                    if(dw_message.GetRowCount() < 1) return 1;
                    arg1.AddArg("EntityID",dw_message.GetItemString(dw_message.GetRow(),"EntityID"));
                    OpenWindow("dev:xpage[maint.Owner.Supplier.v3.vx]",cast(arg1 as int));
                }
                return 1;
            }
        int OnAttachEvent()
        {
            //绑定工具条点击事件
            AttachEvent("WM_XCOMMAND",OnXCommand);
            //获取焦点事件,用于重置工具条
            AttachEvent("WM_SETFOCUS",OnSetFocus);
            //树选择
            AttachEvent("tv_folder", "TVN_SELCHANGED",OnTreeSelChanged);
            AttachEvent("dw_processed","DWV_ROWFOCUSCHANGED",OnRowChanged);
            AttachEvent("dw_message","DWV_ROWFOCUSCHANGED",OnRowChanged);
            AttachEvent("dw_outbox","DWV_ROWFOCUSCHANGED",OnRowChanged);
            AttachEvent("dw_Recovery","DWV_ROWFOCUSCHANGED",OnRowChanged);
            AttachEvent("dw_message","DWV_ASKSTYLE",OnItemAskStyle);
            AttachEvent("dw_message","DWV_CLICKED",OnDWClick);
            AttachEvent("dw_message","DWV_DOUBLECLICKED",OpenShowroom);
            AttachEvent("dw_outbox","DWV_DOUBLECLICKED",OpenShowroom1);
            return 1;
        }
        int  OnRetrieve()
        {
            return 1;
        }
        int  InitialFolder()
        {
            msxml::IXMLDOMElement xframeElement =  GetElement();
            msxml::IXMLDOMElement e =  xframeElement.selectSingleNode("//xtree[@name='tv_folder']/initial");
            //msxml::IXMLDOMElement e =  xframeElement.selectSingleNode("//xtree[@name='tv_folder']/data/item[@name='"+"']");
            //trace(e.xml);
            if(e)
                ExpandChildFolder(0,e);
            return 1;
        }
        int  ExpandChildFolder(int hItem, msxml::IXMLDOMElement pElement)
        {
            msxml::IXMLDOMNodeList nlist = pElement.SelectNodes("Item");
            int len = nlist.length;
            for (int i = 0; i < len; i++)
            {
                msxml::IXMLDOMElement e = nlist.item(i);
                string name = e.getAttribute("name");
                string sImage = e.getAttribute("image");
                string child = e.getAttribute("child");
                int image = 15;
                if(sImage) image = sImage.toInt();
                int h= tv_folder.InsertChildItem(tv_folder.GetId(),hItem,name, trust(e as int),image);
                if(child !="no" ) tv_folder.SetItemChild(h,1);
                ExpandChildFolder(h,e);
            }
            return 1;
        }
        int AdjustTip()
        {
            xml x = ViewObject::RetrieveData("/sale/data/business/list/AdjustTipNotify");
            msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("/data/Item");
            msxml::IXMLDOMNode t = nlist.item(0);
            string informationQuantity =t.selectSingleNode("informationQuantity").text;
            tv_folder.SetItemLabel(hMessage, "消息"+"("+informationQuantity+")");
            xml x1 = ViewObject::RetrieveData("/sale/data/business/list/AdjustTipTask");
            //alert(x1.GetXml());
            msxml::IXMLDOMNodeList nlist1 = x1.GetXmlDoc().SelectNodes("/data/Item");
            msxml::IXMLDOMNode t1= nlist1.item(0);
            string informationQuantityTask =t1.selectSingleNode("informationQuantityTask").text;
            tv_folder.SetItemLabel(hTask, "任务"+"("+informationQuantityTask+")");
            /*select count(*) from bpm_task where typ='notify' and  process='N'
            and charindex('|'+'00303'+'|','|' + rtrim(receiver) +'|')>=1*/
            return 1;
        }
        int onload()
        {
            agentFor = "business";
            OnAttachEvent();
            dw_list = GetControl("dw_list");
            dw_processed = GetControl("dw_processed");
            dw_processed.openUrl("/sale/view/Business3/template/processedtask");
            dw_processed.SetColumnState("EntityID",false);
            dw_processed.SetColumnState("Category",false);
            dw_message = GetControl("dw_message");
            dw_message.openUrl("/sale/view/Business3/template/message");
            dw_message.SetAskStyle(true);
            dw_message.SetColumnState("EntityID",false);
            dw_message.SetColumnState("Category",false);
            dw_message.SetColumnState("ReadedFlag",false);
            dw_outbox = GetControl("dw_outbox");
            dw_outbox.openUrl("/sale/view/Business3/template/outbox");
            dw_outbox.SetColumnState("EntityID",false);
            dw_Recovery = GetControl("dw_Recovery");
            dw_Recovery.openUrl("/sale/view/Business3/template/message");
            dw_Recovery.SetColumnState("EntityID",false);
            dw_Recovery.SetColumnState("Category",false);
            dw_Recovery.SetColumnState("ReadedFlag",false);
            dw_Recovery.SetColumnState("No",false);
            tv_folder = GetControl("tv_folder");
            tv_folder.SetLineAtRoot(true);
            sheet = GetChildWin("sheet1");
            int hItem = tv_folder.GetRootItem();
            tv_folder.ExpandItem(hItem);
            int hcItem =tv_folder.GetChildItem(hItem);
            hTask = hcItem;
            tv_folder.ExpandItemAll(hcItem);
            tv_folder.ItemFocus(tv_folder.GetChildItem(hcItem));
            hcItem = tv_folder.GetNextItem(hcItem);
            hMessage = hcItem;
            tv_folder.ExpandItemAll(hcItem);
            AdjustTip();
            return 1;
        }
        int onloaded()
        {
            SetAgent();
            return 1;
        }
    };
]
jrj/project/business/Affair/ProcessManagement.cpp
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,171 @@
use "xcontrol.vframe.vbusiness.vd"
use "xbase.vframe.vbusiness.vd"
use "base.view.vd"
unit trade
[
    class ProcessManagement :  public xframe
    {
        xdwgrid    dw_list;
        xnode    m_agentNode;    //Agent Condition
        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;
        }
        //焦点激活处理函数
        int OnSetFocus(ref TEvent evt,int param)
        {
            //重置工具条
            SetAgent();
            return 1;
        }
        //命令发布函数
        int OnCmdDispatch(string comdid)
        {
            if(comdid == "xmDelete")
            {
                int MB_OKCANCEL = 1;
                int IDOK  = 1;
                int ret = win32::MessageBox(GetHWND(),"确认删除流程?","提示",MB_OKCANCEL);
                if(ret == IDOK)
                {
                    int row = dw_list.GetRow();
                    string TaskID = dw_list.GetItemString(row,"TaskID");
                    xml x = ViewObject::RetrieveData("/sale/data/business/DelProcessManagement","TaskID",TaskID);
                    string status = x.GetXml();
                    if(status.find("ok") == 1)
                    {
                        alert("删除成功");
                        dw_list.DeleteRow(row);
                    }else
                    {
                        alert("删除失败");
                    }
                }
                return 1;
            }
            else if (comdid == "xmRefresh")
            {
                OnRetrieve();
            }
            else if (comdid == "AA")
            {
                AA();
            }
            return 0;
        }
        int AA()
        {
                //string FobUnitPriceEx=dw_cell.GetItemString(row,colFOBPrice);
            string FobUnitPriceEx="$123.0";
            if(FobUnitPriceEx=="$") FobUnitPriceEx="123";
            //alert(FobUnitPriceEx.find("$").toString());
            if(FobUnitPriceEx.find("$") >=0) FobUnitPriceEx=FobUnitPriceEx.right(FobUnitPriceEx.length() - 1);
            trace(FobUnitPriceEx);
        }
        //触发鼠标离开后tran事件,通过查找某个参数得到对应的列
        int OnBaseItemChanged(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_list";
            if(value != "")
            {
                msxml::IXMLDOMNodeList nlist = GetElement().selectNodes("//*[@name='"+dwname+"']/trans[@for='"+colname+"']");
                ViewObject::TransData(nlist, dw_list, hdr.row, colname, value);
            }
            return 1;
        }
        //命令处理事件
        int OnXCommand(ref TXCommandEvent evt,int param)
        {
            return OnCmdDispatch(evt.pStrID);
        }
        int OnAttachEvent()
        {
            //绑定工具条点击事件
            AttachEvent("WM_XCOMMAND",OnXCommand);
            //获取焦点事件,用于重置工具条
            AttachEvent("WM_SETFOCUS",OnSetFocus);
            AttachEvent("dw_list","DWV_ITEMCHANGED",OnBaseItemChanged);
        }
        int  OnRetrieve()
        {
            xml x = new xml;
            x.setNativePointer(xml::CreateInstance());
            xaserverarg arg = new xaserverarg;
            arg.setNativePointer(arg.CreateInstance());
            if (getUrl("/sale/data/business/ProcessManagement",arg.GetString(),x)!=1)
            {
                trace(x.GetXmlDoc().text);
                return -1;
            }else
            {
                dw_list.Retrieve(x);
                dw_list.Redraw();
                dw_list.SetReadOnly(true);
                dw_list.SetSelectionMode(1);
            }
            return 1;
        }
        int onload()
        {
            dw_list = GetControl("dw_list");
            dw_list.openUrl("/sale/view/Business3/template/ProcessManagement");
            dw_list.SetColumnState("TaskID",false);
            OnRetrieve();
            OnAttachEvent();
            return 1;
        }
        int onloaded()
        {
            SetAgent();
            return 1;
        }
    };
]
jrj/project/business/Affair/message.business.cpp
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,416 @@
use "xcontrol.vframe.vbusiness.vd"
use "xbase.vframe.vbusiness.vd"
use "base.view.vd"
unit trade
[
    class MessageBusinessWin :  public xframe
    {
        //xdwgrid    dw_list;
        xdwtable dw_base;
        xnode    m_agentNode;    //Agent Condition
        xwin        sheet;
        bool      readonly;
        string      MessageID;
        string     bill;
        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;
        }
        //焦点激活处理函数
        int OnSetFocus(ref TEvent evt,int param)
        {
            //重置工具条
            SetAgent();
            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=="Category")
            {
                if(value=="供应商申请")
                {
                    dw_base.SetItemString(1,"Receiver","fdp-011");
                    dw_base.SetItemString(1,"Subject","请添加");
                }
                return 1;
                bool changed = false;
                xml x = ViewObject::RetrieveData("/sale/data/business/message/maint","typ",value);
                if(x)
                {
                    string xpage_ = x.GetXmlDoc().documentElement.getAttribute("xpage");
                    string templaterpt = x.GetXmlDoc().documentElement.getAttribute("template");
                    if(xpage_ !="")
                    {
                        string s = "<hbox name='agent'>";
                        s += "<xpage  url='" + xpage_ + "'   name='contentex'/>";
                        s += "</hbox>";
                        SetAgentNodeContent (GetAgentNode("agent"),s);
                        SwitchLayer("sheet2","frame");
                        sheet = GetChildWin("contentex");
                        changed = true;
                    }
                }
                if(!changed)
                {
                    sheet  = 0;
                    SwitchLayer("sheet1","frame");
                }
            }
            return 1;
        }
        //命令发布函数
        int OnCmdDispatch(string comdid)
        {
            if(comdid=="xmSend")
            {
                if(!readonly) OnSend();
                return 1;
            }
            else if(comdid=="xmSave")
            {
                if(!readonly) OnSave();
                return 1;
            }
            else if(comdid=="xmCancel")
            {
                CloseWindow();
                return 1;
            }
            if(sheet && comdid !="")
            {
                int ret = win32::SendMessage(sheet.GetHWND(),0x401,comdid,0);
                if(ret) return ret;
            }
            return 0;
        }
        //命令处理事件
        int OnXCommand(ref TXCommandEvent evt,int param)
        {
            return OnCmdDispatch(evt.pStrID);
        }
        int OnDWClick(ref TNotifyEvent evt,int p)
        {
            ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
            string value = hdr.data;
            string colname = hdr.colname;
            if (value == "收件人:")
            {
                xaserverarg arg2 = new xaserverarg;
                arg2.setNativePointer(arg2.CreateInstance());
                xaserverarg parg2 = GetParam();
                OpenWindow("dev:xpage[UserGroupPersonSelect.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_base.SetItemString(1,"Receiver",Names);
                }
                return 1;
            }
        }
        int OnAttachEvent()
        {
            //绑定工具条点击事件
            AttachEvent("WM_XCOMMAND",OnXCommand);
            //获取焦点事件,用于重置工具条
            AttachEvent("WM_SETFOCUS",OnSetFocus);
            AttachEvent("dw_base","DWV_ITEMCHANGED",OnItemChanged);
            AttachEvent("dw_base","DWV_CLICKED",OnDWClick);
            return 1;
        }
        int OnSave()
        {
            xml x = new xml;
            x.setNativePointer(xml::CreateInstance());
            xaserverarg arg1 = MakeArg("scriptbox");
            string murl = "/sale/data/Business/message/update";
            if(MessageID=="") murl = "/sale/data/Business/message/add2";
            if(url::get(murl, arg1.GetString(),x)!=1)
            {
                alert("error1:\r\n"+x.GetXmlDoc().text);
                return 1;
            }
            if(MessageID=="") MessageID= dw_base.GetGuid(1);
            alert("已保存到草稿箱");
            return 1;
            xaserverarg arg = new xaserverarg;
            arg.setNativePointer(arg.CreateInstance());
            if(sheet)
            {
                int val = cast(arg as int);
                win32::SendMessage(sheet.GetHWND(),0x401,"GetEntityData:"+val.toString(),0);
                string data = arg.GetArgString("EntityData");
                murl = "/sale/data/Business/message/attach/update";
                arg1.AddArg("url","message/attach");
                arg1.AddArg("content",data);
                arg1.AddArg("param",MessageID);
                if(url::get(murl, arg1.GetString(),x)!=1)
                {
                    alert("error2:\r\n"+x.GetXmlDoc().text);
                    return 1;
                }
            }
            return 1;
        }
        int OnSend()
        {
            xml x = new xml;
            x.setNativePointer(xml::CreateInstance());
            //xaserverarg arg1 = MakeArg("outbox");
            xaserverarg arg1 = MakeArg("inbox");
            string murl = "/sale/data/Business/message/update";
            if(MessageID=="") murl = "/sale/data/Business/message/add2";
            trace(arg1.GetString());
            if(url::get(murl, arg1.GetString(),x)!=1)
            {
                alert("error1:\r\n"+x.GetXmlDoc().text);
                return 1;
            }
            if(MessageID=="") MessageID= dw_base.GetGuid(1);
            alert("发送完成");
            CloseWindow();
            return 1;
            xaserverarg arg = new xaserverarg;
            arg.setNativePointer(arg.CreateInstance());
            if(sheet)
            {
                int val = cast(arg as int);
                win32::SendMessage(sheet.GetHWND(),0x401,"GetEntityData:"+val.toString(),0);
                string data = arg.GetArgString("EntityData");
                murl = "/sale/data/Business/message/attach/update";
                arg1.AddArg("url","message/attach");
                arg1.AddArg("content",data);
                arg1.AddArg("param",MessageID);
                if(url::get(murl, arg1.GetString(),x)!=1)
                {
                    alert("error2:\r\n"+x.GetXmlDoc().text);
                    return 1;
                }
            }
            return 1;
        }
        xaserverarg MakeArg(string folder)
        {
            //ThingImpl:AddMessage($MessageID,$Folder,$EntityNo, $EntityID, $Subject, $Category, $Reciever, $Content)
            //ThingImpl:UpdateMessage($MessageID,$Folder,$EntityNo, $EntityID, $Subject, $Category, $Reciever, $Content)
            xaserverarg arg = new xaserverarg;
            arg.setNativePointer(arg.CreateInstance());
            if(MessageID=="")
            {
                dw_base.SetGuid(1,ViewObject::GetGuid());
                arg.AddArg("MessageID", dw_base.GetGuid(1));
                arg.AddArg("EntityID", dw_base.GetGuid(1));
            }
            else
            {
                arg.AddArg("MessageID", MessageID);
                arg.AddArg("EntityID", MessageID);
            }
            arg.AddArg("Folder", folder);
            arg.AddArg("EntityNo", dw_base.GetItemString(1,"EntityNo"));
            arg.AddArg("Subject", dw_base.GetItemString(1,"Subject"));
            arg.AddArg("Category", dw_base.GetItemString(1,"Category"));
            arg.AddArg("Reciever", dw_base.GetItemString(1,"Receiver"));
            arg.AddArg("Note", dw_base.GetItemString(1,"Note"));
            //arg.AddArg("Content", dw_base.GetItemString(1,"Content"));
            arg.AddArg("Content",GetControl("content").GetText());
            arg.AddArg("Content2",bill);
            return arg;
        }
        int  OnRetrieve()
        {
            xml x = new xml;
            x.setNativePointer(xml::CreateInstance());
            xaserverarg arg = new xaserverarg;
            arg.setNativePointer(arg.CreateInstance());
            arg.AddArg("id",MessageID);
            if (getUrl("/sale/data/business/list/fetch",arg.GetString(),x)!=1)
            {
                trace(x.GetXmlDoc().text);
                return -1;
            }else
            {
                dw_base.Retrieve(x);
                dw_base.Redraw();
                if(readonly) dw_base.SetReadOnly(true);
                if(x.GetXmlDoc().selectSingleNode("root/Content"))
                {
                    string str = x.GetXmlDoc().selectSingleNode("root/Content").text;
                    str = str.replace("\n","\r\n");
                    GetControl("content").SetText(str);
                }
                //alert(x.GetXml());
                if(x.GetXmlDoc().selectSingleNode("root/Content2"))
                {
                    string str2 = x.GetXmlDoc().selectSingleNode("root/Content2").text;
                    string tm="";
                    string EntityID="";
                    string Category="";
                    int pos = str2.find("EntityID=");
                    if(pos >= 0)
                    {
                        tm = str2.mid(pos+"EntityID=".length(),64);
                        if(tm.find(" ")>0) tm = tm.left(tm.find(" "));
                        EntityID=tm;
                    }
                    pos = str2.find("Category=");
                    if(pos >= 0)
                    {
                        tm = str2.mid(pos+"Category=".length(),64);
                        if(tm.find(" ")>0) tm = tm.left(tm.find(" "));
                        Category=tm;
                    }
                    trace("EntityID:"+EntityID);
                    trace("Category:"+Category);
                    if(EntityID != "" && Category != "")
                    {
                        string eleStr = "<row EntityID='"+EntityID+"'";
                        eleStr += " category='" + Category + "'/>";
                        bill = "EntityID="+EntityID+" Category=" + Category;
                        ShowDetail(eleStr);
                    }
                }
            }
            return 1;
        }
        int ShowDetail(string eleStr)
        {
            xaserverarg arg=new xaserverarg;
            arg.setNativePointer(arg.CreateInstance());
            arg.AddArg("content",eleStr);
            xml doc=new xml;
            doc.setNativePointer(xml::CreateInstance());
            if(getUrl("/sale/data/vpage/vstart/task",arg.GetString(),doc)!=1)
            {
                trace("error->:"+doc.GetXml());
                return 0;
            }
            if(doc.GetXml() == "")
                return -1;
            htmlctrl ht = GetControl("taskinfo");
            ht.SetContent(doc.GetXml());
            ht.Redraw();
            return 1;
        }
        int onload()
        {
            dw_base = GetControl("dw_base");
            dw_base.openUrl("/sale/view/business3/template/message/maint");
            dw_base.SetColHeaderHeight(0);
            dw_base.SetRowSelectorWidth(0);
            dw_base.SetHScrollState(false);
            dw_base.SetVScrollState(false);
            dw_base.SetItemString(1,"Category","普通");
            OnAttachEvent();
            readonly = false;
            MessageID = "";
            bill = "";
            SetAgent();
            if(GetParam())
            {
                xaserverarg arg = GetParam();
                MessageID = arg.GetArgString("id");
                if(arg.GetArgString("readonly")=="1") readonly=true;
                OnRetrieve();
                if(arg.GetArgString("EntityID")!="")
                {
                    string str = "<row EntityID='"+arg.GetArgString("EntityID")+"'";
                    str += " category='" + arg.GetArgString("EntityName")+"'/>";
                    bill = "EntityID="+arg.GetArgString("EntityID")+" Category=" + arg.GetArgString("EntityName");
                    ShowDetail(str);
                }
            }
            return 1;
        }
        int onloaded()
        {
            return 1;
        }
    };
]
jrj/project/business/Affair/message.supplier.cpp
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,218 @@
use "xcontrol.vframe.vbusiness.vd"
use "xbase.vframe.vbusiness.vd"
unit trade
[
    class SupplierMessageWin :  public xframe
    {
        xdwtable dw_base;
        //xdwgrid    dw_list;
        xnode    m_agentNode;    //Agent Condition
        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;
        }
        //焦点激活处理函数
        int OnSetFocus(ref TEvent evt,int param)
        {
            //重置工具条
            SetAgent();
            return 1;
        }
        int UpLoad(string name)
        {
            string str = name.mid(0,2);
            str = str.upper();
            int ret1 = xaserver::Upload("supplier"+str, name+".jpg", this.GetHWND(),"",false);
            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;
            xaserverarg arg=new xaserverarg;
            arg.setNativePointer(arg.CreateInstance());
            if(value == "上传附件")
            {
                string strguid = publiccode::GetGuid();
                //alert(strguid);
                int ret1 = UpLoad(strguid);
                if(ret1  == -1)
                    return -1;
                if(ret1  == 0)
                {
                    alert("上传附件失败");
                    return -1;
                }
                else
                {
                    alert("上传附件成功");
                    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();
                }
            }
            if(value == "查看")
            {
                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"));
            }
            return 1;
        }
        int GetEntityData(xaserverarg arg)
        {
            xml x = new xml;
            x.setNativePointer(xml::CreateInstance());
            dw_base.DwUpdateAllTo(x.GetXmlDoc());
            arg.AddArg("EntityData",x.GetXml());
            return 1;
        }
        xaserverarg GetArg(string comdid)
        {
            if(comdid.find(":")>=0)
            {
                xaserverarg arg = comdid.mid(comdid.find(":")+1,64).toInt();
                return arg;
            }
            return 0;
        }
        int GetEntityInfo(xaserverarg arg)
        {
            arg.AddArg("EntityName","Supplier");
            arg.AddArg("EntityID",dw_base.GetGuid(1));
            return 1;
        }
        //命令发布函数
        int OnCmdDispatch(string comdid)
        {
            if(comdid.find("GetEntityInfo:")==0) return GetEntityInfo(GetArg(comdid));
            else if(comdid.find("GetEntityData:")==0) return GetEntityData(GetArg(comdid));
            else if(comdid=="xmAddRow") return OnAddRow();
            else if(comdid=="xmDeleteRow") return OnDeleteRow();
            return 0;
        }
        //命令处理事件
        int OnXCommand(ref TXCommandEvent evt,int param)
        {
            return OnCmdDispatch(evt.pStrID);
        }
        int OnAttachEvent()
        {
            //绑定工具条点击事件
            AttachEvent("WM_XCOMMAND",OnXCommand);
            //获取焦点事件,用于重置工具条
            AttachEvent("WM_SETFOCUS",OnSetFocus);
            AttachEvent("dw_base","DWV_CLICKED",OnItemClick);
        }
        int OnAddRow()
        {
            xdwtable dw_obj = dw_base.FindDwTable("item");
            dw_obj.InsertRow(0);
            return 1;
        }
        int OnDeleteRow()
        {
            xdwtable dw_obj = dw_base.GetCurTable();
            dw_obj.DeleteRow(0);
            return 1;
        }
        /*
        int  OnRetrieve()
        {
            xml x = new xml;
            x.setNativePointer(xml::CreateInstance());
            xaserverarg arg = new xaserverarg;
            arg.setNativePointer(arg.CreateInstance());
            arg.AddArg("xxx","xxx");
            if (getUrl("",arg.GetString(),x)!=1)
            {
                trace(x.GetXmlDoc().text);
                return -1;
            }else
            {
                //dw_list.Retrieve(x);
                //dw_list.Redraw();
            }
            return 1;
        }
        */
        int onload()
        {
            dw_base = GetControl("dw_base");
            dw_base.openUrl("/sale/view/SupplierV3/template/supplier/simplebase");
            dw_base.SetColHeaderHeight(0);
            dw_base.SetRowSelectorWidth(0);
            //dw_base.SetHScrollState(false);
            //dw_base.SetVScrollState(false);
            OnAttachEvent();
            return 1;
        }
        int onloaded()
        {
            SetAgent();
            return 1;
        }
    };
]