AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.09.2012, 18:07   #121  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Strange Days
Модуль управления цехом в русском исполнении изобилует изумительными перлами:
Название: StrangeDays.png
Просмотров: 2445

Размер: 5.0 Кб

N00b registration

Последний раз редактировалось EVGL; 24.09.2012 в 18:13.
За это сообщение автора поблагодарили: SRF (1).
Старый 25.09.2012, 10:04   #122  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,427 / 1771 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Это наверное больше для вот этой темы подходит Метка @xxx##### переведена на русский некорректно...
Старый 18.10.2012, 14:16   #123  
Evgeniy2020 is offline
Evgeniy2020
Участник
 
309 / 68 (3) ++++
Регистрация: 10.04.2007
Адрес: Москва, САО, СЗАО
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  
DTD is offline
DTD
Участник
 
183 / 18 (1) ++
Регистрация: 09.08.2005
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  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,129 / 916 (35) +++++++
Регистрация: 03.04.2002
\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
IMHO прекрасно.
__________________
Isn't it nice when things just work?
Старый 08.08.2013, 15:34   #126  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Вот какая прелесть с AX 2012 CU6 приплыла. Давайте-ка я с двух попыток угадаю в какую страну какому партнеру моя любимая sustained engineering team это зааутсорсила ?
Миниатюры
Нажмите на изображение для увеличения
Название: AssetPost.png
Просмотров: 626
Размер:	41.4 Кб
ID:	8358   Нажмите на изображение для увеличения
Название: ConnectionHelper.png
Просмотров: 586
Размер:	42.2 Кб
ID:	8359  

__________________
-ТСЯ или -ТЬСЯ ?
За это сообщение автора поблагодарили: mazzy (5).
Старый 08.08.2013, 17:15   #127  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от Vadik Посмотреть сообщение
Вот какая прелесть с AX 2012 CU6 приплыла. Давайте-ка я с двух попыток угадаю в какую страну какому партнеру моя любимая sustained engineering team это зааутсорсила ?
А вот и неправильно
Делали это, похоже, в Фарго

Судя по соответствующему багу - для Сингапура
За это сообщение автора поблагодарили: mazzy (2).
Старый 08.08.2013, 17:24   #128  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от kashperuk Посмотреть сообщение
А вот и неправильно
Ну, формально я своих двух вариантов пока не озвучивал Как, неужели в САМОМ Фарго ?
P.S. Вообще, как знать - если посмотреть по перекрестным ссылкам на метке @SYS67430 - виден взвешенный, системный подход (уходит, сокрушенно качая головой)
__________________
-ТСЯ или -ТЬСЯ ?
Старый 09.08.2013, 02:28   #129  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Vadik Посмотреть сообщение
если посмотреть по перекрестным ссылкам на метке @SYS67430 - виден взвешенный, системный подход
в чем противоречие? метки кто угодно может использовать, даже адекватные разработчики
Старый 09.08.2013, 02:55   #130  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от gl00mie Посмотреть сообщение
в чем противоречие?
В том-то и прелесть, что нет противоречий - пишем в паре мест в в текст проводки или название журнал метку при расщеплении, на ту же метку проверяем в паре других - не расщепление ли. Это я и называю "системный, взвешенный подход". Варианты, когда примечания в журнал могут еще и руками вводиться или пишется одним пользователем, а читается другим с другим языком интерфейса и цепочка ломается, рассматривать смысла нет - вероятность-то ничтожная
__________________
-ТСЯ или -ТЬСЯ ?
За это сообщение автора поблагодарили: gl00mie (2), mnt_dx (1).
Старый 09.08.2013, 13:54   #131  
twilight is offline
twilight
MCTS
MCBMSS
 
867 / 237 (9) ++++++
Регистрация: 17.10.2004
Адрес: Королёв
Если создать 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  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
885 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
2009, 5.0.1500.6491
Любимая всеми функция удаления строк журналов, класс LedgerJournalDeleteTransaction, девственный слой sys.
кусок main()
X++:
ledgerJournalDeleteTransaction.getLast();
ledgerJournalDeleteTransaction.updateQueryBuild(args.record());
сам updateQueryBuild()
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));
}
Range по PaymentStatus занимается тупым размножением самого себя при каждом вызове и в один прекрасный момент функция тупо перестает работать ...
__________________
Мы летаем, кружимся, нагоняем ужасы ...
Старый 03.12.2013, 10:44   #133  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Перенесено из темы Классные программисты 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  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
Цитата:
Сообщение от Cardagant Посмотреть сообщение
Перенесено из темы Классные программисты MS Бразилии создали сей шедевр


По сути оно подразумевает, что код не будет выполняться.
Что вы думаете на этот счёт? Зачем так могли сделать?
1. Существует такой "стиль" выключения блоков кода. Ну типа закомментировать. Про уместность лучше промолчать, но возможно в предыдущей жизни автор его где то использовал
2. Автор просто сделал код компилируемым в надежде дописать условие чуть позже и забыл

Последний раз редактировалось db; 03.12.2013 в 11:06.
За это сообщение автора поблагодарили: Cardagant (1).
Старый 03.12.2013, 11:05   #135  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
Цитата:
Сообщение от db Посмотреть сообщение
2. Автор просто сделал код компилируемым в надежде дописать условие чуть позже и забыл
А не легче написать

//TODO

и не забудешь точно
За это сообщение автора поблагодарили: Cardagant (1).
Старый 03.12.2013, 11:08   #136  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Цитата:
Сообщение от user_ax Посмотреть сообщение
А не легче написать

//TODO

и не забудешь точно
Скорее всего история данного примера начинается из очень ранних версий, где задач, возможно, ещё не было.
Старый 03.12.2013, 12:19   #137  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
Цитата:
Сообщение от user_ax Посмотреть сообщение
А не легче написать

//TODO

и не забудешь точно
вот throw error() или debug::assert() дают некую надежду что тебе рано или поздно напомнят в принудительном порядке, а TODO, увы, может жить вечно Если кусок действительно не важен для правильного исполнения, то можно и TODO с нормальным комментарием. Если понимаешь что работать без этого куска нормально не будет, но по каким либо причинам надо привести в компилируемый вид (в жизни всякое бывает, иногда реально надо), то надо прервать исполнение если дойдет до недоделанного места.
Старый 03.12.2013, 12:26   #138  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,689 / 405 (17) +++++++
Регистрация: 23.03.2006
Цитата:
Сообщение от db Посмотреть сообщение
вот throw error() или debug::assert() дают некую надежду что тебе рано или поздно напомнят в принудительном порядке, а TODO, увы, может жить вечно Если кусок действительно не важен для правильного исполнения, то можно и TODO с нормальным комментарием. Если понимаешь что работать без этого куска нормально не будет, но по каким либо причинам надо привести в компилируемый вид (в жизни всякое бывает, иногда реально надо), то надо прервать исполнение если дойдет до недоделанного места.
ага, и теперь аксапта просто наводнена этими debug::assert(). надеемся что дойдут руки и доделают
Старый 04.12.2013, 09:53   #139  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от ice Посмотреть сообщение
ага, и теперь аксапта просто наводнена этими debug::assert(). надеемся что дойдут руки и доделают
Если, вдруг, кто-нибудь на самом деле думает что debug::assert признак чего-то недоделанного, прочитайте, пожалуйста этот пост
За это сообщение автора поблагодарили: mazzy (2), twilight (1), Ivanhoe (3), S.Kuskov (1).
Старый 04.12.2013, 13:44   #140  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,200 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Цитата:
Сообщение от db Посмотреть сообщение
2. Автор просто сделал код компилируемым в надежде дописать условие чуть позже и забыл
Некомпилирующийся код не станет компилироваться от того, что его поставят под условие "if (0)". Вероятно, Вы имели в виду не "компилируемым", а "выполняющим правильные действия".
Теги
axapta, cil, d365fo, guid, rasset, uuid, uuidv7, баг

 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:25.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.