AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 05.09.2005, 15:13   #1  
ATimTim is offline
ATimTim
Участник
 
395 / 13 (1) ++
Join Date: 10.06.2004
Location: Питер
? Как ускорить проводку СФ?
При количестве строк в заказе больше 15 очень медленно проходит обработка счета фактуры. Долго висит окно "обработка", видно как каждую строчку аксапта обрабатывает.
А нет ли возможности ускорить данный процесс.
Интересует и "галочный" вариант и с программированием., а то прямо беда какая-то.
Одновременно проводит документы один пользователь.

P.S. Искал на форуме по ключевым словам ускорить проводку , оптимизировать обработку ... но не нашел.
Хотя помню, что что-то подобное видел на форуме.
Old 05.09.2005, 15:30   #2  
George Nordic is offline
George Nordic
Модератор
George Nordic's Avatar
Злыдни
 
4,480 / 1255 (50) ++++++++
Join Date: 17.12.2003
Location: Moscow
Blog Entries: 9
1) Доработки были?
2) Да, даже в стандарте, это русская функиональность. Довольно тормозная - накладная раза в 3 быстрее разноситься, нежели СЧ-Ф.
3) Попробуйте добавлять в пакет. Или СЧ-Ф сразу нужна?

С Уважением,
Георгий
Old 05.09.2005, 15:48   #3  
ATimTim is offline
ATimTim
Участник
 
395 / 13 (1) ++
Join Date: 10.06.2004
Location: Питер
Quote:
1) Доработки были?
Доработки были, конечно. как же без них =)

Quote:
2) Да, даже в стандарте, это русская функиональность. Довольно тормозная - накладная раза в 3 быстрее разноситься, нежели СЧ-Ф.
Вот-вот, мониторинг SQL запросов при обработке СФ показал, что самое большое время выполняется запрос
PHP Code:
select FROM FACTURETRANS_RU A,CUSTINVOICETRANS B,CUSTINVOICEJOUR C,CUSTTRANS D,LEDGERTRANS E  where ...... 
, потом - работа с номер. сериями .... и последний в хитпараде SalesPamLine
Quote:
3) Попробуйте добавлять в пакет. Или СЧ-Ф сразу нужна?
Нужна сразу.
Old 05.09.2005, 16:14   #4  
ATimTim is offline
ATimTim
Участник
 
395 / 13 (1) ++
Join Date: 10.06.2004
Location: Питер
Никто не решал такую задачу?
Old 05.09.2005, 16:23   #5  
George Nordic is offline
George Nordic
Модератор
George Nordic's Avatar
Злыдни
 
4,480 / 1255 (50) ++++++++
Join Date: 17.12.2003
Location: Moscow
Blog Entries: 9
Ну, отказались от стандартной. Пишем свою. Все равно непонятно, как будет стандартная книга продаж собираться.

С быстродействием - так пока и не удалось победить. Нам обещали помочь, так что, если удасться победить, расскажем, как там да что.

Очень не нравяться тормоза из-за номерных серий. Процессор не нагружен ни на АОСе, ни на БД. В чем дело - не понимаем. sleep(1000) тоже не нашли пока.

С Уважением,
Георгий.
Old 05.09.2005, 16:25   #6  
ATimTim is offline
ATimTim
Участник
 
395 / 13 (1) ++
Join Date: 10.06.2004
Location: Питер
Да, неутешительно ...
Old 05.09.2005, 16:55   #7  
bio_unit is offline
bio_unit
Участник
bio_unit's Avatar
Сотрудники компании GMCS
Ex AND Project
 
119 / 77 (3) ++++
Join Date: 21.04.2004
Найдите метод document на таблице FactureJour_RU, замените тело метода на
return ["", dateNull()];
вместо того лютого запроса который там есть
и будет вам счастье
Old 05.09.2005, 17:14   #8  
ATimTim is offline
ATimTim
Участник
 
395 / 13 (1) ++
Join Date: 10.06.2004
Location: Питер
А что это за волшебный такой метод?
Почему его так безболезнено можно "отключить" ?
Old 06.09.2005, 09:02   #9  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2499 (89) +++++++++
Join Date: 20.08.2005
Этот метод формирует запрос который у вас фигурирует под номером 1 в хит-параде.

Вызов его находится в методе insertJournal класса FactureJourCreate_RU. Возвращаемые им значения (Номер последнего сопоставления и его дата) в дальнейшем используются при печати счета-фактуры (строка "К платежно-расчетному документу" "№:" и "от:"). Если верить перекрестным ссылкам, то эти значения ни в каких обработках не участвуют

Ну и если уж править, то, по-моему, лучше закоментарить вызов метода document в FactureJourCreate_RU.insertJournal
__________________
Axapta v.3.0 sp5 kr2
Old 06.09.2005, 10:13   #10  
ATimTim is offline
ATimTim
Участник
 
395 / 13 (1) ++
Join Date: 10.06.2004
Location: Питер
Спасибо.
Old 06.09.2005, 10:21   #11  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Join Date: 30.05.2005
Была такая же ситуация, накладная быстро, СФ ну очень долго.. все что можно заоптимизил, выборку лишних полей и т.д.. на этом работа мониторинга SQL закончилась но тормоза остались, запускаю профайлер кода и вижу - строка SetPrefix('блабла'); Занимает 700000 милисекунд, каково? Убрал, пока все оки.. вот такая вот история..
Да, а по поводу номерных серий - для тех что НЕ непрерывные можно использовать предварительное выделение номеров, тоже оч помогает..
Old 12.01.2006, 13:19   #12  
DreamCreator is offline
DreamCreator
Moderator
DreamCreator's Avatar
Axapta Retail User
 
553 / 45 (3) +++
Join Date: 04.11.2004
Location: Казань
Quote:
Originally Posted by MironovI
запускаю профайлер кода и вижу - строка SetPrefix('блабла'); Занимает 700000 милисекунд, каково? Убрал, пока все оки.. вот такая вот история..
А можно узнать место?
Old 12.01.2006, 13:53   #13  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Join Date: 30.05.2005
Вроде как класс PurchFormLetter, метод run там setPrefix("@SYS25781");
Old 12.01.2006, 14:52   #14  
DreamCreator is offline
DreamCreator
Moderator
DreamCreator's Avatar
Axapta Retail User
 
553 / 45 (3) +++
Join Date: 04.11.2004
Location: Казань
Спасибо!
Old 12.04.2006, 06:25   #15  
Алексей Контев is offline
Алексей Контев
Участник
 
118 / 31 (2) +++
Join Date: 28.12.2001
Location: Барнаул
Еще раз о скорости обработки с/ф
При обработке с/ф по накладной очень долго вызывается форма "Обработка счета-фактуры".
При анализе выяснилось, что максимальная задержка в методе
FactureEditLinesEngineVend_RU\dsExecuteMarkup
Там стоит такой загадочный код:
Code:
    select markupCursor
        where   markupCursor.CustVendPosted_RU                         &&
                  ! markupCursor.ItemPosted_RU
    exists join tTrans
        where (markupCursor.TransTableId  == tTrans.TableId            &&
                  markupCursor.TransRecId    == tTrans.RecId              &&
                  tTrans.PurchID             == tJour.PurchId             &&
               tTrans.InvoiceId           == tJour.InvoiceId           &&
               tTrans.InvoiceDate         == tJour.InvoiceDate         &&
               tTrans.NumberSequenceGroup == tJour.NumberSequenceGroup &&
               tTrans.InternalInvoiceId   == tJour.InternalInvoiceId
              )              ||
              (
               markupCursor.TransTableId  == tJour.TableId             &&
               markupCursor.TransRecId    == tJour.RecId
              );
После изменеия его на
Code:
    select markupCursor index TableRecIdIdx
        where   markupCursor.CustVendPosted_RU                         &&
              ! markupCursor.ItemPosted_RU                             &&
               markupCursor.TransTableId  == tJour.TableId             &&
               markupCursor.TransRecId    == tJour.RecId;

    if (!markupCursor)
        select markupCursor
            where   markupCursor.CustVendPosted_RU                         &&
                  ! markupCursor.ItemPosted_RU
        exists join tTrans index InvoiceIdx
            where
                   markupCursor.TransTableId  == tTrans.TableId            &&
                   markupCursor.TransRecId    == tTrans.RecId              &&
                   tTrans.PurchID             == tJour.PurchId             &&
                   tTrans.InvoiceId           == tJour.InvoiceId           &&
                   tTrans.InvoiceDate         == tJour.InvoiceDate         &&
                   tTrans.NumberSequenceGroup == tJour.NumberSequenceGroup &&
                   tTrans.InternalInvoiceId   == tJour.InternalInvoiceId;
форма вызывается на порядок быстрее.
Т.к. я не проограммист, у меня вопрос - одинаковый результат у этих запросов, или я в чем -то ошибся.
Спасибо.
 

Similar Threads
Thread Thread Starter Forum Replies Last Post
СФ по агентскому договору Daisy DAX: Функционал 4 07.09.2007 16:18
Создать программно складскую проводку с количеством = 0. vasiliy DAX: Программирование 5 26.12.2005 16:46
Блокировка СФ, ОС и разные налоговые периоды Anais DAX: Функционал 7 04.08.2005 14:35
Почему строки в СФ сотируются? ATimTim DAX: Функционал 2 18.07.2005 14:20
Возмещение экспортного НДС... как сделать налоговую проводку? soin DAX: Функционал 3 09.03.2004 16:03

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 09:39.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.