|
30.05.2013, 07:31 | #1 |
NavAx
|
\Data Dictionary\Tables\DimensionAttribute\Methods\getMainAccountDimensionAttribute
X++: dimAttribute.Name = "@SYS343426"; // DO NOT LOCALIZE! - This is the signular label applied to the view ... dimAttribute.HashKey = str2Guid('{AA1602A7-1B0E-4A14-864C-B5E30E61FC9A}'); // Use well-known guid
__________________
Isn't it nice when things just work? |
|
08.08.2013, 15:34 | #2 |
Модератор
|
Вот какая прелесть с AX 2012 CU6 приплыла. Давайте-ка я с двух попыток угадаю в какую страну какому партнеру моя любимая sustained engineering team это зааутсорсила ?
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: mazzy (5). |
08.08.2013, 17:15 | #3 |
Участник
|
Цитата:
Делали это, похоже, в Фарго Судя по соответствующему багу - для Сингапура |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
08.08.2013, 17:24 | #4 |
Модератор
|
Ну, формально я своих двух вариантов пока не озвучивал Как, неужели в САМОМ Фарго ?
P.S. Вообще, как знать - если посмотреть по перекрестным ссылкам на метке @SYS67430 - виден взвешенный, системный подход (уходит, сокрушенно качая головой)
__________________
-ТСЯ или -ТЬСЯ ? |
|
09.08.2013, 02:28 | #5 |
Участник
|
|
|
09.08.2013, 13:54 | #6 |
MCTS
|
Если создать query, а потом view с таким же именем, а потом случайно перетащить query в узел датасорсов view (вместо узла Metadata) и попробовать выбрать там какое либо поле, то получится view, которыей ссылается сам на себя. AOS падает и не позволяет потом открывать view и таблицы. Лечиться только восстановлением приложения из бэкапа или ручным редактированием model store.
Аналогичная ошибка была и в 2009 версии...
__________________
I could tell you, but then I would have to bill you. |
|
|
За это сообщение автора поблагодарили: S.Kuskov (1). |
06.09.2013, 14:01 | #7 |
Мрачный тип
|
2009, 5.0.1500.6491
Любимая всеми функция удаления строк журналов, класс LedgerJournalDeleteTransaction, девственный слой sys. кусок main() X++: ledgerJournalDeleteTransaction.getLast(); ledgerJournalDeleteTransaction.updateQueryBuild(args.record()); X++: void updateQueryBuild(LedgerJournalTrans ledgerJournalTrans) { ; queryRun.query().dataSourceTable(tablenum(LedgerJournalTrans)).findRange(fieldnum(LedgerJournalTrans,JournalNum)).value(strfmt('%1',ledgerJournalTrans.JournalNum)); queryRun.query().dataSourceTable(tablenum(LedgerJournalTrans)).addRange(fieldnum(LedgerJournalTrans,PaymentStatus)).value(SysQuery::range(CustVendPaymStatus::Rejected, CustVendPaymStatus::Deleted) + ',' + queryValue(CustVendPaymStatus::None)); }
__________________
Мы летаем, кружимся, нагоняем ужасы ... |
|
03.12.2013, 10:44 | #8 |
Участник
|
Перенесено из темы Классные программисты MS Бразилии создали сей шедевр
Нашёл интересный пример кода. DAX 2009 (в AX 3.0 то же самое) Класс ProdRouteType, метод update. Привожу код метода: X++: void update() { ProdTable prodTable; ProdRoute prodRoute_Orig= prodRoute.orig(); ; ttsbegin; this.setBackStatus(); if (prodRoute.OprPriority) prodRoute.LinkType = SchedJobLinkType::None; prodRoute.doUpdate(); // Shop Floor Control begin if (Global::isConfigurationkeyEnabled(configurationkeynum(Jmgjob))) { JmgJobTable::synchronizeProdRoute(prodRoute); } // Shop Floor Control end if (0) { if (prodRoute.BackorderStatus != prodRoute_Orig.BackorderStatus) { prodTable= prodRoute.prodTable(true); prodTable.status().setBackStatus(); prodTable.doUpdate(); } } ttscommit; } X++: if (0) Что вы думаете на этот счёт? Зачем так могли сделать? Последний раз редактировалось Cardagant; 03.12.2013 в 10:50. |
|
03.12.2013, 11:02 | #9 |
Роман Долгополов (RDOL)
|
Цитата:
Сообщение от Cardagant
Перенесено из темы Классные программисты MS Бразилии создали сей шедевр
По сути оно подразумевает, что код не будет выполняться. Что вы думаете на этот счёт? Зачем так могли сделать? 2. Автор просто сделал код компилируемым в надежде дописать условие чуть позже и забыл Последний раз редактировалось db; 03.12.2013 в 11:06. |
|
|
За это сообщение автора поблагодарили: Cardagant (1). |
03.12.2013, 11:05 | #10 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: Cardagant (1). |
03.12.2013, 11:08 | #11 |
Участник
|
|
|
03.12.2013, 12:19 | #12 |
Роман Долгополов (RDOL)
|
вот throw error() или debug::assert() дают некую надежду что тебе рано или поздно напомнят в принудительном порядке, а TODO, увы, может жить вечно Если кусок действительно не важен для правильного исполнения, то можно и TODO с нормальным комментарием. Если понимаешь что работать без этого куска нормально не будет, но по каким либо причинам надо привести в компилируемый вид (в жизни всякое бывает, иногда реально надо), то надо прервать исполнение если дойдет до недоделанного места.
|
|
04.12.2013, 13:44 | #13 |
Участник
|
|
|
04.12.2013, 14:57 | #14 |
Участник
|
Именно так. Но теоретически можно представить представить себе ситуацию когда не содержащий ошибок компиляции код таким образом скрывается от выполнения, но не скрывается от компиляции. Например, для того что бы работали перекрестные ссылки, или просто чтобы бы при очередной компиляции проверять не появились ли ошибки в этом коде, связанные с изменениями в других объектах.
|
|
|
За это сообщение автора поблагодарили: mazzy (2). |
29.01.2014, 19:08 | #15 |
Участник
|
Коллега нашел: AX 2012 CU5, \Classes\RunBaseBatch\canGoBatch
X++: /// <summary> /// Returns false /// </summary> /// <returns> /// false /// </returns> /// <remarks> /// This method must be in this class because it is called from the dialogRunbase class. /// </remarks> /*MAN The method must return false when the class is not batchable. */ public boolean canGoBatch() { return true; } |
|
31.01.2014, 10:47 | #16 |
Участник
|
|
|
01.02.2014, 13:25 | #17 |
Участник
|
небось индусам отдавали на аутсорс комменты писать
|
|
19.02.2014, 03:42 | #18 |
Banned
|
В последнее время много приходится работать с шаблонами Sure Step. Русская версия с руководством для руководителя проекта вызывает восторг, просто по полу катался:
Цитата:
Работа, связанная с любым изменением, начинается только после согласования расчетной стоимости и воздействия изменения на график посредством подписания рукописной формы запроса на изменение назначенными менеджерами проекта обеих сторон.
|
|
19.02.2014, 06:09 | #19 |
Участник
|
А мне стиль напомнил http://m.youtube.com/watch?v=e-qDHM0...%3De-qDHM0slB0
|
|
20.02.2014, 20:06 | #20 |
Участник
|
X++: ..... catch (Exception::DuplicateKeyException) { // Prevent an endless loop if (tryCount < 5) { retry; } else { throw Exception::DuplicateKeyExceptionNotRecovered; } } |
|