xj qian
2024-09-05 89c226a7da5ffc6748ff3ef70aacad7625bafa3e
update so payterm
已添加7个文件
已删除1个文件
已修改5个文件
已重命名2个文件
258 ■■■■ 文件已修改
jrj/ext-jrj/JFactory.hpp 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/ext-jrj/JFactoryStringImpl.cpp 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/ext-jrj/JFactoryStringImpl.h 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/ext-jrj/JPtr.cpp 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/ext-jrj/JPtr.hpp 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/ext-jrj/dllmain.cpp 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/ext-jrj/ext-jrj.def 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/ext-jrj/ext-jrj.vcxproj 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/jarch.impl/JStringImpl.cpp 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/jarch.impl/JStringImpl.hpp 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/jarch/JObjectSvr.hpp 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/jarch/JStringImpl.cpp 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/SO/delivery.base.maint.so.cpp 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/SO/paymentterm.base.maint.so.cpp 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/SO3.maint.cpp 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/ext-jrj/JFactory.hpp
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
#pragma once
#include "jobject.hpp"
template<class T>
class JFactory : public JObject
{
public:
    virtual T* make() = 0;
};
jrj/ext-jrj/JFactoryStringImpl.cpp
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
#include "JFactoryStringImpl.h"
jrj/ext-jrj/JFactoryStringImpl.h
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
#pragma once
#include "JFactory.hpp"
#include "JStringImpl.hpp"
class JFactoryStringImpl :
    public JFactory<JString>
{
    JString* make()
    {
        return new JStringImpl();
    }
    void Release()
    {
        if (this)delete this;
    }
};
jrj/ext-jrj/JPtr.cpp
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
#include "JPtr.hpp"
jrj/ext-jrj/JPtr.hpp
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
#pragma once
#include "jobject.hpp"
template<class Ty>
class JPtr :
    public JObject
{
public:
    JPtr(Ty* impl) :impl(impl) {}
    ~JPtr() {
        ((JObject*)impl)->Release();
    }
public:
    Ty* operator ->() {
        return impl;
    }
public:
    void Release() {}
private:
    Ty* impl;
};
jrj/ext-jrj/dllmain.cpp
@@ -1,6 +1,18 @@
// dllmain.cpp : å®šä¹‰ DLL åº”用程序的入口点。
#include "pch.h"
#include "JObject.hpp"
#include "JFactoryStringImpl.h"
//#include "JFileStream.hpp"
//#include "JDataBlock.hpp"
//#include "JDataStore.hpp"
//#include "JDataSet.hpp"
extern "C"
{
    bool WINAPI CreateJObjectInstance(LPTSTR pStrObject, JObject*& pJObject);
}
BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
@@ -17,3 +29,35 @@
    return TRUE;
}
bool WINAPI CreateJObjectInstance(LPTSTR pStrObject, JObject*& pJObject)
{
    pJObject = nullptr;
    if (wcscmp(pStrObject, L"JFactoryString") == 0)
    {
        pJObject = new JFactoryStringImpl();
        return true;
    }
    if (wcscmp(pStrObject, L"JString") == 0)
    {
        pJObject = new JStringImpl();
        return true;
    }
    /*
     else if (wcscmp(pStrObject, L"JDataStore")==0)
     {
         pJObject = new JDataStore();
         return true;
     }
     else if (wcscmp(pStrObject, L"JDataBlock")==0)
     {
         pJObject = new JDataBlock();
         return true;
     }
     else if (wcscmp(pStrObject, L"JDataSet")==0)
     {
         pJObject = new JDataSet();
         return true;
     }*/
    return  false;
}
jrj/ext-jrj/ext-jrj.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
LIBRARY    "ext-jrj.dll"
EXPORTS
    ; æ­¤å¤„可以是显式导出
CreateJObjectInstance
jrj/ext-jrj/ext-jrj.vcxproj
@@ -91,6 +91,7 @@
      <SubSystem>Windows</SubSystem>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <EnableUAC>false</EnableUAC>
      <ModuleDefinitionFile>ext-jrj.def</ModuleDefinitionFile>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -110,17 +111,18 @@
      <OptimizeReferences>true</OptimizeReferences>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <EnableUAC>false</EnableUAC>
      <ModuleDefinitionFile>ext-jrj.def</ModuleDefinitionFile>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <ClCompile>
      <WarningLevel>Level3</WarningLevel>
      <SDLCheck>true</SDLCheck>
      <PreprocessorDefinitions>_DEBUG;EXTJRJ_EXPORTS;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;_XWIN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <PreprocessorDefinitions>_DEBUG;EXTJRJ_EXPORTS;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;_XWIN;_XKEYCHECK_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <ConformanceMode>true</ConformanceMode>
      <PrecompiledHeader>NotUsing</PrecompiledHeader>
      <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
      <AdditionalIncludeDirectories>..\xframe;..\xframe\system;..\project;..\jarch</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories>.;..;..\xframe;..\xframe\system;..\project;..\jarch;..\jarch.impl;../ext-jrj</AdditionalIncludeDirectories>
      <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
      <LanguageStandard>stdcpp17</LanguageStandard>
    </ClCompile>
@@ -130,6 +132,7 @@
      <EnableUAC>false</EnableUAC>
      <AdditionalDependencies>xarch.shape.lib;xarch.base.lib;xarch.util.lib;xarch.network.lib;xarch.xframe.lib;xarch.xcontrol.lib;xoffice.xcell.lib;xoffice.xgrid.lib;xoffice.xreport.lib;xoffice.frame.lib;shlwapi.lib;xoffice.xflow.lib;comsuppw.lib;tsclib.lib;jarch.object.lib;%(AdditionalDependencies);$(CoreLibraryDependencies)</AdditionalDependencies>
      <AdditionalLibraryDirectories>D:\xclient64</AdditionalLibraryDirectories>
      <ModuleDefinitionFile>ext-jrj.def</ModuleDefinitionFile>
    </Link>
    <PostBuildEvent>
      <Command>copy $(OutDirFullPath)ext-jrj.dll D:\xclient64\ext\ext-jrj.dll</Command>
@@ -141,11 +144,11 @@
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <SDLCheck>true</SDLCheck>
      <PreprocessorDefinitions>NDEBUG;EXTJRJ_EXPORTS;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;_XWIN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <PreprocessorDefinitions>NDEBUG;EXTJRJ_EXPORTS;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;_XWIN;_XKEYCHECK_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <ConformanceMode>true</ConformanceMode>
      <PrecompiledHeader>NotUsing</PrecompiledHeader>
      <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
      <AdditionalIncludeDirectories>..\xframe;..\xframe\system;..\project;..\jarch</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories>..\xframe;..\xframe\system;..\project;..\jarch;..\jarch.impl;.;..\ext-jrj;..</AdditionalIncludeDirectories>
    </ClCompile>
    <Link>
      <SubSystem>Windows</SubSystem>
@@ -155,15 +158,29 @@
      <EnableUAC>false</EnableUAC>
      <AdditionalLibraryDirectories>D:\xclient64r\sdk\lib</AdditionalLibraryDirectories>
      <AdditionalDependencies>xarch.shape.lib;xarch.base.lib;xarch.util.lib;xarch.network.lib;xarch.xframe.lib;xarch.xcontrol.lib;xoffice.xcell.lib;xoffice.xgrid.lib;xoffice.xreport.lib;xoffice.frame.lib;shlwapi.lib;xoffice.xflow.lib;comsuppw.lib;tsclib.lib;jarch.object.lib;$(CoreLibraryDependencies);%(AdditionalDependencies)</AdditionalDependencies>
      <ModuleDefinitionFile>ext-jrj.def</ModuleDefinitionFile>
    </Link>
    <PostBuildEvent>
      <Command>copy $(OutDirFullPath)ext-jrj.dll D:\xclient64r\ext\ext-jrj.dll</Command>
    </PostBuildEvent>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClInclude Include="..\jarch\factory\JObjectSvr.hpp" />
    <ClInclude Include="..\jarch.impl\JStringImpl.hpp" />
    <ClInclude Include="..\jarch\JByteStream.hpp" />
    <ClInclude Include="..\jarch\JCharStream.hpp" />
    <ClInclude Include="..\jarch\JConnect.hpp" />
    <ClInclude Include="..\jarch\JDataSet.hpp" />
    <ClInclude Include="..\jarch\JDataSource.hpp" />
    <ClInclude Include="..\jarch\JDataStore.hpp" />
    <ClInclude Include="..\jarch\JDouble.hpp" />
    <ClInclude Include="..\jarch\JInt.hpp" />
    <ClInclude Include="..\jarch\JObject.hpp" />
    <ClInclude Include="..\jarch\JObjectSvr.hpp" />
    <ClInclude Include="..\jarch\JSession.hpp" />
    <ClInclude Include="..\jarch\JStream.hpp" />
    <ClInclude Include="..\jarch\JString.hpp" />
    <ClInclude Include="..\jarch\JWin.hpp" />
    <ClInclude Include="..\jarch\JXPage.hpp" />
    <ClInclude Include="..\project\business\SystemSettings\SysUser.hpp" />
    <ClInclude Include="..\project\viewobject\custom.view.hpp" />
    <ClInclude Include="..\project\viewobject\customer.view.hpp" />
@@ -249,9 +266,13 @@
    <ClInclude Include="..\xframe\xcontrol\xshtml.hpp" />
    <ClInclude Include="..\xframe\xcontrol\xtreeview.hpp" />
    <ClInclude Include="framework.h" />
    <ClInclude Include="JFactory.hpp" />
    <ClInclude Include="JFactoryStringImpl.h" />
    <ClInclude Include="JPtr.hpp" />
    <ClInclude Include="pch.h" />
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\jarch.impl\JStringImpl.cpp" />
    <ClCompile Include="..\project\analysis\DataVanalysisWin.cpp" />
    <ClCompile Include="..\project\business\AP\APBank.cpp">
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
@@ -469,7 +490,7 @@
    <ClCompile Include="..\project\business\Customer\XmShare.Custumer.v3.cpp" />
    <ClCompile Include="..\project\business\Enquiry.list.cpp">
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>
    </ClCompile>
    <ClCompile Include="..\project\business\EnquiryEx3.list.cpp" />
    <ClCompile Include="..\project\business\Enquiry\Enquiry.maint.cpp">
@@ -871,16 +892,16 @@
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
    </ClCompile>
    <ClCompile Include="..\project\business\SO\delivery.base.maint.so.cpp">
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>
    </ClCompile>
    <ClCompile Include="..\project\business\SO\maint.Document.SO3.v3.cpp">
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>
    </ClCompile>
    <ClCompile Include="..\project\business\SO\paymentterm.base.maint.so.cpp">
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>
    </ClCompile>
    <ClCompile Include="..\project\business\SO\Product.FetchNo.cpp">
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
@@ -1098,6 +1119,8 @@
    <ClCompile Include="..\xframe\src\nstring.cpp" />
    <ClCompile Include="..\xframe\src\xstring.cpp" />
    <ClCompile Include="dllmain.cpp" />
    <ClCompile Include="JFactoryStringImpl.cpp" />
    <ClCompile Include="JPtr.cpp" />
    <ClCompile Include="pch.cpp">
      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
@@ -1105,6 +1128,9 @@
      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <None Include="ext-jrj.def" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
jrj/jarch.impl/JStringImpl.cpp
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
#include "pch.h"
#include "JStringImpl.hpp"
#include <stdio.h>
JStringImpl::JStringImpl()
{
    printf("hit here");
}
JStringImpl::~JStringImpl()
{
}
void JStringImpl::Release()
{
    if (this)delete this;
}
jrj/jarch.impl/JStringImpl.hpp
ÎļþÃû´Ó jrj/jarch/JStringImpl.hpp ÐÞ¸Ä
@@ -4,6 +4,9 @@
    public JString
{
public:
    JStringImpl();
    ~JStringImpl();
public:
    void Release();
};
jrj/jarch/JObjectSvr.hpp
ÎļþÃû´Ó jrj/jarch/factory/JObjectSvr.hpp ÐÞ¸Ä
@@ -1,7 +1,5 @@
#pragma once
#include "jobject.hpp"
#include <tchar.h>
#include <wtypes.h>
#ifdef JARCHOBJECT_EXPORTS
#define JOBJECT_API __declspec(dllexport)
@@ -18,9 +16,9 @@
    static JObjectSvr* get();
public:
    template<class Ty>
    static Ty* CreateInstance(LPWSTR pStrObject)
    static Ty* CreateInstance(LPCWSTR pStrObject)
    {
        return (Ty*)get()->CreateInstance(nullptr,pStrObject);
        return (Ty*)get()->CreateInstance(nullptr,(LPWSTR)pStrObject);
    }
    JObject* CreateInstance(LPWSTR pStrUri, LPWSTR pStrObject);
    void RegisterObjectsByXmlFile(LPWSTR pStrFile);
jrj/jarch/JStringImpl.cpp
ÎļþÒÑɾ³ý
jrj/project/business/SO/delivery.base.maint.so.cpp
@@ -1,4 +1,4 @@
#include <wobject/xstring.hpp>
#include <wobject/xstring.hpp>
#include <xcontrol/xtreeview.hpp>
#include <xcontrol/xdwgrid.hpp>
#include <xcontrol/xcell.hpp>
@@ -12,8 +12,6 @@
    {
    public:
        xdwtable    dw_1;
        xvcontrol vc;
        xcell    dw_cell;
    public:
@@ -27,7 +25,7 @@
        xstring OnCreateTxt()
        {
            //dw_1.AcceptText(); //不能加会报错
            //dw_1.AcceptText(); //不能加会报错
            xstring sType;
            xstring sDeliveryRule;
            xstring sDeliveryDays;
@@ -73,8 +71,11 @@
        int OnOk()
        {
            xml x;
            dw_1.AcceptText();
            dw_1.DwUpdateAllTo(x);
            GetArg().SetArg(L"content", x.xml());
            GetArg().SetArg(L"process",L"ok");
            CloseWindow();
            return 1;
@@ -88,7 +89,7 @@
            if (colname == L"DeliveryRule")
            {
                xstring sP = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='保护' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial=''><edit edittype=''/></cellprop>";
                xstring sP = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='保护' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial=''><edit edittype=''/></cellprop>";
                xstring sUp = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial=''><edit edittype=''/></cellprop>";
                if (value == L"1" || value == L"2" || value == L"3")
@@ -110,7 +111,7 @@
            }
            //生成交货期
            //生成交货期
            if (colname == L"DeliveryRule" || colname == L"DeliveryDays" || colname == L"ScheduleShipDate")
            {
                xstring sTxt = OnCreateTxt();
@@ -144,6 +145,7 @@
        int OnInit()
        {
            /*
            int iArgs = GetArg();
            XXmlContentSvr xdoc = new XXmlContentSvr;
@@ -153,16 +155,14 @@
            vbind bind = new vbind;
            bind.bind(dw_1, vc);
            */
            xml x;
            x ;
            x.loadXML(vc.GetContent());
            xstring xs = GetArg().GetArgString(L"content");
            x.loadXML(xs.c_str());
            dw_1.Retrieve(x);
            xstring sDeliveryRule = dw_1.GetItemString(1, L"DeliveryRule");
            xstring sP = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='保护' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial=''><edit edittype=''/></cellprop>";
            xstring sP = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='保护' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial=''><edit edittype=''/></cellprop>";
            if (sDeliveryRule != L"1" && sDeliveryRule != L"2" && sDeliveryRule != L"3")
                dw_cell.SetCellProps(3, 3, sP);
            if (sDeliveryRule != L"5")
jrj/project/business/SO/paymentterm.base.maint.so.cpp
@@ -1,4 +1,4 @@
#include <wobject/xstring.hpp>
#include <wobject/xstring.hpp>
#include <xcontrol/xtreeview.hpp>
#include <xcontrol/xdwgrid.hpp>
#include <xcontrol/xcell.hpp>
@@ -16,8 +16,6 @@
        xdwtable    dw_p;
        xcell dw_cell;
        vcontrol vc;
        xstring sCryno;
    public:
@@ -187,6 +185,11 @@
            xstring sTxt = OnCreateTxt();
            dw_1.SetItemString(1, L"PaymentTermEx", sTxt);
            xml x;
            dw_1.DwUpdateAllTo(x);
            GetArg().SetArg(L"content", x.xml());
            GetArg().SetArg(L"process", L"ok");
            CloseWindow();
            return 1;
@@ -347,8 +350,8 @@
        int OnInit()
        {
            xaserver Args = GetArg();
            xaserverarg Args = GetArg();
            /*
            XXmlContentSvr xdoc = new XXmlContentSvr;
            xdoc.setNativePointer(Args);
            vc = new vcontrol;
@@ -356,13 +359,13 @@
            vbind bind = new vbind;
            bind.bind(dw_1, vc);
            xml x;
            x.loadXML(vc.GetContent());
            */
            //alert(x.GetXml());
            xml x;
            xstring xs = GetArg().GetArgString(L"content");
            x.loadXML(xs.c_str());
            dw_1.Retrieve(x);
            //if (x.GetXmlDoc().documentElement.selectSingleNode(L"CurrencyCode"))
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;
@@ -939,8 +961,14 @@
        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);