| 
			
			 | 
		#41 | 
| 
			
			 Banned 
		
			
	 | 
	
	
	
		
		
		
		 
			
			JobId генерируется в трех местах: в производстве, проектах или в самом управлении цехом. Если JobId пришел из производства, то там стоит своя номерная серия.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#42 | 
| 
			
			 Banned 
		
			
	 | 
	
	
	
		
		
			
			
			Comment On Classics Week: Chocolate Covered SQL
			 
			
			Много занимаясь решениями для упаковочной отрасли, не мог пройти мимо этого: 
		
		
		
		
		
		
		
	![]() Прочитайте внимательно состав продукта. ![]() (c) http://worsethanfailure.com/Articles...ered-SQL-.aspx  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: e@gle (1), a33ik (1). | |
| 
			
			 | 
		#43 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Вчера наткнулся в методе Classes\InventAdjustPost\updateTotal на очень удививший меня код. 
		
		
		
		
		
		
			
		
		
		
		
	X++: protected void updateTotal() { InventSettlement inventSettlement; InventTrans inventTrans; ProjLedger projLedger; while select forcePlaceHolders forceSelectOrder sum(costAmountadjustment) from inventSettlement index hint DateVoucherIdx group by itemId,balanceSheetPosting,balanceSheetAccount,operationsPosting,operationsAccount,dimension where inventSettlement.transDate == transDate && inventSettlement.voucher == voucher && inventSettlement.costAmountAdjustment != 0 && inventSettlement.InventTransCurrency_RU == inventTransCurrency && inventSettlement.posted == NoYes::No join inventTrans index hint recId group projId,projAdjustRefId,inventTransId where inventTrans.RecId == inventSettlement.TransRecId { if (correspondenceEnable) { this.updateMap_RU(inventSettlement,inventTrans); } else { projLedger = this.newProjLedger_RU(inventTrans.ProjId, inventTrans.InventTransId, inventTrans.ProjAdjustRefId); this.updateTrans(inventSettlement, ledgerVoucher,projLedger); } } this.updateTrans_RU(); } Это вообще нормально??  | 
| 
	
 | 
| 
			
			 | 
		#44 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			В продолжнение темы, приведу вырезку из DevGuide. 
		
		
		
		
		
		
			
		
		
		
		
	Оказывается, это задокументированная фича, и помимо group работает и для order Цитата: 
	
		
			ORDER_GROUP ::= order OPT_BY 
ORDER_GROUP ::= group OPT_BY OPT_BY ::= by OPT_BY ::=  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: mazzy (5), belugin (3). | |
| 
			
			 | 
		#46 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			autowtf
			 
			
			надо было сделать setPrefix для функции с 12 аргументами:  
		
		
		
		
		
		
		
	скопировал в ФАР заголовок, вырезал регулярными выражениеями обзявления типов и пишу: X++: setPrefix(strFmt("Открытие документа: %1, %2")я это сделал так (на питоне): Код: ipy:?', '.join(['%'+str(i) for i in range (1, 13)]) Код: '%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12' X++:     setPrefix("Открытие документа" + con2str([
            _H_DM_Link,
            _ProjectID,
            _BaseBuildId,
            _HMG_SUPERTYPE,
            _HMG_TYPE,
            _HMG_DOC_NAME,
            _HMG_DOC_STATE,
            _HMG_DOC_STORAGE,
            _HMG_DOC_IN_STATE,
            _HMG_DOC_APP_ID,
            _HMG_DOC_OBJTYPE1,
            _HMG_DOC_OBJTYPE2
    ])); | 
| 
	
 | 
| 
			
			 | 
		#47 | 
| 
			
			 Banned 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Похвально. У меня тоже вчера было какое-то особое настроение, так что для того вертикального решения, над которым я работаю в настоящий момент, я написал след. код: 
		
		
		
		
		
		
		
		
			X++: // to cope with the apples and bananas problem UnitQty addUnitQtyError(SPPProdUnitQtyMap _that) { UnitQty qty; if (! _that.UnitQtyError) return 0; if (! this.UnitIdError) this.UnitIdError = _that.UnitIdError; if (! this.LanesNo) this.LanesNo = _that.LanesNo; if (this.UnitIdError == _that.UnitIdError && this.LanesNo == _that.LanesNo) // ;-) { qty = _that.UnitQtyError; } else { qty = _that.UnitQtyError; if (_that.LanesNo && Unit::SPPisLengthUnit(_that.UnitIdError)) qty = qty * _that.LanesNo; // ~ kg, m2, pcs if (this.LanesNo && Unit::SPPisLengthUnit(this.UnitIdError)) qty = qty / this.LanesNo; // ~ m // no conv. factor => throw error qty = UnitConvert::qty(qty, _that.UnitIdError, this.UnitIdError, this.prodTable().ItemId); } this.UnitQtyError += qty; return qty; } Последний раз редактировалось EVGL; 18.07.2007 в 12:39.  | 
| 
	
 | 
| 
			
			 | 
		#48 | 
| 
			
			 Microsoft Dynamics 
		
			
	 | 
	
	
	
		
		
			
			
			Что бы это значило?
			 
			
			Никто раньше не натыкался? 
		
		
		
		
		
		
		
	\Classes\InventAdjustPost\updateTrans X++:     if (1)
        _inventSettlement.Dimension = Dimensions::findDimension(_inventSettlement,InventTable::find(_inventSettlement.ItemId),_inventSettlement.Dimension); | 
| 
	
 | 
| 
			
			 | 
		#49 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			если про if(1) это скорее оставленный скальпель, чем wtf
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#50 | 
| 
			
			 Banned 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#51 | 
| 
			
			 Microsoft Dynamics 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#52 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Это когда хирург разрезает тело больного, делает операцию, зашивает, а скальпель забывает внутри.  
		
		
		
		
		
		
		
	В данном случае if(1), наверное, вставлялось для отладки, а убрать забыли (было. например, if (0) или if (curUserID()=='петрович') )  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Мариночка (2). | |
| 
			
			 | 
		#53 | 
| 
			
			 Axapta 
		
			
	 | 
	
	
	
		
		
		
		 
			
			\Classes\ReqSetupDim\covRule 
		
		
		
		
		
		
		
	X++: return reqGroup.covRule ? reqGroup.CovRule : reqCovType::Period; | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: belugin (1). | |
| 
			
			 | 
		#54 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			oip, а что тут не так? Ну, может перестраховались немного, но в целом это ведь #Default(reqGroup.covRule, reqCovType::Period)
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me  | 
| 
	
 | 
| 
			
			 | 
		#55 | 
| 
			
			 Axapta 
		
			
	 | 
	
	
	
		
		
		
		 
			
			reqCovType::Period == 0
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#56 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
			
			 X++: void deleteFirstRows() { this.deleteRange('A12:Z12'); /* this.deleteRange('A12'); this.deleteRange('B12'); this.deleteRange('C12'); this.deleteRange('D12'); this.deleteRange('E12'); this.deleteRange('F12'); this.deleteRange('G12'); this.deleteRange('H12'); this.deleteRange('I12'); this.deleteRange('J12'); this.deleteRange('K12'); this.deleteRange('L12'); this.deleteRange('M12'); this.deleteRange('N12'); this.deleteRange('O12'); this.deleteRange('P12'); this.deleteRange('Q12'); this.deleteRange('R12'); this.deleteRange('S12'); this.deleteRange('T12'); this.deleteRange('U12'); this.deleteRange('V12'); this.deleteRange('W12'); this.deleteRange('X12'); this.deleteRange('Y12'); this.deleteRange('Z12'); */ }  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: EVGL (1), Eldar9x (1). | |
| 
			
			 | 
		#57 | 
| 
			
			 Banned 
		
			
	 | 
	
	
	
		
		
			
			
			F*cking programming
			 
			
			http://codeulate.com/?p=7 
		
		
		
		
		
		
		
		
			Я тоже часто руководствуюсь такими соображениями: Цитата: 
	
		
			/* TODO: this is obviously not right … this whole fucking module 
* sucks anyway */ Последний раз редактировалось EVGL; 20.12.2007 в 16:49.  | 
| 
	
 | 
| 
			
			 | 
		#58 | 
| 
			
			 Microsoft Dynamics 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Да, и это заметно  
		
		
		
		
		
		
			  :Цитата: 
	
		
			// EVGL 
// For you to remember me class CustVendReversePostingLog_RU 
				__________________ 
		
		
		
		
	You should use Bing before asking dumb questions.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: EVGL (5). | |
| 
			
			 | 
		#59 | 
| 
			
			 Banned 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Да Вы не перешли на 4.0, батенька!  
		
		
		
		
		
		
		
	![]() Оттуда коллеги уже вытерли мой тонкий юмор.  | 
| 
	
 | 
| 
			
			 | 
		#60 | 
| 
			
			 Microsoft Dynamics 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Я-то перешел... А вот клиенты нашей компании - нет... И Вашим искрометным юмором приходится наслаждаться не в комментариях к коду, а в самом коде..  
		
		
		
		
		
		
			 
		
				__________________ 
		
		
		
		
		
			You should use Bing before asking dumb questions. Последний раз редактировалось Jabberwocky; 21.12.2007 в 00:00.  | 
| 
	
 |