Time of Update: 2018-12-04
其實我也發現這個問題了,但是Junevoful已經說的很詳細了,我就補充兩點:1,使用exists join不可以引用第二個表的資料,表示÷這條資料一旦存在於第二個表中,就認為滿足條件,但是使用inner
Time of Update: 2018-12-04
當我們在使用一個表做顯示或操作時,需要用到另一個表的資料或該表的資料必須經過處理才可以顯示時,可以考慮使用edit/display方法。Display 方法:修飾符display所修的方法,其傳回值將被作為一個不可以修改的值在form和report上顯示。如果你希望這個值可以被編輯,就是要edit方法。<1> Display方法的書寫位置:Display修飾符可以被用於以下方法:(1) Table下的方法(2) Form下的方法(3) Form data
Time of Update: 2018-12-04
update 是執行表裡update的方法,再update到資料庫。 doupdate 是直接update到資料庫,不執行表裡的update的方法。 doinset,inset同理。。。。。。 這兩個方法都是Xrecord類的方法,都會在插入資料時產生系統欄位。區別是:Insert()方法執行完父類的方法後還執行表裡的Insert方法(可以被重載),DoInsert()不被重載,不執行表裡Insert()方法,只執行父類方法。Clear
Time of Update: 2018-12-04
void clicked(){ #Excel HWND HWND; SysExcelApplication excel; SysExcelWorkbooks books; SysExcelWorkbook book; SysExcelWorksheets sheets; SysExcelWorksheet sheet; SysExcelRange columns;
Time of Update: 2018-12-04
不過為了系統將來的擴充性最好使用SysQuery::valueEmptyString();以免將來空值的含義發生變化。SysQuery::valueEmptyString();這個方法的注釋也說明了把空置封裝成方法的原因是為了將來的相容性。在用QueryBuildRange的value屬性時,如果value的值是‘’,則查詢會忽略該Range,好像沒有這個Range一樣,比如如下語句:用這種方式也可以達到一樣的效果static void EmptyTest(){ Query q; Q
Time of Update: 2018-12-04
static void ExportImageToExcel(Args _args){ container ImaPos; COM comWorksheet; COM comShapes; COM comCells; COM comFont; COM comPageSetup; SysExcelWorksheet sheet; SysExcelApplication excel;
Time of Update: 2018-12-04
這個類在很多代碼中出現,在啟動報表的時候也需要用到它. 簡單來說這個類用於共用構造參數.在Axapta中之所以可以用Args的方式,是因為: 1.通常參數的數目比較少. 2.用的參數類型很類似. 3.有時候構造一個主要的對象,需要構造與之相關的對象,在構造這些對象時需要用到相 同的構造參數. 在傳統的OO世界裡,一個對象往往有多個重載的建構函式,通常情況下這沒什麼問題,但 當一個主要的對象需要通過特定構造器去構造相關的對象時,事情變得糟糕起來.有時候需要
Time of Update: 2018-12-04
Axapta 系統類別Args()常用方法詳解Args()是Axapta用來傳遞參數最好用的系統類別,其參數傳遞最常見的包括從表單到類的互傳,從表單到報表的傳遞,從類到報表的傳遞。1)args().caller() 可以用來擷取調用方的資訊。比如某人報表是通過類CallAAA調用的,那麼在報表裡用CallAAA = element.args.caller();即可獲得呼叫類的引用,從而可以用引用類中方法。2)args().record()
Time of Update: 2018-12-04
Simple select statement examplestatic void selectExample(Args _args){CustTable custTable;int counter;;select * from custTable;while(custTable.AccountNum){print custTable.Name + " "+ custTable.AccountNum;next custTable;counter++;}print "The no. of
Time of Update: 2018-12-04
第一步,先在form的聲明的地方聲明變數: public class FormRun extends ObjectRun { QueryBuildRange criteriaPosted; } 第二步,資料來源(datasource)對應的表的ini方法: public void init() { super();
Time of Update: 2018-12-04
//[原創][經驗總結] 怎樣從Axapta中匯出資料到Excel。static void xyf_ExcelOf_FormAxapta(Args _args){ SysExcelApplication excel; SysExcelWorkbooks books; SysExcelWorkbook book; SysExcelWorksheets sheets; SysExcelWorksheet sheet;
Time of Update: 2018-12-04
static void GetFieldType(Args _args){ SysDictField df; dictTable dt; TableId tableId = tablenum(InventTable); int i; ; dt=new Dicttable(tablenum(InventTable)); for(i=1;i<=dt.fieldCnt();i++) {
Time of Update: 2018-12-04
首先解釋一下什麼是Ax系統中的Label。起初我們的應用程式是為某個特定的國家的客戶來編寫的,而且這家客戶只是在某個國家內進行交易,因此他們的語言是相同和單一的,在這樣的前提下我們的應用程式只需要把客戶能夠理解的語言把系統的提示和介面上的資訊顯示出來即可。這樣子就可以滿足使用單一語言的客戶了。接下來我們發現更多的特殊的客戶需要我們的系統尤其是他們具有很多的跨國子公司,那麼肯定在這些子公司中不會完全使用一種語言來***作系統,因此我們的應用程式需要把程式內資訊改成相對應的語言給指定的國
Time of Update: 2018-12-04
來個最簡單的Job作為本主題的引子 static void DataDic_SetTmp(Args _args){ CustGroup custGroup;; custGroup.setTmp(); custGroup.custGroup = "10"; custGroup.name = "Test customer 10"; custGroup.insert(); while select custGroup { info(
Time of Update: 2018-12-04
1:直接調用函數 str 24 ComName; ; ComName=appl.company().ext();//當前公司ID curUserid();//目前使用者iD systemDateget();//目前時間 Time2Str(timenow(),1,2);//時間轉換函式 curuserid()//目前使用者 2,使用Session對象 session xSession; ;
Time of Update: 2018-12-04
/****功能描述:1)首先在Form中增加一個CommandButton選擇“確定”或者“取消”命令按鈕2)然後在Form中的Method中增加一個getData()方法來關閉Form表單3)最後重載Form中的Method下的Run()方法,設定定時器!來調用getData()達到定時關閉Form的效果!在From 下的method下編輯以下代碼:getdata方法是實現關閉Form,cmdOK是一個關閉按鈕.*/public void getData(){
Time of Update: 2018-12-04
public void displayOption(TableName _record, FormRowDisplayOption _options){ int IcBackColor = winapi::RGB2int(255,255,255); int IcTextColor = winapi::RGB2int( 0, 0, 0); int SiBackColor = winapi::RGB2int(255,128,225); int
Time of Update: 2018-12-04
/**擷取table中的系統欄位資訊*/static void xyf_TableOfSysFieldList(Args _args){ Common _com; InventTable it; DictTable dict; dictField dictField; int i,m; str 50 st; Container con;
Time of Update: 2018-12-04
//用X++得到目前使用者是否有某Security Key的權限等級,完整Job示範static void xyf_checkSecurity(Args _args){ DictSecurityKey _dictSkey = new DictSecurityKey(securitykeynum(CustTables)); DictEnum _dictEnum = new DictEnum(enumnum(AccessType)); str 50 left
Time of Update: 2018-12-04
概念:要區別設計良好的模組與設計不好的模組,最重要的因素在於,這個模組對於外部的其他模組而言,是否隱藏其內部資料和其他細節。設計良好的模組會隱藏所有的實現細節,把他的API和他的實現清晰的分割開來。然後,模組之間通過他們之間的API進行通訊,一個模組不需要知道其他模組的內部情況。這個概念被成為資訊隱藏(information hiding)或封裝(encapsulation),是軟體設計的基本