24.09.2012, 18:07 | #121 |
Banned
|
Strange Days
Модуль управления цехом в русском исполнении изобилует изумительными перлами:
N00b registration Последний раз редактировалось EVGL; 24.09.2012 в 18:13. |
|
|
За это сообщение автора поблагодарили: SRF (1). |
25.09.2012, 10:04 | #122 |
Участник
|
Это наверное больше для вот этой темы подходит Метка @xxx##### переведена на русский некорректно...
|
|
18.10.2012, 14:16 | #123 |
Участник
|
AccessRightsLists
Курьез.
Есть Axapta 3. Есть системная таблица AccessRightsLists. До этого кто то добавил несколько (10-12) запретов (NoAccess) для группы прав 'Admin' на несколько SecurityKey с id = 1, 23, и т.д. После этого обнаружилось что не хватало прав для запуска расчетов нескольких алгоритмов. После чего решено было удалить эти несколько 10-12 записей для группы прав Admin из этой таблицы. Выделив эти записи в Обозревателе таблицы AccessRightsList и нажав Alt+F9, записи благополучно удалились. при этом слетели все права для группы прав Admin. При попытке зайти пользователем с правами 'Admin' на экране не отображалось главное меню и доступ ко всему был закрыт, включая АОТ. Вот такая оказалась опасная операция удаления записей из этой таблицы для группы прав. Благодаря наличичую второй группы прав эквивалентных админским удалось восстановить полный доступ для группы Admin. |
|
08.02.2013, 02:23 | #124 |
Участник
|
AX2012
\Classes\CustAutoCreate\setCustTable
X++: protected void setCustTable() { NumberSeq num; ; custTable.clear(); custTable.initValue(); custTable.data(CustTable::find(templateCustAccount)); if (custAccount) { custTable.AccountNum = custAccount; } else { custTable.AccountNum = NumberSeq::newGetNum(CustParameters::numRefCustAccount()).num(); } if (CustTable::exist(custTable.AccountNum)) { if (num) { num.abort(); checkFailed("@SYS59641"); } checkFailed("@SYS59639", custTable.AccountNum); throw error("@SYS23020"); } if (num) { num.used(); } }
__________________
_databaseTransDelete ... bl@$ ! |
|
|
За это сообщение автора поблагодарили: macklakov (1). |
30.05.2013, 07:31 | #125 |
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 | #126 |
Модератор
|
Вот какая прелесть с AX 2012 CU6 приплыла. Давайте-ка я с двух попыток угадаю в какую страну какому партнеру моя любимая sustained engineering team это зааутсорсила ?
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: mazzy (5). |
08.08.2013, 17:15 | #127 |
Участник
|
Цитата:
Делали это, похоже, в Фарго Судя по соответствующему багу - для Сингапура |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
08.08.2013, 17:24 | #128 |
Модератор
|
Ну, формально я своих двух вариантов пока не озвучивал Как, неужели в САМОМ Фарго ?
P.S. Вообще, как знать - если посмотреть по перекрестным ссылкам на метке @SYS67430 - виден взвешенный, системный подход (уходит, сокрушенно качая головой)
__________________
-ТСЯ или -ТЬСЯ ? |
|
09.08.2013, 02:28 | #129 |
Участник
|
|
|
09.08.2013, 02:55 | #130 |
Модератор
|
В том-то и прелесть, что нет противоречий - пишем в паре мест в в текст проводки или название журнал метку при расщеплении, на ту же метку проверяем в паре других - не расщепление ли. Это я и называю "системный, взвешенный подход". Варианты, когда примечания в журнал могут еще и руками вводиться или пишется одним пользователем, а читается другим с другим языком интерфейса и цепочка ломается, рассматривать смысла нет - вероятность-то ничтожная
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: gl00mie (2), mnt_dx (1). |
09.08.2013, 13:54 | #131 |
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 | #132 |
Мрачный тип
|
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 | #133 |
Участник
|
Перенесено из темы Классные программисты 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 | #134 |
Роман Долгополов (RDOL)
|
Цитата:
Сообщение от Cardagant
Перенесено из темы Классные программисты MS Бразилии создали сей шедевр
По сути оно подразумевает, что код не будет выполняться. Что вы думаете на этот счёт? Зачем так могли сделать? 2. Автор просто сделал код компилируемым в надежде дописать условие чуть позже и забыл Последний раз редактировалось db; 03.12.2013 в 11:06. |
|
|
За это сообщение автора поблагодарили: Cardagant (1). |
03.12.2013, 11:05 | #135 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: Cardagant (1). |
03.12.2013, 11:08 | #136 |
Участник
|
|
|
03.12.2013, 12:19 | #137 |
Роман Долгополов (RDOL)
|
вот throw error() или debug::assert() дают некую надежду что тебе рано или поздно напомнят в принудительном порядке, а TODO, увы, может жить вечно Если кусок действительно не важен для правильного исполнения, то можно и TODO с нормальным комментарием. Если понимаешь что работать без этого куска нормально не будет, но по каким либо причинам надо привести в компилируемый вид (в жизни всякое бывает, иногда реально надо), то надо прервать исполнение если дойдет до недоделанного места.
|
|
03.12.2013, 12:26 | #138 |
Участник
|
Цитата:
Сообщение от db
вот throw error() или debug::assert() дают некую надежду что тебе рано или поздно напомнят в принудительном порядке, а TODO, увы, может жить вечно Если кусок действительно не важен для правильного исполнения, то можно и TODO с нормальным комментарием. Если понимаешь что работать без этого куска нормально не будет, но по каким либо причинам надо привести в компилируемый вид (в жизни всякое бывает, иногда реально надо), то надо прервать исполнение если дойдет до недоделанного места.
|
|
04.12.2013, 13:44 | #140 |
Участник
|
|
|