| | |
| | | |
| | | #include <guiddef.h> |
| | | #include <exdisp.h> // Defines of stuff like IWebBrowser2. This is an include file with Visual C 6 and above |
| | | #include <mshtml.h> // Defines of stuff like IHTMLDocument2. This is an include file with Visual C 6 and above |
| | | #include <mshtmhst.h> // Defines of stuff like IDocHostUIHandler. This is an include file with Visual C 6 and above |
| | | #include <Shlwapi.h> |
| | | #include <Windows.h> |
| | | #include <comutil.h> |
| | | |
| | | #undef _XWIN |
| | | |
| | | #include <wobject/xstring.hpp> |
| | | #include <xcontrol/xtreeview.hpp> |
| | | #include <xcontrol/xdwgrid.hpp> |
| | | #include <xcontrol/xlayersheet.hpp> |
| | | #include <xcontrol/xhtml.hpp> |
| | | #include <wobject/xutil.hpp> |
| | | |
| | | #include "vbusiness/vframe/maint.vframe.vbusiness.hpp" |
| | | #include "viewobject/view.base.hpp" |
| | | #include <xcontrol/xcell.hpp> |
| | | #include <xcontrol/xexcel.hpp> |
| | | #include <xcontrol/xhtml.hpp> |
| | | #include <win32/xfile.hpp> |
| | | |
| | | using xml = KXMLDOMDocument; |
| | | |
| | | #if 0 |
| | | namespace _excel for ole "Excel.Application,{00020813-0000-0000-C000-000000000046}"; |
| | | namespace _mshtml for ole "MSHtml,{3050F1C5-98B5-11CF-BB82-00AA00BDCE0B}"; |
| | | |
| | |
| | | void SaveToFile(xstring filename) alias "?SaveToFile@CExcelApplication@@QAEXQA_W@Z"; |
| | | void Quit() alias "?Quit@CExcelApplication@@QAEXXZ"; |
| | | }; |
| | | |
| | | struct MYOPENFILENAMEW |
| | | { |
| | | unsigned int lStructSize; |
| | | unsigned int hwndOwner; |
| | | unsigned int hInstance; |
| | | xstring lpstrFilter; |
| | | |
| | | xstring lpstrCustomFilter; |
| | | unsigned int nMaxCustFilter; |
| | | unsigned int nFilterIndex; |
| | | xstring lpstrFile; |
| | | |
| | | unsigned int nMaxFile; |
| | | xstring lpstrFileTitle; |
| | | unsigned int nMaxFileTitle; |
| | | xstring lpstrInitialDir; |
| | | |
| | | xstring lpstrTitle; |
| | | unsigned int Flags; |
| | | unsigned short nFileOffset; |
| | | unsigned short nFileExtension; |
| | | xstring lpstrDefExt; |
| | | |
| | | unsigned int lCustData; |
| | | unsigned int lpfnHook; |
| | | xstring lpTemplateName; |
| | | |
| | | //_WIN32_WINNT >= 0x0500 |
| | | unsigned int pvReserved; |
| | | unsigned int dwReserved; |
| | | unsigned int FlagsEx; |
| | | // (_WIN32_WINNT >= 0x0500) |
| | | }; |
| | | #endif |
| | | |
| | | class __declspec(dllexport) TemplatePrintViewEx : public xframe |
| | | DeclWinObject_(TemplatePrintViewEx, xframe) |
| | | { |
| | | CreateWinObject_(TemplatePrintViewEx, xframe) |
| | | public: |
| | | xole ole_print; |
| | | xhtml ole_print; |
| | | xcell cell; |
| | | xstring m_SupplierName; |
| | | xstring m_EntityName; |
| | | xstring m_EntityID; |
| | | xstring m_EntityNo; |
| | |
| | | bool updated; |
| | | |
| | | xstring htmlStr; |
| | | cexcel excel; |
| | | bool editing; |
| | | |
| | | xstring billName ; |
| | |
| | | //bool showgrid; |
| | | bool PaperPrint; |
| | | |
| | | #if 0 |
| | | cexcel excel; |
| | | 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"; |
| | | static stdcall int DeleteFile(xstring lpFileName) native from "kernel32.dll" alias "DeleteFileW"; |
| | | static stdcall bool GetSaveFileName(ref MYOPENFILENAMEW)native from "comdlg32.dll" alias "GetSaveFileNameW"; |
| | | #endif |
| | | |
| | | public: |
| | | TemplatePrintViewEx(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} |
| | | public: |
| | | static TemplatePrintViewEx* CreateInstance(void* implPtr, void* hWnd) |
| | | |
| | | xstring GetMySaveFileName(xstring initFileName, xstring filter, xstring ext) |
| | | { |
| | | TemplatePrintViewEx* pWin = new TemplatePrintViewEx(implPtr, (HWND)hWnd); |
| | | return pWin; |
| | | } |
| | | 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 GetSaveFileName(xstring initFileName, xstring filter, xstring ext) |
| | | { |
| | | char[] szFileName = new char[255] ; |
| | | char[] szPath = new char[255]; |
| | | szFileName[0] = 0; |
| | | szPath[0] = 0; |
| | | wchar_t szFileName[255] = { 0 }; |
| | | wchar_t szPath[255] = { 0 }; |
| | | |
| | | if(initFileName !=L"") |
| | | { |
| | | int len = initFileName.length(); |
| | | char[] tmp = initFileName; |
| | | const wchar_t* tmp = initFileName; |
| | | for(int i=0; i<len+1;i++) |
| | | { |
| | | //szFileName[i] = tmp[i]; |
| | |
| | | } |
| | | |
| | | int nFilterIndex = 1; |
| | | ref MYOPENFILENAMEW ofn = new MYOPENFILENAMEW; |
| | | |
| | | ofn.lStructSize = 88;//sizeof(ofn); |
| | | ofn.hwndOwner = 0; |
| | | OPENFILENAMEW ofn = { 0 }; |
| | | //::ZeroMemory(&ofn,sizeof(OPENFILENAMEW)) |
| | | //ofn.lStructSize = 88;//sizeof(ofn); |
| | | ofn.lStructSize = sizeof(ofn); |
| | | ofn.hwndOwner = GetHWND(); |
| | | ofn.hInstance = 0; |
| | | ofn.lpstrFilter = filter; |
| | | //"JPEG 文件(*.jpg)\0*.jpg;*.jpeg;*.png;*.gif;*.bmp\0全部文件(*.*)\0*.*\0"; |
| | |
| | | ofn.lpTemplateName = 0; |
| | | |
| | | //debugbreak(); |
| | | if(GetSaveFileName(ofn)) |
| | | if(xfile::GetSaveFileNameW(ofn)) |
| | | { |
| | | delete ofn; |
| | | return szPath; |
| | | } |
| | | else |
| | | { |
| | | return ""; |
| | | return L""; |
| | | } |
| | | } |
| | | |
| | |
| | | if(m_EntityName==L"SaleOrder") pre=L"PI"; |
| | | if(m_EntityName==L"GDN3")pre=L"INV"; |
| | | } |
| | | xstring file1 = GetSaveFileName(pre+m_EntityNo+L".xlsx", |
| | | "Excel1文件(*.xlsx)\0*.xlsx;*.xls\0Excel97文件(*.xls)\0*.xls\0PDF文件(*.pdf)\0*.pdf\0", |
| | | "xlsx"); |
| | | if (m_EntityName == L"VATNotify")m_EntityNo = m_EntityNo + m_SupplierName; |
| | | xstring file1 = GetMySaveFileName(pre+m_EntityNo+L".xlsx", |
| | | L"Excel1文件(*.xlsx)\0*.xlsx;*.xls\0Excel97文件(*.xls)\0*.xls\0PDF文件(*.pdf)\0*.pdf\0", |
| | | L"xlsx"); |
| | | if(file1 ==L"") return 1; |
| | | |
| | | if(win32::PathFileExists(file1)) |
| | | if(PathFileExists(file1)) |
| | | { |
| | | int res = win32::MessageBox(this.GetHWND(), L"文件已经存在,是否覆盖?",L"提示",4); |
| | | int res = MessageBox(GetHWND(), L"文件已经存在,是否覆盖?",L"提示",4); |
| | | if(res != 6) return 1; |
| | | } |
| | | |
| | | trace(L"\r\n link excel"); |
| | | excel = new cexcel; |
| | | int hexcel = cexcel::CreateInstance(); |
| | | excel.setNativePointer(hexcel); |
| | | if(hexcel == 0) |
| | | xexcel excel; |
| | | if(!excel.GetNativePtr()) |
| | | { |
| | | alert(L"不能连接Excel"); |
| | | return 1; |
| | |
| | | |
| | | xstring gid = publiccode::GetGuid(); |
| | | xstring filename= pre+m_EntityNo+L"_.htm"; |
| | | xutil::SaveToFile(GetModuleTmpPath() + L"\\"+ filename, htmlStr,L"",L"",L""); |
| | | xutil::SaveToFile(xutil::GetModuleTmpPath() + L"\\"+ filename, htmlStr,NULL,NULL); |
| | | trace(L"\r\n excel to open"); |
| | | excel .OpenDocument(GetModuleTmpPath() + L"\\"+ filename); |
| | | excel .OpenDocument(xutil::GetModuleTmpPath() + L"\\"+ filename); |
| | | trace(L"\r\n trans shape"); |
| | | //excel .put_Visible(true); |
| | | excel.TransShape(); |
| | | trace(L"\r\n save to tmp excel file"); |
| | | if(file1.find(L".xls")) |
| | | { |
| | | if(win32::PathFileExists(GetModuleTmpPath() + L"\\"+ pre+m_EntityNo+L"_.xls")) |
| | | DeleteFile(GetModuleTmpPath() + L"\\"+ pre+m_EntityNo+L"_.xls"); |
| | | excel.SaveToFile(GetModuleTmpPath() + L"\\"+ pre+m_EntityNo+L"_.xls"); |
| | | if(PathFileExists(xutil::GetModuleTmpPath() + L"\\"+ pre+m_EntityNo+L"_.xls")) |
| | | DeleteFile(xutil::GetModuleTmpPath() + L"\\"+ pre+m_EntityNo+L"_.xls"); |
| | | excel.SaveToFile(xutil::GetModuleTmpPath() + L"\\"+ pre+m_EntityNo+L"_.xls"); |
| | | //alert(GetModuleTmpPath() + L"\\"+ pre+m_EntityNo+L"_.xls"); |
| | | } |
| | | else |
| | | { |
| | | if(win32::PathFileExists(GetModuleTmpPath() + L"\\"+ pre+m_EntityNo+L"_.xlsx")) |
| | | DeleteFile(GetModuleTmpPath() + L"\\"+ pre+m_EntityNo+L"_.xlsx"); |
| | | excel.SaveToFile(GetModuleTmpPath() + L"\\"+ pre+m_EntityNo+L"_.xlsx"); |
| | | if(PathFileExists(xutil::GetModuleTmpPath() + L"\\"+ pre+m_EntityNo+L"_.xlsx")) |
| | | DeleteFile(xutil::GetModuleTmpPath() + L"\\"+ pre+m_EntityNo+L"_.xlsx"); |
| | | excel.SaveToFile(xutil::GetModuleTmpPath() + L"\\"+ pre+m_EntityNo+L"_.xlsx"); |
| | | } |
| | | |
| | | trace(L"\r\n save to excel file"); |
| | | if(win32::PathFileExists(file1)) //GetModuleTmpPath() + L"\\"+ pre+m_EntityNo+L"_.xlsx")) |
| | | if(PathFileExists(file1)) //GetModuleTmpPath() + L"\\"+ pre+m_EntityNo+L"_.xlsx")) |
| | | DeleteFile(file1); |
| | | excel.SaveToFile(file1); |
| | | |
| | | excel.Quit(); |
| | | excel.Release(excel.ptr_native_); |
| | | //excel.Release(excel.ptr_native_); |
| | | return 1; |
| | | } |
| | | |
| | | int OntoExcel() //תΪExcel |
| | | { |
| | | excel = new cexcel; |
| | | excel.setNativePointer(cexcel::CreateInstance()); |
| | | |
| | | xexcel excel; |
| | | xstring gid = publiccode::GetGuid(); |
| | | xstring pre = m_EntityName; |
| | | if(m_EntityName==L"SaleOrder") pre=L"PI"; |
| | | if(m_EntityName==L"GDN3")pre=L"INV"; |
| | | xstring filename= pre+m_EntityNo+L".htm"; |
| | | xstring filenameex= pre+m_EntityNo+L".xlsx"; |
| | | xutil::SaveToFile(GetModuleTmpPath() + L"\\"+ filename, htmlStr,L"",L"",L""); |
| | | excel .OpenDocument(GetModuleTmpPath() + L"\\"+ filename); |
| | | xutil::SaveToFile(xutil::GetModuleTmpPath() + L"\\"+ filename, htmlStr,NULL,NULL); |
| | | excel .OpenDocument(xutil::GetModuleTmpPath() + L"\\"+ filename); |
| | | //excel.put_Visible(true); |
| | | excel.TransShape(); |
| | | if(win32::PathFileExists(GetModuleTmpPath() + L"\\"+ filenameex)) |
| | | DeleteFile(GetModuleTmpPath() + L"\\"+ filenameex); |
| | | excel.SaveToFile(GetModuleTmpPath() + L"\\"+ filenameex); |
| | | if(PathFileExists(xutil::GetModuleTmpPath() + L"\\"+ filenameex)) |
| | | DeleteFile(xutil::GetModuleTmpPath() + L"\\"+ filenameex); |
| | | excel.SaveToFile(xutil::GetModuleTmpPath() + L"\\"+ filenameex); |
| | | excel.put_Visible(true); |
| | | |
| | | excel.Release(excel.ptr_native_); |
| | | //excel.Release(excel.ptr_native_); |
| | | return 1; |
| | | } |
| | | |
| | | xstring getfilePath() |
| | | { |
| | | xstring path=GetModulePath()+L"\\resource\\image"; |
| | | xstring path= xutil::GetModulePath()+L"\\resource\\image"; |
| | | xstring filename=L"contract.jpg"; |
| | | filename=L"sign.png"; |
| | | filename=L"jrj_maersk.png"; |
| | |
| | | xstring right=L""; |
| | | xstring tag=L""; |
| | | |
| | | len = L"[$element:".length(); |
| | | len = ((xstring)L"[$element:").length(); |
| | | while(true) |
| | | { |
| | | pos = str.find(L"[$element:"); |
| | |
| | | |
| | | str = pre + str; |
| | | pre = L""; |
| | | len = L"[/$element:".length(); |
| | | len = ((xstring)L"[/$element:").length(); |
| | | while(true) |
| | | { |
| | | pos = str.find(L"[/$element:"); |
| | |
| | | str = replaceInnerElement(str); |
| | | return str; |
| | | } |
| | | |
| | | #if 0 |
| | | xstring DownLoadSKUNoPic(xstring SKUNo,xstring CustomerID=L"",xstring CustomerItemNo=L"") |
| | | { |
| | | |
| | | if(SKUNo.length()>20) return DownLoadPaperPic(SKUNo); |
| | | |
| | | xml x = new xml; |
| | | x.setNativePointer(xml::CreateInstance()); |
| | | xaserverarg arg = new xaserverarg; |
| | | arg.setNativePointer(arg.CreateInstance()); |
| | | xml x; |
| | | |
| | | xaserverarg arg; |
| | | |
| | | arg.AddArg(L"SKUNo",SKUNo); |
| | | |
| | | xstring src =L"/sale/data/ProductLibrary3/pref/picture/imagelistSKUNo"; |
| | |
| | | src =L"/sale/data/ProductLibrary3/pref/picture/customer/imagelistSKUNo"; |
| | | } |
| | | //trace(L"SKUNo=L"+SKUNo);//要有展示图片查询条件内必定要skuno |
| | | if(url::get(src,arg.GetString(),x)!=1) |
| | | if(xurl::get(src,arg.GetString(),x)!=1) |
| | | { |
| | | trace(L"error for download skuno pic!"); |
| | | return ""; |
| | | return L""; |
| | | } |
| | | |
| | | xstring spath = L""; |
| | | xstring path =GetModuleTmpPath(); |
| | | xstring path = xutil::GetModuleTmpPath(); |
| | | xstring ext = L"jpg"; |
| | | if(x.GetXmlDoc().selectSingleNode(L"//FileExt[1]")) |
| | | if(x.selectSingleNode(L"//FileExt[1]")) |
| | | { |
| | | ext = x.GetXmlDoc().selectSingleNode(L"//FileExt[1]").text; |
| | | ext = x.selectSingleNode(L"//FileExt[1]").text(); |
| | | }else if(CustomerID !=L"") |
| | | { |
| | | src =L"/sale/data/ProductLibrary3/pref/picture/imagelistSKUNo"; |
| | | if(url::get(src,arg.GetString(),x)!=1) |
| | | if(xurl::get(src,arg.GetString(),x)!=1) |
| | | { |
| | | trace(L"error for download skuno pic!"); |
| | | return ""; |
| | | return L""; |
| | | } |
| | | if(x.GetXmlDoc().selectSingleNode(L"//FileExt[1]")) |
| | | ext = x.GetXmlDoc().selectSingleNode(L"//FileExt[1]").text; |
| | | if(x.selectSingleNode(L"//FileExt[1]")) |
| | | ext = x.selectSingleNode(L"//FileExt[1]").text(); |
| | | } |
| | | |
| | | xstring filename = SKUNo + L"." + ext; |
| | | if(x.GetXmlDoc().selectSingleNode(L"//PicPath[1]")) |
| | | spath = x.GetXmlDoc().selectSingleNode(L"//PicPath[1]").text; |
| | | if(x.selectSingleNode(L"//PicPath[1]")) |
| | | spath = x.selectSingleNode(L"//PicPath[1]").text(); |
| | | if(spath != L"") |
| | | { |
| | | xaserver::DownLoadFile(GetServerUrl(),spath,L"",path+L"/"+filename); |
| | | } |
| | | return "file://"+ path+L"/"+filename; |
| | | return (xstring)L"file://"+ path+L"/"+filename; |
| | | } |
| | | |
| | | #endif |
| | | xstring DownLoadSKUNoPic(xstring SKUNo,xstring CustomerID=L"",xstring CustomerItemNo=L"") |
| | | { |
| | | |
| | | if(SKUNo.length()>20) return DownLoadPaperPic(SKUNo); |
| | | |
| | | xml x = new xml; |
| | | x.setNativePointer(xml::CreateInstance()); |
| | | xaserverarg arg = new xaserverarg; |
| | | arg.setNativePointer(arg.CreateInstance()); |
| | | xml x; |
| | | xaserverarg arg; |
| | | arg.AddArg(L"SKUNo",SKUNo); |
| | | |
| | | xstring src =L"/sale/data/ProductLibrary3/pref/picture/imagelistSKUNo"; |
| | |
| | | src =L"/sale/data/ProductLibrary3/pref/picture/customer/imagelistSKUNo"; |
| | | } |
| | | //trace(L"SKUNo=L"+SKUNo);//要有展示图片查询条件内必定要skuno |
| | | if(url::get(src,arg.GetString(),x)!=1) |
| | | if(xurl::get(src,arg.GetString(),x)!=1) |
| | | { |
| | | trace(L"error for download skuno pic!"); |
| | | return ""; |
| | | return L""; |
| | | } |
| | | |
| | | xstring spath = L""; |
| | | xstring path =GetModuleTmpPath(); |
| | | xstring path = xutil::GetModuleTmpPath(); |
| | | xstring ext = L"jpg"; |
| | | if(x.GetXmlDoc().selectSingleNode(L"//FileExt[1]")) |
| | | if(x.selectSingleNode(L"//FileExt[1]")) |
| | | { |
| | | ext = x.GetXmlDoc().selectSingleNode(L"//FileExt[1]").text; |
| | | ext = x.selectSingleNode(L"//FileExt[1]").text(); |
| | | }else if(CustomerID !=L"") |
| | | { |
| | | src =L"/sale/data/ProductLibrary3/pref/picture/imagelistSKUNo"; |
| | | if(url::get(src,arg.GetString(),x)!=1) |
| | | if(xurl::get(src,arg.GetString(),x)!=1) |
| | | { |
| | | trace(L"error for download skuno pic!"); |
| | | return ""; |
| | | return L""; |
| | | } |
| | | if(x.GetXmlDoc().selectSingleNode(L"//FileExt[1]")) |
| | | ext = x.GetXmlDoc().selectSingleNode(L"//FileExt[1]").text; |
| | | if(x.selectSingleNode(L"//FileExt[1]")) |
| | | ext = x.selectSingleNode(L"//FileExt[1]").text(); |
| | | } |
| | | |
| | | xstring filename = SKUNo + L"." + ext; |
| | | if(x.GetXmlDoc().selectSingleNode(L"//PicPath[1]")) |
| | | spath = x.GetXmlDoc().selectSingleNode(L"//PicPath[1]").text; |
| | | if(x.selectSingleNode(L"//PicPath[1]")) |
| | | spath = x.selectSingleNode(L"//PicPath[1]").text(); |
| | | if(spath != L"") |
| | | { |
| | | xaserver::DownLoadFile(GetServerUrl(),spath,L"",path+L"/"+filename); |
| | | } |
| | | return "file://"+ path+L"/"+filename; |
| | | return L"file://"+ path+L"/"+filename; |
| | | } |
| | | |
| | | xstring GetImageUrl(xstring id) |
| | | { |
| | | xml xp=new xml; |
| | | xp.setNativePointer(xml::CreateInstance()); |
| | | xaserverarg arg_pic=new xaserverarg; |
| | | arg_pic.setNativePointer(arg_pic.CreateInstance()); |
| | | xml xp; |
| | | xaserverarg arg_pic; |
| | | arg_pic.AddArg(L"id",id); |
| | | |
| | | xstring res = L"/sale/data/productlibrary3/image/url"; |
| | | if(url::get(res,arg_pic.GetString(),xp)!=1) |
| | | if(xurl::get(res,arg_pic.GetString(),xp)!=1) |
| | | { |
| | | xp.GetXml(); |
| | | xp.xml(); |
| | | return 1; |
| | | }else |
| | | { |
| | | xstring path = xp.GetXmlDoc().text; |
| | | xstring path = xp.text(); |
| | | if(path !=L"") return path; |
| | | } |
| | | |
| | | return "/business/products/chanpin/"+id.left(2)+L"/"+ id+L".jpg"; |
| | | return L"/business/products/chanpin/"+id.left(2)+L"/"+ id+L".jpg"; |
| | | } |
| | | |
| | | xstring DownLoadPaperPic(xstring guid) |
| | | { |
| | | |
| | | xstring path =GetModuleTmpPath(); |
| | | xstring path = xutil::GetModuleTmpPath(); |
| | | xstring ext = L"jpg"; |
| | | xstring filename = guid + L"." + ext; |
| | | xstring spath = GetImageUrl(guid); |
| | | //alert(spath); |
| | | xaserver::DownLoadFile(GetServerUrl(),spath,L"",path+L"/"+filename); |
| | | return "file://"+ path+L"/"+filename; |
| | | return (xstring)L"file://"+ path+L"/"+filename; |
| | | } |
| | | |
| | | xstring DownLoadPaperPic1(xstring guid) |
| | | { |
| | | xstring path =GetModuleTmpPath(); |
| | | xstring path = xutil::GetModuleTmpPath(); |
| | | xstring ext = L"jpg"; |
| | | xstring filename = guid + L"." + ext; |
| | | xstring str = guid.mid(0,2); |
| | | xstring spath = L"/business/products/chanpin/"+str+L"/"+guid+L".jpg"; |
| | | xaserver::DownLoadFile(GetServerUrl(),spath,L"",path+L"/"+filename); |
| | | return "file://"+ path+L"/"+filename; |
| | | return (xstring)L"file://"+ path+L"/"+filename; |
| | | } |
| | | |
| | | xstring DownLoadUrlPic(xstring src) |
| | | { |
| | | xstring guid = publiccode::GetGuid(); |
| | | xstring path =GetModuleTmpPath(); |
| | | xstring path = xutil::GetModuleTmpPath(); |
| | | xstring ext = L"jpg"; |
| | | xstring filename = guid + L"." + ext; |
| | | xstring spath = src; |
| | | xaserver::DownLoadFile(GetServerUrl(),spath,L"",path+L"/"+filename); |
| | | return "file://"+ path+L"/"+filename; |
| | | return (xstring)L"file://"+ path+L"/"+filename; |
| | | } |
| | | |
| | | int OnHtml(xaserverarg arg) |
| | | { |
| | | int hCursor = xutil::SetCursorWait(); |
| | | HCURSOR hCursor = xutil::SetCursorWait(); |
| | | |
| | | xstring sEntityName = arg.GetArgString(L"EntityName"); |
| | | xstring sEntityID = arg.GetArgString(L"EntityID"); |
| | |
| | | dataUrl = L"/sale/data/"+sEntityName+ L"/"+ dataUrl; |
| | | if(!m_dataset) |
| | | { |
| | | xml x0 = new xml; |
| | | x0.setNativePointer(xml::CreateInstance()); |
| | | if (url::get(dataUrl,arg.GetString(),x0) != 1) |
| | | xml x0 ; |
| | | if (xurl::get(dataUrl,arg.GetString(),x0) != 1) |
| | | { |
| | | alert(L"数据集出错了!"); |
| | | return 0; |
| | | } |
| | | trace(x0.GetXml()); |
| | | trace(x0.xml()); |
| | | m_dataset = x0; |
| | | } |
| | | |
| | |
| | | arg.AddArg(L"sPath",sPath); |
| | | m_spath = sPath; |
| | | |
| | | xml xsl = new xml; |
| | | xsl.setNativePointer(xml::CreateInstance()); |
| | | if (url::get(L"/sale/data/SysPrintTemplate/getxsl",arg.GetString(),xsl) != 1) |
| | | xml xsl; |
| | | if (xurl::get(L"/sale/data/SysPrintTemplate/getxsl", arg.GetString(), xsl) != 1) |
| | | { |
| | | alert(L"数据模板错误!"); |
| | | return 0; |
| | | } |
| | | |
| | | xstring xslStr = xsl.GetXml(); |
| | | xstring xslStr = xsl.xml(); |
| | | |
| | | xslStr = adjustXsl(xslStr,sPath); |
| | | xsl.LoadXml(xslStr); |
| | | xsl.loadXML(xslStr); |
| | | |
| | | //trace(m_dataset.GetXml()); |
| | | trace(L"\r\n--------\r\n"+xslStr); |
| | | |
| | | m_strHtml = m_dataset.GetXmlDoc().transformNode(xsl.GetXmlDoc()); |
| | | m_strHtml = m_dataset.transformNode(xsl); |
| | | xstring aspace = m_strHtml.replace(L"[空]",L" ",0); |
| | | aspace = aspace.replace(L"[line]",L"<br/>",0); |
| | | xstring scontent = aspace.replace(L"<?xml version=\"1.0\"?>",L"",0); |
| | |
| | | int pos = tail.find(L"src=\"item-picture:"); |
| | | while(pos > 0) |
| | | { |
| | | int spos = pos+L"src=\"item-picture:".length(); |
| | | int spos = pos+((xstring)L"src=\"item-picture:").length(); |
| | | int pos1 = tail.find(L"\"",spos+1); |
| | | xstring skuno = tail.mid(spos,pos1 - spos ).trim(); |
| | | xstring CustomerID=L""; |
| | | xstring CustomerItemNo=L""; |
| | | if(skuno.find(L",L")>0) |
| | | if(skuno.find(L",")>0) |
| | | { |
| | | CustomerID = skuno.left(skuno.find(L",L")).trim(); |
| | | skuno = skuno.mid(skuno.find(L",L")+1,256).trim(); |
| | | CustomerID = skuno.left(skuno.find(L",")).trim(); |
| | | skuno = skuno.mid(skuno.find(L",")+1,256).trim(); |
| | | } |
| | | if(skuno.find(L",L")>0) |
| | | if(skuno.find(L",")>0) |
| | | { |
| | | CustomerItemNo = skuno.left(skuno.find(L",L")).trim(); |
| | | skuno = skuno.mid(skuno.find(L",L")+1,256).trim(); |
| | | CustomerItemNo = skuno.left(skuno.find(L",")).trim(); |
| | | skuno = skuno.mid(skuno.find(L",")+1,256).trim(); |
| | | } |
| | | xstring src = DownLoadSKUNoPic(skuno,CustomerID,CustomerItemNo); |
| | | head += tail.left(pos) + L"src=\"" + src; |
| | |
| | | int position = tail.find(L"src=\"paper-picture:"); |
| | | while(position > 0) |
| | | { |
| | | int sposition = position+L"src=\"paper-picture:".length(); |
| | | int sposition = position+ ((xstring)L"src=\"paper-picture:").length(); |
| | | int position1 = tail.find(L"\"",sposition+1); |
| | | xstring guid = tail.mid(sposition,position1 - sposition ).trim(); |
| | | xstring src2 = DownLoadPaperPic(guid); |
| | |
| | | position = tail.find(L"src=\"src-picture:"); |
| | | while(position > 0) |
| | | { |
| | | sposition = position+L"src=\"src-picture:".length(); |
| | | position1 = tail.find(L"\"",sposition+1); |
| | | guid = tail.mid(sposition,position1 - sposition ).trim(); |
| | | src2 = DownLoadUrlPic(guid); |
| | | int sposition = position+((xstring)L"src=\"src-picture:").length(); |
| | | int position1 = tail.find(L"\"",sposition+1); |
| | | xstring guid = tail.mid(sposition,position1 - sposition ).trim(); |
| | | xstring src2 = DownLoadUrlPic(guid); |
| | | head += tail.left(position) + L"src=\"" + src2; |
| | | tail = tail.mid(position1,999999999); |
| | | position = tail.find(L"src=\"src-picture:"); |
| | |
| | | htmlStr = scontent; |
| | | ole_print.LoadHtml(scontent); |
| | | |
| | | xml x1 = new xml; |
| | | x1.setNativePointer(xml ::CreateInstance()); |
| | | xml x1; |
| | | //xstring xcontent = m_strHtml.replace(L" ",L"[空]",0); |
| | | xstring xcontent = m_strHtml.replace(L"[空]",L" ",0); |
| | | int pos0 = xcontent.find(L"<xml"); |
| | |
| | | xstring str = xcontent.left(pos0)+ xcontent.mid(pos2+6,9999999); |
| | | xcontent = str; |
| | | } |
| | | x1.LoadXml(xcontent); |
| | | if(x1.GetXmlDoc()) |
| | | x1.loadXML(xcontent); |
| | | if(x1) |
| | | { |
| | | /*if(!showgrid) |
| | | { |
| | | SendCtrlCmd(cell,L"xmFormatShowGrid"); |
| | | showgrid = true; |
| | | }*/ |
| | | cell.LoadTemplate(x1.GetXmlDoc()); |
| | | cell.LoadTemplate(x1); |
| | | cell.Redraw(); |
| | | } |
| | | |
| | |
| | | |
| | | int updateHtml() |
| | | { |
| | | _mshtml::IHTMLDocument3 doc = ole_print.GetHtmlDocument(); |
| | | _mshtml::IHTMLElementCollection rows = doc.getElementsByTagName(L"tr"); |
| | | _mshtml::IHTMLElementCollection rows2 = doc.getElementsByTagName(L"td"); |
| | | int len = rows.length; |
| | | int len2 = rows2.length; |
| | | return 1; |
| | | IHTMLDocument3* doc = (IHTMLDocument3 * )ole_print.GetHtmlDocument(); |
| | | IHTMLElementCollection* rows = NULL; |
| | | IHTMLElementCollection* rows2 = NULL; |
| | | doc->getElementsByTagName((BSTR)L"tr",&rows); |
| | | doc->getElementsByTagName((BSTR)L"td",&rows2); |
| | | long len; |
| | | rows->get_length(&len); |
| | | long len2; |
| | | rows2->get_length(&len2); |
| | | for(int i=0; i < len - 1;i++) |
| | | { |
| | | _mshtml::IHTMLElement e = rows.item(i,i); |
| | | e.style.setAttribute(L"height",e.offsetHeight,0); |
| | | e.Release(); |
| | | _variant_t var; |
| | | IHTMLElement* e=0; |
| | | IHTMLStyle* pstyle=0; |
| | | long offsetHeight=0; |
| | | rows->item((_variant_t)i, (_variant_t)i,(IDispatch**) & e); |
| | | e->get_style(&pstyle); |
| | | e->get_offsetHeight(&offsetHeight); |
| | | pstyle->setAttribute((BSTR)L"height",(_variant_t)offsetHeight, 0); |
| | | e->Release(); |
| | | pstyle->Release(); |
| | | } |
| | | for( i=0; i < len2 - 1;i++) |
| | | for( int i=0; i < len2 - 1;i++) |
| | | { |
| | | _mshtml::IHTMLElement e2 = rows2.item(i,i); |
| | | e2.style.setAttribute(L"width",e.offsetWidth,0); |
| | | e2.Release(); |
| | | IHTMLElement* e = 0; |
| | | IHTMLStyle* pstyle = 0; |
| | | long offsetWidth=0; |
| | | rows->item((_variant_t)i, (_variant_t)i, (IDispatch**)&e); |
| | | e->get_style(&pstyle); |
| | | e->get_offsetHeight(&offsetWidth); |
| | | pstyle->setAttribute((BSTR)L"width", (_variant_t)offsetWidth, 0); |
| | | e->Release(); |
| | | pstyle->Release(); |
| | | } |
| | | rows.Release(); |
| | | doc.release(); |
| | | htmlStr = doc.documentElement.outerHtml; |
| | | rows->Release(); |
| | | doc->Release(); |
| | | |
| | | //IHTMLElement* e = 0; |
| | | //doc->get_documentElement(&e); |
| | | //BSTR bstrHtml=0; |
| | | //e->get_outerHTML(&bstrHtml); |
| | | |
| | | return 1; |
| | | } |
| | | |
| | | int OnOpenDocument() |
| | | { |
| | | if(GetParam()) |
| | | if(GetWinParam()) |
| | | { |
| | | xaserverarg arg = new xaserverarg; |
| | | arg.setNativePointer(GetParam()); |
| | | int p = arg.ptr_native_; |
| | | xaserverarg arg=GetArg(); |
| | | arg.AddArg(L"action",L"open"); |
| | | arg.AddArg(L"DocumentID",L""); |
| | | arg.AddArg(L"ok",L""); |
| | | openUrl(L"/sale/view/view.dlg/xpage/Template/PrintDialog", p); |
| | | openUrl(L"/sale/view/view.dlg/xpage/Template/PrintDialog", &arg); |
| | | xstring ret = arg.GetArgString(L"return"); |
| | | xstring action = arg.GetArgString(L"action"); |
| | | if (ret ==L"ok") |
| | |
| | | if(action ==L"open") |
| | | { |
| | | m_DocumentID = arg.GetArgString(L"DocumentID"); |
| | | xml x = new xml; |
| | | x.setNativePointer(xml::CreateInstance()); |
| | | xml x; |
| | | |
| | | xstring prestr = m_DocumentID.mid(0,2); |
| | | prestr = prestr.upper(); |
| | | prestr = prestr.toUpper(); |
| | | xaserver::LoadUrl(GetServerUrl(),L"/business/data/bill/"+prestr+L"/"+ m_DocumentID+L".jpg",L"",x); |
| | | if(x.GetXml()!=L"") |
| | | if((xstring)x.xml()!=L"") |
| | | { |
| | | if(x.GetXmlDoc()) |
| | | if(x) |
| | | { |
| | | /*if(!showgrid) |
| | | { |
| | | SendCtrlCmd(cell,L"xmFormatShowGrid"); |
| | | showgrid = true; |
| | | }*/ |
| | | cell.LoadTemplate(x.GetXmlDoc()); |
| | | cell.LoadTemplate(x); |
| | | cell.Redraw(); |
| | | } |
| | | ole_print.LoadHtml(x.GetXml()); |
| | | ole_print.LoadHtml(x.xml()); |
| | | }else |
| | | { |
| | | ole_print.LoadHtml(L"<html><body>未找到对应的文档</body></html>"); |
| | |
| | | else |
| | | { |
| | | xstring templateName = arg.GetArgString(L"template-name"); |
| | | win32::SetWindowText(GetHWND(),templateName); |
| | | SetWindowText(GetHWND(),templateName); |
| | | billName = templateName; |
| | | billPre = arg.GetArgString(L"template-pre"); |
| | | billID = arg.GetArgString(L"template-guid"); |
| | | m_EntityID = arg.GetArgString(L"EntityID"); |
| | | m_EntityNo = arg.GetArgString(L"EntityNo"); |
| | | m_EntityName = arg.GetArgString(L"EntityName"); |
| | | m_SupplierName = arg.GetArgString(L"SupplierName"); |
| | | m_DocumentID = L""; |
| | | |
| | | OnHtml(arg); |
| | |
| | | |
| | | int OnPrintDialog() |
| | | { |
| | | if(GetParam()) |
| | | if(GetWinParam()) |
| | | { |
| | | xaserverarg arg = new xaserverarg; |
| | | arg.setNativePointer(GetParam()); |
| | | int p = arg.ptr_native_; |
| | | xaserverarg arg=GetArg(); |
| | | arg.AddArg(L"ok",L""); |
| | | openUrl(L"/sale/view/view.dlg/xpage/Template/PrintDialog", p); |
| | | openUrl(L"/sale/view/view.dlg/xpage/Template/PrintDialog", &arg); |
| | | xstring ret = arg.GetArgString(L"return"); |
| | | xstring action = arg.GetArgString(L"action"); |
| | | if (ret ==L"ok") |
| | |
| | | if(action ==L"open") |
| | | { |
| | | m_DocumentID = arg.GetArgString(L"DocumentID"); |
| | | xml x = new xml; |
| | | x.setNativePointer(xml::CreateInstance()); |
| | | xml x; |
| | | |
| | | xstring prestr = m_DocumentID.mid(0,2); |
| | | prestr = prestr.upper(); |
| | | prestr = prestr.toUpper(); |
| | | xaserver::LoadUrl(GetServerUrl(),L"/business/data/bill/"+prestr+L"/"+ m_DocumentID+L".jpg",L"",x); |
| | | if(x.GetXml()!=L"") |
| | | if((xstring)x.xml()!=L"") |
| | | { |
| | | |
| | | xstring content = L""; |
| | | if(x.GetXmlDoc().documentElement.tagName==L"Bill") |
| | | if((xstring)x.documentElement().tagName() == L"Bill") |
| | | { |
| | | content = x.GetXmlDoc().documentElement.text; |
| | | content = x.documentElement().text(); |
| | | content = content.replace(L"[空]",L" ",0); |
| | | ole_print.LoadHtml(content); |
| | | ole_print.LoadHtml((LPTSTR)content.c_str()); |
| | | }else |
| | | { |
| | | if(x.GetXmlDoc()) |
| | | if(x) |
| | | { |
| | | /*if(!showgrid) |
| | | { |
| | | SendCtrlCmd(cell,L"xmFormatShowGrid"); |
| | | showgrid = true; |
| | | }*/ |
| | | xml x1 = new xml; |
| | | x1.setNativePointer(xml::CreateInstance()); |
| | | xstring content1 = x.GetXml(); |
| | | xml x1 ; |
| | | |
| | | xstring content1 = x.xml(); |
| | | content1 = content1.replace(L"[空]",L" ",0); |
| | | //trace(content1); |
| | | x1.LoadXml(content1); |
| | | cell.LoadTemplate(x1.GetXmlDoc()); |
| | | x1.loadXML(content1); |
| | | cell.LoadTemplate(x1); |
| | | cell.Redraw(); |
| | | } |
| | | content = x.GetXml(); |
| | | content = x.xml(); |
| | | content = content.replace(L"[空]",L" ",0); |
| | | ole_print.LoadHtml(content); |
| | | } |
| | | }else |
| | | { |
| | | ole_print.LoadHtml(L"<html><body>未找到对应的文档</body></html>"); |
| | | ole_print.LoadHtml((LPTSTR)L"<html><body>未找到对应的文档</body></html>"); |
| | | //cell.LoadHtml(L"<html><body>未找到对应的文档</body></html>"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | xstring templateName = arg.GetArgString(L"template-name"); |
| | | win32::SetWindowText(GetHWND(),templateName); |
| | | SetWindowText(GetHWND(),templateName); |
| | | billName = templateName; |
| | | billPre = arg.GetArgString(L"template-pre"); |
| | | billID = arg.GetArgString(L"template-guid"); |
| | | m_EntityID = arg.GetArgString(L"EntityID"); |
| | | m_EntityNo = arg.GetArgString(L"EntityNo"); |
| | | m_EntityName = arg.GetArgString(L"EntityName"); |
| | | m_SupplierName = arg.GetArgString(L"SupplierName"); |
| | | m_DocumentID = L""; |
| | | OnHtml(arg); |
| | | } |
| | |
| | | xstring tools=L"<hbox class=''>"; |
| | | if(agent) |
| | | { |
| | | nlist = agent.SelectNodes(L".//xtoolbutton"); |
| | | nlen = nlist.length; |
| | | nlist = agent.selectNodes(L".//xtoolbutton"); |
| | | nlen = nlist.length(); |
| | | for(index=0;index<nlen;index++) |
| | | { |
| | | ele = nlist.item(index); |
| | | xstring name = ele.selectSingleNode(L"@name").text; |
| | | xstring label = ele.selectSingleNode(L"@caption").text; |
| | | xstring name = ele.selectSingleNode(L"@name").text(); |
| | | xstring label = ele.selectSingleNode(L"@caption").text(); |
| | | xstring image; |
| | | xstring src = L""; |
| | | if(ele.selectSingleNode(L"@image")) |
| | | image = ele.selectSingleNode(L"@image").text; |
| | | image = ele.selectSingleNode(L"@image").text(); |
| | | else |
| | | image = L"0 22"; |
| | | |
| | | if(ele.selectSingleNode(L"@src")) |
| | | src = ele.selectSingleNode(L"@src").text; |
| | | src = ele.selectSingleNode(L"@src").text(); |
| | | |
| | | int strLen = label.length(); |
| | | int width = 60 + (strLen - 2) * 10; |
| | |
| | | } |
| | | |
| | | //焦点激活处理函数 |
| | | int OnSetFocus(ref TNotifyEvent evt,int p) |
| | | int OnSetFocus(TEvent * evt,int p) |
| | | { |
| | | //重置工具条 |
| | | SetAgent(); |
| | |
| | | } |
| | | int PrintPaper() //打印 |
| | | { |
| | | //ole_print.GetHtmlDocument(); |
| | | #ifdef shouldFinish //ole_print.GetHtmlDocument(); |
| | | //return 1; |
| | | _mshtml::IHTMLDocument3 doc = ole_print.GetHtmlDocument(); |
| | | _mshtml::IHTMLElementCollection rows = doc.getElementsByTagName(L"tr"); |
| | | IHTMLDocument3* doc = (IHTMLDocument3 * )ole_print.GetHtmlDocument(); |
| | | IHTMLElementCollection* rows = doc->getElementsByTagName(L"tr"); |
| | | |
| | | int len = rows.length; |
| | | long len; |
| | | rows->get_length(&len); |
| | | for(int i=0; i < len - 1;i++) |
| | | { |
| | | //oleobject v = rows.item(i,i); |
| | | _mshtml::IHTMLElement e = rows.item(i,i); |
| | | _mshtml::IHTMLElement2 e1 = e; |
| | | IHTMLElement* e = rows->item(i,i); |
| | | IHTMLElement2* e1 = e; |
| | | //e.setAttribute(L"height",e1.clientHeight,0); |
| | | e.setAttribute(L"height",300,0); |
| | | e.Release(); |
| | |
| | | } |
| | | rows.Release(); |
| | | doc.Release(); |
| | | #endif |
| | | /* |
| | | if(PaperPrint == false) |
| | | { |
| | |
| | | xstring guid = publiccode::GetGuid(); |
| | | |
| | | xstring prestr = guid.mid(0,2); |
| | | prestr = prestr.upper(); |
| | | prestr = prestr.toUpper(); |
| | | |
| | | |
| | | content = content.replace(L"gb2312",L"utf-16",0); |
| | | content = content.replace(L" ",L"[空]",0); |
| | | content = content.replace(L"&",L"",0); |
| | | |
| | | xml x0 = new xml; |
| | | x0.setNativePointer(xml::CreateInstance()); |
| | | x0.LoadXml(L"<Bill/>"); |
| | | x0.GetXmlDoc().documentElement.text = content; |
| | | content = x0.GetXml(); |
| | | xml x0 ; |
| | | x0.loadXML(L"<Bill/>"); |
| | | x0.documentElement().settext(content); |
| | | content = x0.xml(); |
| | | |
| | | int ret= xaserver::UploadData(L"bill"+prestr, guid+L".jpg", content); |
| | | if(ret < 0) trace(L"error upload"); |
| | |
| | | ls_xml += L"<BillName>"+ billName + L"</BillName>"; |
| | | ls_xml += L"</DocumentList>"; |
| | | |
| | | xml x = new xml; |
| | | x.setNativePointer(xml::CreateInstance()); |
| | | x.LoadXml(ls_xml); |
| | | xaserverarg arg = new xaserverarg; |
| | | arg.setNativePointer(xaserverarg::CreateInstance()); |
| | | arg.AddArg(L"content",x.GetXml()); |
| | | xml x; |
| | | |
| | | if(url::get(L"/sale/data/DocumentList3/bill/update", arg.GetString(),x)!=1) |
| | | x.loadXML(ls_xml); |
| | | xaserverarg arg; |
| | | |
| | | arg.AddArg(L"content", x.xml()); |
| | | |
| | | if(xurl::get(L"/sale/data/DocumentList3/bill/update", arg.GetString(),x)!=1) |
| | | { |
| | | xstring error = x.GetXmlDoc().text; |
| | | xstring error = x.text(); |
| | | alert(L"err:"+error); |
| | | return 1; |
| | | } |
| | | xstring str = x.GetXmlDoc().documentElement.getAttribute(L"text"); |
| | | xstring str = x.documentElement().getAttribute(L"text"); |
| | | if(str == L"true") |
| | | { |
| | | alert(L"保存成功!"); |
| | |
| | | |
| | | int SendCtrlCmd(xcontrol xc, xstring cmd) |
| | | { |
| | | win32::SendMessage(xc.GetId(),0x401,cmd,0); |
| | | SendMessage(xc.GetHWND(), 0x401, (WPARAM)cmd.c_str(), 0); |
| | | return 1; |
| | | } |
| | | |
| | | int OnRefreshData() |
| | | { |
| | | xaserverarg arg = new xaserverarg; |
| | | arg.setNativePointer(GetParam()); |
| | | xaserverarg arg; |
| | | xstring templateName = arg.GetArgString(L"template-name"); |
| | | win32::SetWindowText(GetHWND(),templateName); |
| | | SetWindowText(GetHWND(),templateName); |
| | | OnHtml(arg); |
| | | billName = templateName; |
| | | billPre = arg.GetArgString(L"template-pre"); |
| | |
| | | m_EntityID = arg.GetArgString(L"EntityID"); |
| | | m_EntityNo = arg.GetArgString(L"EntityNo"); |
| | | m_EntityName = arg.GetArgString(L"EntityName"); |
| | | m_SupplierName = arg.GetArgString(L"SupplierName"); |
| | | m_DocumentID = L""; |
| | | return 1; |
| | | } |
| | |
| | | { |
| | | if(comdid==L"xmSort") |
| | | { |
| | | OpenWindow(L"dev:xpage[DataSort.dialog.vx]",cast(m_dataset as int)); |
| | | //OpenWindow(L"dev:xpage[DataSort.dialog.vx]",cast(m_dataset as int)); |
| | | return 1; |
| | | } |
| | | if(comdid==L"print:PrintImmediate") |
| | |
| | | { |
| | | if(updated) |
| | | { |
| | | int res = win32::MessageBox(this.GetHWND(), L"单据已制作,是否保存?",L"提示",4); |
| | | int res = MessageBox(GetHWND(), L"单据已制作,是否保存?",L"提示",4); |
| | | if(res == 6)OnCmdDispatch(L"print:AddToDocumentList"); |
| | | } |
| | | if(GetParam()) |
| | | if(GetWinParam()) |
| | | { |
| | | xaserverarg arg1 = new xaserverarg; |
| | | arg1.setNativePointer(GetParam()); |
| | | xaserverarg arg1 = GetArg(); |
| | | arg1.AddArg(L"action",L"new"); |
| | | OnPrintDialog(); |
| | | arg1.AddArg(L"action",L""); |
| | |
| | | ole_print.ExecWB(27,0); |
| | | return 1; |
| | | alert(L"xxx"); |
| | | xml x1 = new xml; |
| | | x1.setNativePointer(xml::CreateInstance()); |
| | | xml x1 ; |
| | | |
| | | xaserver::ExecXQuery(GetServerUrl(), L"[xsl.getdevobj.xq]",L"<args/>",x1); |
| | | } |
| | | |
| | | if(comdid == L"xxx") |
| | | { |
| | | xml x = new xml; |
| | | x.setNativePointer(xml::CreateInstance()); |
| | | xaserverarg arg = new xaserverarg; |
| | | arg.setNativePointer(arg.CreateInstance()); |
| | | xml x; |
| | | |
| | | xaserverarg arg; |
| | | |
| | | arg.AddArg(L"strHtml",m_strHtml); |
| | | if (url::get(L"/sale/data/SysPrintTemplate/WebBrowser",arg.GetString(),x) != 1) |
| | | if (xurl::get(L"/sale/data/SysPrintTemplate/WebBrowser",arg.GetString(),x) != 1) |
| | | { |
| | | alert(L"数据集出错了!"); |
| | | return 0; |
| | | } |
| | | xstring strHtml = x.GetXml(); |
| | | xstring strHtml = x.xml(); |
| | | ole_print.LoadHtml(strHtml); |
| | | } |
| | | return 0; |
| | | } |
| | | |
| | | int OnXCommand(ref TXCommandEvent evt,int p) |
| | | int OnXCommand(TEvent* evt,int p) |
| | | { |
| | | return OnCmdDispatch(evt.pStrID); |
| | | return OnCmdDispatch(evt->xcommand.pStrID); |
| | | } |
| | | |
| | | int OnAttachEvent() |
| | | { |
| | | AttachEvent(L"WM_XCOMMAND",OnXCommand); |
| | | AttachEvent(L"WM_SETFOCUS",OnSetFocus); |
| | | AttachEvent(L"WM_XCOMMAND",(FEvent)& TemplatePrintViewEx::OnXCommand); |
| | | AttachEvent(L"WM_SETFOCUS", (FEvent)&TemplatePrintViewEx::OnSetFocus); |
| | | //AttachEvent(L"WM_CLOSE",OnCloseOwnerWindow); |
| | | |
| | | return 0; |
| | |
| | | { |
| | | if(!updated) return 1; |
| | | |
| | | int MB_YESNOCANCEL = 3; |
| | | int IDYES = 6; |
| | | int IDNO = 7; |
| | | int IDCANCEL = 2; |
| | | int re = win32::MessageBox(this.GetHWND(), L"单据已制作,是否保存?",L"提示:",MB_YESNOCANCEL); |
| | | //int MB_YESNOCANCEL = 3; |
| | | //int IDYES = 6; |
| | | //int IDNO = 7; |
| | | //int IDCANCEL = 2; |
| | | int re = MessageBox(GetHWND(), L"单据已制作,是否保存?",L"提示:",MB_YESNOCANCEL); |
| | | if(re==IDCANCEL) return -1; |
| | | if(re==IDNO) return 1; |
| | | OnCmdDispatch(L"print:AddToDocumentList"); |
| | |
| | | int onloaded() |
| | | { |
| | | updated = false; |
| | | if(GetParam()) |
| | | SetArg(); |
| | | if(GetWinParam()) |
| | | { |
| | | xaserverarg arg = new xaserverarg; |
| | | arg.setNativePointer(GetParam()); |
| | | xaserverarg arg= GetArg(); |
| | | xstring templateName = arg.GetArgString(L"template-name"); |
| | | if(templateName ==L"") |
| | | { |
| | |
| | | |
| | | else |
| | | { |
| | | win32::SetWindowText(GetHWND(),templateName); |
| | | SetWindowText(GetHWND(),templateName); |
| | | OnHtml(arg); |
| | | billName = templateName; |
| | | billPre = arg.GetArgString(L"template-pre"); |
| | |
| | | m_EntityID = arg.GetArgString(L"EntityID"); |
| | | m_EntityNo = arg.GetArgString(L"EntityNo"); |
| | | m_EntityName = arg.GetArgString(L"EntityName"); |
| | | m_SupplierName = arg.GetArgString(L"SupplierName"); |
| | | m_DocumentID = L""; |
| | | } |
| | | }else |
| | | OnPrintDialog(); |
| | | return 1; |
| | | } |
| | | }; |
| | | |
| | | }; |
| | | #define _XWIN |