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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.04.2007, 18:50   #41  
EVGL is offline
EVGL
Moderator
Лучший по профессии 2014
Соотечественники
 
3,466 / 1896 (70) ++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
JobId генерируется в трех местах: в производстве, проектах или в самом управлении цехом. Если JobId пришел из производства, то там стоит своя номерная серия.
Старый 17.05.2007, 17:05   #42  
EVGL is offline
EVGL
Moderator
Лучший по профессии 2014
Соотечественники
 
3,466 / 1896 (70) ++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Comment On Classics Week: Chocolate Covered SQL
Много занимаясь решениями для упаковочной отрасли, не мог пройти мимо этого:



Прочитайте внимательно состав продукта.

(c) http://worsethanfailure.com/Articles...ered-SQL-.aspx
За это сообщение автора поблагодарили: e@gle (1), a33ik (1).
Старый 05.06.2007, 10:22   #43  
kashperuk is offline
kashperuk
Senior SDE, Dynamics AX
Аватар для kashperuk
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
 
4,286 / 1948 (73) ++++++++
Регистрация: 30.05.2004
Адрес: Копенгаген, Дания
Вчера наткнулся в методе Classes\InventAdjustPost\updateTotal на очень удививший меня код.

X++:
protected  void updateTotal()
{
    InventSettlement        inventSettlement;
    InventTrans             inventTrans;
    ProjLedger              projLedger;

    while select forcePlaceHolders forceSelectOrder sum(costAmountadjustment) from inventSettlement
        index hint DateVoucherIdx
        group by itemId,balanceSheetPosting,balanceSheetAccount,operationsPosting,operationsAccount,dimension
        where inventSettlement.transDate              == transDate    &&
              inventSettlement.voucher                == voucher      &&
              inventSettlement.costAmountAdjustment   != 0            &&
              inventSettlement.InventTransCurrency_RU == inventTransCurrency &&
              inventSettlement.posted                 == NoYes::No
    join inventTrans
        index hint recId
        group projId,projAdjustRefId,inventTransId
        where inventTrans.RecId == inventSettlement.TransRecId
    {
        if (correspondenceEnable)
        {
            this.updateMap_RU(inventSettlement,inventTrans);
        }
        else
        {
            projLedger = this.newProjLedger_RU(inventTrans.ProjId,
                                               inventTrans.InventTransId,
                                               inventTrans.ProjAdjustRefId);
            this.updateTrans(inventSettlement, ledgerVoucher,projLedger);
        }
    }
    this.updateTrans_RU();
}
Обратите внимание на группировку в join запросе по inventTrans - там используется group, но нету by

Это вообще нормально??
Старый 06.06.2007, 10:13   #44  
kashperuk is offline
kashperuk
Senior SDE, Dynamics AX
Аватар для kashperuk
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
 
4,286 / 1948 (73) ++++++++
Регистрация: 30.05.2004
Адрес: Копенгаген, Дания
В продолжнение темы, приведу вырезку из DevGuide.
Оказывается, это задокументированная фича, и помимо group работает и для order

Цитата:
ORDER_GROUP ::= order OPT_BY
ORDER_GROUP ::= group OPT_BY

OPT_BY ::= by
OPT_BY ::=
Для меня, во всяком случае, это было что-то новое.
За это сообщение автора поблагодарили: mazzy (5), belugin (3).
Старый 21.06.2007, 17:37   #45  
EVGL is offline
EVGL
Moderator
Лучший по профессии 2014
Соотечественники
 
3,466 / 1896 (70) ++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
:) Этапы пути активов в России
Название: RAssetBelonged.GIF
Просмотров: 1090

Размер: 2.6 Кб

Жизненный цикл основного средства в России:
  • позаимствовал
  • получил контроль
  • приватизировал
  • вывез из России
За это сообщение автора поблагодарили: AlGol (1), fed (3), Maksim (1), Lemming (2), Kabardian (3).
Старый 13.07.2007, 11:26   #46  
belugin is offline
belugin
Участник
Аватар для belugin
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
Сотрудники Microsoft Dynamics
 
3,901 / 2027 (75) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
autowtf
надо было сделать setPrefix для функции с 12 аргументами:

скопировал в ФАР заголовок, вырезал регулярными выражениеями обзявления типов и пишу:
X++:
setPrefix(strFmt("Открытие документа: %1, %2")
и тут понимаю что мне влом 12 раз повторять %xxx.

я это сделал так (на питоне):
Код:
ipy:?', '.join(['%'+str(i) for i in range (1, 13)])
когда вывел, оказалось, что результат короче чем программа, которая его делает

Код:
'%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12'
В конце концов код теперь выглядит так:

X++:
    setPrefix("Открытие документа" + con2str([
            _H_DM_Link,
            _ProjectID,
            _BaseBuildId,
            _HMG_SUPERTYPE,
            _HMG_TYPE,
            _HMG_DOC_NAME,
            _HMG_DOC_STATE,
            _HMG_DOC_STORAGE,
            _HMG_DOC_IN_STATE,
            _HMG_DOC_APP_ID,
            _HMG_DOC_OBJTYPE1,
            _HMG_DOC_OBJTYPE2
    ]));
Старый 13.07.2007, 11:47   #47  
EVGL is offline
EVGL
Moderator
Лучший по профессии 2014
Соотечественники
 
3,466 / 1896 (70) ++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Похвально. У меня тоже вчера было какое-то особое настроение, так что для того вертикального решения, над которым я работаю в настоящий момент, я написал след. код:
X++:
// to cope with the apples and bananas problem
UnitQty addUnitQtyError(SPPProdUnitQtyMap _that)
{
    UnitQty qty;

    if (! _that.UnitQtyError)
        return 0;

    if (! this.UnitIdError)
        this.UnitIdError = _that.UnitIdError;
    if (! this.LanesNo)
       this.LanesNo      = _that.LanesNo;

    if (this.UnitIdError == _that.UnitIdError && this.LanesNo == _that.LanesNo) // ;-)
    {
        qty = _that.UnitQtyError;
    }
    else
    {
        qty = _that.UnitQtyError;

        if (_that.LanesNo && Unit::SPPisLengthUnit(_that.UnitIdError))
            qty = qty * _that.LanesNo; // ~ kg, m2, pcs

        if (this.LanesNo && Unit::SPPisLengthUnit(this.UnitIdError))
            qty = qty / this.LanesNo;  // ~ m

        // no conv. factor => throw error
        qty = UnitConvert::qty(qty, _that.UnitIdError, this.UnitIdError, this.prodTable().ItemId);
    }

    this.UnitQtyError += qty;

    return qty;
}

Последний раз редактировалось EVGL; 18.07.2007 в 12:39.
Старый 18.07.2007, 12:30   #48  
Мариночка is offline
Мариночка
Microsoft Dynamics
Аватар для Мариночка
Сотрудники Microsoft Dynamics
 
75 / 56 (2) ++++
Регистрация: 31.01.2005
Адрес: Киев
Что бы это значило?
Никто раньше не натыкался?

\Classes\InventAdjustPost\updateTrans

X++:
    if (1)
        _inventSettlement.Dimension = Dimensions::findDimension(_inventSettlement,InventTable::find(_inventSettlement.ItemId),_inventSettlement.Dimension);
Живет еще с давних версий...
Старый 18.07.2007, 12:32   #49  
belugin is offline
belugin
Участник
Аватар для belugin
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
Сотрудники Microsoft Dynamics
 
3,901 / 2027 (75) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
если про if(1) это скорее оставленный скальпель, чем wtf
Старый 18.07.2007, 12:38   #50  
EVGL is offline
EVGL
Moderator
Лучший по профессии 2014
Соотечественники
 
3,466 / 1896 (70) ++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от belugin Посмотреть сообщение
если про if(1) это скорее оставленный скальпель, чем wtf


Да, таких много. Достаточно запустить в классах поиск по строке "if (1)" или "if(1)".
Старый 18.07.2007, 14:47   #51  
Мариночка is offline
Мариночка
Microsoft Dynamics
Аватар для Мариночка
Сотрудники Microsoft Dynamics
 
75 / 56 (2) ++++
Регистрация: 31.01.2005
Адрес: Киев
Цитата:
Сообщение от belugin Посмотреть сообщение
если про if(1) это скорее оставленный скальпель, чем wtf
Скальпель? хмм, это что?
Старый 18.07.2007, 15:20   #52  
belugin is offline
belugin
Участник
Аватар для belugin
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
Сотрудники Microsoft Dynamics
 
3,901 / 2027 (75) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Это когда хирург разрезает тело больного, делает операцию, зашивает, а скальпель забывает внутри.

В данном случае if(1), наверное, вставлялось для отладки, а убрать забыли (было. например, if (0) или if (curUserID()=='петрович') )
За это сообщение автора поблагодарили: Мариночка (2).
Старый 21.08.2007, 17:30   #53  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,468 / 1239 (46) ++++++++
Регистрация: 28.11.2005
Адрес: Московская область
\Classes\ReqSetupDim\covRule
X++:
return reqGroup.covRule ? reqGroup.CovRule : reqCovType::Period;
__________________
С уважением,
Олег.
За это сообщение автора поблагодарили: belugin (1).
Старый 21.08.2007, 17:39   #54  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Лучший по профессии 2009
Соотечественники
 
2,483 / 624 (25) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
oip, а что тут не так? Ну, может перестраховались немного, но в целом это ведь #Default(reqGroup.covRule, reqCovType::Period)
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 21.08.2007, 17:43   #55  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,468 / 1239 (46) ++++++++
Регистрация: 28.11.2005
Адрес: Московская область
reqCovType::Period == 0
__________________
С уважением,
Олег.
Старый 20.12.2007, 16:27   #56  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
Лучший по профессии 2009
SAP
 
1,858 / 1144 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
:) Прозрение
X++:
void deleteFirstRows()
{
    this.deleteRange('A12:Z12');
/*
    this.deleteRange('A12');
    this.deleteRange('B12');
    this.deleteRange('C12');
    this.deleteRange('D12');
    this.deleteRange('E12');
    this.deleteRange('F12');
    this.deleteRange('G12');
    this.deleteRange('H12');
    this.deleteRange('I12');
    this.deleteRange('J12');
    this.deleteRange('K12');
    this.deleteRange('L12');
    this.deleteRange('M12');
    this.deleteRange('N12');
    this.deleteRange('O12');
    this.deleteRange('P12');
    this.deleteRange('Q12');
    this.deleteRange('R12');
    this.deleteRange('S12');
    this.deleteRange('T12');
    this.deleteRange('U12');
    this.deleteRange('V12');
    this.deleteRange('W12');
    this.deleteRange('X12');
    this.deleteRange('Y12');
    this.deleteRange('Z12');
*/
}
За это сообщение автора поблагодарили: EVGL (1), Eldar9x (1).
Старый 20.12.2007, 16:45   #57  
EVGL is offline
EVGL
Moderator
Лучший по профессии 2014
Соотечественники
 
3,466 / 1896 (70) ++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
F*cking programming
http://codeulate.com/?p=7

Я тоже часто руководствуюсь такими соображениями:
Цитата:
/* TODO: this is obviously not right … this whole fucking module
* sucks anyway */

Последний раз редактировалось EVGL; 20.12.2007 в 16:49.
Старый 20.12.2007, 23:17   #58  
Jabberwocky is offline
Jabberwocky
Microsoft Dynamics
Аватар для Jabberwocky
Сотрудники Microsoft Dynamics
 
273 / 305 (11) ++++++
Регистрация: 02.09.2005
Адрес: Москва
Цитата:
Сообщение от EVGL Посмотреть сообщение
Я тоже часто руководствуюсь такими соображениями:
Да, и это заметно :

Цитата:
// EVGL
// For you to remember me
class CustVendReversePostingLog_RU
__________________
You should use Bing before asking dumb questions.
За это сообщение автора поблагодарили: EVGL (5).
Старый 20.12.2007, 23:50   #59  
EVGL is offline
EVGL
Moderator
Лучший по профессии 2014
Соотечественники
 
3,466 / 1896 (70) ++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Да Вы не перешли на 4.0, батенька!
Оттуда коллеги уже вытерли мой тонкий юмор.
Старый 20.12.2007, 23:58   #60  
Jabberwocky is offline
Jabberwocky
Microsoft Dynamics
Аватар для Jabberwocky
Сотрудники Microsoft Dynamics
 
273 / 305 (11) ++++++
Регистрация: 02.09.2005
Адрес: Москва
Я-то перешел... А вот клиенты нашей компании - нет... И Вашим искрометным юмором приходится наслаждаться не в комментариях к коду, а в самом коде..
__________________
You should use Bing before asking dumb questions.

Последний раз редактировалось Jabberwocky; 21.12.2007 в 00:00.
Теги
axapta, cil, rasset, баг

 

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

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

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

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

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