From 94d3840bda13f23c0cd4619a99ac215b74ffcd94 Mon Sep 17 00:00:00 2001 From: xj qian <qianxj15@sina.com> Date: 星期四, 07 十一月 2024 13:54:14 +0800 Subject: [PATCH] update --- jrj/project/business/SO3.maint.cpp | 60 ++++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 46 insertions(+), 14 deletions(-) diff --git a/jrj/project/business/SO3.maint.cpp b/jrj/project/business/SO3.maint.cpp index 5bb3ca6..3587db6 100644 --- a/jrj/project/business/SO3.maint.cpp +++ b/jrj/project/business/SO3.maint.cpp @@ -9,6 +9,11 @@ #include "viewobject/saleorder.view.hpp" #include "viewobject/quote.view.hpp" +#include "jstring.hpp" +#include "JFactory.hpp" +#include "jobjectsvr.hpp" +#include <memory> +#include "JPtr.hpp" class __declspec(dllexport) BaseMaintSOWin : public maint { xdwtable dw_props; @@ -223,17 +228,34 @@ xstring colname = hdr->colname; if (value == L"支付条款") { - //int p1 = vc.xdoc.getNativePointer(); - //openUrl(L"/sale/view/SaleOrder/xpage/payment", p1); + xaserverarg arg; + xml x; + dw_base.DwUpdateAllTo(x); + arg.SetArg(L"content", x.xml()); + openUrl(L"/sale/view/SaleOrder/xpage/payment", (LPARAM)arg); + if (arg.GetArgString(L"process") == L"ok") + { + x.loadXML(arg.GetArgString(L"content")); + dw_base.Retrieve(x); + } dw_base.AcceptText(); + dw_base.Redraw(); return 1; } //交货期维护 if (value == L"交货期") { - //int p2 = vc.xdoc.getNativePointer(); - //openUrl(L"/sale/view/SaleOrder/xpage/delivery1", p2); + xaserverarg arg; + xml x; + dw_base.DwUpdateAllTo(x); + arg.SetArg(L"content", x.xml()); + openUrl(L"/sale/view/SaleOrder/xpage/delivery1", (LPARAM)arg); + if (arg.GetArgString(L"process") == L"ok") + { + x.loadXML(arg.GetArgString(L"content")); + dw_base.Retrieve(x); + } dw_base.AcceptText(); dw_base.Redraw(); return 1; @@ -545,7 +567,7 @@ { xstring sSalespersonID = dw_base.GetItemString(1, L"SalespersonID"); //alert(sSalespersonID); - hdr->data = sSalespersonID; + hdr->data = sSalespersonID.c_str(true); } @@ -570,7 +592,7 @@ if (skunos == L"") skunos = dw_item.GetItemString(i, L"SKUNo"); else - skunos += L",L" + dw_item.GetItemString(i, L"SKUNo"); + skunos += L"," + dw_item.GetItemString(i, L"SKUNo"); } } xaserverarg& arg = *new xaserverarg(); @@ -702,12 +724,12 @@ alert(L"请先保存数据!"); return 1; } - xaserverarg& arg = * new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); + xaserverarg arg; + arg.AddArg(L"EntityName", L"SaleOrder", L""); arg.AddArg(L"EntityID", dw_base.GetItemString(1, L"SOID"), L""); arg.AddArg(L"EntityNo", dw_base.GetItemString(1, L"SONo"), L""); - openUrl(L"/sale/view/view.base/xpage/Template/PrintViewEx", &arg); + openUrl(L"/sale/view/view.base/xpage/Template/PrintViewEx", arg); return 1; } else if (comdid == L"xmSaveEx" && bupdate) @@ -830,7 +852,7 @@ return 1; } - int OnImgDBClicked(TEvent* evt, int pr) + int OnImgDBClicked(TEvent* evt, LPARAM pr) { IMGNNMHDR* nmtv = (IMGNNMHDR *)evt->notify.pnmh; xstring src = nmtv->path; @@ -839,13 +861,13 @@ else src=src.mid(src.find(L"Thumbs", 0)+6, 50); */ - xaserverarg& arg = * new xaserverarg; + xaserverarg arg; //arg.AddArg(L"src",L"/business/products/chanpin"+src); arg.AddArg(L"src", src); //win::OpenWindow(L"dev:xpage[BigPicture.vx]",arg); - int h = openUrl(L"/sale/view/ProductLibrary/xpage/bigpictureview", &arg); + openUrl(L"/sale/view/ProductLibrary/xpage/bigpictureview", arg); /* xwin x = new xwin; x.setNativePointer(h); @@ -863,8 +885,8 @@ ximageview im = GetControl(L"im1"); KXMLDOMDocument xp; - xaserverarg& arg_pic = *new xaserverarg; - arg_pic.setNativePointer(arg_pic.CreateInstance()); + xaserverarg arg_pic ; + arg_pic.AddArg(L"SKUNo", skuno); xstring res = L"/sale/data/ProductLibrary3/pref/picture/imagelistSKUNo"; @@ -939,8 +961,16 @@ return 1; } + int onload() { + /* + using JFString = JFactory<JString>; + JPtr<JFString> jfString(JObjectSvr::CreateInstance<JFString>(L"JFactoryString")); + //auto jfString = JObjectSvr::CreateInstance<JFString>(L"JFactoryString"); + JPtr<JString> pStr(jfString->make()); + */ + dw_props = GetControl(L"dw_props"); /*KXMLDOMDocument x = SaleOrderView::GetMaintFormForBase(); dw_props.SetDataObject(x); @@ -1010,12 +1040,14 @@ if (SONo != L"") { KXMLDOMDocument x = SaleOrderView::GetMaintDataForBase(SONo); + BSTR str = (BSTR)x.xml(); dw_base.Retrieve(x); dw_item.Retrieve(x); } else { KXMLDOMDocument x = ViewObject::RetrieveData(GetServerUrl(),L"/sale/data/SaleOrder/newinitial"); + BSTR str = (BSTR)x.xml(); dw_base.Retrieve(x); xstring sdate = publiccode::GetCurrentDate(); -- Gitblit v1.9.3