From b8e6a7bb37d04f1e974e231a5caffc1854cf7f41 Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期四, 27 六月 2024 09:37:26 +0800
Subject: [PATCH] this update tree data item
---
jrj/xframe/src/xstring.cpp | 6
jrj/xframe/vbusiness/vutil/publiccode.vutil.vbusiness.hpp | 4
jrj/xframe/kobject/kcell.hpp | 98 +
jrj/project/business/GDN3.list.cpp | 32
jrj/project/viewobject/gdn3.view.hpp | 36
jrj/project/business/Quote3.maint.cpp | 0
jrj/project/vindexform.cpp | 3
jrj/project/business/quote.enquiry.cpp | 5058 ++++++++++++++++++++++++++++++++++++++++++++++++++++
jrj/project/viewobject/view.base.hpp | 10
jrj/project/business/Enquiry.list.cpp | 16
jrj/ext-jrj/ext-jrj.vcxproj.user | 5
jrj/xframe/wobject/xstring.hpp | 3
jrj/project/business/EnquiryEx3.list.cpp | 0
jrj/xframe/xcontrol/xtreeview.hpp | 10
jrj/project/business/Supplier.maint.cpp | 0
jrj/project/business/Customer3.maint.cpp | 2
jrj/project/business/SO3.list.cpp | 6
jrj/xframe/xcontrol/xdwgrid.hpp | 4
jrj/ext-jrj/ext-jrj.vcxproj | 25
jrj/project/viewobject/custom.view.hpp | 63
jrj/project/business/GDN3.maint.cpp | 141
jrj/xframe/xcontrol/xcell.hpp | 294 +++
22 files changed, 5,700 insertions(+), 116 deletions(-)
diff --git a/jrj/ext-jrj/ext-jrj.vcxproj b/jrj/ext-jrj/ext-jrj.vcxproj
index 8f596a0..9535065 100644
--- a/jrj/ext-jrj/ext-jrj.vcxproj
+++ b/jrj/ext-jrj/ext-jrj.vcxproj
@@ -74,6 +74,10 @@
<OutDir>$(SolutionDir)..\..\..\mis-prj-build\jrj\$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)..\..\..\mis-prj-build\jrj-temp\$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <OutDir>$(SolutionDir)..\..\..\mis-prj-build\jrj\$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>$(SolutionDir)..\..\..\mis-prj-build\jrj-temp\$(Platform)\$(Configuration)\</IntDir>
+ </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
@@ -135,10 +139,11 @@
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
- <PreprocessorDefinitions>NDEBUG;EXTJRJ_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>NDEBUG;EXTJRJ_EXPORTS;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
- <PrecompiledHeader>Use</PrecompiledHeader>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+ <AdditionalIncludeDirectories>..\xframe;..\xframe\system;..\project</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@@ -146,11 +151,18 @@
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
+ <AdditionalLibraryDirectories>D:\xclient64r</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;$(CoreLibraryDependencies);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
+ <PostBuildEvent>
+ <Command>copy $(OutDirFullPath)ext-jrj.dll D:\xclient64r\ext\ext-jrj.dll</Command>
+ </PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
+ <ClInclude Include="..\project\viewobject\custom.view.hpp" />
<ClInclude Include="..\project\viewobject\customer.view.hpp" />
<ClInclude Include="..\project\viewobject\enquiry.view.hpp" />
+ <ClInclude Include="..\project\viewobject\gdn3.view.hpp" />
<ClInclude Include="..\project\viewobject\productlibrary.view.hpp" />
<ClInclude Include="..\project\viewobject\purchaseorder.view.hpp" />
<ClInclude Include="..\project\viewobject\quote.view.hpp" />
@@ -160,6 +172,7 @@
<ClInclude Include="..\xframe\kobject\kapp.hpp" />
<ClInclude Include="..\xframe\kobject\kbase.hpp" />
<ClInclude Include="..\xframe\kobject\kcachemgr.hpp" />
+ <ClInclude Include="..\xframe\kobject\kcell.hpp" />
<ClInclude Include="..\xframe\kobject\kcontrol.hpp" />
<ClInclude Include="..\xframe\kobject\kdwgrid.hpp" />
<ClInclude Include="..\xframe\kobject\kdwpages.hpp" />
@@ -202,6 +215,7 @@
<ClInclude Include="..\xframe\wobject\xutil.hpp" />
<ClInclude Include="..\xframe\wobject\xview.hpp" />
<ClInclude Include="..\xframe\wobject\xwin.hpp" />
+ <ClInclude Include="..\xframe\xcontrol\xcell.hpp" />
<ClInclude Include="..\xframe\xcontrol\xcombobox.hpp" />
<ClInclude Include="..\xframe\xcontrol\xdwgrid.hpp" />
<ClInclude Include="..\xframe\xcontrol\xdwpages.hpp" />
@@ -222,20 +236,23 @@
</ClCompile>
<ClCompile Include="..\project\business\Enquiry.list.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\project\business\EnquiryEx3.list.cpp" />
<ClCompile Include="..\project\business\GDN3.list.cpp">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\project\business\GDN3.maint.cpp">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\project\business\Product.list.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\project\business\Product.maint.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
+ <ClCompile Include="..\project\business\quote.enquiry.cpp" />
<ClCompile Include="..\project\business\Quote3.list3.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
</ClCompile>
diff --git a/jrj/ext-jrj/ext-jrj.vcxproj.user b/jrj/ext-jrj/ext-jrj.vcxproj.user
index 1e8d464..08c2241 100644
--- a/jrj/ext-jrj/ext-jrj.vcxproj.user
+++ b/jrj/ext-jrj/ext-jrj.vcxproj.user
@@ -5,4 +5,9 @@
<LocalDebuggerWorkingDirectory>d:\xclient64</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LocalDebuggerCommand>d:\xclient64r\xexplorer.exe</LocalDebuggerCommand>
+ <LocalDebuggerWorkingDirectory>d:\xclient64r</LocalDebuggerWorkingDirectory>
+ <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+ </PropertyGroup>
</Project>
\ No newline at end of file
diff --git a/jrj/project/business/Customer3.maint.cpp b/jrj/project/business/Customer3.maint.cpp
index b18b5c3..e04e1d2 100644
--- a/jrj/project/business/Customer3.maint.cpp
+++ b/jrj/project/business/Customer3.maint.cpp
@@ -290,7 +290,7 @@
{
xdwtable dw_PartyContact1;
dw_PartyContact1 =dw_detail.FindDwTable(L"PC_OtherInfo");
- xml xx = new xml;
+ xml x
xx.setNativePointer(xml ::CreateInstance());
xaserverarg argnew = new xaserverarg;
argnew.setNativePointer(argnew.CreateInstance());
diff --git a/jrj/project/business/Enquiry.list.cpp b/jrj/project/business/Enquiry.list.cpp
index 3754c3e..f46437b 100644
--- a/jrj/project/business/Enquiry.list.cpp
+++ b/jrj/project/business/Enquiry.list.cpp
@@ -605,7 +605,7 @@
if(arg.GetArgString(L"process") == L"ok")
{
- xml x = new xml;
+ xml
x.setNativePointer(xml::CreateInstance());
if (getUrl(L"/sale/data/Enquiry/PriceListEx/SKU",arg.GetString(),x)!=1) return 1;
KXMLDOMNodeList nodes = x.selectNodes(L"data/Item");
@@ -653,7 +653,7 @@
dw_priceitem.Reset();
xaserverarg arg = xaserverarg::Make();
- xml x = new xml;
+ xml
x.setNativePointer(xml::CreateInstance());
arg.AddArg(L"SKUID",dw_pricelist.GetItemString(row,L"SKUID"));
arg.AddArg(L"SchemaNo",dw_pricelist.GetItemString(row,L"BOMSchema"));
@@ -932,7 +932,7 @@
OpenWindow(L"dev:xpage[PriceList.PurcharItemSelectEx.vx]",cast(arg as int));
if(arg.GetArgString(L"process") == L"ok")
{
- xml x = new xml;
+ xml
x.setNativePointer(xml::CreateInstance());
x.LoadXml(arg.GetArgString(L"result"));
KXMLDOMNodeList nodes = x.selectNodes(L"data/Item");
@@ -988,7 +988,7 @@
OpenWindow(L"dev:xpage[PriceList.PurcharItemSelectEx.vx]",cast(arg as int));
if(arg.GetArgString(L"process") == L"ok")
{
- xml x = new xml;
+ xml
x.setNativePointer(xml::CreateInstance());
x.LoadXml(arg.GetArgString(L"result"));
KXMLDOMNodeList nodes = x.selectNodes(L"data/Item");
@@ -1475,7 +1475,7 @@
int OnRetrieveItem(xstring EnquiryPriceListID)
{
- xml x = new xml;
+ xml
x.setNativePointer(xml::CreateInstance());
xaserverarg arg = new xaserverarg;
arg.setNativePointer(arg.CreateInstance());
@@ -1499,7 +1499,7 @@
KXMLDOMElement e1 = cast(tv_folder_pricebill.GetItemData(hItem) as KXMLDOMElement);
xstring no = e1.getAttribute(L"no");
- xml x = new xml;
+ xml
x.setNativePointer(xml::CreateInstance());
xaserverarg arg = new xaserverarg;
arg.setNativePointer(arg.CreateInstance());
@@ -1529,7 +1529,7 @@
KXMLDOMElement e1 = cast(tv_folder_pricebill.GetItemData(hItem) as KXMLDOMElement);
xstring no = e1.getAttribute(L"no");
- xml x = new xml;
+ xml
x.setNativePointer(xml::CreateInstance());
xaserverarg arg = new xaserverarg;
arg.setNativePointer(arg.CreateInstance());
@@ -1550,7 +1550,7 @@
int OnProductPriceShareRetrieve()
{
- xml x = new xml;
+ xml
x.setNativePointer(xml::CreateInstance());
xaserverarg arg = new xaserverarg;
arg.setNativePointer(arg.CreateInstance());
diff --git a/jrj/project/business/EnquiryEx3.list.cpp b/jrj/project/business/EnquiryEx3.list.cpp
index ae103dc..4f8c971 100644
--- a/jrj/project/business/EnquiryEx3.list.cpp
+++ b/jrj/project/business/EnquiryEx3.list.cpp
Binary files differ
diff --git a/jrj/project/business/GDN3.list.cpp b/jrj/project/business/GDN3.list.cpp
index 0ae84fd..cef6bc4 100644
--- a/jrj/project/business/GDN3.list.cpp
+++ b/jrj/project/business/GDN3.list.cpp
@@ -5,14 +5,14 @@
#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
#include "viewobject/view.base.hpp"
-class __declspec(dllexport) GDN3list : public listwin
+class __declspec(dllexport) ListGDN3Win : public listwin
{
public:
- GDN3list(void* implPtr, HWND hWnd) :listwin(implPtr, hWnd) {}
+ ListGDN3Win(void* implPtr, HWND hWnd) :listwin(implPtr, hWnd) {}
public:
- static GDN3list* CreateInstance(void* implPtr, void* hWnd)
+ static ListGDN3Win* CreateInstance(void* implPtr, void* hWnd)
{
- GDN3list* pWin = new GDN3list(implPtr, (HWND)hWnd);
+ ListGDN3Win* pWin = new ListGDN3Win(implPtr, (HWND)hWnd);
return pWin;
}
@@ -100,7 +100,6 @@
HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, 35);
ExpandCatChildFolder(h, e, 35);
}
- x.Free();
return 1;
}
@@ -201,10 +200,10 @@
if (readed) return 1;
HTREEITEM hItem = tv_folder.GetSelectedItem();
- if (hItem <= 0)
+ if (!hItem)
{
hItem = tv_folder.GetRootItem();
- if (hItem <= 0) return 1;
+ if (!hItem) return 1;
}
HCURSOR hCursor = xutil::SetCursorWait();
KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
@@ -212,7 +211,7 @@
//xml x = 0;
//x = ViewObject::RetrieveData(myDataUrl,L"no",no,L"QueryTxt", m_QueryTxt,L"rows",rows);
xstring DeptName = publiccode::GetUser().deptname;
- xaserverarg arg = xaserverarg::Make();
+ xaserverarg arg ;
arg.AddArg(L"no", no);
arg.AddArg(L"QueryTxt", m_QueryTxt);
arg.AddArg(L"rows", rows);
@@ -224,7 +223,6 @@
dw_list.DwRetrieve(GetServerUrl(),L"[list.folder.gdn.sql.xq]",arg.GetString());
}*/
dw_list.DwRetrieve(GetServerUrl(), L"[list.folder.gdn.sql.xq]", arg.GetString());
- arg.Free();
dw_list.SetReadOnly(true);
dw_list.SetRowSort(L"ETD", false);
@@ -238,7 +236,7 @@
int OnPreRetrieve()
{
HTREEITEM hItem = tv_folder.GetSelectedItem();
- if (hItem <= 0) return 1;
+ if (!hItem) return 1;
HCURSOR hCursor = xutil::SetCursorWait();
@@ -254,7 +252,7 @@
}
else
{
- dw_list.ResetEx();
+ dw_list.Reset();
dw_list.Redraw();
}
dw_list.SetReadOnly(true);
@@ -592,11 +590,11 @@
int PostOnAttachEvent()
{
- AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&GDN3list::OnTreeSelChanged); //树选择
- //AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING",(FEvent)&GDN3list::OnTreeExpanding); //树展开
- AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&GDN3list::OnRowChanged);
- AttachEvent(L"cbx_1", L"CBN_SELCHANGE", (FEvent)&GDN3list::OnSelectDdlb);
- AttachEvent(L"cbx_datashow", L"CBN_SELCHANGE", (FEvent)&GDN3list::OnSelectDataShowDdlb);
+ AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&ListGDN3Win::OnTreeSelChanged); //树选择
+ //AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING",(FEvent)&ListGDN3Win::OnTreeExpanding); //树展开
+ AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&ListGDN3Win::OnRowChanged);
+ AttachEvent(L"cbx_1", L"CBN_SELCHANGE", (FEvent)&ListGDN3Win::OnSelectDdlb);
+ AttachEvent(L"cbx_datashow", L"CBN_SELCHANGE", (FEvent)&ListGDN3Win::OnSelectDataShowDdlb);
return 1;
}
@@ -707,7 +705,7 @@
}
HTREEITEM hItem = tv_folder.GetCaretItem();
- if (hItem <= 0) return 1;
+ if (!hItem) return 1;
KXMLDOMElement e = tv_folder.GetItemData(hItem);
xstring no = e.getAttribute(L"no");
if (no.find(L"Customer:") >= 0)
diff --git a/jrj/project/business/GDN3.maint.cpp b/jrj/project/business/GDN3.maint.cpp
index 60c633d..72aebdf 100644
--- a/jrj/project/business/GDN3.maint.cpp
+++ b/jrj/project/business/GDN3.maint.cpp
@@ -8,6 +8,8 @@
#include "viewobject/view.base.hpp"
#include "viewobject/saleorder.view.hpp"
#include "viewobject/quote.view.hpp"
+#include "viewobject/gdn3.view.hpp"
+#include "viewobject/custom.view.hpp"
class __declspec(dllexport) GDN3MaintWin : public maint
{
@@ -106,7 +108,7 @@
}
}
tools += L"</vbox>";
- SetAgentNodeContent(anode, tools);
+ SetAgentNode(anode, tools);
return 1;
}
@@ -516,7 +518,7 @@
KXMLDOMDocument xbasedoc = xbase;
dw_base.DwUpdateAllTo(xbasedoc);
- xaserverarg arg = GDNView::MakeArg();
+ xaserverarg arg ;
//if(dw_billnote.DeletedCount()+dw_billnote.ModifiedCount() > 0)
//{
xml xbillnote ;
@@ -549,7 +551,7 @@
KXMLDOMDocument xprofitdoc = xprofit;
dw_profit.DwUpdateAllTo(xprofitdoc);
- xaserverarg arg3 = GDNView::MakeArg();
+ xaserverarg arg3 ;
arg3.AddArg(L"content", xprofit.xml());
if (xurl::get(L"/sale/data/Gdn/update/profit", arg3.GetString(), xprofit) != 1)
{
@@ -582,7 +584,7 @@
KXMLDOMDocument xitemdoc = xitem;
dw_item.DwUpdateAllToEx(xitemdoc);
//dw_base.DwUpdateAllTo(xitemdoc);
- xaserverarg arg1 = GDNView::MakeArg();
+ xaserverarg arg1 ;
arg1.AddArg(L"content", xitem.xml());
if (xurl::get(L"/sale/data/Gdn/update/item", arg1.GetString(), xitem) != 1)
@@ -604,7 +606,7 @@
xml x;
dw_source.DwUpdateAllToEx(x);
- xaserverarg arg2 = GDNView::MakeArg();
+ xaserverarg arg2 ;
arg2.AddArg(L"content", x.xml());
if (xurl::get(L"/sale/data/Gdn/update/sourceex", arg2.GetString(), x) != 1)
@@ -627,7 +629,7 @@
{
if (dw_custom.GetItemString(k, L"LineNo") == L"")
{
- dw_custom.SetItemString(k, L"LineNo", k.toString());
+ dw_custom.SetItemString(k, L"LineNo", xstring(k));
}
}
xml xcustom;
@@ -657,7 +659,7 @@
xml x1 ;
dw_invoiceItem.DwUpdateAllToEx(x1);
- xaserverarg arg4 = GDNView::MakeArg();
+ xaserverarg arg4;
arg4.AddArg(L"content", x1.xml());
if (xurl::get(L"/sale/data/Gdn/update/itemex", arg4.GetString(), x1) != 1)
if (!x1)
@@ -677,7 +679,7 @@
xml xfcl ;
dw_fcl.DwUpdateAllToEx(xfcl);
- xaserverarg arg8 = GDNView::MakeArg();
+ xaserverarg arg8 ;
arg8.AddArg(L"content", xfcl.xml());
if (xurl::get(L"/sale/data/Gdn/update/container", arg8.GetString(), xfcl) != 1)
@@ -700,7 +702,7 @@
dw_cdelement.DwUpdateAllToEx(xcdelement);
if (xcdelement.xml() != L"")
{
- xcdelement = CustomView::UpdateCustomElement(dw_base.GetItemString(1, L"InvoiceNo"), xcdelement.GetXml());
+ xcdelement = CustomView::UpdateCustomElement(dw_base.GetItemString(1, L"InvoiceNo"), xcdelement.xml());
if (!xcdelement)
{
xstring error6 = xcdelement.text();
@@ -998,7 +1000,7 @@
xstring GDNLineID = dw_item.GetGuid(nRow);
if (clear) ClearSourcingItem(nRow);
double ExchangeCostEx = dw_profit.GetItemDouble(1, L"ExchangeCostEx");
- xml x = xml::Make();
+ xml x ;
x.loadXML(L"<data/>");
KXMLDOMElement e = dw_item.GetRowElement(nRow);
KXMLDOMNode n = e.cloneNode(-1);
@@ -1006,7 +1008,6 @@
n.Release();
xstring val = x.xml();
trace(L"=======L" + val + L"=======L");
- x.Free();
xml source = ViewObject::RetrieveData(L"/sale/data/PurchaseOrder/gdn/sourcing/refreshitemex", L"content", val);
if (source)
@@ -1077,7 +1078,7 @@
xstring GDNLineID = dw_item.GetGuid(nRow);
if (clear) ClearSourcingItem(nRow);
double ExchangeCostEx = dw_profit.GetItemDouble(1, L"ExchangeCostEx");
- xml x = xml::Make();
+ xml x ;
x.loadXML(L"<data/>");
KXMLDOMElement e = dw_item.GetRowElement(nRow);
KXMLDOMNode n = e.cloneNode(-1);
@@ -1085,7 +1086,6 @@
n.Release();
xstring val = x.xml();
trace(L"123=======L" + val + L"=======123");
- x.Free();
xml source = ViewObject::RetrieveData(L"/sale/data/PurchaseOrder/gdn/sourcing/refreshitemexOne", L"content", val);
if (source)
@@ -1162,7 +1162,7 @@
dw_item.DwUpdateAllToEx(xitemdoc);
- xml x = ViewObject::RetrieveData(L"/sale/data/PurchaseOrder/gdn/sourcing/refreshitemexOne", L"content", xitem.GetXml());
+ xml x = ViewObject::RetrieveData(L"/sale/data/PurchaseOrder/gdn/sourcing/refreshitemexOne", L"content", xitem.xml());
trace(x.xml());
if (x)
{
@@ -1216,7 +1216,6 @@
PoTotal();
- x.Free();
evalProfitAmountEx();
}
@@ -1613,7 +1612,7 @@
{
if (data == L"")
{
- dw_item.SetItemDisplayString(row, col, L"");
+ dw_item.SetItemDisplayString(row, col.c_str(), L"");
dw_item.SetItemString(row, L"CDUnitPrice", L"");
dw_item.SetItemDisplayString(row, L"CDUnitPrice", L"");
}
@@ -1883,7 +1882,7 @@
{
xaserverarg arg ;
- xstring str = dw_billnote.GetItemString(row, colname);
+ xstring str = dw_billnote.GetItemString(row, colname.c_str());
arg.AddArg(L"value", str);
openUrl(L"/sale/view/view.dlg/xpage/memo/edit/new", &arg);
@@ -1891,7 +1890,7 @@
if (comdid == L"xmOK")
{
xstring value = arg.GetArgString(L"value");
- dw_billnote.SetItemString(row, colname, value);
+ dw_billnote.SetItemString(row, colname.c_str(), value);
dw_billnote.Redraw();
}
}
@@ -2020,7 +2019,7 @@
int OnMakeCustom()
{
- int HCursor = xutil::SetCursorWait();
+ HCURSOR HCursor = xutil::SetCursorWait();
dw_custom.AcceptText();
int cnt = dw_custom.GetRowCount();
bool cdelement = false;
@@ -2238,8 +2237,8 @@
{
if (dw_custom.GetItemString(m, L"UseFlag") == L"0")
{
- if (dw_custom.GetItemString(i, L"ClassifyID") != L"")
- DeleteCDElement(dw_custom.GetItemString(i, L"ClassifyID"));
+ if (dw_custom.GetItemString(m, L"ClassifyID") != L"")
+ DeleteCDElement(dw_custom.GetItemString(m, L"ClassifyID"));
dw_custom.DeleteRow(m);
}
}
@@ -2502,7 +2501,7 @@
int OnAddSourcingItem()
{
- xaserverarg arg = GDNView::MakeArg();
+ xaserverarg arg ;
arg.AddArg(L"InvoiceNo", dw_base.GetItemString(1, L"InvoiceNo"));
int p = arg;
OpenWindow(L"dev:xpage[select.item.po.vx]", p);
@@ -2602,7 +2601,7 @@
KXMLDOMNode t = items.item(i);
dw_item.SetItemString(row, L"SeqNo", xstring((row * 10)));
dw_item.SetItemString(row, L"GDNID", dw_base.GetGuid(1));
- double cost = (double) t.selectSingleNode(L"Cost").text().todouble();
+ double cost = xstring(t.selectSingleNode(L"Cost").text()).toDouble();
if (t.selectSingleNode(L"SONo"))
@@ -2717,7 +2716,7 @@
double d1 = dw_item.GetItemDouble(row, L"Quantity");
double d2 = dw_item.GetItemDouble(row, L"UnitPrice");
double d = d1 * d2;
- d = d.round(2);
+ d = xdouble(d).round(2);
dw_item.SetItemDouble(row, L"Amount", d);
double UnitCommPrice = dw_item.GetItemDouble(row, L"UnitCommPrice");
@@ -2740,7 +2739,7 @@
dw_base.SetItemString(1, L"Mark", FrontMarkss);
double CostEx = dw_base.GetItemDouble(1, L"Cost");
- if (CostEx == 0 || CostEx == L"")
+ if (CostEx == 0)
{
if (costs >= 0) {
dw_base.SetItemString(1, L"CostMoreLess", L"1");
@@ -2766,14 +2765,14 @@
int OnAddGDNItem()
{
//trace(L"12313");
- xaserverarg arg = GDNView::MakeArg();
+ xaserverarg arg ;
arg.AddArg(L"CustomerID", dw_base.GetItemString(1, L"CustomerID"));
arg.AddArg(L"InvoiceNo", dw_base.GetItemString(1, L"InvoiceNo"));
arg.AddArg(L"SONo", dw_base.GetItemString(1, L""));
int p = arg;
if (dw_base.GetItemString(1, L"CustomerID") == L"")
{
- OpenWindow(L"dev:xpage[SelectItem.New.GDN.vx]", cast(arg as int));
+ OpenWindow(L"dev:xpage[SelectItem.New.GDN.vx]", arg);
if (dw_base.GetItemString(1, L"CustomerID") == L"")
{
dw_base.SetItemDisplayString(1, L"CustomerID", arg.GetArgString(L"PartyName"));
@@ -3206,13 +3205,13 @@
}
else if (comdid == L"xmMaintBuyPrice")
{
- xaserverarg arg = GDNView::MakeArg();
+ xaserverarg arg ;
int row = dw_source.GetRow();
if (row < 1) return 1;
arg.AddArg(L"SupplierID", dw_source.GetItemString(row, L"SupplierID"));
arg.AddArg(L"SupplierName", dw_source.GetItemDisplayString(row, L"SupplierID"));
arg.AddArg(L"Price", dw_source.GetItemString(row, L"BuyUnitPrice"));
- OpenWindow(L"dev:xpage[GDNSourcePriceMaint.vx]", cast(arg as int));
+ OpenWindow(L"dev:xpage[GDNSourcePriceMaint.vx]", arg);
if (arg.GetArgString(L"result") == L"ok")
{
if (arg.GetArgString(L"SupplierID") != L"")
@@ -3352,13 +3351,13 @@
KXMLDOMNode n = o.selectSingleNode(L"VATRates");
if (n)
{
- tax = n.text.toDouble();
+ tax = xstring(n.text()).toDouble();
n.Release();
}
n = o.selectSingleNode(L"VATRefundRate");
if (n)
{
- retax = n.text.toDouble();
+ retax = xstring(n.text()).toDouble();
n.Release();
}
o.Release();
@@ -3430,7 +3429,6 @@
double rate = expRate.toDouble();
ManagementFee = sale * rate;
}
- trace(ManagementFee.toString());
dw_profit.SetItemDouble(1, L"ManagementFee", ManagementFee);
return 1;
}
@@ -3644,6 +3642,7 @@
evalDrawbackEx();
evalTotalCost();
evalProfitAmountEx();
+ return 1;
}
int OnItemAskStyle(TEvent* evt, LPARAM p)
@@ -3695,14 +3694,14 @@
AttachEvent(L"dw_item", L"DWV_ASKSTYLE", (FEvent)&GDN3MaintWin::OnItemAskStyle);
AttachCloseWindow();
-
+ return 1;
}
int RetrieveUseBuffer(xstring invno)
{
xml x;
- x = new xml;
+
xaserverarg arg;
@@ -3738,15 +3737,13 @@
if (dw_billnote.GetRowCount() < 1)
{
xml x0;
- x0 = new xml;
- x0.setNativePointer(xml::CreateInstance());
- xstring billnote = L"<GDN><DocInfo><data><Item Name='报关发票' Field='Remark'></Item>" +
- "<Item Name='报关箱单' Field='Remark'></Item>" +
- "<Item Name='议付发票' Field='Remark'></Item>" +
- "<Item Name='议付箱单' Field='Remark'></Item>" +
- "<Item Name='装船通知' Field='Remark'></Item>" +
- "<Item Name='加拿大海关发票' Field='Remark'></Item>" +
- "<Item Name='FORMA' Field='Remark'></Item></data></DocInfo></GDN>";
+ xstring billnote = L"<GDN><DocInfo><data><Item Name='报关发票' Field='Remark'></Item>"
+ L"<Item Name='报关箱单' Field='Remark'></Item>"
+ L"<Item Name='议付发票' Field='Remark'></Item>"
+ L"<Item Name='议付箱单' Field='Remark'></Item>"
+ L"<Item Name='装船通知' Field='Remark'></Item>"
+ L"<Item Name='加拿大海关发票' Field='Remark'></Item>"
+ L"<Item Name='FORMA' Field='Remark'></Item></data></DocInfo></GDN>";
x0.loadXML(billnote);
dw_billnote.Retrieve(x0);
}
@@ -3764,10 +3761,9 @@
dw_item.SetSelectionMode(1);
if (dw_item.GetRowCount() < 1)
{
- xml x2 = xml::Make();
+ xml x2 ;
x2.loadXML(L"<GDN/>");
dw_item.Retrieve(x2);
- x2.Free();
}
/*
@@ -3786,7 +3782,6 @@
ele = node;
//node.release();
dw_invoiceItem.Retrieve(ele);
- ele.release();
}
//alert(L"123"+InvoiceID);
//dw_source.DwRetrieve(GetServerUrl(),L"[source.gdn.sql.xq]", L"EntityID", InvoiceID);
@@ -3798,7 +3793,6 @@
ele = node;
//node.release();
dw_source.Retrieve(ele);
- ele.release();
}
dw_custom.DwRetrieve(GetServerUrl(), L"[cdline.gdn.sql.xq]", L"EntityID", InvoiceID);
dw_custom.SetSelectionMode(1);
@@ -3819,7 +3813,6 @@
//node.release();
dw_cdelement.Retrieve(ele);
dw_cdelement.SetSelectionMode(1);
- ele.release();
}
node = xdoc.selectSingleNode(L"data/Item[@subject='Container' or @subject='container']/*");
@@ -3828,7 +3821,6 @@
ele = node;
//node.release();
dw_fcl.Retrieve(ele);
- ele.release();
}
return 1;
@@ -3837,7 +3829,7 @@
int OnRefreshSource(xstring invno)
{
xml x;
- x = new xml;
+
xaserverarg arg ;
@@ -3858,7 +3850,7 @@
//return RetrieveUseBuffer(invno);
xml x;
- x = new xml;
+
xaserverarg arg ;
@@ -3882,13 +3874,13 @@
dw_billnote.Retrieve(x);
if (dw_billnote.GetRowCount() < 1)
{
- xstring billnote = L"<GDN><DocInfo><data><Item Name='报关发票' Field='Remark'></Item>" +
- "<Item Name='报关箱单' Field='Remark'></Item>" +
- "<Item Name='议付发票' Field='Remark'></Item>" +
- "<Item Name='议付箱单' Field='Remark'></Item>" +
- "<Item Name='装船通知' Field='Remark'></Item>" +
- "<Item Name='加拿大海关发票' Field='Remark'></Item>") +
- "<Item Name='FORMA' Field='Remark'></Item></data></DocInfo></GDN>");
+ xstring billnote = L"<GDN><DocInfo><data><Item Name='报关发票' Field='Remark'></Item>"
+ "<Item Name='报关箱单' Field='Remark'></Item>"
+ "<Item Name='议付发票' Field='Remark'></Item>"
+ "<Item Name='议付箱单' Field='Remark'></Item>"
+ "<Item Name='装船通知' Field='Remark'></Item>"
+ "<Item Name='加拿大海关发票' Field='Remark'></Item>"
+ "<Item Name='FORMA' Field='Remark'></Item></data></DocInfo></GDN>";
x.loadXML(billnote);
dw_billnote.Retrieve(x);
}
@@ -3972,8 +3964,8 @@
xstring GetInvoiceID(xstring InvoiceNo)
{
- xml x = xml::Make();
- xaserverarg arg = xaserverarg::Make();
+ xml x ;
+ xaserverarg arg ;
arg.AddArg(L"InvoiceNo", InvoiceNo);
xaserver::ExecXQuery(GetServerUrl(), L"[gdnid.gdn.xq]", arg.GetString(), x);
xstring InvoiceID1 = L"";
@@ -3981,8 +3973,6 @@
{
InvoiceID1 = x.text();
}
- arg.Free();
- x.Free();
return InvoiceID1;
}
@@ -4013,16 +4003,17 @@
dw_base.SetGuid(1, id);
dw_profit.SetGuid(1, id);
- xml x = ViewObject::MakeXml();
- xstring billnote = L"<GDN><DocInfo><data><Item Name='报关发票' Field='Remark'></Item>" +
- "<Item Name='报关箱单' Field='Remark'></Item>" +
- "<Item Name='议付发票' Field='Remark'></Item>" +
- "<Item Name='议付箱单' Field='Remark'></Item>" +
- "<Item Name='装船通知' Field='Remark'></Item>" +
- "<Item Name='加拿大海关发票' Field='Remark'></Item>" +
+ xml x;
+ xstring billnote = L"<GDN><DocInfo><data><Item Name='报关发票' Field='Remark'></Item>"
+ "<Item Name='报关箱单' Field='Remark'></Item>"
+ "<Item Name='议付发票' Field='Remark'></Item>"
+ "<Item Name='议付箱单' Field='Remark'></Item>"
+ "<Item Name='装船通知' Field='Remark'></Item>"
+ "<Item Name='加拿大海关发票' Field='Remark'></Item>"
"<Item Name='FORMA' Field='Remark'></Item></data></DocInfo></GDN>";
x.loadXML(billnote);
dw_billnote.Retrieve(x);
+ return 1;
}
int onload()
@@ -4135,10 +4126,9 @@
dw_doclist.openUrl(L"/sale/view/GDN/template/doclist");
InvoiceNo = L"";
- if (GetParam())
+ if (GetWinParam())
{
- xaserverarg arg_param = new xaserverarg;
- arg_param.setNativePointer(GetParam());
+ xaserverarg arg_param=GetArg();
InvoiceNo = arg_param.GetArgString(L"InvoiceNo");
if (InvoiceNo == L"") InvoiceNo = arg_param.GetArgString(L"EntityNo");
@@ -4185,10 +4175,9 @@
else
{
OnNewInital();
- if (GetParam())
+ if (GetWinParam())
{
- xaserverarg arg = new xaserverarg;
- arg.setNativePointer(GetParam());
+ xaserverarg arg = GetArg();
if (arg.GetArgString(L"CustomerID") != L"")
{
@@ -4198,7 +4187,7 @@
xstring colname = L"CustomerID";
xstring value = arg.GetArgString(L"CustomerID");
KXMLDOMNodeList nlist = GetElement().selectNodes(L"//*[@name='" + dwname + L"']/trans[@for='" + colname + L"']");
- ViewObject::TransData(nlist, dw_base, 1, colname, value);
+ ViewObject::TransData(nlist, dw_base, 1, colname, value);
trace(L"+++++L");
}
}
diff --git a/jrj/project/business/Quote3.maint.cpp b/jrj/project/business/Quote3.maint.cpp
index 39cd6ed..462c10d 100644
--- a/jrj/project/business/Quote3.maint.cpp
+++ b/jrj/project/business/Quote3.maint.cpp
Binary files differ
diff --git a/jrj/project/business/SO3.list.cpp b/jrj/project/business/SO3.list.cpp
index 0ce958f..2169958 100644
--- a/jrj/project/business/SO3.list.cpp
+++ b/jrj/project/business/SO3.list.cpp
@@ -48,7 +48,7 @@
{
KXMLDOMElement e = nlist.item(i);
string name = e.getAttribute(L"name");
- HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e.ptr(), image);
+ HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e, image);
ExpandCatChildFolder(h, e, 35);
}
return 1;
@@ -64,7 +64,7 @@
{
KXMLDOMElement e = nlist.item(i);
string name = e.getAttribute(L"name");
- HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e.ptr(), 35);
+ HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e, 35);
ExpandCatChildFolder(h, e, 35);
}
return 1;
@@ -98,7 +98,7 @@
xstring child = e.getAttribute(L"child");
int image = 15;
if (sImage) image = sImage.toInt();
- HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e.ptr(), image);
+ HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e, image);
if (child != L"no") tv_folder.SetItemChild(h, 1);
//ExpandChildFolder(h, e);
}
diff --git a/jrj/project/business/Supplier.maint.cpp b/jrj/project/business/Supplier.maint.cpp
index fc9817e..cde3e61 100644
--- a/jrj/project/business/Supplier.maint.cpp
+++ b/jrj/project/business/Supplier.maint.cpp
Binary files differ
diff --git a/jrj/project/business/quote.enquiry.cpp b/jrj/project/business/quote.enquiry.cpp
new file mode 100644
index 0000000..a71d3a2
--- /dev/null
+++ b/jrj/project/business/quote.enquiry.cpp
@@ -0,0 +1,5058 @@
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <xcontrol/ximageview.hpp>
+#include <xcontrol/xcell.hpp>
+
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+#include "viewobject/quote.view.hpp"
+
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) QuoteFileView : public xframe
+{
+
+public:
+ QuoteFileView(void* implPtr, HWND hWnd):xframe(implPtr, hWnd) {}
+public:
+ static QuoteFileView* CreateInstance(void* implPtr, void* hWnd)
+ {
+ QuoteFileView* pWin = new QuoteFileView(implPtr, (HWND)hWnd);
+ return pWin;
+ }
+public:
+ xcell dw_cell;
+ xnode m_agentNode; //Agent Condition
+ xstring filename;
+ xstring fileid;
+ xstring templateurl;
+ xstring taskid;
+ xml purcher;
+
+ xdwgrid dw_goods;
+ xdwtable dw_base;
+ xstring tabsheet;
+
+ xstring templateID;
+ xstring entityID;
+ xstring entityItemID;
+ xstring action;
+ xstring processurl;
+
+ int ARow;
+ int ACol;
+ xstring orivalue;
+ bool bPurchPrice;
+
+ int SetAgent()
+ {
+ xstring xfNodeAgentArea = L"agentarea";
+ xnode anode = GetAgentNode(xfNodeAgentArea);
+ if (m_agentNode)
+ {
+ SetAgentNode(anode, m_agentNode);
+ }
+ else
+ {
+ xstring path = L"agent/" + xfNodeAgentArea + L"[1]/*";
+ if (action == L"purch") path = L"agent/" + xfNodeAgentArea + L"[2]/*";
+ KXMLDOMElement xframeElement = GetElement();
+ KXMLDOMElement agent = xframeElement.selectSingleNode(path);
+ if (agent)
+ {
+ xstring s = agent.xml();
+ m_agentNode = SetAgentNode(anode, s);
+ }
+ }
+ return 1;
+ }
+
+ xstring GetImageUrl(xstring id)
+ {
+ xml xp ;
+ xaserverarg arg_pic;
+ arg_pic.AddArg(L"id", id);
+
+ xstring res = L"/sale/data/productlibrary3/image/url";
+ if (xurl::get(res, arg_pic.GetString(), xp) != 1)
+ {
+ trace(xp.xml());
+ return 1;
+ }
+ else
+ {
+ xstring path = xp.text();
+ if (path != L"") return path;
+ }
+
+ return L"/business/products/chanpin/" + id.left(2) + L"/" + id + L".jpg";
+ }
+
+ xstring GetGuid()
+ {
+ return publiccode::GetGuid();
+ }
+
+ int getItemHeadRow(xcell dw_obj)
+ {
+ int rowHeader = -1;
+ int rowCount = dw_obj.GetValidRow();
+ for (int row = 1; row <= rowCount; row++)
+ {
+ if (dw_obj.GetItemString(row, 0) == L"鏍囬") return row;
+ if (dw_obj.GetItemString(row, 1) == L"SKUID" || dw_obj.GetItemString(row, 2) == L"SKUID") return row;
+ }
+ return -1;
+ }
+
+ double calcVol(xstring volDesc)
+ {
+ xstring sl = L"";
+ xstring sw = L"";
+ xstring sh = L"";
+
+ xstring val = volDesc;
+ val = val.replace(L"x", L"X");
+ val = val.replace(L"*", L"X");
+
+ //parse length
+ int pos = val.find(L"X");
+ if (pos >= 0)
+ sl = val.left(pos);
+ else
+ sl = val;
+
+ //parse width
+ if (pos >= 0)
+ {
+ val = val.mid(pos + 1, 9999);
+ pos = val.find(L"X");
+ if (pos >= 0)
+ sw = val.left(pos);
+ else
+ sw = val;
+ }
+
+ //parse height
+ if (pos >= 0)
+ {
+ val = val.mid(pos + 1, 9999);
+ pos = val.find(L"X");
+ if (pos >= 0)
+ sh = val.left(pos);
+ else
+ sh = val;
+ }
+
+ double ret = 0.0;
+ if (sw == L"") ret = sl.toDouble();
+ else if (sh == L"") ret = sl.toDouble() * sw.toDouble();
+ else ret = sl.toDouble() * sw.toDouble() * sh.toDouble();
+ return ret;
+ }
+
+ int ShowImageOne(ximageview im, xstring str, xstring tm)
+ {
+ int spos = str.find(tm + L":");
+ if (spos >= 0)
+ {
+ int pos = (str + L";").find(L";", spos + 1);
+ int pos0 = spos + tm.length() + 1;
+ xstring guids = str.mid(pos0, pos - pos0);
+ while (true)
+ {
+ xstring guid = guids;
+ if (guids.find(L",L") >= 0)
+ {
+ guid = guids.left(guids.find(L",L"));
+ guids = guids.mid(guids.find(L",L") + 1, 99999);
+ }
+ else
+ {
+ guid = guids;
+ guids = L"";
+ }
+ if (guid != L"")
+ {
+ xstring picname = GetImageUrl(guid);
+ im.AddImages(picname, L"");
+ return 1;
+ }
+ if (guids == L"") break;
+ }
+ }
+ return 1;
+ }
+
+ int ShowImage(xstring str, xstring tm)
+ {
+ ximageview im = GetControl(L"frame:im1");
+
+ int spos = str.find(tm + L":");
+ if (spos >= 0)
+ {
+ int pos = (str + L";").find(L";", spos + 1);
+ int pos0 = spos + tm.length() + 1;
+ xstring guids = str.mid(pos0, pos - pos0);
+ while (true)
+ {
+ xstring guid = guids;
+ if (guids.find(L",L") >= 0)
+ {
+ guid = guids.left(guids.find(L",L"));
+ guids = guids.mid(guids.find(L",L") + 1, 99999);
+ }
+ else
+ {
+ guid = guids;
+ guids = L"";
+ }
+ if (guid != L"")
+ {
+ xstring goodno = L"瀹㈡埛鍥剧墖";
+ if (tm == L"supplier-photo") goodno = L"渚涘簲鍟嗗浘鐗�";
+ xstring picname = GetImageUrl(guid);//"/business/products/chanpin/"+guid.left(2)+L"/"+guid+L".jpg";
+ im.AddImages(picname, goodno);
+ }
+ if (guids == L"") break;
+ }
+ }
+ return 1;
+ }
+
+ xstring getImageList(xstring idlist)
+ {
+ xstring strs = idlist.trim();
+ xstring str = L"";
+ xstring fstr = L"";
+ while (strs != L"")
+ {
+ int pos = strs.find(L",L");
+ if (pos < 0)
+ {
+ str = strs;
+ strs = L"";
+ }
+ else
+ {
+ str = strs.left(pos);
+ strs = strs.mid(pos + 1, 9999);
+ }
+ if (fstr == L"")
+ fstr = GetImageUrl(str);
+ else
+ fstr += L",L" + GetImageUrl(str);
+ }
+ return fstr;
+ }
+
+ xstring GetSaleFullData(xcell cell)
+ {
+ xstring content = L"";
+ xstring base = L"";
+ base += L"<QuoteNo>" + getBaseItem(cell, L"鎶ヤ环鍗曞彿:") + L"</QuoteNo>";
+ base += L"<ExpDate>" + getBaseItem(cell, L"鎶ヤ环鎴鏃ユ湡锛�") + L"</ExpDate>";
+ base += L"<PrjName>" + getBaseItem(cell, L"椤圭洰鍚嶇О:") + L"</PrjName>";
+ base += L"<QuoteDate>" + dw_base.GetItemString(1, L"QuoteDate") + L"</QuoteDate>";
+
+ int startRow = getItemHeadRow(cell);
+
+ //娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+ if (startRow < 1) return L"";
+ startRow++;
+
+ int colItemNo = getItemCol(cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
+ int colCustomerItemNo = getItemCol(cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+ int colItemName = getItemCol(cell, startRow - 1, L"Product Description,Product Name,Item Name");
+ int colItemCName = getItemCol(cell, startRow - 1, L"涓枃鍝佸悕");
+ int colItemSpec = getItemCol(cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+ int colBuyerPrice = getItemCol(cell, startRow - 1, L"閲囪喘浠�,閲囪喘浠锋牸");
+ int colCustomerImage = getItemCol(cell, startRow - 1, L"Photo,鍥剧墖");
+ int colSKUID = getItemCol(cell, startRow - 1, L"SKUID");
+ int colSaleRemark = getItemCol(cell, startRow - 1, L"涓氬姟To閲囪喘澶囨敞");
+
+ int colBuyerRemark = getItemCol(cell, startRow - 1, L"閲囪喘To涓氬姟澶囨敞");
+ int colFactoryImage = getItemCol(cell, startRow - 1, L"宸ュ巶鍥剧墖");
+ int colGWT = getItemCol(cell, startRow - 1, L"姣涢噸,姣涢噸(KG)L");
+ int colNWT = getItemCol(cell, startRow - 1, L"鍑�閲�,鍑�閲�(KG)L");
+ int colVolDesc = getItemCol(cell, startRow - 1, L"浣撶Н鎻忚堪,闀縓瀹絏楂�,闀縓瀹絏楂�(CM)L");
+ int colVol = getItemCol(cell, startRow - 1, L"浣撶Н,浣撶Н(M3)L");
+ int col40HQ = getItemCol(cell, startRow - 1, L"40HQ,QTY(40HQ)L");
+
+ int colSupplier1 = getItemCol(cell, startRow - 1, L"渚涘簲鍟�1");
+ int colSupplier = getItemCol(cell, startRow - 1, L"渚涘簲鍟�");
+ int colPOPrice1 = getItemCol(cell, startRow - 1, L"浠锋牸1");
+ int colPOPrice = getItemCol(cell, startRow - 1, L"浠锋牸");
+
+ int colInnerOuter = getItemCol(cell, startRow - 1, L"瑁呯鏁�(鍐�/澶�)L");
+ int colItemQty = getItemCol(cell, startRow - 1, L"鏁伴噺,Qty");
+ int colPackage = getItemCol(cell, startRow - 1, L"Package,鍖呰鏂瑰紡");
+ int colBuyer = getItemCol(cell, startRow - 1, L"閲囪喘浜哄憳");
+ int colRemark = getItemCol(cell, startRow - 1, L"Remarks");
+ int colFOBPrice = getItemCol(cell, startRow - 1, L"FOB Price,FOB Price(USD),Fob Price");
+
+
+ int LastRow = cell.GetValidRow();
+ xstring sdate = publiccode::GetCurrentDate();
+
+ xstring rowid = L"";
+ for (int row = startRow; row <= LastRow; row++)
+ {
+ bool bextern = false;
+ if (cell.GetItemString(row, colItemName) == L"" &&
+ cell.GetItemString(row, colItemSpec) == L"")
+ {
+
+ }
+
+ xstring itemStr = L"";
+ rowid = getRowID(cell, row);
+ itemStr += L"<RowID>" + getRowID(cell, row) + L"</RowID>";
+ itemStr += L"<SKUID>" + cell.GetItemString(row, colSKUID) + L"</SKUID>";
+ itemStr += L"<customer-photo>" + getRowTerm(cell, row, L"customer-photo") + L"</customer-photo>";
+ itemStr += L"<supplier-photo>" + getRowTerm(cell, row, L"supplier-photo") + L"</supplier-photo>";
+ itemStr += L"<customer-photo-url>" + getImageList(getRowTerm(cell, row, L"customer-photo")) + L"</customer-photo-url>";
+ itemStr += L"<supplier-photo-url>" + getImageList(getRowTerm(cell, row, L"supplier-photo")) + L"</supplier-photo-url>";
+ itemStr += L"<ItemNo>" + cell.GetItemString(row, colItemNo) + L"</ItemNo>";
+ itemStr += L"<CustomItemNo>" + cell.GetItemString(row, colCustomerItemNo) + L"</CustomItemNo>";
+ itemStr += L"<ItemName>" + cell.GetItemString(row, colItemName) + L"</ItemName>";
+ itemStr += L"<ItemCName>" + cell.GetItemString(row, colItemCName) + L"</ItemCName>";
+ itemStr += L"<ItemSpec>" + cell.GetItemString(row, colItemSpec) + L"</ItemSpec>";
+ itemStr += L"<CustomerImage>" + cell.GetItemString(row, colCustomerImage) + L"</CustomerImage>";
+ itemStr += L"<BuyerPrice>" + cell.GetItemString(row, colBuyerPrice) + L"</BuyerPrice>";
+ itemStr += L"<SaleRemark>" + cell.GetItemString(row, colSaleRemark) + L"</SaleRemark>";
+
+ itemStr += L"<BuyerRemark>" + cell.GetItemString(row, colBuyerRemark) + L"</BuyerRemark>";
+ itemStr += L"<FactoryImage>" + cell.GetItemString(row, colFactoryImage) + L"</FactoryImage>";
+ itemStr += L"<GWT>" + cell.GetItemString(row, colGWT) + L"</GWT>";
+ itemStr += L"<NWT>" + cell.GetItemString(row, colNWT) + L"</NWT>";
+ itemStr += L"<VolDesc>" + cell.GetItemString(row, colVolDesc) + L"</VolDesc>";
+ itemStr += L"<Vol>" + cell.GetItemString(row, colVol) + L"</Vol>";
+ itemStr += L"<F40HQ>" + cell.GetItemString(row, col40HQ) + L"</F40HQ>";
+ itemStr += L"<Packing>" + cell.GetItemString(row, colInnerOuter) + L"</Packing>";
+ itemStr += L"<Quantity>" + cell.GetItemString(row, colItemQty) + L"</Quantity>";
+ itemStr += L"<Package>" + cell.GetItemString(row, colPackage) + L"</Package>";
+ itemStr += L"<Buyer>" + cell.GetItemString(row, colBuyer) + L"</Buyer>";
+ itemStr += L"<RemarkS>" + cell.GetItemString(row, colRemark) + L"</RemarkS>";
+ itemStr += L"<FOBPrice>" + cell.GetItemString(row, colFOBPrice) + L"</FOBPrice>";
+
+
+ itemStr += L"<PurchedDate>" + sdate + L"</PurchedDate>";
+ itemStr += L"<EnquiryLineID>" + getRowTerm(dw_cell, row, L"EnquiryLineID") + L"</EnquiryLineID>";
+ content += L"<Item>" + itemStr + L"</Item>";
+ }
+ content = L"<data>" + base + content + L"</data>";
+
+ return content;
+ }
+
+ xstring GetSaleFullData(xcell cell, KXMLDOMNodeList ts)
+ {
+ xstring content = L"";
+ xstring base = L"";
+ base += L"<QuoteNo>" + getBaseItem(cell, L"鎶ヤ环鍗曞彿:") + L"</QuoteNo>";
+ base += L"<ExpDate>" + getBaseItem(cell, L"鎶ヤ环鎴鏃ユ湡锛�") + L"</ExpDate>";
+ base += L"<PrjName>" + getBaseItem(cell, L"椤圭洰鍚嶇О:") + L"</PrjName>";
+ base += L"<QuoteDate>" + dw_base.GetItemString(1, L"QuoteDate") + L"</QuoteDate>";
+
+ int startRow = getItemHeadRow(cell);
+
+ //娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+ if (startRow < 1) return L"";
+ startRow++;
+
+ int colItemNo = getItemCol(cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
+ int colCustomerItemNo = getItemCol(cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+ int colItemName = getItemCol(cell, startRow - 1, L"Product Description,Product Name,Item Name");
+ int colItemCName = getItemCol(cell, startRow - 1, L"涓枃鍝佸悕");
+ int colItemSpec = getItemCol(cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+ int colBuyerPrice = getItemCol(cell, startRow - 1, L"閲囪喘浠�,閲囪喘浠锋牸");
+ int colCustomerImage = getItemCol(cell, startRow - 1, L"Photo,鍥剧墖");
+ int colSKUID = getItemCol(cell, startRow - 1, L"SKUID");
+ int colSaleRemark = getItemCol(cell, startRow - 1, L"涓氬姟To閲囪喘澶囨敞");
+
+ int colBuyerRemark = getItemCol(cell, startRow - 1, L"閲囪喘To涓氬姟澶囨敞");
+ int colFactoryImage = getItemCol(cell, startRow - 1, L"宸ュ巶鍥剧墖");
+ int colGWT = getItemCol(cell, startRow - 1, L"姣涢噸,姣涢噸(KG)L");
+ int colNWT = getItemCol(cell, startRow - 1, L"鍑�閲�,鍑�閲�(KG)L");
+ int colVolDesc = getItemCol(cell, startRow - 1, L"浣撶Н鎻忚堪,闀縓瀹絏楂�,闀縓瀹絏楂�(CM)L");
+ int colVol = getItemCol(cell, startRow - 1, L"浣撶Н,浣撶Н(M3)L");
+ int col40HQ = getItemCol(cell, startRow - 1, L"40HQ,QTY(40HQ)L");
+
+ int colPOPrice = getItemCol(cell, startRow - 1, L"浠锋牸");
+ int colSupplier = getItemCol(cell, startRow - 1, L"渚涘簲鍟�");
+ int colPOPrice1 = getItemCol(cell, startRow - 1, L"浠锋牸1");
+ int colSupplier1 = getItemCol(cell, startRow - 1, L"渚涘簲鍟�1");
+ int colPOPrice2 = getItemCol(cell, startRow - 1, L"浠锋牸2");
+ int colSupplier2 = getItemCol(cell, startRow - 1, L"渚涘簲鍟�2");
+ int colPOPrice3 = getItemCol(cell, startRow - 1, L"浠锋牸3");
+ int colSupplier3 = getItemCol(cell, startRow - 1, L"渚涘簲鍟�3");
+ int colBOMType = getItemCol(cell, startRow - 1, L"绫诲瀷");
+ int colBOMType1 = getItemCol(cell, startRow - 1, L"绫诲瀷1");
+ int colBOMType2 = getItemCol(cell, startRow - 1, L"绫诲瀷2");
+ int colBOMType3 = getItemCol(cell, startRow - 1, L"绫诲瀷3");
+
+ int colInnerOuter = getItemCol(cell, startRow - 1, L"瑁呯鏁�(鍐�/澶�)L");
+ int colItemQty = getItemCol(cell, startRow - 1, L"鏁伴噺,Qty");
+ int colPackage = getItemCol(cell, startRow - 1, L"Package,鍖呰鏂瑰紡");
+ int colBuyer = getItemCol(cell, startRow - 1, L"閲囪喘浜哄憳");
+ int colRemark = getItemCol(cell, startRow - 1, L"Remarks");
+ int colFOBPrice = getItemCol(cell, startRow - 1, L"FOB Price,FOB Price(USD),Fob Price");
+
+
+ int LastRow = cell.GetValidRow();
+ xstring sdate = publiccode::GetCurrentDate();
+
+ int len = ts.length();
+
+ //xstring content = L"";
+ //xstring sdate = publiccode::GetCurrentDate();
+ for (int k = 0; k < len; k++)
+ {
+ KXMLDOMNode node = ts.item(k);
+ xstring id = node.selectSingleNode(L"RowID").text();
+ int row = LookupCellRow(id);
+ if (row < 1) continue;
+
+ xstring itemStr = L"";
+ itemStr += L"<RowID>" + getRowID(cell, row) + L"</RowID>";
+ itemStr += L"<SKUID>" + cell.GetItemString(row, colSKUID) + L"</SKUID>";
+ itemStr += L"<customer-photo>" + getRowTerm(cell, row, L"customer-photo") + L"</customer-photo>";
+ itemStr += L"<supplier-photo>" + getRowTerm(cell, row, L"supplier-photo") + L"</supplier-photo>";
+ itemStr += L"<ItemNo>" + cell.GetItemString(row, colItemNo) + L"</ItemNo>";
+ itemStr += L"<CustomItemNo>" + cell.GetItemString(row, colCustomerItemNo) + L"</CustomItemNo>";
+ itemStr += L"<ItemName>" + cell.GetItemString(row, colItemName) + L"</ItemName>";
+ itemStr += L"<ItemCName>" + cell.GetItemString(row, colItemCName) + L"</ItemCName>";
+ itemStr += L"<ItemSpec>" + cell.GetItemString(row, colItemSpec) + L"</ItemSpec>";
+ itemStr += L"<CustomerImage>" + cell.GetItemString(row, colCustomerImage) + L"</CustomerImage>";
+ itemStr += L"<BuyerPrice>" + cell.GetItemString(row, colBuyerPrice) + L"</BuyerPrice>";
+ itemStr += L"<SaleRemark>" + cell.GetItemString(row, colSaleRemark) + L"</SaleRemark>";
+
+ itemStr += L"<BuyerRemark>" + cell.GetItemString(row, colBuyerRemark) + L"</BuyerRemark>";
+ itemStr += L"<FactoryImage>" + cell.GetItemString(row, colFactoryImage) + L"</FactoryImage>";
+ itemStr += L"<GWT>" + cell.GetItemString(row, colGWT) + L"</GWT>";
+ itemStr += L"<NWT>" + cell.GetItemString(row, colNWT) + L"</NWT>";
+ itemStr += L"<VolDesc>" + cell.GetItemString(row, colVolDesc) + L"</VolDesc>";
+ itemStr += L"<Vol>" + cell.GetItemString(row, colVol) + L"</Vol>";
+ itemStr += L"<F40HQ>" + cell.GetItemString(row, col40HQ) + L"</F40HQ>";
+ itemStr += L"<Packing>" + cell.GetItemString(row, colInnerOuter) + L"</Packing>";
+ itemStr += L"<Quantity>" + cell.GetItemString(row, colItemQty) + L"</Quantity>";
+ itemStr += L"<Package>" + cell.GetItemString(row, colPackage) + L"</Package>";
+ itemStr += L"<Buyer>" + cell.GetItemString(row, colBuyer) + L"</Buyer>";
+ itemStr += L"<RemarkS>" + cell.GetItemString(row, colRemark) + L"</RemarkS>";
+ itemStr += L"<FOBPrice>" + cell.GetItemString(row, colFOBPrice) + L"</FOBPrice>";
+
+ itemStr += L"<Supplier>" + cell.GetItemString(row, colSupplier) + L"</Supplier>";
+ itemStr += L"<Supplier1>" + cell.GetItemString(row, colSupplier1) + L"</Supplier1>";
+ itemStr += L"<Supplier2>" + cell.GetItemString(row, colSupplier2) + L"</Supplier2>";
+ itemStr += L"<Supplier3>" + cell.GetItemString(row, colSupplier3) + L"</Supplier3>";
+ itemStr += L"<POPrice>" + cell.GetItemString(row, colPOPrice) + L"</POPrice>";
+ itemStr += L"<POPrice1>" + cell.GetItemString(row, colPOPrice1) + L"</POPrice1>";
+ itemStr += L"<POPrice2>" + cell.GetItemString(row, colPOPrice2) + L"</POPrice2>";
+ itemStr += L"<POPrice3>" + cell.GetItemString(row, colPOPrice3) + L"</POPrice3>";
+
+ itemStr += L"<BOMType>" + cell.GetItemString(row, colBOMType) + L"</BOMType>";
+ itemStr += L"<BOMType1>" + cell.GetItemString(row, colBOMType1) + L"</BOMType1>";
+ itemStr += L"<BOMType2>" + cell.GetItemString(row, colBOMType2) + L"</BOMType2>";
+ itemStr += L"<BOMType3>" + cell.GetItemString(row, colBOMType2) + L"</BOMType3>";
+ itemStr += L"<PurchedDate>" + sdate + L"</PurchedDate>";
+ itemStr += L"<EnquiryLineID>" + getRowTerm(cell, row, L"EnquiryLineID") + L"</EnquiryLineID>";
+
+ int lastrow = row;
+
+ while (true)
+ {
+ row++;
+ if (cell.GetItemString(row, colItemName) != L"" || cell.GetItemString(row, colItemSpec) != L"") break;
+ if (cell.GetItemString(row, colSupplier) == L"")break;
+ xstring extStr = L"";
+ extStr += L"<Supplier>" + cell.GetItemString(row, colSupplier) + L"</Supplier>";
+ extStr += L"<Supplier1>" + cell.GetItemString(row, colSupplier1) + L"</Supplier1>";
+ extStr += L"<Supplier2>" + cell.GetItemString(row, colSupplier2) + L"</Supplier2>";
+ extStr += L"<Supplier3>" + cell.GetItemString(row, colSupplier3) + L"</Supplier3>";
+ extStr += L"<POPrice>" + cell.GetItemString(row, colPOPrice) + L"</POPrice>";
+ extStr += L"<POPrice1>" + cell.GetItemString(row, colPOPrice1) + L"</POPrice1>";
+ extStr += L"<POPrice2>" + cell.GetItemString(row, colPOPrice2) + L"</POPrice2>";
+ extStr += L"<POPrice3>" + cell.GetItemString(row, colPOPrice3) + L"</POPrice3>";
+
+ extStr += L"<BOMType>" + cell.GetItemString(row, colBOMType) + L"</BOMType>";
+ extStr += L"<BOMType1>" + cell.GetItemString(row, colBOMType1) + L"</BOMType1>";
+ extStr += L"<BOMType2>" + cell.GetItemString(row, colBOMType2) + L"</BOMType2>";
+ extStr += L"<BOMType3>" + cell.GetItemString(row, colBOMType2) + L"</BOMType3>";
+
+ itemStr += L"<ExtItem>" + extStr + L"</ExtItem>"; //澶囩敤閲囪喘淇℃伅
+ xstring eid = GetGuid();
+ setRowTerm(cell, row, L"EnquiryLineID", eid);
+ itemStr += L"<EnquiryLineID>" + getRowTerm(cell, row, L"EnquiryLineID") + L"</EnquiryLineID>";
+ }
+ content += L"<Item>" + itemStr + L"</Item>";
+ }
+ content = L"<data>" + base + content + L"</data>";
+
+ return content;
+ }
+
+ int OnPrint()
+ {
+
+ if (dw_base.GetItemString(1, L"QuoteNo") == L"")
+ {
+ alert(L"璇峰厛淇濆瓨鏁版嵁!");
+ return 1;
+ }
+
+ xaserverarg argx;
+ argx.AddArg(L"QuoteNo", dw_base.GetItemString(1, L"QuoteNo"));
+ int p1 = argx;
+ if (dw_base.GetItemString(1, L"QuoteNo") != L"")
+ {
+ OpenWindow(L"dev:xpage[xmQuoteBillList.vx]", p1);
+ }
+ if (argx.GetArgString(L"action") != L"ok") return 1;
+
+ xstring printStr = argx.GetArgString(L"items");
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"DataUrl", L"/sale/data/Quote3/print/mydata");
+ arg.AddArg(L"EntityName", L"Quote");
+ arg.AddArg(L"EntityID", entityID + printStr);
+ arg.AddArg(L"EntityNo", dw_base.GetItemString(1, L"QuoteNo"));
+ trace(L"*******" + entityID + printStr + L"*******");
+ openUrl(L"/sale/view/view.base/xpage/Template/PrintViewEx", &arg);
+
+ /* xaserverarg arg=new xaserverarg;
+
+ arg.AddArg(L"EntityName",L"Quote",L"");
+ arg.AddArg(L"EntityID",dw_base.GetItemString(1,L"QuoteID"),L"");
+ arg.AddArg(L"EntityNo",dw_base.GetItemString(1,L"QuoteNo"),L"");
+ trace(dw_base.GetItemString(1,L"QuoteID")+L"***"+dw_base.GetItemString(1,L"QuoteNo"));
+ int p = arg.ptr_native_;
+ openUrl(L"/sale/view/view.base/xpage/Template/PrintViewEx", p);*/
+
+ return 1;
+ }
+
+ int RowChanged(int row)
+ {
+ ximageview im = GetControl(L"frame:im1");
+ im.Reset();
+
+ int startRow = getItemHeadRow(dw_cell);
+ //娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+ if (startRow < 1) return 1;
+ if (row <= startRow) return 1;
+
+ int colCustomerPhoto = getItemCol(dw_cell, startRow, L"Photo,Customer Photo");
+ xstring ls_photo = dw_cell.GetItemString(row, colCustomerPhoto);
+ while (ls_photo == L"-")
+ {
+ if (row - 1 < startRow) break;
+ row = row - 1;
+ ls_photo = dw_cell.GetItemString(row, colCustomerPhoto);
+ }
+ if (row <= startRow) return 1;
+
+ xstring str = dw_cell.GetItemString(row, 0);
+ ShowImage(str, L"customer-photo");
+ ShowImage(str, L"supplier-photo");
+
+ im.Redraw();
+
+ return 1;
+ }
+
+ xstring getBaseItem(xcell dw_cell, xstring colname)
+ {
+ int row = 0;
+ int col = 0;
+ int vcol = 0;
+ int vrow = dw_cell.GetValidRow();
+ int scol = dw_cell.GetValidCol();
+ for (row = 1; row <= vrow; row++)
+ {
+ vcol = dw_cell.GetValidCol(row);
+ if (vcol < scol) vcol++;
+ for (col = 1; col <= vcol; col++)
+ {
+ if (dw_cell.GetItemString(row, col) == colname)
+ {
+ return dw_cell.GetItemString(row, col + 1);
+ }
+ }
+ }
+ return L"";
+ }
+
+ void setBaseItem(xcell dw_cell, xstring colname, xstring val)
+ {
+ int row = 0;
+ int col = 0;
+ int vcol = 0;
+ int vrow = dw_cell.GetValidRow();
+ int scol = dw_cell.GetValidCol();
+ for (row = 1; row <= vrow; row++)
+ {
+ vcol = dw_cell.GetValidCol(row);
+ if (vcol < scol) vcol++;
+ for (col = 1; col <= vcol; col++)
+ {
+ if (dw_cell.GetItemString(row, col) == colname)
+ {
+ dw_cell.SetItemString(row, col + 1, val);
+ dw_cell.Redraw();
+ }
+ }
+ }
+ }
+
+ int getItemCol(xcell dw_obj, int row, xstring head)
+ {
+ xstring fullhead = L",L" + head + L",L";
+ int headRow = row;
+ int colCount = dw_obj.GetValidCol(headRow);
+ for (int col = 1; col <= colCount; col++)
+ {
+ if (fullhead.find(L",L" + dw_obj.GetItemString(headRow, col) + L",L") >= 0) return col;
+ }
+ return -1;
+ }
+
+
+ int setRowProp(xcell dw_obj, int row, xstring prop, xstring val)
+ {
+ prop = prop.trim();
+ if (prop.left(1) != L"[") prop = L"[" + prop + L"]";
+ xstring str = dw_obj.GetItemString(row, 0);
+ if (str.find(prop + L":" + val + L";") >= 0) return 1;
+
+ if (str.find(prop + L":") < 0)
+ {
+ if (str == L"")
+ str = prop + L":" + val + L";";
+ else
+ str += prop + L":" + val + L";";
+ dw_obj.SetItemString(row, 0, str);
+ }
+ else
+ {
+ str = str.mid(str.find(prop + L":") + prop.length() + 1, 9999);
+ xstring right = L"";
+ xstring left = str.left(str.find(prop + L":") + prop.length() + 1);
+ if (str.find(L";") >= 0)
+ right = str.mid(str.find(L";") + 1, 9999);
+ else if (str.find(L",L") >= 0)
+ right = str.mid(str.find(L",L") + 1, 9999);
+ str = left + val + L";" + right;
+ //alert(str);
+ dw_obj.SetItemString(row, 0, str);
+ }
+ return 1;
+ }
+
+ xstring getRowProp(xcell dw_obj, int row, xstring prop)
+ {
+ prop = prop.trim();
+ if (prop.left(1) != L"[") prop = L"[" + prop + L"]";
+ xstring str = dw_obj.GetItemString(row, 0);
+ if (str.find(prop + L":") >= 0)
+ {
+ str = str.mid(str.find(prop + L":") + prop.length() + 1, 9999);
+ if (str.find(L";") >= 0)
+ str = str.left(str.find(L";"));
+ else if (str.find(L",L") >= 0)
+ str = str.left(str.find(L",L"));
+ return str;
+ }
+ return L"";
+ }
+
+ int ensureRowID()
+ {
+ int startRow = getItemHeadRow(dw_cell);
+ //娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+ if (startRow < 1) return 0;
+ startRow++;
+
+ int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
+ int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+ int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
+ int colItemCName = getItemCol(dw_cell, startRow - 1, L"涓枃鍝佸悕");
+ int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+ int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�,閲囪喘浠锋牸");
+
+ int LastRow = dw_cell.GetValidRow();
+ for (int row = startRow; row <= LastRow; row++)
+ {
+ if (dw_cell.GetItemString(row, colItemName) == L"" &&
+ dw_cell.GetItemString(row, colItemCName) == L"") break;
+ ensureRowID(dw_cell, row);
+ }
+ return 1;
+ }
+
+ int LookupRow(xstring rowid)
+ {
+ int rowcount = dw_goods.GetRowCount();
+ for (int row = 1; row <= rowcount; row++)
+ {
+ if (dw_goods.GetGuid(row) == rowid) return row;
+ }
+ return 0;
+ }
+
+ int LookupCellRow(xcell cell, xstring rowid)
+ {
+ int startRow = getItemHeadRow(cell);
+ //娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+ if (startRow < 1) return 0;
+ startRow++;
+
+ int LastRow = cell.GetValidRow();
+ for (int row = startRow; row <= LastRow; row++)
+ {
+ if (getRowID(cell, row) == rowid) return row;
+ }
+ return 0;
+ }
+
+ int LookupCellRow(xstring rowid)
+ {
+ return LookupCellRow(dw_cell, rowid);
+ }
+
+ int ensureRowID(xcell dw_obj, int row)
+ {
+ xstring str = dw_obj.GetItemString(row, 0);
+ if (str.find(L"rowid:") < 0)
+ {
+ xstring rowid = ViewObject::GetGuid();
+ if (str == L"")
+ str = L"rowid:" + rowid + L";";
+ else
+ str += L";rowid:" + rowid + L";";
+ //alert(str);
+ dw_obj.SetItemString(row, 0, str);
+ }
+ return 1;
+ }
+
+ xstring getRowID(xcell dw_obj, int row)
+ {
+ xstring str = dw_obj.GetItemString(row, 0);
+ if (str.find(L"rowid:") >= 0)
+ {
+ str = str.mid(str.find(L"rowid:") + 6, 99999);
+ if (str.find(L";") >= 0)
+ str = str.left(str.find(L";"));
+ else if (str.find(L",L") >= 0)
+ str = str.left(str.find(L",L"));
+ return str;
+ }
+ return L"";
+ }
+
+ xstring getRowTerm(xcell dw_obj, int row, xstring tm)
+ {
+ xstring str = dw_obj.GetItemString(row, 0);
+ if (str.find(tm + L":") >= 0)
+ {
+ str = str.mid(str.find(tm + L":") + tm.length() + 1, 99999);
+ if (str.find(L";") >= 0) str = str.left(str.find(L";"));
+ return str;
+ }
+ return L"";
+ }
+
+ int setRowTerm(xcell dw_obj, int row, xstring tm, xstring val)
+ {
+ xstring str = dw_obj.GetItemString(row, 0);
+ if (str.find(tm + L":") >= 0)
+ {
+ int pos0 = str.find(tm + L":");
+ xstring left = str.left(pos0);
+ if (left != L"" && left.right(1) != L";") left += L";";
+
+ xstring right = L"";
+ int pos1 = str.find(L";", pos0 + 1);
+ if (pos1 >= 0)right = str.mid(pos1, 99999);
+ str = left + tm + L":" + val + right;
+ }
+ else
+ {
+ if (str.right(1) == L";")
+ str += tm + L":" + val;
+ else
+ str += L";" + tm + L":" + val;
+ }
+ trace(L"\r\nterm:" + str + L"\r\n");
+ dw_obj.SetItemString(row, 0, str);
+ return 1;
+ }
+
+ int resetRowTerm(xcell dw_obj, int row, xstring tm)
+ {
+ xstring str = dw_obj.GetItemString(row, 0);
+ if (str.find(tm + L":") >= 0)
+ {
+ int pos0 = str.find(tm + L":");
+ xstring left = str.left(pos0);
+ if (left != L"" && left.right(1) != L";") left += L";";
+
+ xstring right = L"";
+ int pos1 = str.find(L";", pos0 + 1);
+ if (pos1 >= 0)right = str.mid(pos1, 99999);
+ str = left + right;
+ }
+ dw_obj.SetItemString(row, 0, str);
+ return 1;
+ }
+
+ //鐢熸垚杩斿洖閿�鍞汉鍛樼殑閲囪喘浜у搧淇℃伅
+ xstring makeMessageBacktoSaler(xstring myurl)
+ {
+ int startRow = getItemHeadRow(dw_cell);
+
+ //娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+ if (startRow < 1) return L"";
+ startRow++;
+
+ int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
+ int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+ int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
+ int colItemCName = getItemCol(dw_cell, startRow - 1, L"涓枃鍝佸悕");
+ int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+ int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�,閲囪喘浠锋牸");
+
+ int colBuyerRemark = getItemCol(dw_cell, startRow - 1, L"閲囪喘To涓氬姟澶囨敞");
+ int colFactoryImage = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
+ int colGWT = getItemCol(dw_cell, startRow - 1, L"姣涢噸,姣涢噸(KG)L");
+ int colNWT = getItemCol(dw_cell, startRow - 1, L"鍑�閲�,鍑�閲�(KG)L");
+ int colVolDesc = getItemCol(dw_cell, startRow - 1, L"浣撶Н鎻忚堪,闀縓瀹絏楂�,闀縓瀹絏楂�(CM)L");
+ int colVol = getItemCol(dw_cell, startRow - 1, L"浣撶Н,浣撶Н(M3)L");
+ int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
+
+ int colSupplier = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�");
+ int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�1");
+ int colPOPrice = getItemCol(dw_cell, startRow - 1, L"浠锋牸");
+ int colPOPrice1 = getItemCol(dw_cell, startRow - 1, L"浠锋牸1");
+ int colProductInfo = getItemCol(dw_cell, startRow - 1, L"涓氬姟閮ㄤ骇鍝佷俊鎭�");
+ int colProductInfo1 = getItemCol(dw_cell, startRow - 1, L"閲囪喘閮ㄤ骇鍝佷俊鎭�");
+
+ int LastRow = dw_cell.GetValidRow();
+ xstring content = L"";
+
+ xstring sdate = publiccode::GetCurrentDate();
+ for (int row = startRow; row <= LastRow; row++)
+ {
+ if (dw_cell.GetItemString(row, colItemName) == L"" &&
+ dw_cell.GetItemString(row, colItemSpec) == L"") break;
+
+ xstring itemStr = L"";
+ itemStr += L"<RowID>" + getRowID(dw_cell, row) + L"</RowID>";
+ itemStr += L"<ItemNo>" + dw_cell.GetItemString(row, colItemNo) + L"</ItemNo>";
+ itemStr += L"<CustomerItemNo>" + dw_cell.GetItemString(row, colCustomerItemNo) + L"</CustomerItemNo>";
+ itemStr += L"<ItemName>" + dw_cell.GetItemString(row, colItemName) + L"</ItemName>";
+ itemStr += L"<ItemCName>" + dw_cell.GetItemString(row, colItemCName) + L"</ItemCName>";
+ itemStr += L"<ItemSpec>" + dw_cell.GetItemString(row, colItemSpec) + L"</ItemSpec>";
+ itemStr += L"<BuyerPrice>" + dw_cell.GetItemString(row, colBuyerPrice) + L"</BuyerPrice>";
+ itemStr += L"<ProductInfo>" + dw_cell.GetItemString(row, colProductInfo) + L"</ProductInfo>";
+ itemStr += L"<ProductInfo1>" + dw_cell.GetItemString(row, colProductInfo1) + L"</ProductInfo1>";
+
+ if (dw_cell.GetItemString(row, colBuyerPrice) == L"") return L"閲囪喘浠锋牸娌℃湁褰曞叆";
+ if (dw_cell.GetItemString(row, colGWT) == L"") return L"姣涢噸娌℃湁褰曞叆";
+ if (dw_cell.GetItemString(row, colNWT) == L"") return L"鍑�閲嶆病鏈夊綍鍏�";
+ if (dw_cell.GetItemString(row, colVolDesc) == L"") return L"闀縓瀹絏楂樻病鏈夊綍鍏�";
+ if (dw_cell.GetItemString(row, colFactoryImage) == L"") return L"鍥剧墖娌℃湁褰曞叆";
+
+ if (dw_cell.GetItemString(row, colSupplier) == L"")return L"渚涘簲鍟嗘病鏈夊綍鍏�";
+ if (dw_cell.GetItemString(row, colPOPrice) == L"")return L"閲囪喘浠锋牸娌℃湁褰曞叆";
+
+ if (dw_cell.GetItemString(row, colPOPrice1) != L"")
+ {
+ if (dw_cell.GetItemString(row, colSupplier1) == L"") return L"渚涘簲鍟�1娌℃湁褰曞叆";
+ }
+ if (dw_cell.GetItemString(row, colSupplier1) != L"")
+ {
+ if (dw_cell.GetItemString(row, colPOPrice1) == L"") return L"閲囪喘浠锋牸1娌℃湁褰曞叆";
+ }
+ itemStr += L"<BuyerRemark>" + dw_cell.GetItemString(row, colBuyerRemark) + L"</BuyerRemark>";
+ itemStr += L"<FactoryImage>" + dw_cell.GetItemString(row, colFactoryImage) + L"</FactoryImage>";
+ itemStr += L"<GWT>" + dw_cell.GetItemString(row, colGWT) + L"</GWT>";
+ itemStr += L"<NWT>" + dw_cell.GetItemString(row, colNWT) + L"</NWT>";
+ itemStr += L"<VolDesc>" + dw_cell.GetItemString(row, colVolDesc) + L"</VolDesc>";
+ itemStr += L"<Vol>" + dw_cell.GetItemString(row, colVol) + L"</Vol>";
+ itemStr += L"<F40HQ>" + dw_cell.GetItemString(row, col40HQ) + L"</F40HQ>";
+
+ itemStr += L"<PurchedDate>" + sdate + L"</PurchedDate>";
+ itemStr += L"<EnquiryLineID>" + getRowTerm(dw_cell, row, L"EnquiryLineID") + L"</EnquiryLineID>";
+ content += L"<Item>" + itemStr + L"</Item>";
+ }
+ xstring newEntityItemID = ViewObject::GetGuid();
+ content = L"<data id='" + entityID + L"' itemid='" + newEntityItemID + L"' action='purched'>" + content + L"</data>";
+
+ return content;
+ }
+
+ int ProcessSendMessage(xstring myurl, xstring param, xstring content, xstring datacontent, bool balert = false)
+ {
+ xaserverarg arg ;
+ arg.setNativePointer(xaserverarg::CreateInstance());
+ arg.AddArg(L"myurl", myurl);
+ arg.AddArg(L"param", param);
+ arg.AddArg(L"content", content);
+ arg.AddArg(L"datacontent", datacontent);
+
+ //trace(content);
+
+ xml x ;
+
+ if (xurl::get(L"/sale/data/Thing/business/message/add", arg.GetString(), x) != 1)
+ {
+ xstring error = x.text();
+ if (balert)alert((xstring)L"error:" + x.xml());
+ trace(error);
+ return -1;
+ }
+ else
+ {
+ //trace(x.xml());
+ if (balert)
+ alert(x.text());
+ }
+ return 1;
+ }
+
+ int makeMessage(xstring myurl)
+ {
+ if (myurl == L"/task/quote/purchar/backtosaler")
+ {
+ xstring content = makeMessageBacktoSaler(myurl);
+ xstring datacontent = GetSaleFullData(dw_cell);
+ if (content.left(1) != L"<")
+ {
+ alert(content);
+ return 1;
+ }
+ if (content != L"") return ProcessSendMessage(myurl, L"", content, datacontent, true);
+ return 1;
+ }
+ return 1;
+ }
+
+ int SendToPurcher(xstring purchor, xstring content)
+ {
+ xstring empno;
+ KXMLDOMNode n = purcher.selectSingleNode(L"//HrEmployee[Name='" + purchor + L"']/UserNo");
+ if (n)empno = n.text();
+ if (empno == L"") return 1;
+ //trace(L"\r\npurchor:"+empno);
+
+ xstring newItemID = ViewObject::GetGuid();
+ xstring business = L"";
+ content = content.mid(content.find(L"<xsheet"), 9999999);
+ business = L"<business action='purch' id='" + entityID + L"' itemid='" + newItemID + L"' processurl='" + processurl + L"' purchor.name='" + purchor + L"' purchor.no='" + empno + L"' termid='" + templateID + L"'>";
+ business += L"<content>" + content + L"</content></business>";
+
+ xcell dw_cell1 = GetControl(L"dw_cell1");
+ xstring datacontent = GetSaleFullData(dw_cell1);
+
+ //trace(datacontent);
+ int ret = ProcessSendMessage(L"/task/quote/purch", L"", business, datacontent, true);
+ return ret;
+
+ /*
+ //ThingImpl:AddTask1($FlowID,$EntityID,$EntityNo,$Subject, $Content,$Status, $Category,$Reciever)
+ xml x ;
+
+ xaserverarg arg ;
+ arg.setNativePointer(xaserverarg::CreateInstance());
+
+ xstring empno;
+ KXMLDOMNode n = purcher.selectSingleNode(L"//HrEmployee[Name='"+purchor+L"']/UserNo");
+ if(n)empno=n.text();
+ if(empno==L"") return 1;
+ trace(L"\r\npurchor:"+empno);
+
+ arg.AddArg(L"FlowID",L"DCC32D5B-9FCD-4F53-B7CF-630441DE2B47");
+ arg.AddArg(L"EntityID",fileid);
+ //arg.AddArg(L"EntityID",L"DCC32D5B-9FCD-4F53-B7CF-630441DE2B47");
+ arg.AddArg(L"EntityNo",L"娴嬭瘯");
+ arg.AddArg(L"Subject",L"---娴嬭瘯鏁版嵁----:璇互涓嬩骇鍝佷环鏍�");
+ arg.AddArg(L"Content",content);
+ arg.AddArg(L"Status",L"閲囪喘璇环");
+ arg.AddArg(L"Category",L"QuoteEnquiry");
+ arg.AddArg(L"Reciever",empno+L"|admin|00601");
+
+ xstring path=L"/sale/data/Thing/task/add/content1";
+ if (xurl::get(path,arg.GetString(),x) != 1)
+ {
+ alert(L"鍙戦�佸嚭閿欎簡!");
+ return -1;
+ }else
+ {
+ if(x.xml().find(L"error")>=0)
+ {
+ alert(L"鍙戦�佸嚭閿欎簡!"+x.xml());
+ return -1;
+ }
+ trace(x.xml());
+ }
+ trace(L"\r\n"+L"璇环鍗曞凡鍙戦�佺粰"+purchor);
+
+ return 1;
+ */
+ }
+
+ xstring GetPurchedItems()
+ {
+ int row = 1;
+ int startRow = getItemHeadRow(dw_cell);
+ if (startRow < 1) return L"<data/>";
+ startRow++;
+
+ int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
+ int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+ int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
+ int colItemCName = getItemCol(dw_cell, startRow - 1, L"涓枃鍝佸悕");
+ int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+ int colBuyer = getItemCol(dw_cell, startRow - 1, L"閲囪喘浜哄憳");
+ int colPackage = getItemCol(dw_cell, startRow - 1, L"Package,鍖呰鏂瑰紡");
+ int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
+
+ int colGW = getItemCol(dw_cell, startRow - 1, L"姣涢噸(KG)L");
+ int colNW = getItemCol(dw_cell, startRow - 1, L"鍑�閲�(KG)L");
+ int colVolDesc = getItemCol(dw_cell, startRow - 1, L"闀縓瀹絏楂�(CM)L");
+
+ int colPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�");
+
+ int colSupplier = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�");
+ int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�1");
+ int colPOPrice = getItemCol(dw_cell, startRow - 1, L"浠锋牸");
+ int colPOPrice1 = getItemCol(dw_cell, startRow - 1, L"浠锋牸1");
+ int colBOMType = getItemCol(dw_cell, startRow - 1, L"绫诲瀷");
+ int colBOMType1 = getItemCol(dw_cell, startRow - 1, L"绫诲瀷1");
+ int colProductInfo = getItemCol(dw_cell, startRow - 1, L"涓氬姟閮ㄤ骇鍝佷俊鎭�");
+ int colProductInfo1 = getItemCol(dw_cell, startRow - 1, L"閲囪喘閮ㄤ骇鍝佷俊鎭�");
+
+ xstring items = L"<data>";
+ int LastRow = dw_cell.GetValidRow();
+ xstring content = L"";
+
+ for (row = startRow; row <= LastRow; row++)
+ {
+ if (dw_cell.GetItemString(row, colItemName) == L"" &&
+ dw_cell.GetItemString(row, colItemSpec) == L"") break;
+ ensureRowID(dw_cell, row);
+
+ xstring itemStr = L"";
+ xstring issend = L"1";
+ itemStr += L"<RowID>" + getRowID(dw_cell, row) + L"</RowID>";
+ itemStr += L"<ItemNo>" + dw_cell.GetItemString(row, colItemNo) + L"</ItemNo>";
+ itemStr += L"<ItemName>" + dw_cell.GetItemString(row, colItemName) + L"</ItemName>";
+ itemStr += L"<ItemCName>" + dw_cell.GetItemString(row, colItemCName) + L"</ItemCName>";
+ itemStr += L"<ItemSpec>" + dw_cell.GetItemString(row, colItemSpec) + L"</ItemSpec>";
+ itemStr += L"<RowNo>" + (row - startRow + 1).toString() + L"</RowNo>";
+ itemStr += L"<Purchor>" + dw_cell.GetItemString(row, colBuyer) + L"</Purchor>";
+ itemStr += L"<Package>" + dw_cell.GetItemString(row, colPackage) + L"</Package>";
+ itemStr += L"<NWT>" + dw_cell.GetItemString(row, colNW) + L"</NWT>";
+ itemStr += L"<GWT>" + dw_cell.GetItemString(row, colGW) + L"</GWT>";
+ itemStr += L"<VolDesc>" + dw_cell.GetItemString(row, colVolDesc) + L"</VolDesc>";
+ itemStr += L"<Supplier>" + dw_cell.GetItemString(row, colSupplier) + L"</Supplier>";
+ itemStr += L"<BuyPrice>" + dw_cell.GetItemString(row, colPOPrice) + L"</BuyPrice>";
+ itemStr += L"<Supplier1>" + dw_cell.GetItemString(row, colSupplier1) + L"</Supplier1>";
+ itemStr += L"<BuyPrice1>" + dw_cell.GetItemString(row, colPOPrice1) + L"</BuyPrice1>";
+ itemStr += L"<BOMType1>" + dw_cell.GetItemString(row, colBOMType1) + L"</BOMType1>";
+ itemStr += L"<BOMType>" + dw_cell.GetItemString(row, colBOMType) + L"</BOMType>";
+ itemStr += L"<POPrice>" + dw_cell.GetItemString(row, colPrice) + L"</POPrice>";
+ itemStr += L"<ProductInfo>" + dw_cell.GetItemString(row, colProductInfo) + L"</ProductInfo>";
+ itemStr += L"<ProductInfo1>" + dw_cell.GetItemString(row, colProductInfo1) + L"</ProductInfo1>";
+
+ if (dw_cell.GetItemString(row, colBuyer) == L"")issend = L"0";
+ itemStr += L"<IsSend>" + issend + L"</IsSend>";
+
+ items += L"<Item>" + itemStr + L"</Item>";
+ }
+ items += L"</data>";
+
+ return items;
+ }
+
+ xstring GetPurchItems()
+ {
+ int row = 1;
+ int startRow = getItemHeadRow(dw_cell);
+ if (startRow < 1) return L"<data/>";
+ startRow++;
+
+ int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
+ int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+ int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
+ int colItemCName = getItemCol(dw_cell, startRow - 1, L"涓枃鍝佸悕");
+ int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+ int colBuyer = getItemCol(dw_cell, startRow - 1, L"閲囪喘浜哄憳");
+ int colPackage = getItemCol(dw_cell, startRow - 1, L"Package,鍖呰鏂瑰紡");
+ int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
+
+ int colGW = getItemCol(dw_cell, startRow - 1, L"姣涢噸(KG)L");
+ int colNW = getItemCol(dw_cell, startRow - 1, L"鍑�閲�(KG)L");
+ int colVolDesc = getItemCol(dw_cell, startRow - 1, L"闀縓瀹絏楂�(CM)L");
+
+ int colProductInfo = getItemCol(dw_cell, startRow - 1, L"涓氬姟閮ㄤ骇鍝佷俊鎭�");
+ int colProductInfo1 = getItemCol(dw_cell, startRow - 1, L"閲囪喘閮ㄤ骇鍝佷俊鎭�");
+
+ xstring items = L"<data>";
+ int LastRow = dw_cell.GetValidRow();
+ xstring content = L"";
+
+ for (row = startRow; row <= LastRow; row++)
+ {
+ if (dw_cell.GetItemString(row, colItemName) == L"" &&
+ dw_cell.GetItemString(row, colItemSpec) == L"") break;
+ ensureRowID(dw_cell, row);
+
+ xstring itemStr = L"";
+ xstring issend = L"1";
+ itemStr += L"<RowID>" + getRowID(dw_cell, row) + L"</RowID>";
+ itemStr += L"<ItemNo>" + dw_cell.GetItemString(row, colItemNo) + L"</ItemNo>";
+ itemStr += L"<CustomerItemNo>" + dw_cell.GetItemString(row, colCustomerItemNo) + L"</CustomerItemNo>";
+ itemStr += L"<ItemName>" + dw_cell.GetItemString(row, colItemName) + L"</ItemName>";
+ itemStr += L"<ItemCName>" + dw_cell.GetItemString(row, colItemCName) + L"</ItemCName>";
+ itemStr += L"<ItemSpec>" + dw_cell.GetItemString(row, colItemSpec) + L"</ItemSpec>";
+ itemStr += L"<RowNo>" + xstring(row - startRow + 1) + L"</RowNo>";
+ itemStr += L"<Purchor>" + dw_cell.GetItemString(row, colBuyer) + L"</Purchor>";
+ itemStr += L"<Package>" + dw_cell.GetItemString(row, colPackage) + L"</Package>";
+ itemStr += L"<NWT>" + dw_cell.GetItemString(row, colNW) + L"</NWT>";
+ itemStr += L"<GWT>" + dw_cell.GetItemString(row, colGW) + L"</GWT>";
+ itemStr += L"<VolDesc>" + dw_cell.GetItemString(row, colVolDesc) + L"</VolDesc>";
+ itemStr += L"<ProductInfo>" + dw_cell.GetItemString(row, colProductInfo) + L"</ProductInfo>";
+ itemStr += L"<ProductInfo1>" + dw_cell.GetItemString(row, colProductInfo1) + L"</ProductInfo1>";
+ if (dw_cell.GetItemString(row, colBuyer) == L"")issend = L"0";
+ itemStr += L"<IsSend>" + issend + L"</IsSend>";
+
+ items += L"<Item>" + itemStr + L"</Item>";
+ }
+ items += L"</data>";
+
+ return items;
+ }
+
+ /*
+ xstring GetPurchedItems()
+ {
+ int row = 1;
+ int startRow = getItemHeadRow(dw_cell);
+ if(startRow < 1) return L"<data/>";
+ startRow++;
+
+ int colItemNo = getItemCol(dw_cell,startRow - 1,L"鎴戝徃鍨嬪彿,ItemNo");
+ int colCustomerItemNo = getItemCol(dw_cell,startRow - 1,L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+ int colItemName = getItemCol(dw_cell,startRow - 1,L"Product Description,Product Name,Item Name");
+ int colItemCName = getItemCol(dw_cell,startRow - 1,L"涓枃鍝佸悕");
+ int colItemSpec = getItemCol(dw_cell,startRow - 1,L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+ int colBuyer = getItemCol(dw_cell,startRow - 1,L"閲囪喘浜哄憳");
+ int colPackage = getItemCol(dw_cell,startRow - 1,L"Package,鍖呰鏂瑰紡");
+ int col40HQ= getItemCol(dw_cell,startRow - 1,L"40HQ,QTY(40HQ)L");
+ int colBuyer = getItemCol(dw_cell,startRow - 1,L"閲囪喘浜哄憳");
+
+ xstring items=L"<data>";
+ int LastRow = dw_cell.GetValidRow();
+ xstring content = L"";
+
+ for(row = startRow; row <=LastRow; row++)
+ {
+ if(dw_cell.GetItemString(row,colItemName)==L"" &&
+ dw_cell.GetItemString(row,colItemSpec)==L"") break;
+ ensureRowID(dw_cell,row);
+
+ xstring itemStr = L"";
+ xstring issend=L"1";
+ itemStr += L"<RowID>"+getRowID(dw_cell,row)+L"</RowID>";
+ itemStr += L"<ItemNo>"+dw_cell.GetItemString(row, colItemNo)+L"</ItemNo>";
+ itemStr += L"<ItemName>"+dw_cell.GetItemString(row, colItemName)+L"</ItemName>";
+ itemStr += L"<ItemCName>"+dw_cell.GetItemString(row, colItemCName)+L"</ItemCName>";
+ itemStr += L"<ItemSpec>"+dw_cell.GetItemString(row, colItemSpec)+L"</ItemSpec>";
+ itemStr += L"<RowNo>"+(row - startRow +1).toString()+L"</RowNo>";
+ itemStr += L"<Purchor>"+dw_cell.GetItemString(row, colBuyer)+L"</Purchor>";
+ itemStr += L"<Package>"+dw_cell.GetItemString(row, colPackage)+L"</Package>";
+ if(dw_cell.GetItemString(row, colBuyer) ==L"")issend=L"0";
+ itemStr += L"<IsSend>"+issend+L"</IsSend>";
+
+ items += L"<Item>"+itemStr+L"</Item>";
+ }
+ items += L"</data>";
+
+ return items;
+ }
+ */
+
+ int OnSaleBack()
+ {
+ xstring str;
+ xstring head;
+ int rowCount = dw_cell.GetRowCount();
+ int row = 1;
+ int headrow = 0;
+ for (row = 1; row <= rowCount; row++)
+ {
+ head = dw_cell.GetItemString(row, 1);
+ if (head == L"SKUID") break;
+ }
+
+ if (row >= rowCount)
+ {
+ alert(L"鎵句笉鍒板晢鍝佽!");
+ return 1;
+ }
+
+ headrow = row;
+ int startRow = headrow + 1;
+ int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
+ int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+ int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
+ int colItemCName = getItemCol(dw_cell, startRow - 1, L"涓枃鍝佸悕");
+ int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+ int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�,閲囪喘浠锋牸");
+ int colPurchor = getItemCol(dw_cell, startRow - 1, L"閲囪喘鍛�,閲囪喘浜哄憳");
+
+ int colBuyerRemark = getItemCol(dw_cell, startRow - 1, L"閲囪喘To涓氬姟澶囨敞");
+ int colFactoryImage = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
+ int colGWT = getItemCol(dw_cell, startRow - 1, L"姣涢噸,姣涢噸(KG)L");
+ int colNWT = getItemCol(dw_cell, startRow - 1, L"鍑�閲�,鍑�閲�(KG)L");
+ int colVolDesc = getItemCol(dw_cell, startRow - 1, L"浣撶Н鎻忚堪,闀縓瀹絏楂�,闀縓瀹絏楂�(CM)L");
+ int colVol = getItemCol(dw_cell, startRow - 1, L"浣撶Н,浣撶Н(M3)L");
+ int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
+
+ int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�1");
+ int colPOPrice1 = getItemCol(dw_cell, startRow - 1, L"浠锋牸1");
+ int colSupplier = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�");
+ int colPOPrice = getItemCol(dw_cell, startRow - 1, L"浠锋牸");
+ int colSupplier2 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�2");
+ int colPOPrice2 = getItemCol(dw_cell, startRow - 1, L"浠锋牸2");
+ int colSupplier3 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�3");
+ int colPOPrice3 = getItemCol(dw_cell, startRow - 1, L"浠锋牸3");
+
+ int colSalebackDate = getItemCol(dw_cell, startRow - 1, L"閲囪喘鎻愪氦涓氬姟鏃堕棿");
+ int colProductInfo = getItemCol(dw_cell, startRow - 1, L"涓氬姟閮ㄤ骇鍝佷俊鎭�");
+ int colProductInfo1 = getItemCol(dw_cell, startRow - 1, L"閲囪喘閮ㄤ骇鍝佷俊鎭�");
+
+ int LastRow = dw_cell.GetValidRow();
+ int count = 0;
+
+ int backedcount = 0;
+ for (row = startRow; row <= LastRow; row++)
+ {
+ if (getRowID(dw_cell, row) == L"") continue;
+ if (dw_cell.GetItemString(row, colItemName) == L"")continue;
+
+ if (dw_cell.GetItemString(row, colSupplier) == L"" && dw_cell.GetItemString(row, colBuyerPrice) == L"") continue;
+ count++;
+
+ /*
+ if(dw_cell.GetItemString(row, colBuyerPrice)==L"")
+ {
+ alert(L"閲囪喘浠锋牸娌℃湁褰曞叆");
+ return 1;
+ }
+ if(dw_cell.GetItemString(row, colGWT)==L"")
+ {
+ alert(L"姣涢噸娌℃湁褰曞叆");
+ return 1;
+ }
+ if(dw_cell.GetItemString(row, colNWT)==L"")
+ {
+ alert(L"鍑�閲嶆病鏈夊綍鍏�");
+ return 1;
+ }
+ if(dw_cell.GetItemString(row, colVolDesc)==L"")
+ {
+ alert(L"闀縓瀹絏楂樻病鏈夊綍鍏�");
+ return 1;
+ }
+ if(dw_cell.GetItemString(row, colFactoryImage)==L"")
+ {
+ alert(L"宸ュ巶鍥剧墖娌℃湁褰曞叆");
+ return 1;
+ }
+ if(dw_cell.GetItemString(row, colSupplier)==L"")
+ {
+ alert(L"渚涘簲鍟嗘病鏈夊綍鍏�");
+ return 1;
+ }
+ if(dw_cell.GetItemString(row, colPOPrice)==L"")
+ {
+ alert(L"閲囪喘浠锋牸娌℃湁褰曞叆");
+ return 1;
+ }*/
+
+ /*
+ if(dw_cell.GetItemString(row, colPOPrice1)!=L"")
+ {
+ if(dw_cell.GetItemString(row, colSupplier1)==L"")
+ {
+ alert(L"渚涘簲鍟�1娌℃湁褰曞叆");
+ return 1;
+ }
+ }
+ if(dw_cell.GetItemString(row, colSupplier1)!=L"")
+ {
+ if(dw_cell.GetItemString(row, colPOPrice1)==L"")
+ {
+ alert(L"閲囪喘浠锋牸1娌℃湁褰曞叆");
+ return 1;
+ }
+ }*/
+ }
+ if (count < 1) return 1;
+
+ int col = 0;
+ int namecol = 0;
+ int pricecol = 0;
+ int purchremarkcol = 0;
+ int purchercol = 0;
+
+ int colCount = dw_cell.GetValidCol(row);
+ for (col = 1; col <= colCount; col++)
+ {
+ head = dw_cell.GetItemString(row, col);
+ if (head == L"Product Name" || head == L"Product Description") namecol = col;
+ if (head == L"FOB Price" || head == L"Fob Price" || head == L"FOB Price(USD)L") pricecol = col;
+ if (head == L"閲囪喘To涓氬姟澶囨敞") purchremarkcol = col;
+ if (head == L"閲囪喘浜哄憳") purchercol = col;
+ }
+
+ xstring items = GetPurchedItems();
+ xaserverarg arg4 ;
+ arg4.setNativePointer(xaserverarg::CreateInstance());
+ trace(items);
+ arg4.AddArg(L"value", items);
+ OpenWindow(L"dev:xpage[QuoteFilePurched.vx]", cast(arg4 as int));
+
+ if (arg4.GetArgString(L"process") != L"ok") return 1;
+ items = arg4.GetArgString(L"value");
+
+ xml x0 ;
+ x0.setNativePointer(xml::CreateInstance());
+ x0.loadXML(items);
+
+ KXMLDOMNodeList ts = x0.selectNodes(L"data/Item[IsSend='1']");
+ int len = ts.length();
+ if (len < 1) return L"";
+
+ xstring content = L"";
+ xstring sdate = publiccode::GetCurrentDate();
+ for (int k = 0; k < len; k++)
+ {
+ KXMLDOMNode node = ts.item(k);
+ xstring id = node.selectSingleNode(L"RowID").text();
+ row = LookupCellRow(id);
+ if (row < 1) continue;
+
+ if (dw_cell.GetItemString(row, colBuyerPrice) == L"")
+ {
+ alert(L"閲囪喘浠锋牸娌℃湁褰曞叆");
+ return 1;
+ }
+ if (dw_cell.GetItemString(row, colGWT) == L"")
+ {
+ alert(L"姣涢噸娌℃湁褰曞叆");
+ return 1;
+ }
+ if (dw_cell.GetItemString(row, colNWT) == L"")
+ {
+ alert(L"鍑�閲嶆病鏈夊綍鍏�");
+ return 1;
+ }
+ if (dw_cell.GetItemString(row, colVolDesc) == L"")
+ {
+ alert(L"闀縓瀹絏楂樻病鏈夊綍鍏�");
+ return 1;
+ }
+ if (dw_cell.GetItemString(row, colFactoryImage) == L"")
+ {
+ alert(L"宸ュ巶鍥剧墖娌℃湁褰曞叆");
+ return 1;
+ }
+ if (dw_cell.GetItemString(row, colSupplier) == L"")
+ {
+ alert(L"渚涘簲鍟嗘病鏈夊綍鍏�");
+ return 1;
+ }
+ if (dw_cell.GetItemString(row, colPOPrice) == L"")
+ {
+ alert(L"閲囪喘浠锋牸娌℃湁褰曞叆");
+ return 1;
+ }
+
+ //if(getRowID(dw_cell,row)==L"") continue;
+ //if(dw_cell.GetItemString(row, colItemName)==L"")continue;
+ xstring itemStr = L"";
+ itemStr += L"<RowID>" + getRowID(dw_cell, row) + L"</RowID>";
+ itemStr += L"<ItemNo>" + dw_cell.GetItemString(row, colItemNo) + L"</ItemNo>";
+ itemStr += L"<ItemName>" + dw_cell.GetItemString(row, colItemName) + L"</ItemName>";
+ itemStr += L"<ItemCName>" + dw_cell.GetItemString(row, colItemCName) + L"</ItemCName>";
+ itemStr += L"<ItemSpec>" + dw_cell.GetItemString(row, colItemSpec) + L"</ItemSpec>";
+ itemStr += L"<BuyerPrice>" + dw_cell.GetItemString(row, colBuyerPrice) + L"</BuyerPrice>";
+ itemStr += L"<ProductInfo>" + dw_cell.GetItemString(row, colProductInfo) + L"</ProductInfo>";
+ itemStr += L"<ProductInfo1>" + dw_cell.GetItemString(row, colProductInfo1) + L"</ProductInfo1>";
+ itemStr += L"<Buyer>" + dw_cell.GetItemString(row, colPurchor) + L"</Buyer>";
+
+ /*
+ if(dw_cell.GetItemString(row, colBuyerPrice)==L"") return L"閲囪喘浠锋牸娌℃湁褰曞叆";
+ if(dw_cell.GetItemString(row, colGWT)==L"") return L"姣涢噸娌℃湁褰曞叆";
+ if(dw_cell.GetItemString(row, colNWT)==L"") return L"鍑�閲嶆病鏈夊綍鍏�";
+ if(dw_cell.GetItemString(row, colVolDesc)==L"") return L"闀縓瀹絏楂樻病鏈夊綍鍏�";
+ if(dw_cell.GetItemString(row, colFactoryImage)==L"") return L"鍥剧墖娌℃湁褰曞叆";
+
+ if(dw_cell.GetItemString(row, colSupplier)==L"") return L"渚涘簲鍟嗘病鏈夊綍鍏�";
+ if(dw_cell.GetItemString(row, colPOPrice)==L"") return L"閲囪喘浠锋牸娌℃湁褰曞叆";
+
+ if(dw_cell.GetItemString(row, colPOPrice1)!=L"")
+ {
+ if(dw_cell.GetItemString(row, colSupplier1)==L"") return L"渚涘簲鍟�1娌℃湁褰曞叆";
+ }
+ if(dw_cell.GetItemString(row, colSupplier1)!=L"")
+ {
+ if(dw_cell.GetItemString(row, colPOPrice1)==L"") return L"閲囪喘浠锋牸1娌℃湁褰曞叆";
+ }
+ if(dw_cell.GetItemString(row, colGWT)!=L"")
+ {
+ if(dw_cell.GetItemString(row, colGWT)==L"") return L"姣涢噸娌℃湁褰曞叆";
+ }
+ if(dw_cell.GetItemString(row, colNWT)!=L"")
+ {
+ if(dw_cell.GetItemString(row, colNWT)==L"") return L"鍑�閲嶆病鏈夊綍鍏�";
+ }
+ if(dw_cell.GetItemString(row, colVolDesc)!=L"")
+ {
+ if(dw_cell.GetItemString(row, colVolDesc)==L"") return L"浣撶Н淇℃伅娌℃湁褰曞叆";
+ }
+ */
+ itemStr += L"<BuyerRemark>" + dw_cell.GetItemString(row, colBuyerRemark) + L"</BuyerRemark>";
+ itemStr += L"<FactoryImage>" + dw_cell.GetItemString(row, colFactoryImage) + L"</FactoryImage>";
+ itemStr += L"<GWT>" + dw_cell.GetItemString(row, colGWT) + L"</GWT>";
+ itemStr += L"<NWT>" + dw_cell.GetItemString(row, colNWT) + L"</NWT>";
+ itemStr += L"<VolDesc>" + dw_cell.GetItemString(row, colVolDesc) + L"</VolDesc>";
+ itemStr += L"<Vol>" + dw_cell.GetItemString(row, colVol) + L"</Vol>";
+ itemStr += L"<F40HQ>" + dw_cell.GetItemString(row, col40HQ) + L"</F40HQ>";
+
+ itemStr += L"<PurchedDate>" + sdate + L"</PurchedDate>";
+ itemStr += L"<supplier-photo>" + getRowTerm(dw_cell, row, L"supplier-photo") + L"</supplier-photo>";
+
+ xstring eid = GetGuid();
+ setRowTerm(dw_cell, row, L"EnquiryLineID", eid);
+ //alert(eid +L" "+ getRowTerm(dw_cell,row,L"EnquiryLineID"));
+ itemStr += L"<EnquiryLineID>" + eid + L"</EnquiryLineID>";
+ content += L"<Item>" + itemStr + L"</Item>";
+
+ dw_cell.SetItemString(row, colSalebackDate, sdate);
+ }
+
+ xstring finished = L"1";
+ for (row = startRow; row <= LastRow; row++)
+ {
+ if (getRowID(dw_cell, row) == L"") continue;
+ if (dw_cell.GetItemString(row, colItemName) == L"")continue;
+ if (dw_cell.GetItemString(row, colSalebackDate) == L"")
+ {
+ finished = L"0";
+ break;
+ }
+ }
+
+ //trace(L"\r\n******11"+sdate);
+ xstring newEntityItemID = ViewObject::GetGuid();
+ xstring datacontent = GetSaleFullData(dw_cell, ts);
+
+ content = L"<data id='" + entityID + L"' itemid='" + newEntityItemID + L"' itemid.piror='" + entityItemID + L"' action='purched' taskid='" + taskid + L"' finished='" + finished + L"'>" + content + L"</data>";
+ xstring myurl = L"/task/quote/purchar/backtosaler";
+ if (content != L"")
+ {
+ trace(L"\r\ntaskid:" + taskid + L" finished:" + finished);
+ ProcessSendMessage(myurl, L"", content, datacontent, true);
+ win32::PostMessage(GetFrameWindow().GetHWND(), 0x401, L"xmRefreshTask", 0);
+ }
+
+ return 1;
+ }
+
+ int OnPurchEx()
+ {
+ xstring str;
+ xstring head;
+ int rowCount = dw_cell.GetRowCount();
+ int row = 1;
+ int headrow = 0;
+ for (row = 1; row <= rowCount; row++)
+ {
+ head = dw_cell.GetItemString(row, 1);
+ if (head == L"SKUID") break;
+ }
+
+ if (row >= rowCount)
+ {
+ alert(L"鎵句笉鍒板晢鍝佽!");
+ return 1;
+ }
+
+ headrow = row;
+ int startRow = headrow + 1;
+ int colCustomerItemNo = getItemCol(dw_cell, headrow, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+ int colItemName = getItemCol(dw_cell, headrow, L"Product Description,Product Name,Item Name");
+ int colItemCName = getItemCol(dw_cell, headrow, L"涓枃鍝佸悕");
+ int colItemSpec = getItemCol(dw_cell, headrow, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+ int colItemQty = getItemCol(dw_cell, headrow, L"鏁伴噺,Qty");
+ //int colItemSpec = getItemCol(dw_cell,headrow,L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+ int colItemPurchDate = getItemCol(dw_cell, headrow, L"涓氬姟鍙戦�侀噰璐椂闂�");
+ int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
+ int colInnerOuter = getItemCol(dw_cell, startRow - 1, L"瑁呯鏁�(鍐�/澶�)L");
+ int col = 0;
+ int namecol = 0;
+ int pricecol = 0;
+ int purchremarkcol = 0;
+ int purchercol = 0;
+
+ int colCount = dw_cell.GetValidCol(row);
+ for (col = 1; col <= colCount; col++)
+ {
+ head = dw_cell.GetItemString(row, col);
+ if (head == L"Product Name" || head == L"Product Description") namecol = col;
+ if (head == L"FOB Price" || head == L"Fob Price" || head == L"FOB Price(USD)L") pricecol = col;
+ if (head == L"閲囪喘To涓氬姟澶囨敞") purchremarkcol = col;
+ if (head == L"閲囪喘浜哄憳") purchercol = col;
+ }
+
+ if (purchercol == 0)
+ {
+ alert(L"鎵句笉鍒伴噰璐汉鍛樻暟鎹�!");
+ return 1;
+ }
+
+ xstring items = GetPurchItems();
+ xaserverarg arg4 ;
+ arg4.setNativePointer(xaserverarg::CreateInstance());
+ trace(items);
+ arg4.AddArg(L"value", items);
+ OpenWindow(L"dev:xpage[QuoteFilePurch.vx]", cast(arg4 as int));
+ if (arg4.GetArgString(L"process") != L"ok") return 1;
+ items = arg4.GetArgString(L"value");
+
+ return 1;
+ }
+
+ int OnNextPurch()
+ {
+ //dw_cell.AcceptText();
+
+ xstring str;
+ xstring head;
+ int rowCount = dw_cell.GetValidRow();
+ int row = 1;
+ int headrow = 0;
+ for (row = 1; row <= rowCount; row++)
+ {
+ head = dw_cell.GetItemString(row, 1);
+ if (head == L"SKUID") break;
+ }
+
+ if (row >= rowCount)
+ {
+ alert(L"鎵句笉鍒板晢鍝佽!");
+ return 1;
+ }
+
+ headrow = row;
+ int startRow = headrow + 1;
+ int colCustomerItemNo = getItemCol(dw_cell, headrow, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+ int colItemName = getItemCol(dw_cell, headrow, L"Product Description,Product Name,Item Name");
+ int colItemCName = getItemCol(dw_cell, headrow, L"涓枃鍝佸悕");
+ int colItemSpec = getItemCol(dw_cell, headrow, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+ int colItemQty = getItemCol(dw_cell, headrow, L"鏁伴噺,Qty");
+ //int colItemSpec = getItemCol(dw_cell,headrow,L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+ int colItemPurchDate = getItemCol(dw_cell, headrow, L"涓氬姟鍙戦�侀噰璐椂闂�");
+ int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
+ int colInnerOuter = getItemCol(dw_cell, startRow - 1, L"瑁呯鏁�(鍐�/澶�)L");
+ int colSalebackDate = getItemCol(dw_cell, startRow - 1, L"閲囪喘鎻愪氦涓氬姟鏃堕棿");
+
+ int col = 0;
+ int namecol = 0;
+ int pricecol = 0;
+ int purchremarkcol = 0;
+ int purchercol = 0;
+
+ int colCount = dw_cell.GetValidCol(row);
+ for (col = 1; col <= colCount; col++)
+ {
+ head = dw_cell.GetItemString(row, col);
+ if (head == L"Product Name" || head == L"Product Description") namecol = col;
+ if (head == L"FOB Price" || head == L"Fob Price" || head == L"FOB Price(USD)L") pricecol = col;
+ if (head == L"閲囪喘To涓氬姟澶囨敞") purchremarkcol = col;
+ if (head == L"閲囪喘浜哄憳") purchercol = col;
+ }
+ if (purchercol == 0)
+ {
+ alert(L"鎵句笉鍒伴噰璐汉鍛樻暟鎹�!");
+ return 1;
+ }
+
+ xstring strs = L",L";
+ row++;
+
+ int colCustomerPhoto = getItemCol(dw_cell, startRow - 1, L"Photo,Customer Photo");
+ int colPackage = getItemCol(dw_cell, startRow - 1, L"Package,鍖呰鏂瑰紡");
+
+ while (row <= rowCount)
+ {
+ str = dw_cell.GetItemString(row, purchercol);
+ if (str == L"")break;
+
+ //ensureRowID(dw_cell,row);
+ if (strs.find(L",L" + str + L",L") < 0)
+ {
+ if (purcher.selectSingleNode(L"//Name[.='" + str + L"']"))
+ {
+ strs += str + L",L";
+ }
+ else
+ {
+ alert(L"娌℃湁閲囪喘鍛橈細" + str);
+ return 1;
+ }
+ }
+ row++;
+ }
+ if (strs == L",L")
+ {
+ alert(L"璇锋寚瀹氶噰璐汉鍛�!");
+ return 1;
+ }
+
+ xstring items = GetPurchItems();
+ xaserverarg arg4 ;
+ arg4.setNativePointer(xaserverarg::CreateInstance());
+ arg4.AddArg(L"value", items);
+ OpenWindow(L"dev:xpage[QuoteFilePurch.vx]", cast(arg4 as int));
+ if (arg4.GetArgString(L"process") != L"ok") return 1;
+ items = arg4.GetArgString(L"value");
+
+ xml x0 ;
+ x0.setNativePointer(xml::CreateInstance());
+ x0.loadXML(items);
+ KXMLDOMNodeList ts1 = x0.selectNodes(L"data/Item");
+ int len1 = ts1.length();
+ for (int m = 0; m < len1; m++)
+ {
+ KXMLDOMNode node = ts1.item(m);
+ xstring rowno = L"";
+ xstring purchar = L"";
+ if (node.selectSingleNode(L"RowNo")) rowno = node.selectSingleNode(L"RowNo").text();
+ if (node.selectSingleNode(L"Purchor")) purchar = node.selectSingleNode(L"Purchor").text();
+ //alert( rowno+L" "+ node.xml);
+ if (rowno != L"")
+ {
+ int row1 = headrow + rowno.toInt();
+ if (dw_cell.GetItemString(row1, purchercol) != purchar)
+ {
+ dw_cell.SetItemString(row1, purchercol, purchar);
+ }
+ }
+ }
+
+ row = headrow + 1;
+ strs = L"";
+ while (row <= rowCount)
+ {
+ str = dw_cell.GetItemString(row, purchercol);
+ if (str == L"")break;
+
+ if (strs.find(L",L" + str + L",L") < 0)
+ {
+ if (purcher.selectSingleNode(L"//Name[.='" + str + L"']"))
+ {
+ strs += str + L",L";
+ }
+ else
+ {
+ alert(L"娌℃湁閲囪喘鍛橈細" + str);
+ return 1;
+ }
+ }
+ row++;
+ }
+ //return 1;
+
+ xstring cellstr = dw_cell.GetData();
+ xcell cell1 = GetControl(L"dw_cell1");
+ xml x ;
+
+
+ if (strs.left(1) == L",L") strs = strs.mid(1, 9999);
+ if (strs.right(1) == L",L") strs = strs.left(strs.length() - 1);
+
+ xstring purchors = strs;
+
+ xstring supplier;
+ if (strs.find(L",L", 0) > 0)
+ {
+ supplier = strs.left(strs.find(L",L", 0));
+ strs = strs.mid(strs.find(L",L", 0) + 1, 9999);
+ }
+ else
+ {
+ supplier = strs;
+ strs = L"";
+ }
+
+ xstring username = publiccode::GetUser().name;
+
+ while (supplier != L"")
+ {
+ KXMLDOMNodeList ts = x0.selectNodes(L"data/Item[IsSend='1' and Purchor='" + supplier + L"']");
+ int len = ts.length();
+ if (supplier == username) len = 0;
+ if (len < 1)
+ {
+ if (strs.find(L",L", 0) > 0)
+ {
+ supplier = strs.left(strs.find(L",L", 0));
+ strs = strs.mid(strs.find(L",L", 0) + 1, 9999);
+ }
+ else
+ {
+ supplier = strs;
+ strs = L"";
+ }
+ continue;
+ }
+ x.loadXML(cellstr);
+ cell1.LoadTemplate(x);
+ cell1.Redraw();
+
+ row = headrow + 1;
+ int cnt = 1;
+ while (true)
+ {
+ str = L"";
+ str = cell1.GetItemString(row, purchercol);
+ if (str == L"")break;
+ if (str != supplier)
+ {
+ cell1.SetRowColumn(row, 1);
+ cell1.SetAnchorRowColumn(row, 1);
+ SendCtrlCmd(cell1, L"xmFormatCellDeleteRow");
+ }
+ else
+ {
+ KXMLDOMNode n = x0.selectSingleNode(L"data/Item[IsSend='1' and Purchor='" + supplier + L"' and RowNo='" + xstring(cnt) + L"']");
+ if (!n)
+ {
+ cell1.SetRowColumn(row, 1);
+ cell1.SetAnchorRowColumn(row, 1);
+ SendCtrlCmd(cell1, L"xmFormatCellDeleteRow");
+ }
+ else
+ {
+ row = row + 1;
+ }
+ }
+ cnt++;
+ if (cnt > 512)break;
+ }
+
+ cell1.SetRowColumn(1, 1);
+ cell1.SetAnchorRowColumn(1, 1);
+
+ row = headrow + 1;
+ rowCount = cell1.GetValidRow();
+
+
+ if (SendToPurcher(supplier, cell1.GetData()) == -1) return 1;
+ if (strs.find(L",L", 0) > 0)
+ {
+ supplier = strs.left(strs.find(L",L", 0));
+ strs = strs.mid(strs.find(L",L", 0) + 1, 9999);
+ }
+ else
+ {
+ supplier = strs;
+ strs = L"";
+ }
+ }
+
+ //update purch
+ if (1 == 0)
+ {
+ //trace(L"\r\nentityID:"+entityID);
+ xml x2 = ViewObject::RetrieveData(L"/sale/data/TO/business/documententity", L"BusinessID", entityID);
+ if (x2)
+ {
+ //trace(x2.GetXml());
+ cell1.LoadTemplate(x2);
+ cell1.Redraw();
+ }
+ else
+ {
+ alert(L"鍑虹幇閿欒");
+ return 1;
+ }
+
+ xstring head1;
+ int rowCount1 = cell1.GetValidRow();
+ int row2 = 1;
+ int headrow1 = 0;
+ int startrow1 = 0;
+ for (row2 = 1; row2 <= rowCount1; row2++)
+ {
+ head1 = cell1.GetItemString(row2, 1);
+ if (head1 == L"SKUID") break;
+ }
+
+ headrow1 = row2;
+ startrow1 = headrow1 + 1;
+ int purchercol1 = getItemCol(cell1, headrow1, L"閲囪喘浜哄憳");
+ }
+
+ //Clear
+ if (1 == 1)
+ {
+ row = headrow + 1;
+ strs = L"";
+ while (row <= rowCount)
+ {
+ str = dw_cell.GetItemString(row, purchercol);
+ if (str == L"")break;
+ row++;
+ }
+ int lastrow = row - 1;
+ row = headrow + 1;
+ int drow = 0;
+ while (lastrow >= row)
+ {
+ supplier = L"";
+ supplier = dw_cell.GetItemString(lastrow, purchercol);
+ if (supplier != username)
+ {
+ KXMLDOMNode n1 = x0.selectSingleNode(L"data/Item[IsSend='1' and Purchor='" + supplier + L"' and RowNo='" + (lastrow - row + 1).toString() + L"']");
+ if (n1)
+ {
+ xstring rowid = getRowID(dw_cell, lastrow);
+ int frow = LookupCellRow(rowid);
+ if (0 == 1)
+ {
+ if (drow > 0)cell1.SetItemString(frow, purchercol1, supplier);
+ }
+ dw_cell.SetRowColumn(lastrow, 1);
+ dw_cell.SetAnchorRowColumn(lastrow, 1);
+ SendCtrlCmd(dw_cell, L"xmFormatCellDeleteRow");
+ drow++;
+ }
+ }
+ lastrow--;
+ }
+ }
+
+ xstring finished = L"1";
+ for (row = startRow; row <= rowCount; row++)
+ {
+ if (getRowID(dw_cell, row) == L"") continue;
+ if (dw_cell.GetItemString(row, colItemName) == L"")continue;
+ if (dw_cell.GetItemString(row, colSalebackDate) == L"")
+ {
+ finished = L"0";
+ break;
+ }
+ }
+
+ if (0 == 1)OnUpdateEntityFile();
+ OnUpdate();
+
+ if (finished == L"1")
+ {
+ OnUpdateProcessed();
+ alert(L"xxxxx");
+ }
+
+ //OnSaveEx(true);
+ //alert(L"璇环淇℃伅宸插彂閫佺粰:"+purchors);
+ return 1;
+ }
+
+ int OnPurch()
+ {
+ xstring str;
+ xstring head;
+ int rowCount = dw_cell.GetRowCount();
+ int row = 1;
+ int headrow = 0;
+ for (row = 1; row <= rowCount; row++)
+ {
+ head = dw_cell.GetItemString(row, 1);
+ if (head == L"SKUID") break;
+ }
+
+ if (dw_base.GetItemString(1, L"CustomerID") == L"")
+ {
+ alert(L"璇疯緭鍏ユ姤浠风殑瀹㈡埛!");
+ return 1;
+ }
+
+ if (row >= rowCount)
+ {
+ alert(L"鎵句笉鍒板晢鍝佽!");
+ return 1;
+ }
+
+ if (getBaseItem(dw_cell, L"鎶ヤ环鎴鏃ユ湡锛�") == L"")
+ {
+ if (getBaseItem(dw_cell, L"鎶ヤ环鎴鏃ユ湡:") == L"")
+ {
+ alert(L"鎶ヤ环鎴鏃ユ湡鏈緭鍏�!");
+ return 1;
+ }
+ }
+
+ if (getBaseItem(dw_cell, L"椤圭洰鍚嶇О:") == L"")
+ {
+ if (getBaseItem(dw_cell, L"椤圭洰鍚嶇О锛�") == L"")
+ {
+ alert(L"椤圭洰鍚嶇О鏈緭鍏�!");
+ return 1;
+ }
+ }
+
+ headrow = row;
+ int startRow = headrow + 1;
+ int colCustomerItemNo = getItemCol(dw_cell, headrow, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+ int colItemName = getItemCol(dw_cell, headrow, L"Product Description,Product Name,Item Name");
+ int colItemCName = getItemCol(dw_cell, headrow, L"涓枃鍝佸悕");
+ int colItemSpec = getItemCol(dw_cell, headrow, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+ int colItemQty = getItemCol(dw_cell, headrow, L"鏁伴噺,Qty");
+ //int colItemSpec = getItemCol(dw_cell,headrow,L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+ int colItemPurchDate = getItemCol(dw_cell, headrow, L"涓氬姟鍙戦�侀噰璐椂闂�");
+ int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
+ int colInnerOuter = getItemCol(dw_cell, startRow - 1, L"瑁呯鏁�(鍐�/澶�)L");
+
+ int col = 0;
+ int namecol = 0;
+ int pricecol = 0;
+ int purchremarkcol = 0;
+ int purchercol = 0;
+
+ int colCount = dw_cell.GetValidCol(row);
+ for (col = 1; col <= colCount; col++)
+ {
+ head = dw_cell.GetItemString(row, col);
+ if (head == L"Product Name" || head == L"Product Description") namecol = col;
+ if (head == L"FOB Price" || head == L"Fob Price" || head == L"FOB Price(USD)L") pricecol = col;
+ if (head == L"閲囪喘To涓氬姟澶囨敞") purchremarkcol = col;
+ if (head == L"閲囪喘浜哄憳") purchercol = col;
+ }
+ if (purchercol == 0)
+ {
+ alert(L"鎵句笉鍒伴噰璐汉鍛樻暟鎹�!");
+ return 1;
+ }
+
+ xstring strs = L",L";
+ row++;
+
+ int colCustomerPhoto = getItemCol(dw_cell, startRow - 1, L"Photo,Customer Photo");
+ int colPackage = getItemCol(dw_cell, startRow - 1, L"Package,鍖呰鏂瑰紡");
+
+ while (row <= rowCount)
+ {
+ str = dw_cell.GetItemString(row, purchercol);
+ if (str == L"")break;
+
+ /*if(dw_cell.GetItemString(row,colCustomerItemNo)==L"")
+ {
+ alert(L"绗�"+xstring(row)+L"琛岃杈撳叆瀹㈡埛鍨嬪彿!");
+ return 1;
+ }*/
+ if (dw_cell.GetItemString(row, colItemName) == L"" || dw_cell.GetItemString(row, colItemCName) == L"")
+ {
+ alert(L"绗�" + xstring(row) + L"琛岃杈撳叆浜у搧鍚嶇О!");
+ return 1;
+ }
+ if (dw_cell.GetItemString(row, colPackage) == L"")
+ {
+ alert(L"绗�" + xstring(row) + L"琛岃杈撳叆浜у搧鍖呰鏂瑰紡!");
+ return 1;
+ }
+ if (dw_cell.GetItemString(row, colCustomerPhoto) == L"")
+ {
+ alert(L"绗�" + xstring(row) + L"琛岃閫夋嫨瀹㈡埛鍥剧墖!");
+ return 1;
+ }
+ if (dw_cell.GetItemString(row, colInnerOuter) == L"")
+ {
+ alert(L"绗�" + xstring(row) + L"琛岃褰曞叆鍐呭绠辫鏁�!");
+ return 1;
+ }
+ /*if(dw_cell.GetItemString(row,col40HQ)==L"")
+ {
+ alert(L"绗�"+xstring(row)+L"琛�40HQ鐨勬暟鎹槸绌虹殑!");
+ return 1;
+ }*/
+
+ /*if(dw_cell.GetItemString(row,colItemQty)==L"")
+ {
+ alert(L"绗�"+xstring(row)+L"琛屾暟閲忔槸绌虹殑!");
+ return 1;
+ }*/
+
+ ensureRowID(dw_cell, row);
+ if (strs.find(L",L" + str + L",L") < 0)
+ {
+ if (purcher.selectSingleNode(L"//Name[.='" + str + L"']"))
+ {
+ strs += str + L",L";
+ }
+ else
+ {
+ alert(L"娌℃湁閲囪喘鍛橈細" + str);
+ return 1;
+ }
+ }
+ row++;
+ }
+ if (strs == L",L")
+ {
+ alert(L"鎵句笉鍒伴噰璐汉鍛樻暟鎹�!");
+ return 1;
+ }
+
+ xstring items = GetPurchItems();
+ xaserverarg arg4 ;
+ arg4.setNativePointer(xaserverarg::CreateInstance());
+ trace(items);
+ arg4.AddArg(L"value", items);
+ OpenWindow(L"dev:xpage[QuoteFilePurch.vx]", cast(arg4 as int));
+ if (arg4.GetArgString(L"process") != L"ok") return 1;
+ items = arg4.GetArgString(L"value");
+
+ xstring cellstr = dw_cell.GetData();
+ xcell cell1 = GetControl(L"dw_cell1");
+ xml x ;
+
+
+ if (strs.left(1) == L",L") strs = strs.mid(1, 9999);
+ if (strs.right(1) == L",L") strs = strs.left(strs.length() - 1);
+
+ xstring purchors = strs;
+
+ xstring supplier;
+ if (strs.find(L",L", 0) > 0)
+ {
+ supplier = strs.left(strs.find(L",L", 0));
+ strs = strs.mid(strs.find(L",L", 0) + 1, 9999);
+ }
+ else
+ {
+ supplier = strs;
+ strs = L"";
+ }
+
+ xml x0 ;
+ x0.setNativePointer(xml::CreateInstance());
+ x0.loadXML(items);
+
+ while (supplier != L"")
+ {
+ KXMLDOMNodeList ts = x0.selectNodes(L"data/Item[IsSend='1' and Purchor='" + supplier + L"']");
+ int len = ts.length();
+ if (len < 1)
+ {
+ if (strs.find(L",L", 0) > 0)
+ {
+ supplier = strs.left(strs.find(L",L", 0));
+ strs = strs.mid(strs.find(L",L", 0) + 1, 9999);
+ }
+ else
+ {
+ supplier = strs;
+ strs = L"";
+ }
+ continue;
+ }
+ x.loadXML(cellstr);
+ cell1.LoadTemplate(x);
+ cell1.Redraw();
+
+ row = headrow + 1;
+ int cnt = 1;
+ while (true)
+ {
+ str = L"";
+ str = cell1.GetItemString(row, purchercol);
+ if (str == L"")break;
+ if (str != supplier)
+ {
+ cell1.SetRowColumn(row, 1);
+ cell1.SetAnchorRowColumn(row, 1);
+ SendCtrlCmd(cell1, L"xmFormatCellDeleteRow");
+ }
+ else
+ {
+ trace(L"\r\ndata/Item[IsSend='1' and Purchor='" + supplier + L"' and RowNo='" + xstring(cnt) + L"']");
+ KXMLDOMNode n = x0.selectSingleNode(L"data/Item[IsSend='1' and Purchor='" + supplier + L"' and RowNo='" + xstring(cnt) + L"']");
+ if (!n)
+ {
+ cell1.SetRowColumn(row, 1);
+ cell1.SetAnchorRowColumn(row, 1);
+ SendCtrlCmd(cell1, L"xmFormatCellDeleteRow");
+ }
+ else
+ {
+ if (colItemPurchDate > 0)
+ {
+ xstring sdate = publiccode::GetCurrentDate();
+ dw_cell.SetItemString(headrow + cnt, colItemPurchDate, sdate);
+ cell1.SetItemString(row, colItemPurchDate, sdate);
+ dw_cell.Redraw();
+ }
+ row = row + 1;
+ }
+ }
+ cnt++;
+ if (cnt > 512)break;
+ }
+
+ if (pricecol > 0)
+ {
+
+ cell1.SetRowColumn(1, purchercol);
+ cell1.SetAnchorRowColumn(1, purchercol);
+ SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
+ cell1.SetItemString(headrow, purchercol, L"涓氬姟鍛�");
+
+ cell1.SetRowColumn(1, pricecol);
+ cell1.SetAnchorRowColumn(1, pricecol);
+ SendCtrlCmd(cell1, L"xmFormatCellDeleteCol");
+
+
+ cell1.SetRowColumn(1, purchremarkcol + 1);
+ cell1.SetAnchorRowColumn(1, purchremarkcol + 1);
+ SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
+ SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
+ SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
+ SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
+ SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
+ SendCtrlCmd(cell1, L"xmFormatCellInsertCol");
+
+ cell1.SetItemString(headrow, purchremarkcol + 1, L"渚涘簲鍟�");
+ cell1.SetItemString(headrow, purchremarkcol + 2, L"绫诲瀷");
+ cell1.SetItemString(headrow, purchremarkcol + 3, L"浠锋牸");
+ cell1.SetItemString(headrow, purchremarkcol + 4, L"渚涘簲鍟�1");
+ cell1.SetItemString(headrow, purchremarkcol + 5, L"绫诲瀷1");
+ cell1.SetItemString(headrow, purchremarkcol + 6, L"浠锋牸1");
+
+ int colRemark = getItemCol(cell1, headrow, L"Remarks");
+ cell1.SetRowColumn(1, colRemark);
+ cell1.SetAnchorRowColumn(1, colRemark);
+ SendCtrlCmd(cell1, L"xmFormatCellDeleteCol");
+ }
+ cell1.SetRowColumn(1, 1);
+ cell1.SetAnchorRowColumn(1, 1);
+
+ row = headrow + 1;
+ rowCount = cell1.GetValidRow();
+ while (row <= rowCount)
+ {
+ str = cell1.GetItemString(row, purchercol);
+ if (str == L"")break;
+ xstring susername = publiccode::GetUser().name;
+ cell1.SetItemString(row, purchercol - 1, susername);
+ row++;
+ }
+
+ if (SendToPurcher(supplier, cell1.GetData()) == -1) return 1;
+ if (strs.find(L",L", 0) > 0)
+ {
+ supplier = strs.left(strs.find(L",L", 0));
+ strs = strs.mid(strs.find(L",L", 0) + 1, 9999);
+ }
+ else
+ {
+ supplier = strs;
+ strs = L"";
+ }
+
+ }
+ OnUpdate();
+ //OnSaveEx(true);
+ //alert(L"璇环淇℃伅宸插彂閫佺粰:"+purchors);
+
+ return 1;
+ }
+
+ //鐒︾偣婵�娲诲鐞嗗嚱鏁�
+ int OnSetFocus(ref TEvent evt, int param)
+ {
+ //閲嶇疆宸ュ叿鏉�
+ SetAgent();
+ return 1;
+ }
+
+ int OpenTemplate(xstring id)
+ {
+ xml x = ViewObject::RetrieveData(L"/sale/data/TO/template/param", L"TemplateID", id);
+
+ xml sheet ;
+ sheet.setNativePointer(x.CreateInstance());
+ sheet.loadXML(x.selectSingleNode(L"data/*").xml);
+
+ dw_cell.LoadTemplate(sheet);
+ dw_cell.Redraw();
+
+ return 1;
+ }
+
+ int OpenDocument(xstring id)
+ {
+ trace(L"BusinessItemID:" + id);
+ xml x = ViewObject::RetrieveData(L"/sale/data/TO/business/document", L"BusinessItemID", id);
+
+ /*
+ xml sheet ;
+ sheet.setNativePointer(x.CreateInstance());
+ sheet.loadXML(x.selectSingleNode(L"data/*").xml);
+ */
+
+ //trace(x.xml());
+ dw_cell.LoadTemplate(x);
+ dw_cell.Redraw();
+
+ return 1;
+ }
+
+ xml GetProduct(xstring GoodsNo)
+ {
+ return ViewObject::RetrieveData(L"/sale/data/ProductLibrary3/ProductByGoodsNoWithShip", L"GoodsNo", GoodsNo);
+ }
+
+ int OpenDocumentEntity(xstring id)
+ {
+ xml x = ViewObject::RetrieveData(L"/sale/data/TO/business/documententity", L"BusinessID", id);
+
+ /*
+ xml sheet ;
+ sheet.setNativePointer(x.CreateInstance());
+ sheet.loadXML(x.selectSingleNode(L"data/*").xml);
+ */
+
+ dw_cell.LoadTemplate(x);
+ dw_cell.Redraw();
+
+ return 1;
+ }
+
+ int Reset()
+ {
+ action = L"new";
+ entityID = L"";
+ entityItemID = L"";
+ templateID = L"";
+ return 1;
+ }
+
+
+ static stdcall int GetModuleFileName(int hModule, xstring lpFileName, int nSize) native from "kernel32.dll" alias "GetModuleFileNameW";
+ static stdcall int PathRemoveFileSpec(xstring lpFileName) native from "shlwapi.dll" alias "PathRemoveFileSpecW";
+
+ xstring GetModulePath()
+ {
+ xstring str = L"";
+ str = str.space(255);
+ GetModuleFileName(0, str, 250);
+ PathRemoveFileSpec(str);
+ return str;
+ }
+
+ xstring GetModuleTmpPath()
+ {
+ xstring str = L"";
+ str = str.space(255);
+ GetModuleFileName(0, str, 250);
+ PathRemoveFileSpec(str);
+ xstring tmp = str + L"\\Temp";
+ xaserver::CreateDirectory(tmp);
+ return tmp;
+ }
+
+ xstring UploadImage(xstring guid)
+ {
+ return UploadImage(guid, L"");
+ }
+
+ xstring UploadImage(xstring guid, xstring filename)
+ {
+ xstring name = guid + L".jpg";
+ xstring str = name.mid(0, 2);
+ str = str.upper();
+ int ret = 1;
+ if (filename != L"")
+ ret = xaserver::Upload(L"product" + str, name, filename, this.GetHWND(), L"", false);
+ else
+ ret = xaserver::Upload(L"product" + str, name, this.GetHWND(), L"", false);
+ if (ret == -1) return L"";
+ if (ret == 0)
+ {
+ alert(L"鍥剧墖涓婁紶澶辫触锛�");
+ return L"";
+ }
+ return GetImageUrl(guid);
+
+ /*
+ xstring appPath = GetModuleTmpPath();
+ xaserver::CreateDirectory(appPath);
+ ret = xaserver::DownLoadFile(GetServerUrl(),L"/business/products/chanpin/"+str+L"/"+name,name,appPath+L"/"+name);
+ if(ret < 0)
+ {
+ alert(L"鍥剧墖涓嬭浇澶辫触1锛�");
+ return L"";
+ }
+
+ xutil::SmallImage(appPath+L"\\"+name,appPath+L"\\"+L"x_"+name,120,120);
+ int ret_1 = xaserver::Upload(L"product"+str, L"x_"+name,appPath+L"\\x_"+name, this.GetHWND(),L"",false);
+ //xaserver::DeleteFile(appPath+L"x_"+name);
+ //xaserver::DeleteFile(appPath+name);
+ if(ret_1 != 1)
+ {
+ alert(L"涓婁紶缂╃暐鍥惧け璐�!");
+ return L"";
+ }
+ return appPath+L"/"+name;
+ */
+ }
+
+ xstring UploadImage1(xstring guid, xstring filename)
+ {
+ xstring name = guid + L".jpg";
+ xstring str = name.mid(0, 2);
+ str = str.upper();
+ int ret = 1;
+ if (filename != L"")
+ ret = xaserver::Upload(L"product" + str, name, filename, this.GetHWND(), L"", false);
+ else
+ ret = xaserver::Upload(L"product" + str, name, this.GetHWND(), L"", false);
+ if (ret == -1) return L"";
+ if (ret == 0)
+ {
+ alert(L"鍥剧墖涓婁紶澶辫触锛�");
+ return L"";
+ }
+
+ xstring appPath = GetModuleTmpPath();
+ xaserver::CreateDirectory(appPath);
+ ret = xaserver::DownLoadFile(GetServerUrl(), L"/business/products/chanpin/" + str + L"/" + name, name, appPath + L"/" + name);
+ if (ret < 0)
+ {
+ alert(L"鍥剧墖涓嬭浇澶辫触1锛�");
+ return L"";
+ }
+
+ xutil::SmallImage(appPath + L"\\" + name, appPath + L"\\" + L"x_" + name, 120, 120);
+ int ret_1 = xaserver::Upload(L"product" + str, L"x_" + name, appPath + L"\\x_" + name, this.GetHWND(), L"", false);
+ //xaserver::DeleteFile(appPath+L"x_"+name);
+ //xaserver::DeleteFile(appPath+name);
+ if (ret_1 != 1)
+ {
+ alert(L"涓婁紶缂╃暐鍥惧け璐�!");
+ return L"";
+ }
+ return appPath + L"/" + name;
+ }
+
+ int ClearImageTerm(int row, xstring tm)
+ {
+ xstring str = dw_cell.GetItemString(row, 0);
+ if (str.right(1) != L";") str += L";";
+ if (str.find(tm + L":") >= 0)
+ {
+ int pos = str.find(L";", str.find(tm + L":") + 1);
+ if (pos < 0) return 1;
+ str = str.left(str.find(tm + L":")) + str.mid(pos, 99999);
+ }
+ return 1;
+ }
+
+ int AddImageTermEx(int row, xstring tm, xstring guid, xstring path = L"")
+ {
+ ximageview im = GetControl(L"frame:im1");
+ xstring str = dw_cell.GetItemString(row, 0);
+ if (str.right(1) != L";") str += L";";
+ if (str.find(tm + L":") >= 0)
+ {
+ int pos = str.find(L";", str.find(tm + L":") + 1);
+ if (pos < 0) return 1;
+ str = str.left(pos) + L",L" + guid + str.mid(pos, 99999);
+ }
+ else
+ {
+ str += tm + L":" + guid + L";";
+ }
+ dw_cell.SetItemString(row, 0, str);
+ return 1;
+ }
+
+ int AddImageTerm(int row, xstring tm, xstring guid, xstring path = L"")
+ {
+ ximageview im = GetControl(L"frame:im1");
+ xstring str = dw_cell.GetItemString(row, 0);
+ if (str.right(1) != L";") str += L";";
+ if (str.find(tm + L":") >= 0)
+ {
+ int pos = str.find(L";", str.find(tm + L":") + 1);
+ if (pos < 0) return 1;
+ if (pos > 0 && str.mid(pos - 1, 1) == L":")
+ str = str.left(pos) + guid + str.mid(pos, 99999);
+ else
+ str = str.left(pos) + L",L" + guid + str.mid(pos, 99999);
+ }
+ else
+ {
+ str += tm + L":" + guid + L";";
+ }
+
+ xstring goodno = L"瀹㈡埛鍥剧墖";
+ if (tm == L"supplier-photo") goodno = L"渚涘簲鍟嗗浘鐗�";
+ xstring picname = path;
+ if (picname == L"") picname = L"/business/products/chanpin/" + guid.left(2) + L"/" + guid + L".jpg";
+ im.AddImages(picname, goodno);
+ im.Redraw();
+ dw_cell.SetItemString(row, 0, str);
+ //trace(L"\r\n"+str);
+ return 1;
+ }
+
+ int getItemCount(xstring str, xstring tm)
+ {
+ if (str.find(tm + L":") < 0) return 0;
+ int pos = str.find(L";", str.find(tm + L":") + 1);
+ if (pos < 0) pos = str.length() + 1;
+
+ xstring images = str.mid(str.find(tm + L":") + (tm + L":").length(), 99999);
+ images = images.left(pos);
+
+ int spos = 0;
+ int count = 0;
+ while (true)
+ {
+ count++;
+ spos = images.find(L",L", spos + 1);
+ if (spos < 0) break;
+ }
+ trace(L" count:" + xstring(count));
+ return count;
+ }
+
+ int OnImageDel()
+ {
+ int row = dw_cell.GetRow();
+ int startRow = getItemHeadRow(dw_cell);
+
+ //娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+ if (startRow < 1) return 0;
+ startRow++;
+ int colPhoto = getItemCol(dw_cell, startRow - 1, L"Photo,Customer Photo");
+ int colPhoto1 = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
+ if (row < startRow) return 0;
+
+ xstring str = dw_cell.GetItemString(row, 0);
+ xstring tm = L"customer-photo";
+ int colimage = colPhoto;
+
+ int sindex = 0;
+ int cindex = 0;
+
+ ximageview im = GetControl(L"frame:im1");
+ int index = im.GetSelectIndex();
+ if (index < 0 || index > im.GetImageCount()) return 1;
+
+ if (action == L"purch")
+ {
+ tm = L"supplier-photo";
+ colimage = colPhoto1;
+ sindex = getItemCount(str, L"customer-photo");
+ }
+ else
+ {
+ trace(L"index:" + xstring(index) + L"--" + L"cnt:" + xstring(getItemCount(str, L"customer-photo")));
+ if (index >= getItemCount(str, L"customer-photo"))
+ return 1;
+ }
+
+ if (str.find(tm + L":"))
+ {
+ //trace(xstring(index)+L"-"+xstring(sindex));
+
+ index -= sindex;
+ if (index < 0) return 1;
+
+ int pos = str.find(L";", str.find(tm + L":") + 1);
+ if (pos < 0) pos = str.length() + 1;
+
+ xstring imageurl = im.GetImageUrl(index + sindex);
+ xstring images = str.mid(str.find(tm + L":") + (tm + L":").length(), 99999);
+ images = images.left(pos);
+ int spos = 0;
+ int i = 0;
+
+ if (action != L"purch" && index == 0 && getItemCount(str, L"customer-photo") == 1)
+ {
+ images = L";";
+ }
+ else
+ {
+ while (true)
+ {
+ if (i == index) break;
+ spos = images.find(L",L", spos + 1);
+ if (spos < 0) break;
+ i++;
+ }
+ int epos = images.find(L",L", spos + 1);
+ if (spos >= 0)
+ {
+ if (epos < 0)
+ images = images.left(spos);
+ else
+ images = images.left(spos) + images.mid(epos, 99999);
+ }
+ if (images.right(1) != L";") images += L";";
+ }
+
+ str = str.left(str.find(tm + L":") + (tm + L":").length()) + images + str.mid(pos + 1, 99999);
+ dw_cell.SetItemString(row, 0, str);
+
+
+ if (index >= 0) im.RemoveImage(index + sindex);
+ //im.ResetEx();
+ im.Redraw();
+ if (index == 0)dw_cell.SetItemString(row, colimage, L"");
+
+ if (im.GetImageCount() - sindex >= 1)
+ {
+ if (images.find(L",L") == 0) images = images.mid(1, 9999);
+ int pos1 = images.find(L",L");
+ if (pos1 < 0) pos1 = images.find(L";");
+ xstring id = images;
+ if (pos1 >= 0) id = images.left(pos1);
+
+ if (id != L"")
+ {
+ xstring name = id + L".jpg";
+
+ //xstring appPath = GetModuleTmpPath();
+ //xaserver::CreateDirectory(appPath);
+ //xaserver::DownLoadFile(GetServerUrl(),L"/business/products/chanpin/"+id.left(2)+L"/"+name,name,appPath+L"/"+name);
+
+ if (startRow > 1)
+ {
+ xstring props = dw_cell.GetCellProps(row, colimage);
+ props = L"<cellprop><edit edittype='image'/></cellprop>";
+ dw_cell.SetCellProps(row, colPhoto, props);
+ dw_cell.SetItemString(row, colimage, GetImageUrl(id));
+ }
+ }
+ }
+ }
+ else
+ dw_cell.SetItemString(row, colimage, L"");
+ dw_cell.Redraw();
+
+ return 1;
+ }
+
+ int OnImageAdd1()
+ {
+ int row = dw_cell.GetRow();
+ int startRow = getItemHeadRow(dw_cell);
+
+ //娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+ if (startRow < 1) return 0;
+ startRow++;
+ int colPhoto = getItemCol(dw_cell, startRow - 1, L"Photo,Customer Photo");
+ int colPhoto1 = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
+ int LastRow = dw_cell.GetValidRow();
+ if (row < startRow) return 0;
+
+ xstring props = dw_cell.GetCellProps(row, colPhoto);
+ props = L"<cellprop><edit edittype='image'/></cellprop>";
+ dw_cell.SetCellProps(row, colPhoto, props);
+ dw_cell.SetCellProps(row, colPhoto1, props);
+
+ xstring appPath = GetModuleTmpPath();
+ xstring guid = ViewObject::GetGuid();
+ xstring filename1 = UploadImage(guid);
+ if (filename1 != L"")
+ {
+ if (action == L"purch")
+ {
+ //dw_cell.SetItemString(row,colPhoto1,file);
+ AddImageTerm(row, L"supplier-photo", guid);
+ if (dw_cell.GetItemString(row, colPhoto1) == L"")
+ dw_cell.SetItemString(row, colPhoto1, appPath + L"\\" + L"x_" + guid + L".jpg");
+ }
+ else
+ {
+ //dw_cell.SetItemString(row,colPhoto,file);
+ AddImageTerm(row, L"customer-photo", guid);
+ if (dw_cell.GetItemString(row, colPhoto) == L"")
+ dw_cell.SetItemString(row, colPhoto, appPath + L"\\" + L"x_" + guid + L".jpg");
+ }
+ dw_cell.SetRowHeight(row, dw_cell.GetRowHeight(row));
+ dw_cell.Redraw();
+ Redraw();
+ }
+
+ return 1;
+ }
+
+ int GetOpenFileNames(StringArray items, xstring initFileName, xstring filter, xstring ext)
+ {
+ //xstring path = GetOpenFileName(L"",
+ // "JPEG 鏂囦欢(*.jpg)\0*.jpg;*.jpeg;*.png;*.gif;*.bmp\0鍏ㄩ儴鏂囦欢(*.*)\0*.*\0",
+ // "jpg");
+
+ char[] szFileName = new char[4096];
+ char[] szPath = new char[4096];
+ szFileName[0] = 0;
+ szPath[0] = 0;
+
+ if (initFileName != L"")
+ {
+ int len = initFileName.length();
+ char[] tmp = initFileName;
+ for (int i = 0; i < len + 1; i++)
+ {
+ //szFileName[i] = tmp[i];
+ szPath[i] = tmp[i];
+ }
+ }
+
+ int nFilterIndex = 1;
+ ref OPENFILENAMEW ofn = new OPENFILENAMEW;
+
+ ofn.lStructSize = 88;//sizeof(ofn);
+ ofn.hwndOwner = 0;
+ ofn.hInstance = 0;
+ ofn.lpstrFilter = filter;
+ //"JPEG 鏂囦欢(*.jpg)\0*.jpg;*.jpeg;*.png;*.gif;*.bmp\0鍏ㄩ儴鏂囦欢(*.*)\0*.*\0";
+ ofn.lpstrCustomFilter = 0;
+ ofn.nMaxCustFilter = 0;
+ ofn.nFilterIndex = nFilterIndex;
+ ofn.lpstrFile = szPath;
+ ofn.nMaxFile = 4096;
+ ofn.lpstrFileTitle = szFileName;
+ ofn.nMaxFileTitle = 4096;
+ ofn.lpstrTitle = L"璇锋寚瀹氭枃浠跺悕";
+ ofn.lpstrDefExt = ext;
+ //"jpg";
+ ofn.lpstrInitialDir = 0;
+ ofn.Flags = 0x00000010/*OFN_SHOWHELP*/ | 0x00001000/*OFN_FILEMUSTEXIST*/
+ | 0x00000200 /*OFN_ALLOWMULTISELECT*/ | 0x00080000 /*OFN_EXPLORER*/;
+ ofn.lCustData = 0;
+ ofn.lpfnHook = 0;
+ ofn.lpTemplateName = 0;
+
+ ofn.nFileOffset = 0;
+ ofn.nFileExtension = 0;
+
+ //debugbreak();
+ if (file::GetOpenFileName(ofn))
+ {
+ int pos = ofn.nFileOffset & 0xffff;
+ xstring path = szPath;
+ if (pos < path.length()) //select one
+ {
+ items.push_back(path + L"");
+ }
+ else
+ {
+ int start = cast(szPath as int);
+ start += pos * 2;
+ xstring str = cast(start as xstring);
+ while (true)
+ {
+ if (str == L"")break;
+ items.push_back(path + L"/" + str);
+ start += (str.length() + 1) * 2;
+ str = cast(start as xstring);
+ }
+ }
+ }
+ delete szFileName;
+ delete szPath;
+ delete ofn;
+
+ return items.length();
+ }
+
+ int OnImageAddEx()
+ {
+ int row = dw_cell.GetRow();
+ int startRow = getItemHeadRow(dw_cell);
+
+ //娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+ if (startRow < 1) return 0;
+ startRow++;
+ int colPhoto = getItemCol(dw_cell, startRow - 1, L"Photo,Customer Photo");
+ int colPhoto1 = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
+ int LastRow = dw_cell.GetValidRow();
+ if (row < startRow) return 0;
+
+ xstring appPath = GetModuleTmpPath();
+ StringArray items;
+ items = StringArray::make();
+ GetOpenFileNames(items, L"",
+ "JPEG 鏂囦欢(*.jpg)\0*.jpg;*.jpeg;*.png;*.gif;*.bmp\0鍏ㄩ儴鏂囦欢(*.*)\0*.*\0",
+ "jpg");
+ if (items.length() < 1) return 1;
+
+ int sRow = row;
+ for (int i = 0; i < items.length(); i++)
+ {
+ row = sRow + i;
+ xstring props = dw_cell.GetCellProps(row, colPhoto);
+ props = L"<cellprop><edit edittype='image'/></cellprop>";
+ dw_cell.SetCellProps(row, colPhoto, props);
+ dw_cell.SetCellProps(row, colPhoto1, props);
+
+ xstring guid = ViewObject::GetGuid();
+ xstring filename1 = UploadImage(guid, items.item(i));
+ int rowheight = dw_cell.GetRowHeight(row);
+ if (rowheight < 50) rowheight = 50;
+ if (filename1 != L"")
+ {
+ if (action == L"purch")
+ {
+ //dw_cell.SetItemString(row,colPhoto1,file);
+ if (i == 0)
+ AddImageTerm(row, L"supplier-photo", guid);
+ else
+ AddImageTermEx(row, L"supplier-photo", guid);
+ if (dw_cell.GetItemString(row, colPhoto1) == L"")
+ {
+ //dw_cell.SetItemString(row,colPhoto1,appPath+L"\\"+L"x_"+guid+L".jpg");
+ dw_cell.SetItemString(row, colPhoto1, GetImageUrl(guid));
+ dw_cell.SetRowHeight(row, rowheight);
+ }
+ }
+ else
+ {
+ //dw_cell.SetItemString(row,colPhoto,file);
+ if (i == 0)
+ AddImageTerm(row, L"customer-photo", guid);
+ else
+ AddImageTermEx(row, L"customer-photo", guid);
+ if (dw_cell.GetItemString(row, colPhoto) == L"")
+ {
+ //dw_cell.SetItemString(row,colPhoto,appPath+L"\\"+L"x_"+guid+L".jpg");
+ dw_cell.SetItemString(row, colPhoto, GetImageUrl(guid));
+ dw_cell.SetRowHeight(row, rowheight);
+ }
+ }
+ }
+ //dw_cell.SetRowHeight(row,dw_cell.GetRowHeight(row));
+ dw_cell.Redraw();
+ Redraw();
+ }
+
+ return 1;
+ }
+
+ int OnImageAdd()
+ {
+ int row = dw_cell.GetRow();
+ int startRow = getItemHeadRow(dw_cell);
+
+ //娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+ if (startRow < 1) return 0;
+ startRow++;
+ int colPhoto = getItemCol(dw_cell, startRow - 1, L"Photo,Customer Photo");
+ int colPhoto1 = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
+ int LastRow = dw_cell.GetValidRow();
+ if (row < startRow) return 0;
+
+ xstring props = dw_cell.GetCellProps(row, colPhoto);
+ props = L"<cellprop><edit edittype='image'/></cellprop>";
+ dw_cell.SetCellProps(row, colPhoto, props);
+ dw_cell.SetCellProps(row, colPhoto1, props);
+
+ xstring appPath = GetModuleTmpPath();
+ StringArray items;
+ items = StringArray::make();
+ GetOpenFileNames(items, L"",
+ L"JPEG 鏂囦欢(*.jpg)\0*.jpg;*.jpeg;*.png;*.gif;*.bmp\0鍏ㄩ儴鏂囦欢(*.*)\0*.*\0",
+ "jpg");
+ if (items.length() < 1) return 1;
+
+ for (int i = 0; i < items.length(); i++)
+ {
+ xstring guid = ViewObject::GetGuid();
+ xstring filename1 = UploadImage(guid, items.item(i));
+ int rowheight = dw_cell.GetRowHeight(row);
+ if (rowheight < 50) rowheight = 50;
+ if (action == L"purch")
+ {
+ //dw_cell.SetItemString(row,colPhoto1,file);
+ AddImageTerm(row, L"supplier-photo", guid);
+ if (dw_cell.GetItemString(row, colPhoto1) == L"")
+ {
+ //dw_cell.SetItemString(row,colPhoto1,appPath+L"\\"+L"x_"+guid+L".jpg");
+ dw_cell.SetItemString(row, colPhoto1, GetImageUrl(guid));
+ dw_cell.SetRowHeight(row, rowheight);
+ }
+ }
+ else
+ {
+ //dw_cell.SetItemString(row,colPhoto,file);
+ AddImageTerm(row, L"customer-photo", guid);
+ if (dw_cell.GetItemString(row, colPhoto) == L"")
+ {
+ //dw_cell.SetItemString(row,colPhoto,appPath+L"\\"+L"x_"+guid+L".jpg");
+ dw_cell.SetItemString(row, colPhoto, GetImageUrl(guid));
+ dw_cell.SetRowHeight(row, rowheight);
+ }
+ }
+ //dw_cell.SetRowHeight(row,dw_cell.GetRowHeight(row));
+ dw_cell.Redraw();
+ Redraw();
+ }
+
+ return 1;
+ }
+
+ int OnCellItemChanged(TEvent* evt, int p)
+ {
+ CELLNMHDR& hdr = *(CELLNMHDR*)evt->notify.pnmh;
+ xstring value = hdr.data;
+ int row = hdr.currentrow;
+ int col = hdr.currentcol;
+
+ trace(L"\r\n----row:" + xstring(row) + L"--col:" + xstring(col));
+ trace(L"\r\n----row:" + xstring(row) + L"--col:" + xstring(col));
+ trace(L"\r\n--value:" + dw_cell.GetItemString(row, col) + L"--orig:" + orivalue);
+ if (row == ARow && col == ACol && dw_cell.GetItemString(row, col) == orivalue) return 1;
+ trace(L"\r\n--enter:");
+
+ ARow = row;
+ ACol = col;
+ orivalue = dw_cell.GetItemString(ARow, ACol) + L"";
+
+ int startRow = getItemHeadRow(dw_cell);
+ if (startRow < 1) return 1;
+ if (row < startRow + 1) return 1;
+ startRow++;
+
+ int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
+ int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+ int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
+ int colItemCName = getItemCol(dw_cell, startRow - 1, L"涓枃鍝佸悕");
+ int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+ int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�,閲囪喘浠锋牸");
+ int colBuyer = getItemCol(dw_cell, startRow - 1, L"閲囪喘浜哄憳");
+ int colCustomerPhoto = getItemCol(dw_cell, startRow - 1, L"Photo,Customer Photo");
+ int colPackage = getItemCol(dw_cell, startRow - 1, L"Package,鍖呰鏂瑰紡");
+ int colFOBPrice = getItemCol(dw_cell, startRow - 1, L"FOB Price,FOB Price(USD),Fob Price");
+ int colQty = getItemCol(dw_cell, startRow - 1, L"Qty,鏁伴噺");
+ //int colToPODate = getItemCol(dw_cell,startRow - 1,L"涓氬姟鍙戦�侀噰璐椂闂�");
+
+
+ int colVolDesc = getItemCol(dw_cell, startRow - 1, L"浣撶Н鎻忚堪,闀縓瀹絏楂�,闀縓瀹絏楂�(CM)L");
+ int colVol = getItemCol(dw_cell, startRow - 1, L"浣撶Н,浣撶Н(M3)L");
+ int colQtyPerPack = getItemCol(dw_cell, startRow - 1, L"瑁呯鏁�(鍐�/澶�),瑁呯鏁�(澶�/鍐�)L");
+ int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
+ int colSKUID = getItemCol(dw_cell, startRow - 1, L"SKUID");
+
+ int colPONote = getItemCol(dw_cell, startRow - 1, L"閲囪喘To涓氬姟澶囨敞");
+ int colPOPhoto = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
+ int colPOPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�");
+ int colNW = getItemCol(dw_cell, startRow - 1, L"姣涢噸(KG)L");
+ int colGW = getItemCol(dw_cell, startRow - 1, L"鍑�閲�(KG)L");
+ int colSKUNo = getItemCol(dw_cell, startRow - 1, L"SKUID,SKUNo");
+
+ if (col == colFOBPrice)
+ {
+ xstring fobprice = dw_cell.GetItemString(row, col);
+ if (fobprice.find(L"$") >= 0)fobprice = fobprice.mid(1, 999);
+ trace(L"+++++L" + fobprice + L"+++++L");
+ double colFOBPriceEx = fobprice.toDouble();
+
+ double colFOBPriceS;
+ colFOBPriceS = colFOBPriceEx.round(2);
+ xstring colFOBPriceS1 = xstring(colFOBPriceS);
+ xstring colFOBPriceS2 = colFOBPriceS1.left(colFOBPriceS1.find(L"."));
+ xstring colFOBPriceS3 = colFOBPriceS1.mid(colFOBPriceS1.find(L"."), colFOBPriceS1.length());
+ xstring colFOBPriceS4 = colFOBPriceS3.mid(1, 2);
+ trace(L"******" + colFOBPriceS1 + L"****" + colFOBPriceS2 + L"****" + colFOBPriceS3 + L"****" + colFOBPriceS4 + L"****");
+
+ if (fobprice != L"")dw_cell.SetItemString(row, col, L"$" + colFOBPriceS2 + L"." + colFOBPriceS4);
+ return 1;
+ }
+
+ if (col == colItemNo)
+ {
+ if (dw_cell.GetItemString(row, colItemNo) != L"")
+ {
+ xaserverarg argx ;
+ argx.setNativePointer(argx.CreateInstance());
+ argx.AddArg(L"GoodsNo", dw_cell.GetItemString(row, colItemNo));
+ OpenWindow(L"dev:xpage[CustomerItemNoList.vx]", cast(argx as int));
+ if (argx.GetArgString(L"action") != L"ok") return 1;
+
+ xml x1 ;
+ x1.loadXML(argx.GetArgString(L"items"));
+ if (x1.selectSingleNode(L"//CustomerItemNo"))
+ {
+ xstring CustomerItemNo = x1.selectSingleNode(L"//CustomerItemNo").text();
+ dw_cell.SetItemString(row, colCustomerItemNo, CustomerItemNo);
+ }
+
+ xml goods = GetProduct(dw_cell.GetItemString(row, colItemNo));
+
+ if (goods)
+ {
+ dw_cell.SetItemString(row, colCustomerPhoto, L"");
+ resetRowTerm(dw_cell, row, L"customer-photo");
+ if (goods.selectSingleNode(L"//SKUID[1]"))
+ {
+ setRowProp(dw_cell, row, L"SKUID", goods.selectSingleNode(L"//SKUID[1]").text());
+ }
+ if (goods.selectSingleNode(L"//SKUNo[1]"))
+ {
+ dw_cell.SetItemString(row, colSKUNo, goods.selectSingleNode(L"//SKUNo[1]").text());
+ }
+ if (goods.selectSingleNode(L"//EName[1]"))
+ dw_cell.SetItemString(row, colItemName, goods.selectSingleNode(L"//EName[1]").text());
+ if (goods.selectSingleNode(L"//CName[1]"))
+ dw_cell.SetItemString(row, colItemCName, goods.selectSingleNode(L"//CName[1]").text());
+ if (goods.selectSingleNode(L"//Packing[1]"))
+ dw_cell.SetItemString(row, colPackage, goods.selectSingleNode(L"//Packing[1]").text());
+ if (goods.selectSingleNode(L"//POCreatorID[1]"))
+ {
+ dw_cell.SetItemString(row, colBuyer, goods.selectSingleNode(L"//POCreatorID[1]").text());
+ }
+ if (goods.selectSingleNode(L"//PackingRate[1]"))
+ {
+ if (goods.selectSingleNode(L"//InnerQty[1]"))
+ {
+ xstring str1 = goods.selectSingleNode(L"//PackingRate[1]").text();
+ xstring str2 = goods.selectSingleNode(L"//InnerQty[1]").text();
+ dw_cell.SetItemString(row, colQtyPerPack, str2 + L"/" + str1);
+ }
+ else
+ dw_cell.SetItemString(row, colQtyPerPack, str1);
+ }
+ ProcessItemImage(dw_cell.GetItemString(row, colSKUNo), row);
+ //ProcessItemImage1(dw_cell.GetItemString(row,colItemNo),row);
+ dw_cell.SetRowColumn(row, col);
+ dw_cell.SetAnchorRowColumn(row, col);
+
+ dw_cell.Redraw();
+ }
+ }
+ }
+
+ if (col == colVolDesc || col == colQtyPerPack)
+ {
+ /*璁$畻浣撶Н*/
+ double v = 0.0;
+ xstring desc = dw_cell.GetItemString(row, colVolDesc);
+ if (desc.find(L"cm") >= 0)
+ {
+ desc = desc.replace(L"cm", L"");
+ dw_cell.SetItemString(row, colVolDesc, desc);
+ }
+ if (desc.find(L"CM") >= 0)
+ {
+ desc = desc.replace(L"CM", L"");
+ dw_cell.SetItemString(row, colVolDesc, desc);
+ }
+ if (desc == L"")
+ dw_cell.SetItemString(row, colVol, L"");
+ else
+ {
+ v = calcVol(desc) / 1000000.00;
+ xstring str = xstring(v);
+ if (str.find(L".") >= 0) str = str.left(str.find(L".") + 5);
+ dw_cell.SetItemString(row, colVol, str);
+ dw_cell.Redraw();
+ }
+
+ xstring qtyperPack = dw_cell.GetItemString(row, colQtyPerPack);
+ if (qtyperPack != L"")
+ {
+ xstring qty1 = qtyperPack;
+ xstring qty2 = L"";
+ double qty = 0.00;
+ int pos2 = qtyperPack.find(L"/");
+ if (pos2 >= 0)
+ {
+ qty1 = qtyperPack.left(qtyperPack.find(L"/"));
+ qty2 = qtyperPack.mid(qtyperPack.find(L"/") + 1, 9999);
+ }
+ //if(qty1 !=L"") qty = qty1.toDouble();
+ //if(qty2 !=L"") qty = qty*qty2.toDouble();
+ qty = qty2.toDouble();
+ double ttl = 65.0 * qty / v;
+ dw_cell.SetItemString(row, col40HQ, ttl.toInt().toString());
+ }
+ }
+
+ if (action == L"purch")
+ {
+ int colPrice0 = getItemCol(dw_cell, startRow - 1, L"浠锋牸");
+ int colPrice1 = getItemCol(dw_cell, startRow - 1, L"浠锋牸1");
+ int colPrice2 = getItemCol(dw_cell, startRow - 1, L"浠锋牸2");
+ int colPrice3 = getItemCol(dw_cell, startRow - 1, L"浠锋牸3");
+ int colPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�");
+
+ int colTyp = getItemCol(dw_cell, startRow - 1, L"绫诲瀷");
+ int colTyp1 = getItemCol(dw_cell, startRow - 1, L"绫诲瀷1");
+ int colTyp2 = getItemCol(dw_cell, startRow - 1, L"绫诲瀷2");
+ int colTyp3 = getItemCol(dw_cell, startRow - 1, L"绫诲瀷3");
+ int colSupplier = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�,宸ュ巶");
+ int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�1,宸ュ巶1");
+ int colSupplier2 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�2,宸ュ巶2");
+ int colSupplier3 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�3,宸ュ巶3");
+
+ if (colPrice0 == col || colPrice1 == col || colPrice2 == col || colPrice3 == col)
+ {
+ trace(L"\r\n---*****---hit col:" + xstring(col) + L"----");
+ xstring pricea = L"";
+ xstring priceb = L"";
+ xstring pricec = L"";
+ if (action == L"purch")
+ {
+ xstring price0 = dw_cell.GetItemString(row, colPrice0);
+ xstring price1 = dw_cell.GetItemString(row, colPrice1);
+ xstring price2 = L"";
+ if (colPrice2 > 0) price2 = dw_cell.GetItemString(row, colPrice2);
+ xstring price3 = L"";
+ if (colPrice3 > 0) price3 = dw_cell.GetItemString(row, colPrice3);
+
+ xstring price = L"";
+
+ if (price0 != L"")
+ {
+ price = price0;
+ if (price.find(L"A") < 1 && price.find(L"B") < 1 && price.find(L"C") < 1 && price.find(L"a") < 1 && price.find(L"b") < 1 && price.find(L"b") < 1)
+ {
+ alert(L"浠锋牸涓病鎸囧畾ABC");
+ if (pricea == L"") pricea = price; else pricea += L"+L" + price;
+ }
+ else if (price.find(L"A") > 0 || price.find(L"a") > 0)
+ if (pricea == L"") pricea = price; else pricea += L"+L" + price;
+ else if (price.find(L"B") > 0 || price.find(L"b") > 0)
+ if (priceb == L"") priceb = price; else priceb += L"+L" + price;
+ else if (price.find(L"C") > 0 || price.find(L"c") > 0)
+ if (pricec == L"") pricec = price; else pricec += L"+L" + price;
+ }
+ if (price1 != L"")
+ {
+ price = price1;
+ if (price.find(L"A") < 1 && price.find(L"B") < 1 && price.find(L"C") < 1 && price.find(L"a") < 1 && price.find(L"b") < 1 && price.find(L"b") < 1)
+ {
+ alert(L"浠锋牸涓病鎸囧畾ABC");
+ if (pricea == L"") pricea = price; else pricea += L"+L" + price;
+ }
+ else if (price.find(L"A") > 0 || price.find(L"a") > 0)
+ if (pricea == L"") pricea = price; else pricea += L"+L" + price;
+ else if (price.find(L"B") > 0 || price.find(L"b") > 0)
+ if (priceb == L"") priceb = price; else priceb += L"+L" + price;
+ else if (price.find(L"C") > 0 || price.find(L"c") > 0)
+ if (pricec == L"") pricec = price; else pricec += L"+L" + price;
+ }
+ if (price2 != L"")
+ {
+ price = price2;
+ if (price.find(L"A") < 1 && price.find(L"B") < 1 && price.find(L"C") < 1 && price.find(L"a") < 1 && price.find(L"b") < 1 && price.find(L"b") < 1)
+ {
+ alert(L"浠锋牸涓病鎸囧畾ABC");
+ if (pricea == L"") pricea = price; else pricea += L"+L" + price;
+ }
+ else if (price.find(L"A") > 0 || price.find(L"a") > 0)
+ if (pricea == L"") pricea = price; else pricea += L"+L" + price;
+ else if (price.find(L"B") > 0 || price.find(L"b") > 0)
+ if (priceb == L"") priceb = price; else priceb += L"+L" + price;
+ else if (price.find(L"C") > 0 || price.find(L"c") > 0)
+ if (pricec == L"") pricec = price; else pricec += L"+L" + price;
+ }
+ if (price3 != L"")
+ {
+ price = price3;
+ if (price.find(L"A") < 1 && price.find(L"B") < 1 && price.find(L"C") < 1 && price.find(L"a") < 1 && price.find(L"b") < 1 && price.find(L"b") < 1)
+ {
+ alert(L"浠锋牸涓病鎸囧畾ABC");
+ if (pricea == L"") pricea = price; else pricea += L"+L" + price;
+ }
+ else if (price.find(L"A") > 0 || price.find(L"a") > 0)
+ if (pricea == L"") pricea = price; else pricea += L"+L" + price;
+ else if (price.find(L"B") > 0 || price.find(L"b") > 0)
+ if (priceb == L"") priceb = price; else priceb += L"+L" + price;
+ else if (price.find(L"C") > 0 || price.find(L"c") > 0)
+ if (pricec == L"") pricec = price; else pricec += L"+L" + price;
+ }
+ price = pricec;
+ if (priceb != L"")
+ {
+ if (price == L"")
+ price = priceb;
+ else
+ price += L"+L" + priceb;
+ }
+ if (pricea != L"")
+ {
+ if (price == L"")
+ price = pricea;
+ else
+ price += L"+L" + pricea;
+ }
+ dw_cell.SetItemString(row, colPrice, price);
+ dw_cell.Redraw();
+ }
+ }
+ }
+
+ return 1;
+ }
+
+ int OnCellSelectChanged(ref TNotifyEvent evt, int p)
+ {
+ /*ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR);
+ xstring colname=hdr.colname;
+ xstring value = hdr.data;
+ int row = hdr.row;
+ */
+ trace(L"========111============L");
+ return 1;
+ }
+
+ int OnItemChanged(ref TNotifyEvent evt, int p)
+ {
+ ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR);
+ xstring colname = hdr.colname;
+ xstring value = hdr.data;
+ int row = hdr.row;
+
+ if (colname == L"Project")
+ {
+
+ setBaseItem(dw_cell, L"椤圭洰鍚嶇О:", value);
+ }
+ return 1;
+ }
+
+ int OnToQuote()
+ {
+ xstring project = getBaseItem(dw_cell, L"椤圭洰鍚嶇О:");
+ if (project != L"")dw_base.SetItemString(1, L"Project", project);
+
+ int startRow = getItemHeadRow(dw_cell);
+
+ //娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+ if (startRow < 1) return L"";
+ startRow++;
+
+ int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
+ int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+ int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
+ int colItemCName = getItemCol(dw_cell, startRow - 1, L"涓枃鍝佸悕");
+ int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+
+ int colTechNote = getItemCol(dw_cell, startRow - 1, L"涓氬姟閮ㄤ骇鍝佷俊鎭�");
+ int colTechNote1 = getItemCol(dw_cell, startRow - 1, L"閲囪喘閮ㄤ骇鍝佷俊鎭�");
+
+
+
+ int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�,閲囪喘浠锋牸");
+ int colPackage = getItemCol(dw_cell, startRow - 1, L"Package");
+ int colPurchor = getItemCol(dw_cell, startRow - 1, L"閲囪喘鍛�,閲囪喘浜哄憳");
+ int colQtyPerPack = getItemCol(dw_cell, startRow - 1, L"瑁呯鏁�(鍐�/澶�)L");
+ int colFOBPrice = getItemCol(dw_cell, startRow - 1, L"FOB Price,FOB Price(USD),Fob Price");
+ int colQuantity = getItemCol(dw_cell, startRow - 1, L"鏁伴噺,Qty");
+
+ int colBuyerRemark = getItemCol(dw_cell, startRow - 1, L"閲囪喘To涓氬姟澶囨敞");
+ int colFactoryImage = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
+ int colGWT = getItemCol(dw_cell, startRow - 1, L"姣涢噸,姣涢噸(KG)L");
+ int colNWT = getItemCol(dw_cell, startRow - 1, L"鍑�閲�,鍑�閲�(KG)L");
+ int colVolDesc = getItemCol(dw_cell, startRow - 1, L"浣撶Н鎻忚堪,闀縓瀹絏楂�,闀縓瀹絏楂�(CM)L");
+ int colVol = getItemCol(dw_cell, startRow - 1, L"浣撶Н,浣撶Н(M3)L");
+ int colHQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
+ int colSKUNo = getItemCol(dw_cell, startRow - 1, L"SKUID,SKUNo");
+
+
+
+ ensureRowID();
+ int LastRow = dw_cell.GetValidRow();
+ xstring content = L"";
+ for (int row = startRow; row <= LastRow; row++)
+ {
+ xstring rowid = getRowID(dw_cell, row);
+ if (rowid == L"")continue;
+ if (dw_cell.GetItemString(row, colItemName) == L"")
+ {
+ if (dw_cell.GetItemString(row, colItemCName) == L"") break;
+ }
+ int i = 1;
+ for (i = 1; i <= dw_goods.GetRowCount(); i++)
+ {
+ if (dw_goods.GetGuid(i) == rowid) break;
+ }
+ if (i > dw_goods.GetRowCount())
+ {
+ dw_goods.InsertRow(0);
+ KXMLDOMElement e = dw_goods.GetRowElement(i);
+ e.setAttribute(L"guid", rowid);
+ }
+
+ xstring SKUID = getRowProp(dw_cell, row, L"SKUID");
+ if (SKUID != L"")
+ {
+ dw_goods.SetItemString(i, L"SKUID", SKUID);
+ dw_goods.SetItemString(i, L"ItemID", SKUID);
+ }
+ dw_goods.SetItemString(i, L"SKUNo", dw_cell.GetItemString(row, colSKUNo));
+ //dw_goods.SetItemString(i,L"ItemID",dw_cell.GetItemNoteString(row,colSKUNo));
+
+ dw_goods.SetItemString(i, L"CustomerItemNo", dw_cell.GetItemString(row, colCustomerItemNo));
+ dw_goods.SetItemString(i, L"GoodsNo", dw_cell.GetItemString(row, colItemNo));
+ dw_goods.SetItemString(i, L"ItemName", dw_cell.GetItemString(row, colItemName));
+ dw_goods.SetItemString(i, L"CItemName", dw_cell.GetItemString(row, colItemCName));
+ dw_goods.SetItemString(i, L"CName", dw_cell.GetItemString(row, colItemCName));
+
+ dw_goods.SetItemString(i, L"TechNote", dw_cell.GetItemString(row, colTechNote));
+ dw_goods.SetItemString(i, L"TechNote1", dw_cell.GetItemString(row, colTechNote1));
+ dw_goods.SetItemString(i, L"ProductDesc", dw_cell.GetItemString(row, colItemName));
+
+ dw_goods.SetItemString(i, L"Packing", dw_cell.GetItemString(row, colPackage));
+ dw_goods.SetItemString(i, L"VolumeDesc", dw_cell.GetItemString(row, colVolDesc));
+ dw_goods.SetItemString(i, L"Packages45H", dw_cell.GetItemString(row, colHQ));
+ dw_goods.SetItemString(i, L"ItemMiniQty", dw_cell.GetItemString(row, colQuantity));
+
+ if (getRowTerm(dw_cell, row, L"EnquiryLineID") != L"")
+ {
+ dw_goods.SetItemString(i, L"EnquiryPriceListID", getRowTerm(dw_cell, row, L"EnquiryLineID"));
+ dw_goods.SetItemString(i, L"EnquiryLineID", getRowTerm(dw_cell, row, L"EnquiryLineID"));
+ }
+
+ //dw_goods.SetItemString(i,L"Packages45H",dw_cell.GetItemString(row,colHQ));
+ //dw_goods.SetItemString(i,L"POPrice",dw_cell.GetItemString(row,colBuyerPrice));
+
+
+ xstring FobUnitPriceEx = dw_cell.GetItemString(row, colFOBPrice);
+ if (FobUnitPriceEx == L"$") FobUnitPriceEx = L"";
+ if (FobUnitPriceEx.find(L"$") >= 0) FobUnitPriceEx = FobUnitPriceEx.right(FobUnitPriceEx.length() - 1);
+ trace(FobUnitPriceEx);
+ //dw_goods.SetItemString(i,L"FobUnitPrice",dw_cell.GetItemString(row,colFOBPrice));
+ dw_goods.SetItemString(i, L"FobUnitPrice", FobUnitPriceEx);
+
+
+ dw_goods.SetItemDisplayString(i, L"POCreatorID", dw_cell.GetItemString(row, colPurchor));
+ dw_goods.SetItemString(i, L"POCreatorID", GetPurchorByName(dw_cell.GetItemString(row, colPurchor)));
+
+
+ xstring QtyPerPack = dw_cell.GetItemString(row, colQtyPerPack);
+ xstring outer = QtyPerPack;
+ if (QtyPerPack.find(L"/") >= 0) outer = QtyPerPack.left(QtyPerPack.find(L"/"));
+ xstring inner = L"";
+ if (QtyPerPack.find(L"/") >= 0) inner = QtyPerPack.mid(QtyPerPack.find(L"/") + 1, 9999);
+ dw_goods.SetItemString(i, L"InnerQty", outer);
+ dw_goods.SetItemString(i, L"Packages", inner);
+
+ dw_goods.Redraw();
+ }
+ int crow = dw_goods.GetRow();
+ if (crow > 0)
+ {
+ OnQuoteLineChanged(crow);
+ //OnShowImage(dw_goods.GetItemString(crow,L"SKUNo"),crow);
+ }
+
+ return 1;
+ }
+
+ int ProcessItemImage(xstring goodsno, int row)
+ {
+ xml xp ;
+ xp.setNativePointer(xml::CreateInstance());
+ xaserverarg arg_pic ;
+ arg_pic.setNativePointer(arg_pic.CreateInstance());
+ arg_pic.AddArg(L"SKUNo", goodsno);
+
+ ximageview im = GetControl(L"frame:im1");
+ im.ResetEx();
+ xstring res = L"/sale/data/productlibrary3/pref/picture/imagelistskuno";
+ if (xurl::get(res, arg_pic.GetString(), xp) != 1)
+ {
+ trace(xp.GetXml());
+ return 1;
+ }
+ else
+ {
+ //alert(xp.GetXml());
+ ClearImageTerm(row, L"customer-photo");
+ //alert(xp.GetXml());
+ KXMLDOMNodeList nlistp = xp.selectNodes(L"ImageList/image");
+ int lenp = nlistp.length();
+ int ip = 0;
+ if (lenp > 0) lenp = 1;
+ for (ip = 0; ip < lenp; ip++)
+ {
+ KXMLDOMNode xitem = nlistp.item(ip);
+ xstring id = xitem.selectSingleNode(L"@guid").text();
+ xstring path = L"";
+ if (xitem.selectSingleNode(L"PicPath")) path = xitem.selectSingleNode(L"PicPath").text();
+ xstring name = id + L".jpg";
+ if (path == L"") path = L"/business/products/chanpin/" + id.left(2) + L"/" + name;
+ AddImageTerm(row, L"customer-photo", id, path);
+ /*xstring picname = xitem.selectSingleNode(L"PicPath").text();
+ if(picname == L"/business/products/Thumbs//")
+ picname = L"/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg";
+ im.AddImages(picname,goodsno);*/
+ if (ip == 0)
+ {
+ //xstring appPath = GetModuleTmpPath();
+ //xaserver::CreateDirectory(appPath);
+ //xaserver::DownLoadFile(GetServerUrl(),path,name,appPath+L"/"+name);
+
+ int startRow = getItemHeadRow(dw_cell);
+ if (startRow > 1)
+ {
+ int colPhoto = getItemCol(dw_cell, startRow, L"Photo,Customer Photo");
+ xstring props = dw_cell.GetCellProps(row, colPhoto);
+ props = L"<cellprop><edit edittype='image'/></cellprop>";
+ dw_cell.SetCellProps(row, colPhoto, props);
+ //dw_cell.SetItemString(row,colPhoto,appPath+L"\\"+name);
+ dw_cell.SetItemString(row, colPhoto, path);
+ }
+ }
+ }
+ }
+ return 1;
+ }
+
+ int ProcessItemImage1(xstring goodsno, int row)
+ {
+ xml xp ;
+ xp.setNativePointer(xml::CreateInstance());
+ xaserverarg arg_pic ;
+ arg_pic.setNativePointer(arg_pic.CreateInstance());
+ arg_pic.AddArg(L"GoodsNo", goodsno);
+
+ ximageview im = GetControl(L"frame:im1");
+ im.ResetEx();
+ xstring res = L"/sale/data/ProductLibrary3/pref/picture/imagelistItemNo";
+ if (xurl::get(res, arg_pic.GetString(), xp) != 1)
+ {
+ trace(xp.GetXml());
+ return 1;
+ }
+ else
+ {
+ ClearImageTerm(row, L"customer-photo");
+ //alert(xp.GetXml());
+ KXMLDOMNodeList nlistp = xp.selectNodes(L"ImageList/image");
+ int lenp = nlistp.length();
+ int ip = 0;
+ for (ip = 0; ip < lenp; ip++)
+ {
+ KXMLDOMNode xitem = nlistp.item(ip);
+ xstring id = xitem.selectSingleNode(L"@guid").text();
+ xstring name = id + L".jpg";
+ AddImageTerm(row, L"customer-photo", id);
+ /*xstring picname = xitem.selectSingleNode(L"PicPath").text();
+ if(picname == L"/business/products/Thumbs//")
+ picname = L"/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg";
+ im.AddImages(picname,goodsno);*/
+ if (ip == 0)
+ {
+ xstring appPath = GetModuleTmpPath();
+ xaserver::CreateDirectory(appPath);
+ xaserver::DownLoadFile(GetServerUrl(), L"/business/products/chanpin/" + id.left(2) + L"/" + name, name, appPath + L"/" + name);
+
+ int startRow = getItemHeadRow(dw_cell);
+ if (startRow > 1)
+ {
+ int colPhoto = getItemCol(dw_cell, startRow, L"Photo,Customer Photo");
+ xstring props = dw_cell.GetCellProps(row, colPhoto);
+ props = L"<cellprop><edit edittype='image'/></cellprop>";
+ dw_cell.SetCellProps(row, colPhoto, props);
+ dw_cell.SetItemString(row, colPhoto, appPath + L"\\" + name);
+ }
+ }
+ }
+ }
+ return 1;
+ }
+
+ int OnAddBOMItem()
+ {
+ int startRow = getItemHeadRow(dw_cell);
+ int headrow = startRow;
+ if (startRow < 1) return 1;
+ startRow++;
+ int row = dw_cell.GetRow();
+
+ int colPurchPrice1 = getItemCol(dw_cell, headrow, L"浠锋牸1");
+ int colPurchPrice2 = getItemCol(dw_cell, headrow, L"浠锋牸2");
+ int colPurchPrice3 = getItemCol(dw_cell, headrow, L"浠锋牸3");
+ if (colPurchPrice3 > 0) return 1;
+
+ if (colPurchPrice2 < 1)
+ {
+ //dw_cell.SetColumnCount(dw_cell.GetColumnCount()+3);
+ //dw_cell.SetColumnCount(dw_cell.GetValidCol()+3);
+ dw_cell.SetRowColumn(row, colPurchPrice1 + 1);
+ dw_cell.SetAnchorRowColumn(row, colPurchPrice1 + 1);
+
+ SendCtrlCmd(dw_cell, L"xmFormatCellInsertCol");
+ SendCtrlCmd(dw_cell, L"xmFormatCellInsertCol");
+ SendCtrlCmd(dw_cell, L"xmFormatCellInsertCol");
+
+ dw_cell.SetItemString(headrow, colPurchPrice1 + 1, L"渚涘簲鍟�2");
+ dw_cell.SetItemString(headrow, colPurchPrice1 + 2, L"绫诲瀷2");
+ dw_cell.SetItemString(headrow, colPurchPrice1 + 3, L"浠锋牸2");
+ }
+ else
+ {
+ //dw_cell.SetColumnCount(dw_cell.GetColumnCount()+3);
+ //dw_cell.SetColumnCount(dw_cell.GetValidCol()+3);
+ dw_cell.SetRowColumn(row, colPurchPrice2 + 1);
+ dw_cell.SetAnchorRowColumn(row, colPurchPrice2 + 1);
+
+ SendCtrlCmd(dw_cell, L"xmFormatCellInsertCol");
+ SendCtrlCmd(dw_cell, L"xmFormatCellInsertCol");
+ SendCtrlCmd(dw_cell, L"xmFormatCellInsertCol");
+
+ dw_cell.SetItemString(headrow, colPurchPrice2 + 1, L"渚涘簲鍟�3");
+ dw_cell.SetItemString(headrow, colPurchPrice2 + 2, L"绫诲瀷3");
+ dw_cell.SetItemString(headrow, colPurchPrice2 + 3, L"浠锋牸3");
+ }
+ return 1;
+ }
+
+ //鍛戒护鍙戝竷鍑芥暟
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"xmAddBOMItem") return OnAddBOMItem();
+ if (comdid == L"xmQuoteBill")
+ {
+ if (dw_base.GetItemString(1, L"CustomerID") == L"")
+ {
+ alert(L"瀵煎嚭鍓嶈杈撳叆瀹㈡埛");
+ return 1;
+ }
+ return OnPrint();
+ }
+ if (comdid == L"tab_quote")
+ {
+ tabsheet = L"tab_quote";
+ return OnToQuote();
+ }
+ if (comdid == L"xmMySupplier")
+ return OnMySupplier();
+ if (comdid == L"xmImageAdd")
+ {
+ OnImageAdd();
+ return 1;
+ }
+ if (comdid == L"xmImageAddEx")
+ {
+ OnImageAddEx();
+ return 1;
+ }
+ if (comdid == L"xmImageDel")
+ {
+ OnImageDel();
+ return 1;
+ }
+ else if (comdid == L"xmPurched")
+ {
+ //if(makeMessage(L"/task/quote/purchar/backtosaler")==-1) return 1;
+ return OnSaleBack();
+ }
+ else if (comdid == L"xmPurch")
+ {
+ return OnPurch();
+ }
+ else if (comdid == L"xmSetPurchor")
+ {
+ return OnNextPurch();
+ }
+ else if (comdid == L"xmSetPurchor")
+ {
+ return OnPurchEx();
+ }
+ else if (comdid == L"xmRefreshTask1")
+ {
+ win32::PostMessage(GetFrameWindow().GetHWND(), 0x401, L"xmRefreshTask", 0);
+ return 1;
+ }
+ else if (comdid == L"xmFileOpen" || comdid == L"xmOpen" || comdid == L"xmNew")
+ {
+ xstring suserid = publiccode::GetUser().id;
+ xaserverarg args ;
+ args.setNativePointer(args.CreateInstance());
+
+ if (comdid == L"xmNew")
+ OpenWindow(L"dev:xpage[TONewSelectDlg.vx]", cast(args as int));
+ else
+ OpenWindow(L"dev:xpage[TOSelectDlg.vx]", cast(args as int));
+ fileid = args.GetArgString(L"id");
+ templateID = args.GetArgString(L"templateID");
+ xstring myaction = args.GetArgString(L"action");
+ if (myaction == L"new" && action == L"new") Reset();
+ if (myaction == L"new")
+ {
+ action = L"new";
+ trace(args.GetArgString(L"id"));
+ return OpenTemplate(args.GetArgString(L"id"));
+ }
+ else if (myaction == L"open")
+ {
+ action = L"open";
+ entityID = args.GetArgString(L"ID");
+ entityItemID = args.GetArgString(L"ItemID");
+
+ OnRetrieve(entityID);
+ return OpenDocument(entityItemID);
+ }
+
+ return 1;
+
+ args.AddArg(L"src", L"data/QuoteFile/" + suserid);
+ args.AddArg(L"process", L"path");
+ OpenWindow(L"dev:xpage[trade.document.selectdlg.vx]", cast(args as int));
+ if (args.GetArgString(L"result") == L"ok")
+ {
+ xstring u = args.GetArgString(L"src");
+ xml x ;
+
+ xaserver::LoadUrl(GetServerUrl(), u, L"", x);
+ trace(x.xml());
+ dw_cell.LoadTemplateEx(x.documentElement);
+ dw_cell.Redraw();
+ filename = args.GetArgString(L"filename");
+ fileid = args.GetArgString(L"ID");
+ win32::SetWindowText(GetHWND(), L"鎶ヤ环鏂囦欢:" + filename);
+ }
+ return 1;
+ }
+ else if (comdid == L"xmFileNew" || comdid == L"xmNew")
+ {
+ dw_cell.openUrl(templateurl);
+ dw_cell.Redraw();
+ filename = L"";
+ fileid = L"";
+ win32::SetWindowText(GetHWND(), L"鎶ヤ环鏂囦欢:[new]");
+ return 1;
+ }
+ else if (comdid == L"xmFileSave" || comdid == L"xmSave")
+ {
+
+ return OnSave();
+ }
+ else if (comdid == L"xmSaveEx")
+ {
+ return OnSaveEx();
+ }
+ else if (comdid == L"xmFileSaveAs" || comdid == L"xmSaveAs")
+ {
+ return OnSave(/*saveas*/true);
+ }
+ else if (comdid.left(3) == L"IK_")
+ {
+ int row = dw_cell.GetRow();
+ xstring cmd = comdid.mid(3, comdid.length());
+ if (comdid == L"IK_xmFormatCellDeleteRow" && row > 0)
+ {
+ xstring rowid = getRowID(dw_cell, row);
+ if (rowid != L"")
+ {
+ int frow = LookupRow(rowid);
+ if (frow > 0) dw_goods.DeleteRow(frow);
+ }
+ }
+ SendCtrlCmd(dw_cell, cmd);
+ return 1;
+ }
+ else if (comdid == L"xmFormatCellDeleteRow")
+ {
+ if (action == L"purch")
+ {
+ int crow = dw_cell.GetRow();
+ if (getRowID(dw_cell, crow) == L"") SendCtrlCmd(dw_cell, cmd);
+ return 1;
+ }
+ }
+ return 0;
+ }
+
+ xstring GetNo()
+ {
+ xstring typ = L"C";
+
+ xml x ;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"count", L"1");
+ arg.AddArg(L"type", typ);
+ if (xurl::get(L"/sale/data/SO/goods/usegoods/goodslib/asknos", arg.GetString(), x) != 1)return L"";
+ return x.text();
+ }
+
+ int OnSaveNewItem(xstring content)
+ {
+ xml x ;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"content", content);
+ if (xurl::get(L"/sale/data/ProductLibrary3/update/newestproduct", arg.GetString(), x) != 1)
+ {
+ xstring error = x.text();
+ alert(error);
+ return -1;
+ }
+ return 1;
+ }
+
+ int OnSaveEx(bool balert = false)
+ {
+ //dw_cell.AcceptText();
+
+ OnToQuote();
+ if (dw_base.GetItemString(1, L"SalespersonID") == L"")OnInit();
+
+ dw_base.AcceptText();
+ dw_goods.AcceptText();
+
+ if (dw_base.GetItemString(1, L"QuoteNo") == L"")
+ {
+ xstring QuoteNo = QuoteView::MakeBillNo();
+ dw_base.SetItemString(1, L"QuoteNo", QuoteNo);
+ setBaseItem(dw_cell, L"鎶ヤ环鍗曞彿:", QuoteNo);
+ }
+ if (dw_base.GetGuid(1) == L"")
+ dw_base.SetGuid(1, entityID);
+
+ xml x1 ;
+ bool hasNew = false;
+
+ xstring sdate = publiccode::GetCurrentDate();
+ xstring suserid = publiccode::GetUser().id;
+ xstring categoryID = L"EF37E57D-5833-4AF9-BA5E-01CCF39C1F20";
+ xstring folderID = L"10200009-0000-0000-0001-000000000000";
+
+ for (int i = 1; i <= dw_goods.GetRowCount(); i++)
+ {
+ if (dw_goods.GetItemString(i, L"ItemID") == L"" || dw_goods.GetItemString(i, L"SKUNo") == L"")
+ {
+ //alert(L"row:"+xstring(i));
+ hasNew = true;
+ xstring ItemID = GetGuid();
+ dw_goods.SetItemString(i, L"ItemID", ItemID);
+ xstring Item = L"<Item update.new='1' update.modify='1' guid='" + ItemID + L"'>";
+ Item += L"<SKUID>" + ItemID + L"</SKUID>";
+ Item += L"<GoodsNo>" + dw_goods.GetItemString(i, L"GoodsNo") + L"</GoodsNo>";
+ xstring SKUNo = GetNo();
+ dw_goods.SetItemString(i, L"SKUNo", SKUNo);
+ dw_goods.Redraw();
+
+ int frow = LookupCellRow(dw_goods.GetGuid(i));
+ //alert(dw_goods.GetGuid(1)+L"--"+xstring(frow));
+ if (frow > 0) dw_cell.SetItemString(frow, 1, SKUNo);
+
+ Item += L"<No>" + SKUNo + L"</No>";
+ Item += L"<SKUNo>" + SKUNo + L"</SKUNo>";
+ Item += L"<CName>" + dw_goods.GetItemString(i, L"CName") + L"</CName>";
+ Item += L"<EName>" + dw_goods.GetItemString(i, L"ItemName") + L"</EName>";
+ Item += L"<Packing>" + dw_goods.GetItemString(i, L"Packing") + L"</Packing>";
+
+ Item += L"<CategoryID>" + categoryID + L"</CategoryID>";
+ Item += L"<FolderID>" + folderID + L"</FolderID>";
+
+ Item += L"<CreateID>" + suserid + L"</CreateID>";
+ Item += L"<CreateDate>" + sdate + L"</CreateDate>";
+ Item += L"<ModifierID>" + suserid + L"</ModifierID>";
+ Item += L"<ModifyDate>" + sdate + L"</ModifyDate>";
+
+ Item += L"</Item>";
+ }
+ if (hasNew)
+ {
+ xstring newItem = L"<data>" + Item + L"</data>";
+ trace(newItem);
+ if (OnSaveNewItem(newItem) == -1) return 1;
+ }
+ }
+
+ xml x ;
+
+ xaserverarg arg ;
+
+ dw_goods.DwUpdateAllToEx(x);
+ dw_base.DwUpdateAllTo(x);
+
+ xstring error = L"";
+ arg.AddArg(L"content", x.xml());
+
+ //trace(x.xml());
+ //return 1;
+
+ if (xurl::get(L"/sale/data/Quote/update", arg.GetString(), x) != 1)
+ {
+ error = x.text();
+ alert(error);
+ }
+ else
+ {
+ xstring str = x.documentElement.getAttribute(L"text");
+ if (str == L"true")
+ {
+ dw_goods.ResetUpdateStatus();
+ dw_base.ResetUpdateStatus();
+ if (balert)alert(L"淇濆瓨鎴愬姛!");
+
+ return -1;
+
+ }
+ else
+ {
+ alert(L"淇濆瓨澶辫触!");
+ return -1;
+ }
+ }
+ return 1;
+ }
+
+ xstring GetExchangeRate(xstring pcur, xstring pdate)
+ {
+
+ if (pcur.upper() == L"RMB") return L"1";
+ xstring exchangeRate = L"";
+ if (exchangeRate == L"") {
+ xml x = ViewObject::RetrieveData(L"/sale/data/GDN3/profit/param", L"item", L"cryrate");
+ if (x.selectSingleNode(L"root/item/@value"))
+ exchangeRate = x.selectSingleNode(L"root/item/@value").text();
+ }
+ return exchangeRate;
+ }
+
+ xstring GetExchangeRate(xstring pcur)
+ {
+ return GetExchangeRate(pcur, L"");
+ }
+
+ int OnInit()
+ {
+ //鍏徃鎶ご銆佹姤浠蜂汉銆佹姤浠锋棩鏈�
+ xstring sdate = publiccode::GetCurrentDate();
+ dw_base.SetItemString(1, L"QuoteDate", sdate);
+ xstring suserid = publiccode::GetUser().id;
+ xstring susername = publiccode::GetUser().name;
+ dw_base.SetItemString(1, L"SalespersonID", suserid);
+ dw_base.SetItemDisplayString(1, L"SalespersonID", susername);
+ dw_base.SetItemString(1, L"CurrencyCode", L"USD");
+ dw_base.SetItemDisplayString(1, L"CurrencyCode", L"USD");
+
+ xstring exchangeRate = L"";
+ xml x = ViewObject::RetrieveData(L"/sale/data/GDN3/profit/paramEx", L"ETD", sdate);
+ if (x.selectSingleNode(L"root/item/@value"))
+ exchangeRate = x.selectSingleNode(L"root/item/@value").text();
+ if (exchangeRate != L"")
+ {
+ dw_base.SetItemString(1, L"ExchangeRate", exchangeRate);
+ }
+ else
+ {
+ dw_base.SetItemString(1, L"ExchangeRate", L"6.49");
+ }
+
+ //dw_base.SetItemString(1,L"ExchangeRate",GetExchangeRate(L"USD"));
+
+ dw_base.SetItemString(1, L"CompanyID", L"E9E3C542-062C-4957-B8F4-9B92C3E351FC");
+ dw_base.SetItemDisplayString(1, L"CompanyID", L"瀹佹尝瀹跺皵浣宠繘鍑哄彛鏈夐檺鍏徃");
+
+ /*xstring ss = L"select (select EnglishName from Party where PartyID = CompanyID) as 'CompanyID/@_displaystring',CompanyID from HR_Org where OrgID = '{$id}' for xml PATH('root'),ELEMENTS XSINIL";
+ xstring scguid;
+ xstring sCename;
+ xml x1 = RetrieveSqlData(ss,L"id",sg);
+ KXMLDOMElement e1 = x1.documentElement;
+ scguid = sureNodeText(e1,L"CompanyID");
+ sCename = sureNodeText(e1,L"CompanyID/@_displaystring");
+ */
+
+ return 1;
+ }
+
+ int OnRowChanged(ref TNotifyEvent evt, int p)
+ {
+ ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR);
+ int row = hdr.row;
+
+ return OnQuoteLineChanged(row);
+ }
+
+ int OnQuoteLineChanged(int row)
+ {
+ ximageview im = GetControl(L"im1");
+ im.ResetEx();
+ //xstring skuno = dw_goods.GetItemString(row,L"SKUNo");
+ //OnShowImage(skuno,row);
+ //im.Redraw();
+
+ xstring rowid = dw_goods.GetGuid(row);
+ int frow = LookupCellRow(rowid);
+ if (frow > 0)
+ {
+ xstring str = dw_cell.GetItemString(frow, 0);
+ trace(L"\r\ncustomer-photo:" + str);
+ ShowImageOne(im, str, L"customer-photo");
+ im.Redraw();
+
+ RowChanged(frow);
+ }
+ return 1;
+ }
+
+ int OnShowImage(xstring skuno, int row)
+ {
+ ximageview im = GetControl(L"im1");
+
+ xml xp ;
+ xp.setNativePointer(xml::CreateInstance());
+ xaserverarg arg_pic ;
+ arg_pic.setNativePointer(arg_pic.CreateInstance());
+ arg_pic.AddArg(L"SKUNo", skuno);
+
+ xstring res = L"/sale/data/ProductLibrary3/pref/picture/imagelistSKUNo";
+ xstring customerID = dw_base.GetItemString(1, L"CustomerID");
+ xstring customerItemNo = dw_goods.GetItemString(row, L"CustomerItemNo");
+ if (customerItemNo != L"")
+ {
+ trace(customerID + L":" + customerItemNo);
+ res = L"/sale/data/ProductLibrary3/pref/picture/customer/imagelistSKUNo";
+ arg_pic.AddArg(L"CustomerID", customerID);
+ arg_pic.AddArg(L"CustomerItemNo", customerItemNo);
+ }
+
+ bool hasIamge = false;
+ if (xurl::get(res, arg_pic.GetString(), xp) != 1)
+ {
+ trace(xp.GetXml());
+ return 1;
+ }
+ else
+ {
+ KXMLDOMNodeList nlistp = xp.selectNodes(L"ImageList/image");
+ int lenp = nlistp.length();
+ for (int ip = 0; ip < lenp; ip++)
+ {
+ hasIamge = true;
+ KXMLDOMElement xitem = nlistp.item(ip);
+ xstring picname = xitem.selectSingleNode(L"PicPath").text();
+ xstring goodno = xitem.selectSingleNode(L"GoodsNo").text();
+ if (picname == L"/business/products/Thumbs//")
+ picname = L"/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg";
+ im.AddImages(picname, goodno);
+ }
+ }
+ if (!hasIamge)
+ {
+ res = L"/sale/data/ProductLibrary3/pref/picture/imagelistSKUNo";
+ if (xurl::get(res, arg_pic.GetString(), xp) != 1)
+ {
+ trace(xp.GetXml());
+ return 1;
+ }
+ else
+ {
+ nlistp = xp.selectNodes(L"ImageList/image");
+ lenp = nlistp.length();
+ for (ip = 0; ip < lenp; ip++)
+ {
+ xitem = nlistp.item(ip);
+ picname = xitem.selectSingleNode(L"PicPath").text();
+ goodno = xitem.selectSingleNode(L"GoodsNo").text();
+ if (picname == L"/business/products/Thumbs//")
+ picname = L"/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg";
+ im.AddImages(picname, goodno);
+ }
+ }
+ }
+ return 1;
+ }
+
+ int OnUpdateEntityFile()
+ {
+ xcell cell1 = GetControl(L"dw_cell1");
+ xstring content = cell1.GetData();
+ content = content.mid(content.find(L"<xsheet"), 9999999);
+ while (true)
+ {
+ int pos = content.find(L"<display>");
+ int pos1 = 0;
+ xstring str = L"";
+ if (pos >= 0)
+ {
+ pos1 = content.find(L"</display>", pos);
+ str = content.mid(pos1 + L"</display>".length(), 9999999);
+ content = content.left(pos) + str;
+ }
+ else
+ break;
+ }
+ int ret = 1;
+ if (content != L"")
+ {
+ ret = ProcessSendMessage(L"/task/quote/file-update", entityID, content, L"", false);
+ }
+ return ret;
+ }
+
+ int OnUpdateProcessed()
+ {
+ int ret = ProcessSendMessage(L"/task/quote/update-processed", taskid, L"", L"", false);
+ win32::PostMessage(GetFrameWindow().GetHWND(), 0x401, L"xmRefreshTask", 0);
+ return ret;
+ }
+
+ int OnUpdate()
+ {
+ //set rowid
+ ensureRowID();
+
+ xstring content = dw_cell.GetData();
+ content = content.mid(content.find(L"<xsheet"), 9999999);
+ while (true)
+ {
+ int pos = content.find(L"<display>");
+ int pos1 = 0;
+ xstring str = L"";
+ if (pos >= 0)
+ {
+ pos1 = content.find(L"</display>", pos);
+ str = content.mid(pos1 + L"</display>".length(), 9999999);
+ content = content.left(pos) + str;
+ }
+ else
+ break;
+ }
+ //trace(content);
+ xstring business = L"";
+ //trace(content);
+
+ if (action == L"new")
+ {
+ entityID = ViewObject::GetGuid();
+ entityItemID = ViewObject::GetGuid();
+ }
+
+ //trace(L"\r\nid:"+entityID+L" termid:"+entityItemID);
+ business = L"<business action='" + action + L"' id='" + entityID + L"' itemid='" + entityItemID + L"' processurl='" + processurl + L"' termid='" + templateID + L"'>";
+ business += L"<content>" + content + L"</content></business>";
+ xstring datacontent = GetSaleFullData(dw_cell);
+ bool balter = false;
+ if (action == L"purch")
+ balter = true;
+
+ int ret = ProcessSendMessage(L"/task/quote/update", L"", business, datacontent, balter);
+ //int ret = ProcessSendMessage(L"/task/quote/update", L"", business,false);
+
+
+
+ if (action == L"new" && ret == 1) action = L"open";
+ return ret;
+ }
+
+ int OnSave(bool saveas = false)
+ {
+ //dw_cell.AcceptText();
+ dw_cell.SetRowColumn(1, 1);
+ dw_cell.SetAnchorRowColumn(1, 1);
+
+ if (tabsheet != L"tab_quote") OnToQuote();
+
+ if (getBaseItem(dw_cell, L"鎶ヤ环鍗曞彿:") == L"")
+ setBaseItem(dw_cell, L"鎶ヤ环鍗曞彿:", dw_base.GetItemString(1, L"QuoteNo"));
+
+ OnUpdate();
+ if (action == L"purch") return 1;
+ return OnSaveEx(true);
+
+ xstring suserid = publiccode::GetUser().id;
+ xstring myurl = L"data/QuoteFile/" + suserid;
+ xstring sfilename = filename;
+ if (filename == L"" || saveas)
+ {
+ xaserverarg arg ;
+
+ arg.AddArg(L"src", myurl);
+ OpenWindow(L"dev:xpage[trade.document.saveas.vx]", cast(arg as int));
+ if (arg.GetArgString(L"result") == L"ok")
+ {
+ sfilename = arg.GetArgString(L"filename");
+ }
+ else
+ return 1;
+ }
+
+ xstring content = dw_cell.GetData();
+
+ xstring sguid = publiccode::GetGuid();
+ xstring sname = sguid;
+ xstring str = sname.mid(0, 2);
+ str = str.upper();
+ xstring suri = L"attachment" + str;
+ int ret = xaserver::UploadData(suri, sguid + L".jpg", content);
+ if (ret < 0)
+ {
+ alert(L"涓婁紶鏂囦欢鍑洪敊!");
+ return 0;
+ }
+
+ xml x ;
+
+ xaserverarg args ;
+ args.setNativePointer(args.CreateInstance());
+ args.AddArg(L"myurl", myurl);
+ args.AddArg(L"name", sfilename);
+ args.AddArg(L"filepath", sname);
+ args.AddArg(L"fileext", L"xdoc");
+ args.AddArg(L"filesource", sfilename);
+ args.AddArg(L"filesource", sfilename);
+ args.AddArg(L"id", fileid);
+
+ xstring path = L"/sale/data/TDocument3/attachment/update";
+ if (filename == L"" || saveas) path = L"/sale/data/TDocument3/attachment/add";
+ if (xurl::get(path, args.GetString(), x) != 1)
+ {
+ alert(L"淇濆瓨鍑洪敊浜�!");
+ return 0;
+ }
+ else
+ {
+ filename = sfilename;
+ win32::SetWindowText(GetHWND(), L"鎶ヤ环鏂囦欢:" + filename);
+ alert(x.text());
+ }
+
+ return 1;
+ }
+
+ int SendCtrlCmd(xcontrol xc, xstring cmd)
+ {
+ win32::SendMessage(xc.GetId(), 0x401, cmd, 0);
+ return 1;
+ }
+
+ int OnCellClicked(ref TNotifyEvent evt, int p)
+ {
+ ref DWNMHDR dwhdr = cast(evt.pnmh as ref DWNMHDR);
+ int row = dwhdr.row;
+ int col = dwhdr.col;
+ //xstring col = dwhdr.colname;
+ //xstring data = dwhdr.data;
+
+ //alert(xstring(col));
+ int startRow = getItemHeadRow(dw_cell);
+ if (startRow < 1) return 1;
+
+ if (row < startRow)
+ {
+ xstring val = dw_cell.GetItemString(row, col);
+ if (val == L"鎶ヤ环鍗曞彿:" || val == L"鎶ヤ环鎴鏃ユ湡锛�" || val == L"椤圭洰鍚嶇О:")
+ {
+ dwhdr.idFrom = -1;
+ return 1;
+ }
+ if (col > 1)
+ {
+ val = dw_cell.GetItemString(row, col - 1);
+ if (val == L"鎶ヤ环鍗曞彿:")
+ {
+ dwhdr.idFrom = -1;
+ return 1;
+ }
+ }
+ }
+ if (row == startRow)
+ {
+ dwhdr.idFrom = -1;
+ return 1;
+ }
+ if (row < startRow + 1) return 1;
+ startRow++;
+
+ trace(xstring(row) + L"---" + (startRow - 1).toString());
+
+ int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
+ int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+ int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
+ int colItemCName = getItemCol(dw_cell, startRow - 1, L"涓枃鍝佸悕");
+ int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+ int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�,閲囪喘浠锋牸");
+ int colBuyer = getItemCol(dw_cell, startRow - 1, L"閲囪喘浜哄憳");
+ int colCustomerPhoto = getItemCol(dw_cell, startRow - 1, L"Photo,Customer Photo");
+ int colPackage = getItemCol(dw_cell, startRow - 1, L"Package,鍖呰鏂瑰紡");
+ int colFOBPrice = getItemCol(dw_cell, startRow - 1, L"FOB Price,FOB Price(USD),Fob Price");
+ int colQty = getItemCol(dw_cell, startRow - 1, L"Qty,鏁伴噺");
+ //int colToPODate = getItemCol(dw_cell,startRow - 1,L"涓氬姟鍙戦�侀噰璐椂闂�");
+
+ int colSaler = getItemCol(dw_cell, startRow - 1, L"涓氬姟鍛�");
+
+ int colVolDesc = getItemCol(dw_cell, startRow - 1, L"浣撶Н鎻忚堪,闀縓瀹絏楂�,闀縓瀹絏楂�(CM)L");
+ int colVol = getItemCol(dw_cell, startRow - 1, L"浣撶Н,浣撶Н(M3)L");
+ int colQtyPerPack = getItemCol(dw_cell, startRow - 1, L"瑁呯鏁�(鍐�/澶�),瑁呯鏁�(澶�/鍐�)L");
+ int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
+ int colSKUID = getItemCol(dw_cell, startRow - 1, L"SKUID");
+
+ int colPONote = getItemCol(dw_cell, startRow - 1, L"閲囪喘To涓氬姟澶囨敞");
+ int colPONote2 = getItemCol(dw_cell, startRow - 1, L"涓氬姟To閲囪喘澶囨敞");
+
+ int colItemNote = getItemCol(dw_cell, startRow - 1, L"浜у搧澶囨敞");
+
+ int colPOPhoto = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
+ int colPOPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�");
+ int colNW = getItemCol(dw_cell, startRow - 1, L"姣涢噸(KG)L");
+ int colGW = getItemCol(dw_cell, startRow - 1, L"鍑�閲�(KG)L");
+ int colSKUNo = getItemCol(dw_cell, startRow - 1, L"SKUID,SKUNo");
+
+ int purchremarkcol = getItemCol(dw_cell, startRow - 1, L"閲囪喘To涓氬姟澶囨敞");
+ int colRemark = getItemCol(dw_cell, startRow - 1, L"Remarks");
+
+ //int colProductInfo = getItemCol(dw_cell,startRow - 1,L"浜у搧淇℃伅");
+ int colProductInfo = getItemCol(dw_cell, startRow - 1, L"涓氬姟閮ㄤ骇鍝佷俊鎭�");
+ int colProductInfo1 = getItemCol(dw_cell, startRow - 1, L"閲囪喘閮ㄤ骇鍝佷俊鎭�");
+
+
+ int colItemPurchDate = getItemCol(dw_cell, startRow - 1, L"涓氬姟鍙戦�侀噰璐椂闂�");
+
+ dwhdr.idFrom = 0;
+ if (action != L"purch")
+ {
+ if (col == colPONote || col == colProductInfo1 || col == colItemNote || col == colPOPhoto || col == colPOPrice || col == colNW || col == colGW || col == colVol || col == colVolDesc)
+ {
+ dwhdr.idFrom = -1;
+ return 1;
+ }
+ /*if(col==colProductInfo && dw_cell.GetItemString(row,colItemPurchDate)!=L"")
+ {
+ dwhdr.idFrom = -1;
+ return 1;
+ }*/
+ }
+
+ if (action != L"purched")
+ {
+ if (col == colBuyer)
+ {
+ KXMLDOMNodeList items = purcher.selectNodes(L"//HrEmployee");
+ int count = items.length();
+ xstring pitems = L"";
+ for (int i = 0; i < count; i++)
+ {
+ pitems += L"<row><鏄剧ず鍒�>" + items.item(i).selectSingleNode(L"Name").text + L"</鏄剧ず鍒�><鏁版嵁鍒�>"
+ + items.item(i).selectSingleNode(L"Name").text + L"</鏁版嵁鍒�></row>";
+
+ }
+ xstring prop = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
+ "<edit edittype='ddlb' ddlbdataurl='' ddlbxml='<data>" + pitems + L"</data>'/>" +
+ "</cellprop>";
+ dw_cell.SetCellProps(row, col, prop);
+ }
+ }
+
+ if (action != L"purch" && action != L"purched")
+ {
+ /*if(col ==colBuyer)
+ {
+ KXMLDOMNodeList items = purcher.selectNodes(L"//HrEmployee");
+ int count = items.length();
+ xstring pitems = L"";
+ for(int i=0;i<count;i++)
+ {
+ pitems += L"<row><鏄剧ず鍒�>"+items.item(i).selectSingleNode(L"Name").text+L"</鏄剧ず鍒�><鏁版嵁鍒�>"
+ +items.item(i).selectSingleNode(L"Name").text + L"</鏁版嵁鍒�></row>";
+
+ }
+ xstring prop=L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
+ "<edit edittype='ddlb' ddlbdataurl='' ddlbxml='<data>" + pitems + L"</data>'/>" +
+ "</cellprop>";
+ dw_cell.SetCellProps(row,col,prop);
+ }*/
+ if (col == colPackage)
+ {
+ xstring proppack = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='淇濇姢' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''><edit edittype='ddlb' ddlbdataurl='xquery:[Convert.quickcode.xq]?id=鍖呰鏂瑰紡1' ddlbxml=''/></cellprop>";
+ dw_cell.SetCellProps(row, col, proppack);
+ }
+ }
+
+
+ //alert(action);
+ if (action == L"purch")
+ {
+ if (col == colPONote2 || col == colProductInfo || col == colCustomerPhoto || col == colSaler || col == colSKUID || col == colQty || col == colBuyerPrice || col == col40HQ || col == colQtyPerPack || col == colPackage || col == colItemNo || col == colItemCName || col == colCustomerItemNo || col == colItemName || col == colItemSpec //|| colBuyer ==col
+ || col == colVol)
+ {
+ dwhdr.idFrom = -1;
+ return 1;
+ }
+ }
+
+ if (action == L"purch")
+ {
+ int colPrice0 = getItemCol(dw_cell, startRow - 1, L"浠锋牸");
+ int colPrice1 = getItemCol(dw_cell, startRow - 1, L"浠锋牸1");
+ int colPrice2 = getItemCol(dw_cell, startRow - 1, L"浠锋牸2");
+ int colPrice3 = getItemCol(dw_cell, startRow - 1, L"浠锋牸3");
+ int colPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�");
+
+ int colTyp = getItemCol(dw_cell, startRow - 1, L"绫诲瀷");
+ int colTyp1 = getItemCol(dw_cell, startRow - 1, L"绫诲瀷1");
+ int colTyp2 = getItemCol(dw_cell, startRow - 1, L"绫诲瀷2");
+ int colTyp3 = getItemCol(dw_cell, startRow - 1, L"绫诲瀷3");
+ int colSupplier = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�,宸ュ巶");
+ int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�1,宸ュ巶1");
+ int colSupplier2 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�2,宸ュ巶2");
+ int colSupplier3 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�3,宸ュ巶3");
+
+
+ if (col == colSupplier || col == colSupplier1 || col == colSupplier2 || col == colSupplier3)
+ {
+ if (dw_cell.GetItemString(row, col) == L"")
+ dw_cell.SetItemString(row, col, L" ");
+ xstring prop2 = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
+ "<edit edittype='query' dddwxpageurl='' dddwdataurl='xquery:[Convert.quickcode.xq]?id=Supplier' dddwtemplateurl='dev:sheet[Supplier.v3.tpl/List]' dddwdatacolumn='Name' dddwdisplaycolumn='Name' dddwwidth='' dddwheight='' dddwautoselect='N' dddwshowbutton='鍚�' dddwcanedit='鏄�'/>" +
+ "</cellprop>";
+ dw_cell.SetCellProps(row, col, prop2);
+ dw_cell.Redraw();
+ }
+ else if (col == colTyp1 || col == colTyp || col == colTyp2 || col == colTyp3)
+ {
+ xstring pitems1 = L"";
+ pitems1 += L"<row><鏄剧ず鍒�>鎴愬搧</鏄剧ず鍒�><鏁版嵁鍒�>"
+ + L"鎴愬搧</鏁版嵁鍒�></row>";
+ pitems1 += L"<row><鏄剧ず鍒�>鏁h揣</鏄剧ず鍒�><鏁版嵁鍒�>"
+ + L"鏁h揣</鏁版嵁鍒�></row>";
+ pitems1 += L"<row><鏄剧ず鍒�>鍖呰</鏄剧ず鍒�><鏁版嵁鍒�>"
+ + L"鍖呰</鏁版嵁鍒�></row>";
+ xstring prop1 = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
+ "<edit edittype='ddlb' ddlbdataurl='' ddlbxml='<data>" + pitems1 + L"</data>'/>" +
+ "</cellprop>";
+ dw_cell.SetCellProps(row, col, prop1);
+ }
+ }
+ if (ARow != row) RowChanged(row);
+ ARow = row;
+ ACol = col;
+ //orivalue = dw_cell.GetItemString(ARow,ACol);
+
+ return 1;
+ }
+
+
+ int OnCellClicked1(ref TNotifyEvent evt, int p)
+ {
+ ref DWNMHDR dwhdr = cast(evt.pnmh as ref DWNMHDR);
+ int row = dwhdr.row;
+ int col = dwhdr.col;
+ //xstring col = dwhdr.colname;
+ //xstring data = dwhdr.data;
+
+ //alert(xstring(col));
+ int startRow = getItemHeadRow(dw_cell);
+ if (startRow < 1) return 1;
+ if (row == startRow)
+ {
+ dwhdr.idFrom = -1;
+ return 1;
+ }
+ if (row < startRow + 1) return 1;
+ startRow++;
+
+ trace(xstring(row) + L"---" + (startRow - 1).toString());
+
+ int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
+ int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+ int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
+ int colItemCName = getItemCol(dw_cell, startRow - 1, L"涓枃鍝佸悕");
+ int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+ int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�,閲囪喘浠锋牸");
+ int colBuyer = getItemCol(dw_cell, startRow - 1, L"閲囪喘浜哄憳");
+ int colCustomerPhoto = getItemCol(dw_cell, startRow - 1, L"Photo,Customer Photo");
+ int colPackage = getItemCol(dw_cell, startRow - 1, L"Package,鍖呰鏂瑰紡");
+ int colFOBPrice = getItemCol(dw_cell, startRow - 1, L"FOB Price,FOB Price(USD),Fob Price");
+ int colQty = getItemCol(dw_cell, startRow - 1, L"Qty,鏁伴噺");
+ //int colToPODate = getItemCol(dw_cell,startRow - 1,L"涓氬姟鍙戦�侀噰璐椂闂�");
+
+
+ int colVolDesc = getItemCol(dw_cell, startRow - 1, L"浣撶Н鎻忚堪,闀縓瀹絏楂�,闀縓瀹絏楂�(CM)L");
+ int colVol = getItemCol(dw_cell, startRow - 1, L"浣撶Н,浣撶Н(M3)L");
+ int colQtyPerPack = getItemCol(dw_cell, startRow - 1, L"瑁呯鏁�(鍐�/澶�),瑁呯鏁�(澶�/鍐�)L");
+ int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
+ int colSKUID = getItemCol(dw_cell, startRow - 1, L"SKUID");
+
+ int colPONote = getItemCol(dw_cell, startRow - 1, L"閲囪喘To涓氬姟澶囨敞");
+ int colPOPhoto = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
+ int colPOPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�");
+ int colNW = getItemCol(dw_cell, startRow - 1, L"姣涢噸(KG)L");
+ int colGW = getItemCol(dw_cell, startRow - 1, L"鍑�閲�(KG)L");
+ int colSKUNo = getItemCol(dw_cell, startRow - 1, L"SKUID,SKUNo");
+
+ dwhdr.idFrom = 0;
+ if (action != L"purch")
+ {
+ if (col == colPONote || col == colPOPhoto || col == colPOPrice || col == colNW || col == colGW || col == colVol || col == colVolDesc)
+ {
+ dwhdr.idFrom = -1;
+ return 1;
+ }
+ }
+
+ if (ACol == colFOBPrice && (col != colFOBPrice || row != ARow) && ARow >= startRow)
+ {
+ xstring fobprice = dw_cell.GetItemString(ARow, ACol);
+ if (fobprice.left(1) != L"$") dw_cell.SetItemString(ARow, ACol, L"$" + fobprice);
+ }
+
+ if (action != L"purch" && action != L"purched")
+ {
+ if (col == colBuyer)
+ {
+ KXMLDOMNodeList items = purcher.selectNodes(L"//HrEmployee");
+ int count = items.length();
+ xstring pitems = L"";
+ for (int i = 0; i < count; i++)
+ {
+ pitems += L"<row><鏄剧ず鍒�>" + items.item(i).selectSingleNode(L"Name").text + L"</鏄剧ず鍒�><鏁版嵁鍒�>"
+ + items.item(i).selectSingleNode(L"Name").text + L"</鏁版嵁鍒�></row>";
+
+ }
+ xstring prop = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
+ "<edit edittype='ddlb' ddlbdataurl='' ddlbxml='<data>" + pitems + L"</data>'/>" +
+ "</cellprop>";
+ dw_cell.SetCellProps(row, col, prop);
+ }
+ if (col == colPackage)
+ {
+ xstring proppack = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='淇濇姢' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''><edit edittype='ddlb' ddlbdataurl='xquery:[Convert.quickcode.xq]?id=鍖呰鏂瑰紡1' ddlbxml=''/></cellprop>";
+ dw_cell.SetCellProps(row, col, proppack);
+ }
+ }
+
+ if (ACol == colItemNo && col != colItemNo && dw_cell.GetItemString(ARow, colItemNo) != orivalue)
+ {
+ trace(L"/r/n--------------------");
+ if (dw_cell.GetItemString(ARow, colItemNo) != L"")
+ {
+ xaserverarg argx ;
+ argx.setNativePointer(argx.CreateInstance());
+ argx.AddArg(L"GoodsNo", dw_cell.GetItemString(ARow, colItemNo));
+ OpenWindow(L"dev:xpage[CustomerItemNoList.vx]", cast(argx as int));
+ if (argx.GetArgString(L"action") != L"ok")
+ {
+ ARow = row;
+ ACol = col;
+ orivalue = dw_cell.GetItemString(row, col);
+ return 1;
+ }
+
+ xml x1 ;
+
+ x1.loadXML(argx.GetArgString(L"items"));
+ if (x1.selectSingleNode(L"//CustomerItemNo"))
+ {
+ xstring CustomerItemNo = x1.selectSingleNode(L"//CustomerItemNo").text();
+ dw_cell.SetItemString(ARow, colCustomerItemNo, CustomerItemNo);
+ }
+
+ xml goods = GetProduct(dw_cell.GetItemString(ARow, colItemNo));
+
+ if (goods)
+ {
+ dw_cell.SetItemString(ARow, colCustomerPhoto, L"");
+ resetRowTerm(dw_cell, ARow, L"customer-photo");
+ if (goods.selectSingleNode(L"//SKUID[1]"))
+ {
+ setRowProp(dw_cell, ARow, L"SKUID", goods.selectSingleNode(L"//SKUID[1]").text());
+ }
+ if (goods.selectSingleNode(L"//SKUNo[1]"))
+ {
+ dw_cell.SetItemString(ARow, colSKUNo, goods.selectSingleNode(L"//SKUNo[1]").text());
+ }
+ if (goods.selectSingleNode(L"//EName[1]"))
+ dw_cell.SetItemString(ARow, colItemName, goods.selectSingleNode(L"//EName[1]").text());
+ if (goods.selectSingleNode(L"//CName[1]"))
+ dw_cell.SetItemString(ARow, colItemCName, goods.selectSingleNode(L"//CName[1]").text());
+ if (goods.selectSingleNode(L"//Packing[1]"))
+ dw_cell.SetItemString(ARow, colPackage, goods.selectSingleNode(L"//Packing[1]").text());
+ if (goods.selectSingleNode(L"//POCreatorID[1]"))
+ {
+ dw_cell.SetItemString(ARow, colBuyer, goods.selectSingleNode(L"//POCreatorID[1]").text());
+ }
+ if (goods.selectSingleNode(L"//PackingRate[1]"))
+ {
+ if (goods.selectSingleNode(L"//InnerQty[1]"))
+ {
+ xstring str1 = goods.selectSingleNode(L"//PackingRate[1]").text();
+ xstring str2 = goods.selectSingleNode(L"//InnerQty[1]").text();
+ dw_cell.SetItemString(ARow, colQtyPerPack, str2 + L"/" + str1);
+ }
+ else
+ {
+ xstring str1 = goods.selectSingleNode(L"//PackingRate[1]").text();
+ dw_cell.SetItemString(ARow, colQtyPerPack, str1);
+ }
+ }
+ ProcessItemImage(dw_cell.GetItemString(ARow, colSKUNo), ARow);
+ //ProcessItemImage1(dw_cell.GetItemString(ARow,colItemNo),ARow);
+ dw_cell.SetRowColumn(row, col);
+ dw_cell.SetAnchorRowColumn(row, col);
+ }
+ }
+ }
+
+ if (((ACol == colVolDesc && (col != colVolDesc || row != ARow)) || (ACol == colQtyPerPack && (col != colQtyPerPack || row != ARow))) && ARow >= startRow)
+ {
+ /*璁$畻浣撶Н*/
+ xstring desc = dw_cell.GetItemString(ARow, colVolDesc);
+ if (desc == L"")
+ dw_cell.SetItemString(ARow, colVol, L"");
+ else
+ {
+ double v = calcVol(desc) / 1000000.00;
+ xstring str = xstring(v);
+ if (str.find(L".") >= 0) str = str.left(str.find(L".") + 5);
+ dw_cell.SetItemString(ARow, colVol, str);
+ dw_cell.Redraw();
+ }
+
+ xstring qtyperPack = dw_cell.GetItemString(ARow, colQtyPerPack);
+ if (qtyperPack != L"")
+ {
+ xstring qty1 = qtyperPack;
+ xstring qty2 = L"";
+ double qty = 0.00;
+ int pos2 = qtyperPack.find(L"/");
+ if (pos2 >= 0)
+ {
+ qty1 = qtyperPack.left(qtyperPack.find(L"/"));
+ qty2 = qtyperPack.mid(qtyperPack.find(L"/") + 1, 9999);
+ }
+ if (qty1 != L"") qty = qty1.toDouble();
+ if (qty2 != L"") qty = qty * qty2.toDouble();
+ double ttl = 65.0 * qty / v;
+ dw_cell.SetItemString(ARow, col40HQ, ttl.toInt().toString());
+ }
+ }
+
+ //alert(action);
+ if (action == L"purch")
+ {
+ if (col == colSKUID || col == colQty || col == colBuyerPrice || col == col40HQ || col == colQtyPerPack || col == colPackage || col == colItemNo || col == colItemCName || col == colCustomerItemNo || col == colItemName || col == colItemSpec || colBuyer == col
+ || col == colVol)
+ {
+ dwhdr.idFrom = -1;
+ return 1;
+ }
+ }
+
+ if (action == L"purch")
+ {
+ int colPrice0 = getItemCol(dw_cell, startRow - 1, L"浠锋牸");
+ int colPrice1 = getItemCol(dw_cell, startRow - 1, L"浠锋牸1");
+ int colPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�");
+
+ int colTyp = getItemCol(dw_cell, startRow - 1, L"绫诲瀷");
+ int colTyp1 = getItemCol(dw_cell, startRow - 1, L"绫诲瀷1");
+ int colSupplier = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�,宸ュ巶");
+ int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�1,宸ュ巶1");
+ int colSupplier2 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�2,宸ュ巶2");
+
+
+ if (col == colSupplier || col == colSupplier1 || col == colSupplier2)
+ {
+ if (dw_cell.GetItemString(row, col) == L"")
+ dw_cell.SetItemString(row, col, L" ");
+ xstring prop2 = (xstring)L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
+ L"<edit edittype='query' dddwxpageurl='' dddwdataurl='xquery:[Convert.quickcode.xq]?id=Supplier' dddwtemplateurl='dev:sheet[Supplier.v3.tpl/List]' dddwdatacolumn='Name' dddwdisplaycolumn='Name' dddwwidth='' dddwheight='' dddwautoselect='N' dddwshowbutton='鍚�' dddwcanedit='鏄�'/>" +
+ L"</cellprop>";
+ dw_cell.SetCellProps(row, col, prop2);
+ dw_cell.Redraw();
+ }
+ else if (col == colTyp1 || col == colTyp)
+ {
+ xstring pitems1 = L"";
+ pitems1 += (xstring)L"<row><鏄剧ず鍒�>鎴愬搧</鏄剧ず鍒�><鏁版嵁鍒�>"
+ + L"鎴愬搧</鏁版嵁鍒�></row>";
+ pitems1 += (xstring)L"<row><鏄剧ず鍒�>鏁h揣</鏄剧ず鍒�><鏁版嵁鍒�>"
+ + L"鏁h揣</鏁版嵁鍒�></row>";
+ pitems1 += (xstring)L"<row><鏄剧ず鍒�>鍖呰</鏄剧ず鍒�><鏁版嵁鍒�>"
+ + L"鍖呰</鏁版嵁鍒�></row>";
+ xstring prop1 = (xstring)L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
+ "<edit edittype='ddlb' ddlbdataurl='' ddlbxml='<data>" + pitems1 + L"</data>'/>" +
+ "</cellprop>";
+ dw_cell.SetCellProps(row, col, prop1);
+ }
+
+
+
+ if (((colPrice != col && colPrice1 != col) || row != ARow) && bPurchPrice)
+ {
+ if (bPurchPrice && action == L"purch")
+ {
+ xstring price0 = dw_cell.GetItemString(ARow, colPrice0);
+ xstring price1 = dw_cell.GetItemString(ARow, colPrice1);
+ xstring price = price0;
+ if (price0 != L"")
+ {
+ if (price0.find(L"A") < 1 && price0.find(L"B") < 1 && price0.find(L"C") < 1 && price0.find(L"a") < 1 && price0.find(L"b") < 1 && price0.find(L"b") < 1)
+ {
+ alert(L"浠锋牸涓病鎸囧畾ABC");
+ }
+ }
+ if (price1 != L"")
+ {
+ if (price1.find(L"A") < 1 && price1.find(L"B") < 1 && price1.find(L"C") < 1 && price1.find(L"a") < 1 && price1.find(L"b") < 1 && price1.find(L"c") < 1)
+ {
+ alert(L"浠锋牸涓病鎸囧畾ABC");
+ }
+ price = price0 + L"+L" + price1;
+ }
+ dw_cell.SetItemString(ARow, colPrice, price);
+ }
+ }
+ if (colPrice0 != col && colPrice1 != col)
+ bPurchPrice = false;
+ else
+ bPurchPrice = true;
+
+ }
+ if (ARow != row) RowChanged(row);
+ ARow = row;
+ ACol = col;
+ orivalue = dw_cell.GetItemString(ARow, ACol);
+
+ return 1;
+ }
+
+ int OnImgDBClicked(TEvent* evt, LPARAM pr)
+ {
+ IMGNNMHDR& nmtv = *(IMGNNMHDR*)evt->notify.pnmh;
+ xstring src = nmtv.path;
+ /*if(src.length() > 60)
+ src = src.right(44);
+ else
+ src=src.mid(src.find(L"Thumbs", 0)+6, 50);
+ */
+ 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);
+ return 1;
+ /*
+ xwin x = new xwin;
+ x.setNativePointer(h);
+ m_winHwnd = x.GetHWND();
+
+ xstring sh = doc.GetXml();
+ int p = cast(sh as int);
+ win32::SendMessage(m_winHwnd, 0x401, p, 0);
+ */
+ return 1;
+ }
+
+ //鍛戒护澶勭悊浜嬩欢
+ int OnXCommand(TEvent * evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ int OnAttachListon()
+ {
+ //缁戝畾宸ュ叿鏉$偣鍑讳簨浠�
+ AttachEvent(L"WM_XCOMMAND", OnXCommand);
+ //鑾峰彇鐒︾偣浜嬩欢锛岀敤浜庨噸缃伐鍏锋潯
+ AttachEvent(L"WM_SETFOCUS", OnSetFocus);
+
+ AttachEvent(L"frame:im1", L"IMG_LDBCLICK", OnImgDBClicked);
+
+ AttachEvent(L"dw_base", L"DWV_ITEMCHANGED", OnItemChanged);
+ AttachEvent(L"dw_goods", L"DWV_ROWFOCUSCHANGED", OnRowChanged);
+
+ AttachEvent(L"dw_cell", L"DWV_CLICKED", OnCellClicked);
+ AttachEvent(L"dw_cell", L"CELL_ITEMCHANGED", OnCellItemChanged);
+ AttachEvent(L"dw_cell", L"CELL_SELECTCHANGED", OnCellSelectChanged);
+ return 1;
+ }
+
+ /*
+ int OnRetrieve()
+ {
+ xml x ;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"xxx",L"xxx");
+ if (getUrl(L"",arg.GetString(),x)!=1)
+ {
+ trace(x.text());
+ return -1;
+ }else
+ {
+ //dw_list.Retrieve(x);
+ //dw_list.Redraw();
+ }
+ return 1;
+ }
+ */
+
+ int SyncPurch(xml x)
+ {
+ int startRow = getItemHeadRow(dw_cell);
+
+ //娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+ if (startRow < 1) return 0;
+ startRow++;
+
+ int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
+ int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
+ int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
+ int colItemCName = getItemCol(dw_cell, startRow - 1, L"涓枃鍝佸悕");
+ int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+ int colBuyerPrice = getItemCol(dw_cell, startRow - 1, L"閲囪喘浠�,閲囪喘浠锋牸");
+ int colBuyer = getItemCol(dw_cell, startRow - 1, L"閲囪喘浜哄憳");
+
+ int colBuyerRemark = getItemCol(dw_cell, startRow - 1, L"閲囪喘To涓氬姟澶囨敞");
+ int colFactoryImage = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
+ int colGWT = getItemCol(dw_cell, startRow - 1, L"姣涢噸,姣涢噸(KG)L");
+ int colNWT = getItemCol(dw_cell, startRow - 1, L"鍑�閲�,鍑�閲�(KG)L");
+ int colVolDesc = getItemCol(dw_cell, startRow - 1, L"浣撶Н鎻忚堪,闀縓瀹絏楂�,闀縓瀹絏楂�(CM)L");
+ int colVol = getItemCol(dw_cell, startRow - 1, L"浣撶Н,浣撶Н(M3)L");
+ int col40HQ = getItemCol(dw_cell, startRow - 1, L"40HQ,QTY(40HQ)L");
+ int colPurchedDate = getItemCol(dw_cell, startRow - 1, L"閲囪喘鎻愪氦涓氬姟鏃堕棿");
+ int colPhoto1 = getItemCol(dw_cell, startRow - 1, L"宸ュ巶鍥剧墖");
+ //int colProductInfo = getItemCol(dw_cell,startRow - 1,L"浜у搧淇℃伅");
+ int colProductInfo = getItemCol(dw_cell, startRow - 1, L"涓氬姟閮ㄤ骇鍝佷俊鎭�");
+ int colProductInfo1 = getItemCol(dw_cell, startRow - 1, L"閲囪喘閮ㄤ骇鍝佷俊鎭�");
+
+ int LastRow = dw_cell.GetValidRow();
+ KXMLDOMNodeList items = x.selectNodes(L"//Item");
+ int size = items.length();
+ for (int i = 0; i < size; i++)
+ {
+ KXMLDOMElement ele = items.item(i);
+ xstring rowid = ele.selectSingleNode(L"RowID").text();
+ xstring BuyerPrice = ele.selectSingleNode(L"BuyerPrice").text();
+ xstring BuyerRemark = L"";
+ xstring FactoryImage = L"";
+ xstring GWT = L"";
+ xstring NWT = L"";
+ xstring VolDesc = L"";
+ xstring Vol = L"";
+ xstring F40HQ = L"";
+ xstring PurchedDate = L"";
+ xstring supplierphoto = L"";
+ xstring productInfo = L"";
+ xstring productInfo1 = L"";
+ xstring EnquiryLineID = L"";
+ xstring Buyer = L"";
+
+ if (ele.selectSingleNode(L"BuyerRemark")) BuyerRemark = ele.selectSingleNode(L"BuyerRemark").text();
+ if (ele.selectSingleNode(L"FactoryImage"))FactoryImage = ele.selectSingleNode(L"FactoryImage").text();
+ if (ele.selectSingleNode(L"GWT")) GWT = ele.selectSingleNode(L"GWT").text();
+ if (ele.selectSingleNode(L"NWT")) NWT = ele.selectSingleNode(L"NWT").text();
+ if (ele.selectSingleNode(L"VolDesc")) VolDesc = ele.selectSingleNode(L"VolDesc").text();
+ if (ele.selectSingleNode(L"Vol")) Vol = ele.selectSingleNode(L"Vol").text();
+ if (ele.selectSingleNode(L"F40HQ")) F40HQ = ele.selectSingleNode(L"F40HQ").text();
+ if (ele.selectSingleNode(L"PurchedDate")) PurchedDate = ele.selectSingleNode(L"PurchedDate").text();
+ trace(L"\r\n******" + PurchedDate);
+ if (ele.selectSingleNode(L"supplier-photo")) supplierphoto = ele.selectSingleNode(L"supplier-photo").text();
+ if (ele.selectSingleNode(L"ProductInfo")) productInfo = ele.selectSingleNode(L"ProductInfo").text();
+ if (ele.selectSingleNode(L"ProductInfo1")) productInfo1 = ele.selectSingleNode(L"ProductInfo1").text();
+ if (ele.selectSingleNode(L"EnquiryLineID")) EnquiryLineID = ele.selectSingleNode(L"EnquiryLineID").text();
+ if (ele.selectSingleNode(L"Buyer")) Buyer = ele.selectSingleNode(L"Buyer").text();
+
+ trace(L"\r\nsupplierphoto:" + supplierphoto);
+ for (int row = startRow; row <= LastRow; row++)
+ {
+ if (dw_cell.GetItemString(row, colItemName) == L"" &&
+ dw_cell.GetItemString(row, colItemSpec) == L"") break;
+ if (getRowID(dw_cell, row) == rowid)
+ {
+ dw_cell.SetItemString(row, colBuyerPrice, BuyerPrice);
+ dw_cell.SetItemString(row, colBuyerRemark, BuyerRemark);
+ dw_cell.SetItemString(row, colFactoryImage, FactoryImage);
+ dw_cell.SetItemString(row, colGWT, GWT);
+ dw_cell.SetItemString(row, colNWT, NWT);
+ dw_cell.SetItemString(row, colVolDesc, VolDesc);
+ dw_cell.SetItemString(row, colVol, Vol);
+ dw_cell.SetItemString(row, col40HQ, F40HQ);
+ dw_cell.SetItemString(row, colPurchedDate, PurchedDate);
+ dw_cell.SetItemString(row, colProductInfo, productInfo);
+ dw_cell.SetItemString(row, colProductInfo1, productInfo1);
+ if (Buyer != L"") dw_cell.SetItemString(row, colBuyer, Buyer);
+ if (EnquiryLineID != L"") setRowTerm(dw_cell, row, L"EnquiryLineID", EnquiryLineID);
+ if (supplierphoto != L"") setRowTerm(dw_cell, row, L"supplier-photo", supplierphoto);
+
+ xstring props = dw_cell.GetCellProps(row, colPhoto1);
+ props = L"<cellprop><edit edittype='image'/></cellprop>";
+ dw_cell.SetCellProps(row, colPhoto1, props);
+
+ break;
+ }
+ }
+ }
+ return 1;
+ }
+
+ int SyncPurch(xstring entityid)
+ {
+ xml x ;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"entityid", entityid);
+ //alert(id);
+ if (getUrl(L"/sale/data/TO/quote/purchared/item", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ return SyncPurch(x);
+ }
+
+ int OnRetrieve(xstring id)
+ {
+ xml x ;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"id", id);
+ //alert(id);
+ if (getUrl(L"/sale/data/Quote/maint", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_base.Retrieve(x);
+ dw_base.Redraw();
+ dw_goods.Retrieve(x);
+ dw_goods.Redraw();
+ }
+ return 1;
+ }
+
+ int onload()
+ {
+ Reset();
+ orivalue = L"";
+ ARow = 1;
+ ACol = 1;
+
+ tabsheet = L"tab_bill";
+ templateID = L"ECDDE57A-43EB-49DD-9287-DC5D0B29ECA1";
+ xstring templ = L"";
+ taskid = L"";
+ xaserverarg arg;
+ if (GetParam()) {
+ arg ;
+ arg.setNativePointer(GetParam());
+ templ = arg.GetArgString(L"template");
+ entityID = arg.GetArgString(L"EntityID");
+ taskid = arg.GetArgString(L"TaskID");
+ if (entityID != L"")action = L"open";
+
+ trace(L"\r\nentity:" + entityID + L" taskid:" + taskid);
+ }
+ dw_cell = GetControl(L"dw_cell");
+
+ if (templ != L"")
+ {
+ /*xml x ;
+ x.setNativePointer(x.CreateInstance());
+ x.loadXML(templ);
+ */
+ action = L"purch";
+
+ if (templ.find(L"action=\"") >= 0)
+ {
+ action = templ.mid(templ.find(L"action=\"") + 8, templ.find(L"\"", templ.find(L"action=\"") + 8) - (templ.find(L"action=\"") + 8));
+ }
+ if (action == L"") action = L"purch";
+ if (templ.find(L"TemplateItemID=\"") >= 0)
+ {
+ entityItemID = templ.mid(templ.find(L"TemplateItemID=\"") + 16, templ.find(L"\"", templ.find(L"TemplateItemID=\"") + 16) - (templ.find(L"TemplateItemID=\"") + 16));
+ }
+ if (entityItemID == L"")
+ {
+ if (templ.find(L" ItemID=\"") >= 0)
+ {
+ entityItemID = templ.mid(templ.find(L" ItemID=\"") + 9, templ.find(L"\"", templ.find(L" ItemID=\"") + 9) - (templ.find(L" ItemID=\"") + 9));
+ }
+ }
+
+ /*action = x.documentElement.getAttribute(L"action");
+ if(action==L"") action=L"purch";
+ entityItemID = x.documentElement.getAttribute(L"TemplateItemID");
+ if(entityItemID==L"")entityItemID = x.documentElement.getAttribute(L"ItemID");
+ */
+ OpenDocument(entityItemID);
+ if (action == L"purched")
+ {
+ //SyncPurch(x);
+ SyncPurch(entityID);
+ }
+ }
+ else
+ {
+ /*
+ templateurl = L"/sale/view/Enquiry3/template/EnquiryQuote";
+ if(kind==L"2")
+ templateurl = L"/sale/view/Enquiry3/template/EnquiryBill";
+
+ dw_cell.openUrl(templateurl);
+ */
+ //win32::SetWindowText(GetHWND(),L"鎶ヤ环鏂囦欢:[new]");
+ }
+
+ ARow = 0;
+ ACol = 0;
+ bPurchPrice = false;
+
+ dw_goods = GetControl(L"dw_goods");
+ //dw_goods .openUrl(L"/sale/view/Quote3/template/goods");
+ dw_goods.openUrl(L"/sale/view/Quote3/template/item/pricelist");
+ dw_goods.SetColumnState(L"ItemID", false);
+ dw_goods.SetColumnState(L"EnquiryLineID", false);
+ //dw_goods.SetColumnState(L"EnquiryPriceListID",false);
+ dw_goods.SetColumnState(L"POPrices", false);
+ dw_goods.SetColumnState(L"ClassifyID", false);
+ dw_goods.SetColumnState(L"Description", false);
+ dw_goods.SetColumnState(L"CName", false);
+ dw_goods.SetColumnState(L"QuoteLineID", false);
+ dw_goods.SetColumnState(L"SKUID", false);
+
+ dw_goods.SetAskStyle(true);
+
+ dw_base = GetControl(L"dw_base");
+ dw_base.openUrl(L"/sale/view/Quote3/template/base");
+ //dw_base.SetSelectionBorder(0);
+ dw_base.SetColHeaderHeight(0);
+ dw_base.SetRowSelectorWidth(0);
+ dw_base.SetHScrollState(false);
+ dw_base.SetVScrollState(false);
+
+ if (entityID != L"")
+ {
+ OnRetrieve(entityID);
+ if (templ == L"")OpenDocumentEntity(entityID);
+ //if(action==L"purched")SyncPurch(x);
+ }
+ else
+ {
+ if (templ == L"")
+ {
+ OnInit();
+ OpenTemplate(templateID);
+ }
+ }
+
+ OnAttachEvent();
+ filename = L"";
+
+ /* #define LayerFlow_None 0x00000001 //not layer space
+ #define LayerFlow_WE 0x00000002
+ #define LayerFlow_NS 0x00000004
+ #define LayerFlow_FreeForm 0x00000008
+ #define LayerFlow_Control 0x00000010
+ #define LayerFlow_HtmlFlow 0x00000020
+ #define LayerFlow_Sheets 0x00000040
+ #define LayerFlow_Hidden 0x00000080 //not show but layer space
+ #define LayerFlow_UnLayer 0x00000100 //not show and not layer space
+
+ #define LayerFlow_NotLayerNode (LayerFlow_None | LayerFlow_UnLayer)
+ #define LayerFlow_LayerChild (LayerFlow_WE|LayerFlow_NS|LayerFlow_FreeForm|LayerFlow_Sheets| LayerFlow_HtmlFlow )
+ */
+
+ if (action == L"purch")
+ {
+ xnode anode = GetAgentNode(L"tabheader");
+ anode.SetLayerFlow(0x00000100);
+ dw_cell.SetColumnCount(dw_cell.GetValidCol() + 6);
+ }
+ else
+ dw_cell.SetColumnCount(dw_cell.GetValidCol());
+
+ //OnRetrieve();
+
+ return 1;
+ }
+
+ xstring GetMySupplier()
+ {
+ int startRow = getItemHeadRow(dw_cell);
+
+ //娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
+ if (startRow < 1) return L"<data/>";
+ startRow++;
+
+ int colItemName = getItemCol(dw_cell, startRow - 1, L"Product Description,Product Name,Item Name");
+ int colItemSpec = getItemCol(dw_cell, startRow - 1, L"Specifications,瑙勬牸,浜у搧瑙勬牸");
+
+ int colSupplier1 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�1");
+ int colSupplier2 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�2");
+ int colSupplier3 = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�3");
+ int colSupplier = getItemCol(dw_cell, startRow - 1, L"渚涘簲鍟�");
+
+ int LastRow = dw_cell.GetValidRow();
+ xstring content = L"";
+ for (int row = startRow; row <= LastRow; row++)
+ {
+ if (dw_cell.GetItemString(row, colItemName) == L"" &&
+ dw_cell.GetItemString(row, colItemSpec) == L"") break;
+
+ xstring itemStr = L"";
+ if (colSupplier >= 1)
+ {
+ if (dw_cell.GetItemString(row, colSupplier) != L"")
+ {
+ if (hasParty(dw_cell.GetItemString(row, colSupplier)) == false)
+ {
+ itemStr += L"<Item update.new='1' update.modify='1'>";
+ itemStr += L"<Name>" + dw_cell.GetItemString(row, colSupplier) + L"</Name>";
+ itemStr += L"<ShortName>" + dw_cell.GetItemString(row, colSupplier) + L"</ShortName>";
+ itemStr += L"</Item>";
+ }
+ }
+ }
+ if (colSupplier1 >= 1)
+ {
+ if (dw_cell.GetItemString(row, colSupplier1) != L"")
+ {
+ if (hasParty(dw_cell.GetItemString(row, colSupplier1)) == false)
+ {
+ itemStr += L"<Item update.new='1' update.modify='1'>";
+ itemStr += L"<Name>" + dw_cell.GetItemString(row, colSupplier1) + L"</Name>";
+ itemStr += L"<ShortName>" + dw_cell.GetItemString(row, colSupplier1) + L"</ShortName>";
+ itemStr += L"</Item>";
+ }
+ }
+ }
+ if (colSupplier2 >= 1)
+ {
+ if (dw_cell.GetItemString(row, colSupplier2) != L"")
+ {
+ if (hasParty(dw_cell.GetItemString(row, colSupplier2)) == false)
+ {
+ itemStr += L"<Item update.new='1' update.modify='1'>";
+ itemStr += L"<Name>" + dw_cell.GetItemString(row, colSupplier2) + L"</Name>";
+ itemStr += L"<ShortName>" + dw_cell.GetItemString(row, colSupplier2) + L"</ShortName>";
+ itemStr += L"</Item>";
+ }
+ }
+ }
+ if (colSupplier3 >= 1)
+ {
+ if (dw_cell.GetItemString(row, colSupplier3) != L"")
+ {
+ if (hasParty(dw_cell.GetItemString(row, colSupplier3)) == false)
+ {
+ itemStr += L"<Item update.new='1' update.modify='1'>";
+ itemStr += L"<Name>" + dw_cell.GetItemString(row, colSupplier3) + L"</Name>";
+ itemStr += L"<ShortName>" + dw_cell.GetItemString(row, colSupplier3) + L"</ShortName>";
+ itemStr += L"</Item>";
+ }
+ }
+ }
+ if (itemStr != L"") content += itemStr;
+ }
+ xstring newEntityItemID = ViewObject::GetGuid();
+ content = L"<data>" + content + L"</data>";
+ return content;
+ }
+
+
+ int OnMySupplier()
+ {
+ if (action != L"purch") return 1;
+ xstring content = GetMySupplier();
+ xaserverarg arg ;
+ arg.setNativePointer(xaserverarg::CreateInstance());
+ arg.AddArg(L"value", content);
+ OpenWindow(L"dev:xpage[QuoteSupplierItem.vx]", cast(arg as int));
+
+ return 1;
+ }
+
+ bool hasParty(xstring name)
+ {
+ xml x ;
+
+ xaserverarg arg ;
+ arg.setNativePointer(xaserverarg::CreateInstance());
+ arg.AddArg(L"Name", name);
+ if (getUrl(L"/sale/data/SupplierV3/HasParty", arg.GetString(), x) != 1)
+ {
+ alert(L"error:" + x.xml());
+ }
+ xstring count = x.documentElement.getAttribute(L"count");
+ if (count != L"0") return true;
+
+ return false;
+ }
+
+ int LoadPurcher()
+ {
+ purcher ;
+ purcher.setNativePointer(xml::CreateInstance());
+ xaserverarg arg ;
+ arg.setNativePointer(xaserverarg::CreateInstance());
+ arg.AddArg(L"id", L"閲囪喘鍛�");
+ if (getUrl(L"/sale/data/Quote/Purcher", arg.GetString(), purcher) != 1)
+ {
+ alert(L"error:" + purcher.GetXml());
+ }
+ return 1;
+ }
+
+ xstring GetPurchorByName(xstring name)
+ {
+ KXMLDOMNode n = purcher.selectSingleNode(L"//HrEmployee[Name='" + name + L"']/EmployeeID");
+ if (n)
+ {
+ return n.text();
+ }
+ else
+ return L"";
+
+ }
+
+ int onloaded()
+ {
+ SetAgent();
+ LoadPurcher();
+
+ xaserverarg arg;
+ if (GetParam()) {
+ arg ;
+ arg.setNativePointer(GetParam());
+ if (arg.GetArgString(L"bill.purchor") == L"1") OnNextPurch();
+ }
+ return 1;
+ }
+};
\ No newline at end of file
diff --git a/jrj/project/viewobject/custom.view.hpp b/jrj/project/viewobject/custom.view.hpp
new file mode 100644
index 0000000..99bb272
--- /dev/null
+++ b/jrj/project/viewobject/custom.view.hpp
@@ -0,0 +1,63 @@
+#pragma once
+
+#include <wobject/xstring.hpp>
+#include <wobject/xaserverarg.hpp>
+#include <win32/win.hpp>
+#include <vbusiness/vutil/publiccode.vutil.vbusiness.hpp>
+#include <wobject/xurl.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <xcontrol/xdwtable.hpp>
+#include "view.base.hpp"
+
+class CustomView : public ViewObject
+{
+public:
+ static KXMLDOMDocument GetSimulationView(string sono)
+ {
+ xaserverarg arg = MakeArg(L"sono", sono);
+ return FecthData(L"/sale/data/Custom3/fullview", arg.GetString());
+ }
+
+ //报关编号指定
+ static KXMLDOMDocument GetMaintFormForSourceItem()
+ {
+ return FecthData(L"/sale/data/Custom3/maint/form/sourceitem", L"");
+ }
+
+
+ static KXMLDOMDocument GetMaintSourceItem(string invno)
+ {
+ return RetrieveData(L"/sale/data/Custom3/maint/sourceitem", L"invno", invno);
+ }
+
+ static KXMLDOMDocument GetMaintFormHSGoods(string invno)
+ {
+ return RetrieveData(L"/sale/data/Custom3/maint/form/hsgoods", L"invno", invno);
+ }
+
+ static KXMLDOMDocument UpdateCustomItem(string invno, string content)
+ {
+ return RetrieveData(L"/sale/data/Custom3/maint/custom/update", L"invno", invno, L"content", content);
+ }
+
+ static KXMLDOMDocument UpdateCustomElement(string invno, string content)
+ {
+ return RetrieveData(L"/sale/data/Custom3/maint/customelement/update", L"invno", invno, L"content", content);
+ }
+
+ static KXMLDOMDocument GetCustomItem(string invno)
+ {
+ return RetrieveData(L"/sale/data/Custom3/maint/custom/data", L"invno", invno);
+ }
+
+ static KXMLDOMDocument GetCustomContainer(string invno)
+ {
+ return RetrieveData(L"/sale/data/Custom3/maint/customcontainer", L"invno", invno);
+ }
+
+
+ static KXMLDOMDocument GetCustomHabit(string invno)
+ {
+ return RetrieveData(L"/sale/data/Custom3/custom/habit", L"invno", invno);
+ }
+};
\ No newline at end of file
diff --git a/jrj/project/viewobject/gdn3.view.hpp b/jrj/project/viewobject/gdn3.view.hpp
new file mode 100644
index 0000000..3645472
--- /dev/null
+++ b/jrj/project/viewobject/gdn3.view.hpp
@@ -0,0 +1,36 @@
+#pragma once
+
+#include <wobject/xstring.hpp>
+#include <wobject/xaserverarg.hpp>
+#include <win32/win.hpp>
+#include <vbusiness/vutil/publiccode.vutil.vbusiness.hpp>
+#include <wobject/xurl.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <xcontrol/xdwtable.hpp>
+#include "view.base.hpp"
+
+class GDNView : public ViewObject
+{
+public:
+ //页面信息
+ static KXMLDOMDocument GetGDNSimulationView(string SONo)
+ {
+ xaserverarg arg = MakeArg(L"SONo", SONo);
+
+ return FecthData(L"/sale/data/Gdn/simulation/view", arg.GetString());
+ }
+
+ static KXMLDOMDocument GetInvoiceBySONo(string sono)
+ {
+ return RetrieveData(L"/sale/data/GDN/source/invno", L"sono", sono);
+ }
+
+ static string GetInvoiceNoByID(string id)
+ {
+ KXMLDOMDocument x = RetrieveData(L"/sale/data/GDN/info/invnobyid", L"EntityID", id);
+ string no = L"";
+ if (x) no = x.selectSingleNode(L"//item").text();
+ return no;
+ }
+
+};
\ No newline at end of file
diff --git a/jrj/project/viewobject/view.base.hpp b/jrj/project/viewobject/view.base.hpp
index 2c90dbf..4fa582c 100644
--- a/jrj/project/viewobject/view.base.hpp
+++ b/jrj/project/viewobject/view.base.hpp
@@ -195,6 +195,11 @@
return no;
}
+ static int TransData(KXMLDOMNodeList nlist, xdwtable dwobj, int row, string column, string data)
+ {
+ return TransData(xapp::GetServerUrl(), nlist, dwobj, row, column, data);
+ }
+
static int TransData(string serverUrl,KXMLDOMNodeList nlist, xdwtable dwobj, int row, string column, string data)
{
int len = nlist.length();
@@ -236,6 +241,11 @@
return 1;
}
+ static int TransData(KXMLDOMNodeList nlist, xdwgrid dwobj, int row, string column, string data)
+ {
+ return TransData(xapp::GetServerUrl(), nlist, dwobj, row, column, data);
+ }
+
static int TransData(string serverUrl, KXMLDOMNodeList nlist, xdwgrid dwobj, int row, string column, string data)
{
int len = nlist.length();
diff --git a/jrj/project/vindexform.cpp b/jrj/project/vindexform.cpp
index 46c6329..cb6a969 100644
--- a/jrj/project/vindexform.cpp
+++ b/jrj/project/vindexform.cpp
@@ -80,7 +80,8 @@
int t2 = r.top;
int b2 = r.bottom;
- MoveWindow(m_hMenu, l - 7, b, 220, b2 - t2, false);
+ MoveWindow(m_hMenu, l - 7, b, 220, b2 - t2, true);
+
return 1;
}
diff --git a/jrj/xframe/kobject/kcell.hpp b/jrj/xframe/kobject/kcell.hpp
new file mode 100644
index 0000000..4288ee4
--- /dev/null
+++ b/jrj/xframe/kobject/kcell.hpp
@@ -0,0 +1,98 @@
+#pragma once
+
+#include "kcontrol.hpp"
+namespace Hxsoft { namespace XFrame { namespace XOffice { namespace XCell{
+
+class IXCell : public IXFControl
+{
+public:
+ int GetRow();
+ int GetColumn();
+
+ int GetAnchorRow();
+ int GetAnchorCol();
+
+ int SetRowColumn(int ARow, int ACol);
+ int SetAnchorRowColumn(int ARow, int ACol);
+
+ int GetRowCount();
+ int SetRowCount(int columnCount);
+
+ int GetColumnCount();
+ int SetColumnCount(int columnCount);
+
+ LPCTSTR GetItemString(int ARow, int ACol);
+ int SetItemString(int ARow, int ACol, LPTSTR pText);
+ LPCTSTR GetItemDisplayString(int ARow, int ACol);
+ int SetItemDisplayString(int ARow, int ACol, LPTSTR pText);
+
+ int SetBorder(int nBorder);
+
+ int Copy();
+ int Cut();
+ int Paste();
+
+ int GetColumnWidth(int nCol);
+ bool SetColumnWidth(int nCol, int nWidth);
+ int GetRowHeight(int nRow);
+ bool SetRowHeight(int nRow, int nHeight);
+public:
+ int SetRowSelectorWidth(int nWidth);
+ int ResetRowSelector();
+ int GetRowSelectorWidth();
+ int GetRowSelectorDefaultWidth();
+
+ int SetColHeaderHeight(int nHeight);
+ int GetColHeaderDefaultHeight();
+ int ResetColHeaderHeight();
+ int GetColHeaderHeight();
+public:
+ LPTSTR GetCellProps(int nRow, int nCol); //得到单元整体XML属性
+ int SetCellProps(int nRow, int nCol, LPCTSTR pXmlProp); //得到单元整体XML属性
+ LPTSTR GetCellProp(int nRow, int nCol, LPCTSTR pItem); //得到单元属性
+ int SetCellProp(int nRow, int nCol, LPCTSTR pItem, LPCTSTR pProp);//得到单元属性
+public:
+ LPTSTR GetHtml();
+ LPTSTR GetData();
+public:
+ void* GetSheetSvr();
+public:
+ void SetSchmaSource(LPCTSTR pSchema);
+ LPCTSTR GetSchemaSource();
+ void SetSchmaString(LPCTSTR pSchemaStr);
+ LPCTSTR GetSchemaString();
+public:
+ int GetSpanRight(int ARow, int ACol);
+ int GetSpanBottom(int ARow, int ACol);
+ int GetSpanLeft(int ARow, int ACol);
+ int GetSpanTop(int ARow, int ACol);
+ bool IsSpanCell(int ARow, int ACol);
+public:
+ int GetValidRow();
+ int GetValidCol(int ARow);
+ int GetValidRowCol(int& ARow, int& ACol);
+ int GetValidCol();
+public:
+ int LoadTemplate(KXMLDOMDocument pDoc, LPTSTR strState);
+ int LoadTemplate(KXMLDOMElement pElement, LPTSTR strState);
+public:
+ int SaveFileAs();
+ int SaveFile();
+ int SaveFile(wchar_t* fileName);
+public:
+ int OpenFile(wchar_t* fileName);
+ int OpenFile();
+public:
+ wchar_t* m_pFileName;
+public:
+ int SetReadOnly(bool bReadOnly);
+ int SetRunState();
+ int SetRunState(int runstate);
+public:
+ void SetEditUpperMode(bool upper);
+ bool GetEditUpperMode();
+public:
+ LPCTSTR GetSortColumns();
+ void SortData(LPCTSTR sortColumn, LPTSTR strType, bool bAsc);
+};
+}}}}
diff --git a/jrj/xframe/src/xstring.cpp b/jrj/xframe/src/xstring.cpp
index 2fcb5dc..3bc27b1 100644
--- a/jrj/xframe/src/xstring.cpp
+++ b/jrj/xframe/src/xstring.cpp
@@ -595,7 +595,11 @@
return false;
}
-xstring xstring::replace(wchar_t* from, wchar_t* to, int pos)
+xstring xstring::replace(const wchar_t* from, const wchar_t* to)
+{
+ return replace(from, to, 0);
+}
+xstring xstring::replace(const wchar_t* from, const wchar_t* to, int pos)
{
const wchar_t* pstr = c_str();
if (!pstr) return 0;
diff --git a/jrj/xframe/vbusiness/vutil/publiccode.vutil.vbusiness.hpp b/jrj/xframe/vbusiness/vutil/publiccode.vutil.vbusiness.hpp
index fb10202..c6294e3 100644
--- a/jrj/xframe/vbusiness/vutil/publiccode.vutil.vbusiness.hpp
+++ b/jrj/xframe/vbusiness/vutil/publiccode.vutil.vbusiness.hpp
@@ -101,7 +101,7 @@
{
/*
if (sOrgID == "") return "4.2";
- xml x = new xml;
+ xml
x.setNativePointer(xml::CreateInstance());
xaserverarg args=new xaserverarg;
args.setNativePointer(args.CreateInstance());
@@ -235,7 +235,7 @@
static KXMLDOMDocument getAssignment(string sguid, KXMLDOMDocument x)
{
- //xml x = new xml;
+ //xml
//x.setNativePointer(xml::CreateInstance());
xaserverarg arg;
arg.setNativePointer(arg.CreateInstance());
diff --git a/jrj/xframe/wobject/xstring.hpp b/jrj/xframe/wobject/xstring.hpp
index 020ebfd..8049037 100644
--- a/jrj/xframe/wobject/xstring.hpp
+++ b/jrj/xframe/wobject/xstring.hpp
@@ -87,7 +87,8 @@
xstring rtrim();
bool isNumber();
- xstring replace(wchar_t* from, wchar_t* to, int pos);
+ xstring replace(const wchar_t* from, const wchar_t* to);
+ xstring replace(const wchar_t* from, const wchar_t* to, int pos);
};
xstring operator +(const wchar_t* lhs, const xstring& rhs);
diff --git a/jrj/xframe/xcontrol/xcell.hpp b/jrj/xframe/xcontrol/xcell.hpp
new file mode 100644
index 0000000..767285f
--- /dev/null
+++ b/jrj/xframe/xcontrol/xcell.hpp
@@ -0,0 +1,294 @@
+#pragma once
+
+#include "wobject/xcontrol.hpp"
+#include "kobject/kcell.hpp"
+#include "wobject/xurl.hpp"
+
+using kcell = Hxsoft::XFrame::XOffice::XCell::IXCell;
+class xcell : public xcontrol
+{
+public:
+ xcell(void* impl=nullptr) :xcontrol(impl) {}
+public:
+ kcell* GetKCell()
+ {
+ return (kcell*)this->GetNativePtr();
+ }
+public:
+ xstring GetHtml() //alias "?GetHtml@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEPA_WXZ";
+ {
+ return GetKCell()->GetHtml();
+ }
+ xstring GetData() //alias "?GetData@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEPA_WXZ";
+ {
+ return GetKCell()->GetData();
+ }
+ int GetAnchorCol() //alias "?GetAnchorCol@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHXZ";
+ {
+ return GetKCell()->GetAnchorCol();
+
+ }
+ int GetAnchorRow() //alias "?GetAnchorRow@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHXZ";
+ {
+ return GetKCell()->GetAnchorRow();
+
+ }
+ int GetColumn() //alias "?GetColumn@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHXZ";
+ {
+ return GetKCell()->GetColumn();
+
+ }
+ int GetColumnCount() //alias "?GetColumnCount@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHXZ";
+ {
+ return GetKCell()->GetColumnCount();
+
+ }
+ xstring GetItemString(int ARow, int ACol) //alias "?GetItemString@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEPB_WHH@Z";
+ {
+ return GetKCell()->GetItemString(ARow, ACol);
+ }
+ int GetRow() //alias "?GetRow@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHXZ";
+ {
+ return GetKCell()->GetRow();
+ }
+ int GetRowCount() //alias "?GetRowCount@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHXZ";
+ {
+ return GetKCell()->GetRowCount();
+ }
+ int SetAnchorRowColumn(int ARow, int ACol) //alias "?SetAnchorRowColumn@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHHH@Z";
+ {
+ return GetKCell()->SetAnchorRowColumn(ARow,ACol);
+ }
+ int SetRowColumn(int ARow, int ACol) //alias "?SetRowColumn@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHHH@Z";
+ {
+ return GetKCell()->SetRowColumn(ARow,ACol);
+ }
+ int SetBorder(int nBorder) //alias "?SetBorder@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHH@Z";
+ {
+ return GetKCell()->SetBorder(nBorder);
+ }
+
+ int SetColumnCount(int columnCount) //alias "?SetColumnCount@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHH@Z";
+ {
+ return GetKCell()->SetColumnCount(columnCount);
+ }
+ int SetRowCount(int rowCount) //alias "?SetRowCount@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHH@Z";
+ {
+ return GetKCell()->SetRowCount(rowCount);
+ }
+
+ int SetItemString(int ARow, int ACol, xstring value) //alias "?SetItemString@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHHHPA_W@Z";
+ {
+ return GetKCell()->SetItemString(ARow,ACol,(LPTSTR)value.c_str());
+ }
+ int SetRowColumn(int ARow, int ACol) //alias "?SetRowColumn@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHHH@Z";
+ {
+ return GetKCell()->SetRowColumn(ARow,ACol);
+ }
+ int Copy() //alias "?Copy@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHXZ";
+ {
+ return GetKCell()->Copy() ;
+ }
+ int Cut() //alias "?Cut@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHXZ";
+ {
+ return GetKCell()->Cut() ;
+ }
+ int Paste() //alias "?Paste@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHXZ";
+ {
+ return GetKCell()->Paste() ;
+ }
+ xstring GetCellProp(int nRow, int nCol, xstring Item) //alias "?GetCellProp@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEPA_WHHPB_W@Z";
+ {
+ return GetKCell()->GetCellProp(nRow,nCol,Item);
+ }
+ xstring GetCellProps(int nRow, int nCol) //alias "?GetCellProps@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEPA_WHH@Z";
+ {
+ return GetKCell()->GetCellProps(nRow,nCol);
+ }
+ int SetCellProp(int nRow, int nCol, xstring Item, xstring val) //alias "?SetCellProp@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHHHPB_W0@Z";
+ {
+ return GetKCell()->SetCellProp(nRow,nCol,Item,val);
+ }
+ int SetCellProps(int nRow, int nCol, xstring val) //alias "?SetCellProps@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHHHPB_W@Z";
+ {
+ return GetKCell()->SetCellProps(nRow,nCol,val);
+ }
+ int GetColumnWidth(int nCol) //alias "?GetColumnWidth@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHH@Z";
+ {
+ return GetKCell()->GetColumnWidth(nCol);
+ }
+ bool SetColumnWidth(int nCol, int nWidth) //alias "?SetColumnWidth@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAE_NHH@Z";
+ {
+ return GetKCell()->SetColumnWidth(nCol,nWidth) ;
+ }
+ bool SetRowHeight(int nRow, int nHeight) //alias "?SetRowHeight@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAE_NHH@Z";
+ {
+ return GetKCell()->SetRowHeight(nRow,nHeight);
+ }
+ int GetRowHeight(int nRow) //alias "?GetRowHeight@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHH@Z";
+ {
+ return GetKCell()->GetRowHeight(nRow);
+ }
+ int SetRowSelectorWidth(int nWidth) //alias "?SetRowSelectorWidth@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHH@Z";
+ {
+ return GetKCell()->SetRowSelectorWidth(nWidth);
+ }
+ int ResetRowSelector() //alias "?ResetRowSelector@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHXZ";
+ { return GetKCell()->ResetRowSelector();
+
+ }
+ int GetRowSelectorWidth() //alias "?GetRowSelectorWidth@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHXZ";
+ { return GetKCell()->GetRowSelectorWidth();
+
+ }
+ int GetRowSelectorDefaultWidth() //alias "?GetRowSelectorDefaultWidth@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHXZ";
+ { return GetKCell()->GetRowSelectorDefaultWidth();
+
+ }
+ int SetColHeaderHeight(int nHeight) //alias "?SetColHeaderHeight@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHH@Z";
+ { return GetKCell()->SetColHeaderHeight(nHeight);
+
+ }
+ int GetColHeaderDefaultHeight() //alias "?GetColHeaderDefaultHeight@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHXZ";
+ { return GetKCell()->GetColHeaderDefaultHeight();
+
+ }
+ int ResetColHeaderHeight() //alias "?ResetColHeaderHeight@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHXZ";
+ { return GetKCell()->ResetColHeaderHeight();
+
+ }
+ int GetColHeaderHeight() //alias "?GetColHeaderHeight@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHXZ";
+ { return GetKCell()->GetColHeaderHeight();
+
+ }
+ //param GetSheetSvr() //alias "?GetSheetSvr@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEPAXXZ";
+ void SetSchmaSource(xstring schemasource) //alias "?SetSchmaSource@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEXPB_W@Z";
+ { return GetKCell()->SetSchmaSource(schemasource);
+
+ }
+ void SetSchmaString(xstring schemasstr) //alias "?SetSchmaString@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEXPB_W@Z";
+ { return GetKCell()->SetSchmaString(schemasstr);
+
+ }
+ xstring GetSchemaSource() //alias "?GetSchemaSource@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEPB_WXZ";
+ { return GetKCell()->GetSchemaSource();
+
+ }
+ xstring GetSchemaString() //alias "?GetSchemaString@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEPB_WXZ";
+ { return GetKCell()->GetSchemaString();
+
+ }
+
+ int GetSpanBottom(int nRow, int nCol) //alias "?GetSpanBottom@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHHH@Z";
+ { return GetKCell()->GetSpanBottom(nRow, nCol);
+
+ }
+ int GetSpanLeft(int nRow, int nCol) //alias "?GetSpanLeft@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHHH@Z";
+ { return GetKCell()->GetSpanLeft(nRow,nCol);
+
+ }
+ int GetSpanRight(int ARow, int ACol) //alias "?GetSpanRight@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHHH@Z";
+ { return GetKCell()->GetSpanRight(ARow,ACol);
+
+ }
+ int GetSpanTop(int ARow, int ACol) //alias "?GetSpanTop@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHHH@Z";
+ { return GetKCell()->GetSpanTop(ARow,ACol);
+
+ }
+ bool IsSpanCell(int ARow, int ACol) //alias "?IsSpanCell@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAE_NHH@Z";
+ { return GetKCell()->IsSpanCell(ARow,ACol);
+
+ }
+ int GetValidCol(int ARow) //alias "?GetValidCol@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHH@Z";
+ { return GetKCell()->GetValidCol();
+
+ }
+ int GetValidCol() //alias "?GetValidCol@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHXZ";
+ { return GetKCell()->GetValidCol();
+
+ }
+ int GetValidRow() //alias "?GetValidRow@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHXZ";
+ { return GetKCell()->GetValidRow();
+
+ }
+ int GetValidRowCol(int &ARow, int &ACol) //alias "?GetValidRowCol@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHAAH0@Z";
+ { return GetKCell()->GetValidRowCol(ARow,ACol) ;
+
+ }
+ void SetEditUpperMode(bool upper) //alias "?SetEditUpperMode@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEX_N@Z";
+ { return GetKCell()->SetEditUpperMode(upper);
+
+ }
+
+ int LoadTemplate(KXMLDOMDocument xmldoc, xstring state) //alias "?LoadTemplate@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHPAUIXMLDOMDocument@@PA_W@Z";
+ { return GetKCell()->LoadTemplate(xmldoc,(LPTSTR)state.c_str());
+
+ }
+ int LoadTemplate(KXMLDOMElement ele, xstring state) //alias "?LoadTemplate@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHPAUIXMLDOMElement@@PA_W@Z";
+ { return GetKCell()->LoadTemplate(ele, (LPTSTR)state.c_str());
+
+ }
+ int LoadTemplateEx(KXMLDOMElement ele)
+ {
+ return LoadTemplate(ele, L"design");
+ }
+
+ int LoadTemplate(KXMLDOMDocument xmldoc)
+ {
+ return LoadTemplate(xmldoc, L"design");
+ }
+
+ int openUrl(xstring aurl)
+ {
+ KXMLDOMDocument x;
+ xurl::get(aurl, L"", x);
+ return LoadTemplate(x);
+ }
+
+ int openUrl(xstring aurl, xstring arg)
+ {
+ KXMLDOMDocument x;
+ xurl::get(aurl, arg, x);
+ return LoadTemplate(x);
+ }
+
+ int OpenFile(xstring fileUrl) //alias "?OpenFile@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHPA_W@Z";
+ { return GetKCell()->OpenFile((LPTSTR)fileUrl.c_str());
+
+ }
+ int OpenFile() //alias "?OpenFile@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHXZ";
+ { return GetKCell()->OpenFile();
+
+ }
+ int SaveFile(xstring fileUrl) //alias "?SaveFile@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHPA_W@Z";
+ { return GetKCell()->SaveFile((LPTSTR)fileUrl.c_str());
+
+ }
+ int SaveFile() //alias "?SaveFile@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHXZ";
+ { return GetKCell()->SaveFile();
+
+ }
+ int SaveFileAs() //alias "?SaveFileAs@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHXZ";
+ { return GetKCell()->SaveFileAs();
+
+ }
+
+ int SetRunState(int state) // "?SetRunState@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHH@Z";
+ { return GetKCell()->SetRunState(state);
+
+ }
+
+ int SetRunState() //alias "?SetRunState@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEHXZ";
+ { return GetKCell()->SetRunState();
+
+ }
+
+ int SetReadOnly(bool bReadOnly) //alias "?SetReadOnly@IXCell@XCell@XOffice@XFrame@Hxsoft@@QAEH_N@Z";
+ { return GetKCell()->SetReadOnly(bReadOnly);
+
+ }
+};
+
+
+
+
diff --git a/jrj/xframe/xcontrol/xdwgrid.hpp b/jrj/xframe/xcontrol/xdwgrid.hpp
index 254e5ff..11f7f9c 100644
--- a/jrj/xframe/xcontrol/xdwgrid.hpp
+++ b/jrj/xframe/xcontrol/xdwgrid.hpp
@@ -270,9 +270,9 @@
return getKReport()->GetTitleName(col);
}
public:
- int SetRowSort(LPTSTR colName, bool colOrder = true)
+ int SetRowSort(LPCTSTR colName, bool colOrder = true)
{
- return getKReport()->SetRowSort(colName, colOrder);
+ return getKReport()->SetRowSort((LPTSTR)colName, colOrder);
}
int SetClickEditFlag(bool f)
{
diff --git a/jrj/xframe/xcontrol/xtreeview.hpp b/jrj/xframe/xcontrol/xtreeview.hpp
index 0d27f16..4fa7b47 100644
--- a/jrj/xframe/xcontrol/xtreeview.hpp
+++ b/jrj/xframe/xcontrol/xtreeview.hpp
@@ -349,6 +349,11 @@
return 1;
}
+ HTREEITEM InsertChildItem(HTREEITEM hItem, string label, KXMLDOMElement ele, int image = 0)
+ {
+ return InsertChildItem(hItem, label, ele.ptr(), image);
+ }
+
HTREEITEM InsertChildItem(HTREEITEM hItem,string label,LPARAM data,int image = 0)
{
HTREEITEM h;
@@ -377,6 +382,11 @@
return h;
}
+ HTREEITEM InsertChildItemEx(HTREEITEM hItem, string label, KXMLDOMElement ele, int image = 0, int image2 = 0)
+ {
+ return InsertChildItemEx(hItem, label, ele.ptr(), image,image2);
+ }
+
HTREEITEM InsertChildItemEx(HTREEITEM hItem,string label,int data,int image = 0,int image2 = 0)
{
int TVM_INSERTITEM = TV_FIRST + 50;
--
Gitblit v1.9.3