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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.05.2013, 07:31   #1  
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   #2  
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   #3  
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   #4  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от kashperuk Посмотреть сообщение
А вот и неправильно
Ну, формально я своих двух вариантов пока не озвучивал Как, неужели в САМОМ Фарго ?
P.S. Вообще, как знать - если посмотреть по перекрестным ссылкам на метке @SYS67430 - виден взвешенный, системный подход (уходит, сокрушенно качая головой)
__________________
-ТСЯ или -ТЬСЯ ?
Старый 09.08.2013, 02:28   #5  
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, 13:54   #6  
twilight is offline
twilight
MCTS
MCBMSS
 
871 / 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   #7  
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   #8  
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   #9  
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   #10  
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   #11  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Цитата:
Сообщение от user_ax Посмотреть сообщение
А не легче написать

//TODO

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

//TODO

и не забудешь точно
вот throw error() или debug::assert() дают некую надежду что тебе рано или поздно напомнят в принудительном порядке, а TODO, увы, может жить вечно Если кусок действительно не важен для правильного исполнения, то можно и TODO с нормальным комментарием. Если понимаешь что работать без этого куска нормально не будет, но по каким либо причинам надо привести в компилируемый вид (в жизни всякое бывает, иногда реально надо), то надо прервать исполнение если дойдет до недоделанного места.
Старый 04.12.2013, 13:44   #13  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,202 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Цитата:
Сообщение от db Посмотреть сообщение
2. Автор просто сделал код компилируемым в надежде дописать условие чуть позже и забыл
Некомпилирующийся код не станет компилироваться от того, что его поставят под условие "if (0)". Вероятно, Вы имели в виду не "компилируемым", а "выполняющим правильные действия".
Старый 04.12.2013, 14:57   #14  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,430 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Zabr Посмотреть сообщение
Некомпилирующийся код не станет компилироваться от того, что его поставят под условие "if (0)".
Именно так. Но теоретически можно представить представить себе ситуацию когда не содержащий ошибок компиляции код таким образом скрывается от выполнения, но не скрывается от компиляции. Например, для того что бы работали перекрестные ссылки, или просто чтобы бы при очередной компиляции проверять не появились ли ошибки в этом коде, связанные с изменениями в других объектах.
За это сообщение автора поблагодарили: mazzy (2).
Старый 29.01.2014, 19:08   #15  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
396 / 478 (16) +++++++
Регистрация: 27.02.2006
Адрес: Дания
Коллега нашел: 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  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
Цитата:
Сообщение от Stitch_MS Посмотреть сообщение
Коллега нашел: AX 2012 CU5, \Classes\RunBaseBatch\canGoBatch
Спасибо, кэп
Старый 01.02.2014, 13:25   #17  
lvan is offline
lvan
Участник
Аватар для lvan
Лучший по профессии 2014
 
856 / 82 (4) ++++
Регистрация: 15.04.2011
Записей в блоге: 1
небось индусам отдавали на аутсорс комменты писать
Старый 19.02.2014, 03:42   #18  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
В последнее время много приходится работать с шаблонами Sure Step. Русская версия с руководством для руководителя проекта вызывает восторг, просто по полу катался:
Цитата:
Работа, связанная с любым изменением, начинается только после согласования расчетной стоимости и воздействия изменения на график посредством подписания рукописной формы запроса на изменение назначенными менеджерами проекта обеих сторон.
... подписание желательно кровью.
Старый 19.02.2014, 06:09   #19  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
А мне стиль напомнил http://m.youtube.com/watch?v=e-qDHM0...%3De-qDHM0slB0
Старый 20.02.2014, 20:06   #20  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
X++:
 .....
        catch (Exception::DuplicateKeyException)
        {
            // Prevent an endless loop
            if (tryCount < 5)
            {
                retry;
            }
            else
            {
                throw Exception::DuplicateKeyExceptionNotRecovered;
            }
        }
Интересно, на что они надеются, вызывая здесь Retry?
Теги
axapta, cil, d365fo, guid, rasset, uuid, uuidv7, баг

 


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

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

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