29.04.2007, 18:50 | #41 |
Banned
|
JobId генерируется в трех местах: в производстве, проектах или в самом управлении цехом. Если JobId пришел из производства, то там стоит своя номерная серия.
|
|
17.05.2007, 17:05 | #42 |
Banned
|
Comment On Classics Week: Chocolate Covered SQL
Много занимаясь решениями для упаковочной отрасли, не мог пройти мимо этого:
Прочитайте внимательно состав продукта. (c) http://worsethanfailure.com/Articles...ered-SQL-.aspx |
|
|
За это сообщение автора поблагодарили: e@gle (1), a33ik (1). |
05.06.2007, 10:22 | #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(); } Это вообще нормально?? |
|
06.06.2007, 10:13 | #44 |
Участник
|
В продолжнение темы, приведу вырезку из DevGuide.
Оказывается, это задокументированная фича, и помимо group работает и для order Цитата:
ORDER_GROUP ::= order OPT_BY
ORDER_GROUP ::= group OPT_BY OPT_BY ::= by OPT_BY ::= |
|
|
За это сообщение автора поблагодарили: mazzy (5), belugin (3). |
13.07.2007, 11:26 | #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
])); |
|
13.07.2007, 11:47 | #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. |
|
18.07.2007, 12:30 | #48 |
Microsoft Dynamics
|
Что бы это значило?
Никто раньше не натыкался?
\Classes\InventAdjustPost\updateTrans X++: if (1)
_inventSettlement.Dimension = Dimensions::findDimension(_inventSettlement,InventTable::find(_inventSettlement.ItemId),_inventSettlement.Dimension); |
|
18.07.2007, 12:32 | #49 |
Участник
|
если про if(1) это скорее оставленный скальпель, чем wtf
|
|
18.07.2007, 12:38 | #50 |
Banned
|
|
|
18.07.2007, 14:47 | #51 |
Microsoft Dynamics
|
|
|
18.07.2007, 15:20 | #52 |
Участник
|
Это когда хирург разрезает тело больного, делает операцию, зашивает, а скальпель забывает внутри.
В данном случае if(1), наверное, вставлялось для отладки, а убрать забыли (было. например, if (0) или if (curUserID()=='петрович') ) |
|
|
За это сообщение автора поблагодарили: Мариночка (2). |
21.08.2007, 17:30 | #53 |
Axapta
|
\Classes\ReqSetupDim\covRule
X++: return reqGroup.covRule ? reqGroup.CovRule : reqCovType::Period; |
|
|
За это сообщение автора поблагодарили: belugin (1). |
21.08.2007, 17:39 | #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 |
|
21.08.2007, 17:43 | #55 |
Axapta
|
reqCovType::Period == 0
|
|
20.12.2007, 16:27 | #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). |
20.12.2007, 16:45 | #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. |
|
20.12.2007, 23:17 | #58 |
Microsoft Dynamics
|
Да, и это заметно :
Цитата:
// EVGL
// For you to remember me class CustVendReversePostingLog_RU
__________________
You should use Bing before asking dumb questions. |
|
|
За это сообщение автора поблагодарили: EVGL (5). |
20.12.2007, 23:50 | #59 |
Banned
|
Да Вы не перешли на 4.0, батенька!
Оттуда коллеги уже вытерли мой тонкий юмор. |
|
20.12.2007, 23:58 | #60 |
Microsoft Dynamics
|
Я-то перешел... А вот клиенты нашей компании - нет... И Вашим искрометным юмором приходится наслаждаться не в комментариях к коду, а в самом коде..
__________________
You should use Bing before asking dumb questions. Последний раз редактировалось Jabberwocky; 21.12.2007 в 00:00. |
|