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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.10.2018, 08:58   #341  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
375 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Цитата:
Сообщение от gl00mie Посмотреть сообщение
PurchLine.update() в D365FO стал просто великолепен: мало того, что метод раздулся до 370 строк (что, PurchLineType.update()? не, не слышали), так он еще и начал пересчитывать налоги по заказу на покупку - видать, какой-то костыль для отображения итогов по заказу в виде FormPart.
Этот успешный код появился еще в AX 2012, но там он живет в PurchLineType.update() (в котором, к слову, примерно 340 строк, совпадение ? или может они просто всю начинку из него вытянули в purchLine.update() ? ) и пока еще может быть легко изменен. Не думаю, что сделали для расчета итогов, для этого есть еще один вызов в другом классе , в том же методе update.

Скорее всего вызов необходим для корректного пересчета распределений, к тому же название метода как бы намекает, сам пересчет распределения идет ниже в том же методе, вызывается для всей покупки целиком, правда в последних версиях AX2012, ребята поняли или им кто-то подсказал, что бывают проблемы с производительностью. Поэтому они добавили флажок(purchline.SkipDistributionUpdate) для скипа пересчета распределения всей покупки при обновлении строки и его используют при некоторых массовых действиях со строками, а про InclTax возможно забыли, т.к. чек скорее всего не был активирован


Цитата:
Сообщение от gl00mie Посмотреть сообщение
Как вот надо извратиться, чтобы...
Я так понимаю вопрос больше риторический ? PurchTotals нельзя переопределить разве ?
__________________
Sergey Nefedov
За это сообщение автора поблагодарили: gl00mie (3).
Старый 27.10.2018, 10:43   #342  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
PurchTotals "переопределить" можно, другое дело, что это нужно делать "иногда". Подобные места все чаще приходится лечить с помощью Option 3. Disposable context, в данном случае: где-то вышле по стеку создать singleton-"флажок", а где-то ниже, скажем, в постобработчике создания PurchTotals, по флажку подпихивать класс-пустышку вместо реального класса расчета итогов. Но выглядит это все очень извратно на фоне нормальных ветвлений в коде, которые можно было делать прежде.
Старый 27.10.2018, 10:52   #343  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
700 / 752 (27) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
Там вообще все плохо с purchline, есть в ГЛ параметрах галка, обрабатывать сабледжер параллельно и из-за нее purchline на апдейте tax сама себя лочит...
За это сообщение автора поблагодарили: Logger (1).
Старый 13.11.2018, 13:02   #344  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,907 / 5717 (196) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Да, спасибо, в последней версии всё стало работать еще тормознее за счет того, что каждый чих пишется в EventLog, и по нему можно найти проблемное место.
Кстати, у меня есть сильное подозрение, что замечательное новое логирование быстро съедает IOT Quote и Azure начинает зажимать дисковые операции. (Aka IOT Throttling.) Возможно из за этого микрософт и вынужден был перевести подписные VM на DS12 (где, как я понимаю, ограничения по IOT не такие жесткие).
Старый 20.11.2018, 15:34   #345  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
AX 2012 R3. В методе SysDictIndex.showDuplicates() неверно формируется список ORDER BY. Иначе говоря, если подсунуть индекс InventDim.DimIdx, у которого отключены некоторые поля, то неверно составленный запрос вызовет ошибку.
Вместо
X++:
stmtStr += int2str(enabledFields[i]+1);
необходимо указать непрерывную последовательность чисел:
X++:
stmtStr += int2str(i+1);
__________________
// no comments
За это сообщение автора поблагодарили: ax_mct (3).
Старый 21.11.2018, 09:44   #346  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Ну и такая же байда с ResultSet, если количество фактических полей не совпадает с описанным, выбирается getString(12) при том, что в SELECT-е участвовало всего 10 полей.
__________________
// no comments
Старый 20.12.2018, 22:07   #347  
AlexSD is offline
AlexSD
Microsoft Dynamics
Сотрудники Microsoft Dynamics
 
257 / 302 (11) ++++++
Регистрация: 14.10.2003
D365 FO
public class InventItemInventoryDimensionStorageDimConversionTaskInitiatorDelegateHandlers
{
}

В одном имени два раза использованы слова Inventory и Dimension... При Балмере такого не было...
Кто-нибудь натыкался на доку, по каким критериям оценивать таблицы с InventDimId, нужен им конвертер или нет?
За это сообщение автора поблагодарили: gl00mie (2).
Старый 14.01.2019, 10:55   #348  
axm2017 is offline
axm2017
Участник
 
1,890 / 295 (13) ++++++
Регистрация: 15.05.2017
Есть все таки в Ax какие то традиции переходящие имхо из поколение в поколения.
RunBase

X++:
public QueryRun queryRun()
    {
        return null;

    #if.never
        return QR;
    #endif
    }
И в 12 и в 365 соответственно
Старый 14.01.2019, 15:09   #349  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,309 / 3546 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Хорошие традиции. Несут в себе документацию, что в этом методе надо возвращать переменную QR, определенную в ClassDeclaration наследника RunBase.
Т.е. это документирование того, как надо использовать фреймворк.
__________________
Возможно сделать все. Вопрос времени
Старый 14.01.2019, 16:36   #350  
axm2017 is offline
axm2017
Участник
 
1,890 / 295 (13) ++++++
Регистрация: 15.05.2017
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Хорошие традиции.
Хорошая традиция это писать документацию в комментариях.
Здесь же то, от чего так радуются разрабы с обычных проектов, не знающие о своем отдельном пути фреймворководства.
Старый 10.02.2019, 11:02   #351  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
397 / 478 (16) +++++++
Регистрация: 27.02.2006
Адрес: Дания
За это сообщение автора поблагодарили: mazzy (5), trud (3), db (5).
Старый 10.02.2019, 11:59   #352  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,940 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Этот код вывел 16?
Арифметика неверно считает?
Старый 10.02.2019, 12:43   #353  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Logger Посмотреть сообщение
Этот код вывел 16?
Арифметика неверно считает?
почему сразу "неверно"?
очевидно, что сейчас так записывается битовый сдвиг осьмерки влево на единицу.
__________________
полезное на axForum, github, vk, coub.
Старый 10.02.2019, 13:48   #354  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
397 / 478 (16) +++++++
Регистрация: 27.02.2006
Адрес: Дания
Цитата:
Сообщение от Logger Посмотреть сообщение
Этот код вывел 16?
Арифметика неверно считает?
При Балмере такого не было.
Старый 10.02.2019, 14:16   #355  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
арифметика не при чем. проблема в реализации case с множественными значениями. если в в такой ветке нет break, то код ветки выполняется столько раз, сколько значений в списке

вот так работает нормально
X++:
    public static void main(Args _args)
    {       
        int i = 1;
        int j = 0;
 
        switch (i)
        {
            case 1:
            case 2,3,4:
                Info("!!");
                j+=8;
                break;
        }
        Info(int2Str(j));
    }
а если убрать break, то выведет 24

а вот так вообще 32:
X++:
   public static void main(Args _args)
    {       
        int i = 1;
        int j = 0;
 
        switch (i)
        {
            case 1, 2,3,4:
                Info("!!");
                j+=8;
        }
        Info(int2Str(j));
    }
где то слышал (так что может и вру) что в IL то ли отсутствует, то ли какая то особенная реализация fall-through - исполнения в switch веток case друг за другом если нет break. Вероятно здесь пытались как то реализовать стандартное X++ поведение switch на особенностях IL и малость перестарались/недосарались в случае с множественными значениями
За это сообщение автора поблагодарили: Logger (5).
Старый 10.02.2019, 14:26   #356  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
Цитата:
Сообщение от Stitch_MS Посмотреть сообщение
При Балмере такого не было.
да ладно

вот хит на все времена Проверка на RecId
За это сообщение автора поблагодарили: trud (1), Stitch_MS (1).
Старый 14.02.2019, 10:34   #357  
AlGol is offline
AlGol
Участник
 
277 / 93 (4) ++++
Регистрация: 24.12.2001
Адрес: Тверь.
DAX 2012 R3

При переименовании кода складского журнала через паспорт записи не меняется код журнала в InventTransOriginJournalTrans.InventJournalId и в InventTransOrigin.ReferenceId.

В результате, разнести нормально такой журнал не получается.
Плюс - удаление такого журнала оставляет складские проводки Заказано в базе, хотя строки журнала удаляются.
__________________
Ален ноби, ностра алис.
Что означает - если один человек построил, другой завсегда разобрать может.
Старый 14.02.2019, 10:52   #358  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Ну т.е. по факту WTF в данном случае, что эту функцию смены кода оставили. Реально ей пользоваться можно практически никогда.
__________________
Ivanhoe as is..
Старый 14.02.2019, 17:23   #359  
AlGol is offline
AlGol
Участник
 
277 / 93 (4) ++++
Регистрация: 24.12.2001
Адрес: Тверь.
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Ну т.е. по факту WTF в данном случае, что эту функцию смены кода оставили. Реально ей пользоваться можно практически никогда.
Хорошая функция (была). Правильная. И пользовались ею часто, может не на этапе обычной эксплуатации а при первоначальном вводе данных или массовых перетасовках данных.
Но похоже, если взят курс на замену натуральных ключей суррогатными, то её время подходит к концу.
__________________
Ален ноби, ностра алис.
Что означает - если один человек построил, другой завсегда разобрать может.
Старый 27.02.2019, 17:27   #360  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Давным-давно, один мальчик установил KB4492562, и все инвойсы стали показывать 4.67. Никто так и не смог разобраться, правильно это было или нет
Миниатюры
Нажмите на изображение для увеличения
Название: KB4492562.GIF
Просмотров: 120
Размер:	11.5 Кб
ID:	12228  
__________________
-ТСЯ или -ТЬСЯ ?
За это сообщение автора поблагодарили: twilight (1).
Теги
axapta, cil, d365fo, guid, rasset, uuid, uuidv7, баг

 


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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:45.