freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

秋葵軟件oa-erp高級設計-資料下載頁

2025-06-30 09:08本頁面
  

【正文】 || (j==k amp。amp。 (X2X1 || X2))){ newSet2(Amount,X1)。}這里,k獲得當前輸入焦點所在的列,i申請數(shù)量所在的列,j審核數(shù)量所在的列。X1為申請數(shù)量,沒有填寫時,不處理,直接返回。其他情況是: (1)i==k指申請數(shù)量所在的列為當前列。 (2)j==k指審核數(shù)量所在的列為當前列。 (3)X2X1指審核數(shù)量超出申請數(shù)量, (4)X2 (5)|| amp。amp。 分別是“或者,且”邏輯判斷,練習 練習題:假如客戶要求在銷售發(fā)票中,允許多開發(fā)票金額,那么如何設置流程?如何設置C語言控制? 流程設置:此時,應收賬款,不能以發(fā)貨單為依據(jù)了,因為發(fā)貨單上的金額不能改變,改變后變成了應收賬款。故設置“銷售發(fā)票”為應收賬款的依據(jù),此時只要在憑證模板中設置就可以了。詳細請見“業(yè)務財務一體化”部分。C語言設置:利用系統(tǒng)中預留的自定義字段,設置一下窗體:即主單據(jù)、清單中的“發(fā)票金額”。 然后,各個字段的C語言代碼設置如下:(1)主單據(jù)發(fā)票金額Sum2AndSet(NULL,Items,xExtraFields01)。即統(tǒng)計清單Items的xExtraFields01字段值賦給本字段。(2)清單發(fā)票金額float X1=newGet2(xExtraFields01)。float X2=newGet2(Amount)*newGet2(Price)。if(X1){newSet2(NULL,X2)。}即沒有設置發(fā)票金額時,自動填寫。(3)清單總金額float X1=newGet2(xExtraFields01)。float X2=newGet2(Amount)*newGet2(Price)。float X3=X2+(X1X2)*。if(X1X2)X3=X2。newSet2(Summoney,X3)。即發(fā)票金額超過數(shù)量*單價時,要計算多出的金額的稅,加上數(shù)量*單價的總和,為應收賬款。 這里僅僅是一個課堂教學中以為學生的問題解答,實際上并沒有這樣做的,因為(1)多開發(fā)票不僅違法,而且造成嚴重的稅務問題,(2)即使要多開金額,非法合法化的做法是調(diào)整計算單價。一個復雜的報價計算float x1=newGet2([1,Order].DT~prdBOM~[[1,Order],Specif])。float x2=newGet2(Totalcharge3)。float x3=newGet2()。newSet2(NULL,(x1+x2)*x3)。 注意這里的X1的取值中的漫游取值的代碼[1,Order].DT~prdBOM~[[1,Order],Specif][1,Order]表示查詢清單第一行,[1,Order]表示清單第一行的規(guī)格,這里是嵌套的,DT~prdBOM~Product表示跳躍到BOM主單據(jù)中去,prdBOM,且與其中的Product字段值相同。由于每次取道的,可能是多行,因此要用[]約束條件限制結(jié)果。167。5 代碼邏輯故障分析 C/C++的博大精深,在業(yè)界是出名的,也因此讓人恐懼。簡單地說,C/C++唯一遵守的規(guī)則的邏輯。下面是一下例子 某企業(yè)使用“銷售報價單費用明細,銷售訂單費用明細”使用的代碼如下: ,詢價單費用明細********************* Summoney *********************Calculate2AndSetValue(Summoney,uExchange*Price*Amount)。********************** uExchange **********************int j=GetRow()。while(j0){ int s1=(int)newGet2(FnCode)。 if(s1==12||s1==6) { newXSet(,1)。 } else if(s1==1) { newSet2(uExchange,1)。 } j=NextRow()。} 這里的代碼有何問題? 出現(xiàn)的故障如下: (1)保存數(shù)據(jù)后一些行的外匯率(uExchange)、總金額(Summoney)是空白的,要重新點擊后才再顯示。 (2)總金額(Summoney)還出現(xiàn)錯誤現(xiàn)象,取的計算值似乎不能與新的匯率對應。 這個問題也是讓程序員晝夜不眠的地方,一切都那么簡單!結(jié)論就是不正確。 這里先說明這里的思路的錯誤之處。 (1)總金額(Summoney)用到外匯率(uExchange),但是uExchange卻在Summoney之后,計算順序?qū)е抡`差。 (2)外匯率(uExchange)的代碼只需要計算本記錄(本行),但是這段代碼卻在整個清單循環(huán)。也就是每次調(diào)用代碼處理一行數(shù)據(jù)時,整個清單都要重新處理一遍,效率十分低下。 鑒于GetRow()是返回當前行次的行號,因此計算n*(n1),這本身卻說明程序的思路是不匹配的,混淆的。 (3)這里由于要取主表單的值,在某些狀態(tài)下(模式I、模式II)下,可能失敗,但是這里卻沒有判斷系統(tǒng)運行模式。 知道這些問題后,我們只要在外匯率(uExchange)定義如下代碼,一些就okif(CurrentMode()==3){ int s1=(int)newGet2(FnCode)。 if(s1==12||s1==6) { newXSet(,1)。 } else if(s1==1) { newSet2(uExchange,1)。 } Calculate2AndSetValue(Summoney,uExchange*Price*Amount)。} 此時總金額(Summoney)不再需要什么代碼了。當然使用這個代碼時,不要將uExchange的位置調(diào)整到Summoney的前面,否則,還會出錯,因為Summoney的默認代碼在沒有被覆蓋時又會生效,這個字段的默認代碼是 ,詢價單費用明細********************* Summoney *********************int M=CurrentMode()。if(M==3){ CallFunction(SetFor_tblSaleFeeSchemeItems)。} (因此這個字段可以使用空白代碼,一個分號“?!碧娲乐顾\行,因為降低了系統(tǒng)效率。) 另外要明白,代碼可能隨時會被系統(tǒng)調(diào)用計算,不僅僅是在某個固定位置,因此特殊的處理方式要判斷是否適合自己的代碼! 因此程序員保持一個清醒的頭腦是系統(tǒng)正確運行的關(guān)鍵。167。6 表單自動轉(zhuǎn)換事件 1. 表單自動轉(zhuǎn)換事件的需求來自如下需求:銷售訂單審核時自動產(chǎn)生銷售發(fā)貨單,銷售發(fā)貨單審核時,自動產(chǎn)生出庫單等。 系統(tǒng)已經(jīng)內(nèi)置所有這些基本的事件。 但是下面的需求,需要開放更多的內(nèi)置機制,否則不能很好滿足特殊需求: (1)醫(yī)藥行業(yè)用戶,希望在銷售訂單審核時自動產(chǎn)生銷售發(fā)貨單,銷售發(fā)貨單不要自動審核,但是銷售發(fā)貨單要產(chǎn)生收款單。 (2)收款單審核時,自動審核銷售發(fā)貨單,然后再自動產(chǎn)生出庫單。 為了處理這類需求,需要啟用“表單自動轉(zhuǎn)換事件” 注意,這里在銷售訂單定義了“審核”(Audit)事件, 而在銷售發(fā)貨單則定義了“新增”(AfterNewSave)事件。 控制單據(jù)產(chǎn)生的控制單為: : (1)如果訂單據(jù)上選擇是現(xiàn)金銷售,就直接產(chǎn)生收款單。 等等。 顯然,沒有自定義程序,所有這些都是不可能的。 因此系統(tǒng)又開放了“流程事件”(Event_FlowSave),專門判斷是否需要產(chǎn)生單據(jù)。定義如下:代碼本身為:int j1=(int)newGet2()。printf(flow=%d,j1)。if(j1!=189){ return 1。}return 0。最為說明:返回負值表示不能繼續(xù)。167。7 查詢結(jié)果轉(zhuǎn)換清單事件 現(xiàn)在有如下需求:A、庫存養(yǎng)護:對當前庫存進行各種條件的過濾,篩選,得出一組有效記錄清單,并作為下一步業(yè)務操作的依據(jù)。藥品養(yǎng)護確認表,藥品養(yǎng)護檔案,庫存藥品質(zhì)量養(yǎng)護檢查記錄單,審核完成后,更新批號庫中的最后一次養(yǎng)護日期;B、藥品質(zhì)量復檢通知單,藥品質(zhì)量復檢記錄單,藥品質(zhì)量處理通知單;C、藥品停售/復售通知單,對篩選出來的庫存清單進行停售或者復售處理;D、有效期、近效期藥品催銷表,對滿足一定日期時間段的庫存進行統(tǒng)計并生成相應的近效期藥品清單列表,作為下一步處理的依據(jù)。如失效期在6個月內(nèi)的庫存商品進行清單列表記錄單向銷售部門進行催銷;E、根據(jù)庫存的上下限,當前庫存情況,篩選,過濾,列出一組清單,作為采購計劃的依據(jù),并可引用到采購訂單中; 針對這類需求,系統(tǒng)提供了“查詢報表轉(zhuǎn)換為清單”機制。 (1)設置打印報表,不同的幾點是 1)類型要選擇為:*報表清單轉(zhuǎn)換 2)字段轉(zhuǎn)換規(guī)則是:清單中的顯示標簽要定義為“編號,Product”形式,即查詢結(jié)果中“編號”列,將轉(zhuǎn)換為清單中的“Product”字段等; 3)仍然定義所要顯示的窗口。 (3)上述示例,在“采購訂單”中顯示的結(jié)果如下: (3)查詢結(jié)果如下(4)所有報表產(chǎn)生的結(jié)果,都可以按照這里的原則轉(zhuǎn)換為清單。附錄1. OAERP虛擬機C/C++數(shù)據(jù)工作模式可以用CurrentMode()獲取工作模式,這個函數(shù)返回1,表示當前操作的記錄,我們稱為模式I;返回2當前操作的窗體編輯框字段模式II;返回3當前操作的清單模式III;模式IV則是按照SQL語句返回數(shù)據(jù)集(注意:返回的數(shù)據(jù)仍然工作在模式I)。 int m1= CurrentMode()。 int m2=()。前者表示取得本記錄集的工作模式,后者則是獲取ds1這個數(shù)據(jù)集的工作模式。數(shù)據(jù)集定義格式工作模式說明1gDataSet ds1(this,1,Items)1獲取清單記錄集合在模式I下有效2gDataSet ds1(this,2,NULL)2獲取主窗口操作對象僅在模式III3gDataSet ds1(this,3, Items)3取得名稱為Itesm的清單僅僅在模式II、III下有效4gDataSet ds1(this,4,())1按照SQL語句返回數(shù)據(jù)集5gDataSet ds1(this,5,NULL)。1獲取樹形節(jié)點的數(shù)據(jù)集6gDataSet ds1(this,6,char *1)。1空白數(shù)據(jù)集1為表單名稱或表單序號在任何模式下都有效附錄2. OAERP支持的數(shù)據(jù)類型類型意義int整數(shù)double小數(shù)(浮點數(shù))string字符串(c++的標準)gStringArray字符串數(shù)組(即其每個元素都是一個字符串)gDataSet數(shù)據(jù)集(可能在數(shù)據(jù)庫,內(nèi)存、也可能在表單窗口,或者清單,一條或多條記錄)。//CC++標準庫函數(shù)函數(shù)int printf(char *format,...)。int scanf(char *format,...)。int abs(int x)。double atof(char *s)。int atoi(char *s)。double sqrt(double x)。double fabsl(double x)。void abort()。double acos(double x)。double asin(double x)。double atan(double x)。double atan2(double x)。double cos(double x)。double exp(double x)。double log(double x)。double log10(double x)。double floor(double x)。double frexp(double x, int *exponent)。double ldexp(double x, int exp)。double modf(double x, double *ipart)。double pow(double x, double y)。double sin(double x)。double sinh(double x)。double strtod(char *s, char **endptr)。double tan(double x)。double tanh(double x)。double cosh(double x)。double ceil(double x)。double fabs(double x)。void *memm
點擊復制文檔內(nèi)容
化學相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1