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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.12.2007, 18:26   #1  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Да. Но есть одно "но". В этом методе и без того 1246 строк .
Да уж, "цирконовцы" далеки от того, чтобы писать краткий и выразительный код.
Старый 11.01.2008, 18:45   #2  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
При попытке удаления почтового ящика посредством CDOEXM
Изображения
 
Старый 17.01.2008, 13:17   #3  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
DEP vs. DAX!
Название: StopDAX.GIF
Просмотров: 5239

Размер: 5.8 Кб
Старый 17.01.2008, 14:14   #4  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
aEremenko: DEP порождает ошибки компиляции в DAX 3.0
__________________
С уважением,
glibs®
Старый 17.01.2008, 15:33   #5  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
:)
Да-да. Только это была DAX 4.0, что нетрудно видеть по иконке. В общем, когда клиент в очередной раз "обвалился", Windows причислила Аксапту к полку вредоносных программ. А чем не "угроза"? Еще какая!
Старый 17.01.2008, 20:42   #6  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от EVGL
...
Только это была DAX 4.0
...
Ну и что? Можно подумать ее от версии к версии на корню переписывают...
__________________
С уважением,
glibs®
Старый 17.01.2008, 19:17   #7  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Тоже неплохо:
X++:
public void insert()
{
    this.calcCrediting();
 
    ttsBegin;
 
    super();

    if (this.furtherPostingType)
    {
        LedgerTransFurtherPosting::createFurtherPosting(this);
    }
    //CsGy 07.02.05. FLXMPFlexHungary
    if (isConfigurationkeyEnabled(configurationkeynum(FLXMPFlexHungary)))
        this.SFHAccountNumHU = LedgerTable::find(this.AccountNum).SFHAccountNumHU;
 
    ttsCommit;
}
Старый 17.01.2008, 20:29   #8  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
885 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Talking

Интересный такой венгерский LedgerTrans.insert()
Абсолютно ненужное поле плюс нерабочий способ его простановки(отобразится при вставке, пропадет при перечитывании данных).

Нормальна ! (DJ Maкс, "День радио")
__________________
Мы летаем, кружимся, нагоняем ужасы ...
Старый 22.02.2008, 12:02   #9  
malex is offline
malex
Участник
 
164 / 19 (1) ++
Регистрация: 10.08.2004
Адрес: Тверь, Москва
ProdRouteType.update (на слое sys)

X++:
    if (0)
    {
        if  (prodRoute.BackorderStatus != prodRoute_Orig.BackorderStatus)
        {
            prodTable= prodRoute.prodTable(true);
            prodTable.status().setBackStatus();
            prodTable.doUpdate();
        }
    }
За это сообщение автора поблагодарили: Gustav (2).
Старый 14.03.2008, 14:54   #10  
sparur is offline
sparur
Участник
 
334 / 25 (1) +++
Регистрация: 19.05.2006
еще вот озадачило:
X++:
if ((((rowNumber - #maxRowsFirst) mod #maxRows) < #maxRows) && (pageNumber > 1))
{
...
}
Это из печати Табеля учета рабочего времени(Если кто не догадался)
Старый 18.03.2008, 13:36   #11  
Jabberwocky is offline
Jabberwocky
Microsoft Dynamics
Аватар для Jabberwocky
Сотрудники Microsoft Dynamics
 
274 / 307 (11) ++++++
Регистрация: 02.09.2005
Адрес: Москва
Недавно на форуме поднималась тема об особенностях "индусского" кода, смею заверить, иной "канадский" код ничем не лучше... Наткнулся на образчик творчества, на этот раз это release update script:
Код:
update_recordset pdsRebateTable
    setting CustInvoiceTransRefRecId = pdsRebateTable.DEL_CustInvoiceTransRefRecId
       where   pdsRebateTable.DEL_CustInvoiceTransRefRecId;
__________________
You should use Bing before asking dumb questions.
Старый 18.03.2008, 14:59   #12  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Длина названия метода в АХ ограничена 40ка символами, длина поля тоже 40ка. Методом тыка определил, что компиль аксапты очень просто определяет, есть ли парм-метод на AxBc классе - просто проверяет, есть ли в классе метод с названием: "parm"+имя поля. Вот и всё!!! И даже если тело метода поля не касается, компилю по барабану и наоборот, если даже метод правильный: возвращает и устанавливает значение нужного поля, но название у него не вышеупомянутое "parm"+имя поля - выдает BP. И вот тут же появилась мысль, а что будет, если имя поля будет больше 36ти символов? То есть метод с названием "parm"+название поле создать нельзя будет. И тут собсна и зарыто пасхальное яйцо. В таблице SalesTable есть стандартное поле InterCompanyAllowIndirectCreationOrig, метод в AxSalesTable как и предпологалось называется parmInterCompanyAllowIndirectCreationOri то есть без последней буквы в названии поля. А Аксапта хавает его!!! При этом если я создаю на своём классе подобный метод(без последней буквы в названии поля) - девиейшн конечно же присутствует. Вот такая маца, строки //BP deviation documented нигде не увидел, да и где она там может быть воткнута с другой стороны, так что каким образом сделано это исключение в одном экземпляре(хотя кто его знает, мож ещё такие поля есть ) - ХЗ. З.Ы В завершение вопрос: что мешало разработчикам Аксапты, ежели они поленились и не написали нормальный алгоритм распознавания парма и решили использовать фиксированый: "parm"+fieldname, сделать максимальную длину для названия метода на 4 символа больше, чем поля?
__________________
Axapta has seduced me deadly!

Последний раз редактировалось HorrR; 18.03.2008 в 15:03.
За это сообщение автора поблагодарили: EVGL (-1).
Старый 18.03.2008, 15:17   #13  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
И ещё один бок. Пощу отдельным сообщением, так как совершенно несвязаные вещи. Не знаю, может быть это многократно уже обсасывалось, но мне, как начинающем сразу попался в глаза тот факт, что в типизированную группу в проекте, куда нельзя поместить ни один обьект другого типа, запросто можно поместить вложенную групу с типом: олл и кидать в неё, что угодно. По-моему, это невероятно калично, до неприличия.
__________________
Axapta has seduced me deadly!
За это сообщение автора поблагодарили: EVGL (1).
Старый 14.10.2008, 00:56   #14  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Таблица умножения
Шокированный коллега прислал сегодня сей изысканный образец творчества местного программиста:
X++:
actorForSpoiling = prodTableRun.QtySched / InventTableRun.qtyPerLayer / prodTableRun.MEM_NumOfLanes;
 numofpage = 1;
 if (factorForSpoiling > 198)
  numofpage = 12;
 else if (factorForSpoiling > 180)
  numofpage = 11;
 else if (factorForSpoiling > 162)
  numofpage = 10;
 else if (factorForSpoiling > 144)
  numofpage = 9;
 else if (factorForSpoiling > 126)
  numofpage = 8;
 else if (factorForSpoiling > 108)
  numofpage = 7;
 else if (factorForSpoiling > 90)
  numofpage = 6;
 else if (factorForSpoiling > 72)
  numofpage = 5;
 else if (factorForSpoiling > 54)
  numofpage = 4;
 else if (factorForSpoiling > 36)
  numofpage = 3;
 else if (factorForSpoiling > 18)
  numofpage = 2;
Остается только подчеркнуть: ребята и деачата, Австрии СРОЧНО нужны программисты!
За это сообщение автора поблагодарили: oip (1).
Старый 14.10.2008, 10:06   #15  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Действительно непорядок. Во-первых, константы вместо макросов, во-вторых, можно было switch...case использовать, ну а в-третьих, вдруг война? А в военное время и таблица умножения поменяться может. А значит надо делать таблицу параметров.

PS. А в Вене действительно замечательно. Только недавно оттуда вернулся.
__________________
С уважением,
Олег.
Старый 23.11.2010, 22:29   #16  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от EVGL Посмотреть сообщение
X++:
actorForSpoiling = prodTableRun.QtySched / InventTableRun.qtyPerLayer / prodTableRun.MEM_NumOfLanes;
 numofpage = 1;
 if (factorForSpoiling > 198)
  numofpage = 12;
 else if (factorForSpoiling > 180)
  numofpage = 11;
 else if (factorForSpoiling > 162)
  numofpage = 10;
 else if (factorForSpoiling > 144)
  numofpage = 9;
 else if (factorForSpoiling > 126)
  numofpage = 8;
 else if (factorForSpoiling > 108)
  numofpage = 7;
 else if (factorForSpoiling > 90)
  numofpage = 6;
 else if (factorForSpoiling > 72)
  numofpage = 5;
 else if (factorForSpoiling > 54)
  numofpage = 4;
 else if (factorForSpoiling > 36)
  numofpage = 3;
 else if (factorForSpoiling > 18)
  numofpage = 2;
Цитата:
Сообщение от AndyD Посмотреть сообщение
X++:
numofpage = (factorForSpoiling ? (factorForSpoiling - 1) : factorForSpoiling) div 18 + 1;
У меня нет знаний по аксапте и X++, но (по моему мнению) результаты работы при factorForSpoiling большем чем 215 будут разниться для приведённых участков кода...
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit

Последний раз редактировалось a33ik; 23.11.2010 в 22:46.
Старый 23.11.2010, 23:01   #17  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от a33ik Посмотреть сообщение
У меня нет знаний по аксапте и X++, но (по моему мнению) результаты работы при factorForSpoiling большем чем 215 будут разниться для приведённых участков кода...
Автор исходного кода не предполагал factorForSpoiling > 215. Речь идет, насколько я понимаю, о продольной резке полотна. По моим ощущениям больше 100 ножей не ставят.
Старый 28.04.2012, 14:15   #18  
Roman777 is offline
Roman777
NavAx
Аватар для Roman777
NavAx Club
 
320 / 64 (3) ++++
Регистрация: 10.02.2005
Адрес: г. Москва
Цитата:
Сообщение от EVGL Посмотреть сообщение
Шокированный коллега прислал сегодня сей изысканный образец творчества местного программиста:
X++:
actorForSpoiling = prodTableRun.QtySched / InventTableRun.qtyPerLayer / prodTableRun.MEM_NumOfLanes;
 numofpage = 1;
 if (factorForSpoiling > 198)
  numofpage = 12;
 else if (factorForSpoiling > 180)
  numofpage = 11;
 else if (factorForSpoiling > 162)
  numofpage = 10;
 else if (factorForSpoiling > 144)
  numofpage = 9;
 else if (factorForSpoiling > 126)
  numofpage = 8;
 else if (factorForSpoiling > 108)
  numofpage = 7;
 else if (factorForSpoiling > 90)
  numofpage = 6;
 else if (factorForSpoiling > 72)
  numofpage = 5;
 else if (factorForSpoiling > 54)
  numofpage = 4;
 else if (factorForSpoiling > 36)
  numofpage = 3;
 else if (factorForSpoiling > 18)
  numofpage = 2;
Остается только подчеркнуть: ребята и деачата, Австрии СРОЧНО нужны программисты!
Может так:
X++:
    numofpage = trunc(((factorForSpoiling - 1) / 18) + 1);
?
Старый 28.04.2012, 14:49   #19  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Roman777 Посмотреть сообщение
Может так:
X++:
    numofpage = trunc(((factorForSpoiling - 1) / 18) + 1);
?
Я вместо trunc задействовал бы div
Старый 14.10.2008, 10:25   #20  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Хм. Какие кейсы?
Там все в одну строчку кода можно свести.
X++:
numofpage = (factorForSpoiling ? (factorForSpoiling - 1) : factorForSpoiling) div 18 + 1;
а 18 - перенести куда-либо в параметры
__________________
Axapta v.3.0 sp5 kr2
Теги
axapta, cil, d365fo, guid, rasset, uuid, uuidv7, баг

 


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

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

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