21.12.2007, 17:29 | #61 |
Участник
|
Сегодня наткнулся:
X++: if (workBalances.CreditQty)
{
calcTransIst.DebitCode = COSDebitCodeId::Credit;
}
else
{
calcTransIst.DebitCode = COSDebitCodeId::Credit;
} |
|
21.12.2007, 17:32 | #62 |
Участник
|
ну, это, наверное, скорее описка, а не способ решение проблемы тупым образом.
|
|
21.12.2007, 17:44 | #63 |
Участник
|
|
|
21.12.2007, 18:26 | #64 |
Участник
|
X++: class ConfigHierarchyTree extends ConfigHierarchy { #resAppl int parents[]; boolean parentHasChildren[]; // Strange variablename yes ! |
|
21.12.2007, 18:26 | #65 |
Banned
|
Цитата:
Да. Но есть одно "но". В этом методе и без того 1246 строк .
|
|
11.01.2008, 18:45 | #66 |
Участник
|
При попытке удаления почтового ящика посредством CDOEXM
|
|
17.01.2008, 13:17 | #67 |
Banned
|
DEP vs. DAX!
|
|
17.01.2008, 14:14 | #68 |
Member
|
__________________
С уважением, glibs® |
|
17.01.2008, 15:33 | #69 |
Banned
|
Да-да. Только это была DAX 4.0, что нетрудно видеть по иконке. В общем, когда клиент в очередной раз "обвалился", Windows причислила Аксапту к полку вредоносных программ. А чем не "угроза"? Еще какая!
|
|
17.01.2008, 19:17 | #70 |
Banned
|
Тоже неплохо:
X++: public void insert() { this.calcCrediting(); ttsBegin; super(); if (this.furtherPostingType) { LedgerTransFurtherPosting::createFurtherPosting(this); } //CsGy 07.02.05. FLXMPFlexHungary if (isConfigurationkeyEnabled(configurationkeynum(FLXMPFlexHungary))) this.SFHAccountNumHU = LedgerTable::find(this.AccountNum).SFHAccountNumHU; ttsCommit; } |
|
17.01.2008, 20:29 | #71 |
Мрачный тип
|
Интересный такой венгерский LedgerTrans.insert() Абсолютно ненужное поле плюс нерабочий способ его простановки(отобразится при вставке, пропадет при перечитывании данных). Нормальна ! (DJ Maкс, "День радио")
__________________
Мы летаем, кружимся, нагоняем ужасы ... |
|
17.01.2008, 20:42 | #72 |
Member
|
Цитата:
Сообщение от EVGL
...
Только это была DAX 4.0 ...
__________________
С уважением, glibs® |
|
23.01.2008, 16:57 | #73 |
Участник
|
Решил поднять старые сообщения в этой ветке.
Цитата:
Цитата:
Сообщение от EVGL
Да, наверное. Но даже в этом случае хватило бы одного if(). Интересно, если Аксапта исполняет две строчки кода за, скажем, 2 микросекунды, то какова вероятность наступления полуночи за этот промежуток времени?
2 E(-6) / 3600 / 24 ~ 1,5 E(-10) Неплохо. Кроме того, выход из процедуры, скорее всего, занимает большее время, чем исполнение цикла. Осталось выяснить, для какой прикладной задачи потребовалась столь дьявольская точность. Кстати, большое спасибо, этому безызветному гуру. Если бы здесь не прочитал, сам бы до такого не додумался. Хотя попасть на эти грабли безумно сложно, уж лучше заранее обойти, чем пытать удачу. |
|
22.02.2008, 12:02 | #74 |
Участник
|
ProdRouteType.update (на слое sys)
X++: if (0) { if (prodRoute.BackorderStatus != prodRoute_Orig.BackorderStatus) { prodTable= prodRoute.prodTable(true); prodTable.status().setBackStatus(); prodTable.doUpdate(); } } |
|
|
За это сообщение автора поблагодарили: Gustav (2). |
22.02.2008, 12:25 | #75 |
Участник
|
Цитата:
Сообщение от petr
Цитата:
Сообщение от EVGL
Интересно, если Аксапта исполняет две строчки кода за, скажем, 2 микросекунды, то какова вероятность наступления полуночи за этот промежуток времени?
2 E(-6) / 3600 / 24 ~ 1,5 E(-10) Неплохо. Кроме того, выход из процедуры, скорее всего, занимает большее время, чем исполнение цикла. Осталось выяснить, для какой прикладной задачи потребовалась столь дьявольская точность. Цитата:
Режимы работы автофокуса
В современных фотокамерах применяются интеллектуальные алгоритмы работы систем автофокуса, в основном предназначенные для фотографирования движущихся объектов. Проблема съёмки таких объектов заключается в том, что с момента наведения на резкость, между нажатием на кнопку спуска и до момента съёмки кадра проходит некоторое время. За это время объект может уйти из плоскости наводки на резкость. Для решения этой проблемы для систем автофокуса придуманы следующие режимы:
Последний раз редактировалось gl00mie; 22.02.2008 в 14:43. Причина: очепятка |
|
14.03.2008, 14:54 | #76 |
Участник
|
еще вот озадачило:
X++: if ((((rowNumber - #maxRowsFirst) mod #maxRows) < #maxRows) && (pageNumber > 1)) { ... } |
|
18.03.2008, 13:36 | #77 |
Microsoft Dynamics
|
Недавно на форуме поднималась тема об особенностях "индусского" кода, смею заверить, иной "канадский" код ничем не лучше... Наткнулся на образчик творчества, на этот раз это release update script:
Код: update_recordset pdsRebateTable setting CustInvoiceTransRefRecId = pdsRebateTable.DEL_CustInvoiceTransRefRecId where pdsRebateTable.DEL_CustInvoiceTransRefRecId;
__________________
You should use Bing before asking dumb questions. |
|
18.03.2008, 14:59 | #78 |
Участник
|
Длина названия метода в АХ ограничена 40ка символами, длина поля тоже 40ка. Методом тыка определил, что компиль аксапты очень просто определяет, есть ли парм-метод на AxBc классе - просто проверяет, есть ли в классе метод с названием: "parm"+имя поля. Вот и всё!!! И даже если тело метода поля не касается, компилю по барабану и наоборот, если даже метод правильный: возвращает и устанавливает значение нужного поля, но название у него не вышеупомянутое "parm"+имя поля - выдает BP. И вот тут же появилась мысль, а что будет, если имя поля будет больше 36ти символов? То есть метод с названием "parm"+название поле создать нельзя будет. И тут собсна и зарыто пасхальное яйцо. В таблице SalesTable есть стандартное поле InterCompanyAllowIndirectCreationOrig, метод в AxSalesTable как и предпологалось называется parmInterCompanyAllowIndirectCreationOri то есть без последней буквы в названии поля. А Аксапта хавает его!!! При этом если я создаю на своём классе подобный метод(без последней буквы в названии поля) - девиейшн конечно же присутствует. Вот такая маца, строки //BP deviation documented нигде не увидел, да и где она там может быть воткнута с другой стороны, так что каким образом сделано это исключение в одном экземпляре(хотя кто его знает, мож ещё такие поля есть ) - ХЗ. З.Ы В завершение вопрос: что мешало разработчикам Аксапты, ежели они поленились и не написали нормальный алгоритм распознавания парма и решили использовать фиксированый: "parm"+fieldname, сделать максимальную длину для названия метода на 4 символа больше, чем поля?
__________________
Axapta has seduced me deadly! Последний раз редактировалось HorrR; 18.03.2008 в 15:03. |
|
|
За это сообщение автора поблагодарили: EVGL (-1). |
18.03.2008, 15:17 | #79 |
Участник
|
И ещё один бок. Пощу отдельным сообщением, так как совершенно несвязаные вещи. Не знаю, может быть это многократно уже обсасывалось, но мне, как начинающем сразу попался в глаза тот факт, что в типизированную группу в проекте, куда нельзя поместить ни один обьект другого типа, запросто можно поместить вложенную групу с типом: олл и кидать в неё, что угодно. По-моему, это невероятно калично, до неприличия.
__________________
Axapta has seduced me deadly! |
|
|
За это сообщение автора поблагодарили: EVGL (1). |
14.10.2008, 00:56 | #80 |
Banned
|
Таблица умножения
Шокированный коллега прислал сегодня сей изысканный образец творчества местного программиста:
X++: actorForSpoiling = prodTableRun.QtySched / InventTableRun.qtyPerLayer / prodTableRun.MEM_NumOfLanes; numofpage = 1; if (factorForSpoiling > 198) numofpage = 12; else if (factorForSpoiling > 180) numofpage = 11; else if (factorForSpoiling > 162) numofpage = 10; else if (factorForSpoiling > 144) numofpage = 9; else if (factorForSpoiling > 126) numofpage = 8; else if (factorForSpoiling > 108) numofpage = 7; else if (factorForSpoiling > 90) numofpage = 6; else if (factorForSpoiling > 72) numofpage = 5; else if (factorForSpoiling > 54) numofpage = 4; else if (factorForSpoiling > 36) numofpage = 3; else if (factorForSpoiling > 18) numofpage = 2; |
|
|
За это сообщение автора поблагодарили: oip (1). |