AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

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

P.S. Искал на форуме по ключевым словам ускорить проводку , оптимизировать обработку ... но не нашел.
Хотя помню, что что-то подобное видел на форуме.
Старый 05.09.2005, 15:30   #2  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
1) Доработки были?
2) Да, даже в стандарте, это русская функиональность. Довольно тормозная - накладная раза в 3 быстрее разноситься, нежели СЧ-Ф.
3) Попробуйте добавлять в пакет. Или СЧ-Ф сразу нужна?

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

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

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

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

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

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

Ну и если уж править, то, по-моему, лучше закоментарить вызов метода document в FactureJourCreate_RU.insertJournal
__________________
Axapta v.3.0 sp5 kr2
Старый 06.09.2005, 10:13   #10  
ATimTim is offline
ATimTim
Участник
 
395 / 13 (1) ++
Регистрация: 10.06.2004
Адрес: Питер
Спасибо.
Старый 06.09.2005, 10:21   #11  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
Была такая же ситуация, накладная быстро, СФ ну очень долго.. все что можно заоптимизил, выборку лишних полей и т.д.. на этом работа мониторинга SQL закончилась но тормоза остались, запускаю профайлер кода и вижу - строка SetPrefix('блабла'); Занимает 700000 милисекунд, каково? Убрал, пока все оки.. вот такая вот история..
Да, а по поводу номерных серий - для тех что НЕ непрерывные можно использовать предварительное выделение номеров, тоже оч помогает..
Старый 12.01.2006, 13:19   #12  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Цитата:
Сообщение от MironovI
запускаю профайлер кода и вижу - строка SetPrefix('блабла'); Занимает 700000 милисекунд, каково? Убрал, пока все оки.. вот такая вот история..
А можно узнать место?
Старый 12.01.2006, 13:53   #13  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
Вроде как класс PurchFormLetter, метод run там setPrefix("@SYS25781");
Старый 12.01.2006, 14:52   #14  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Спасибо!
Старый 12.04.2006, 06:25   #15  
Алексей Контев is offline
Алексей Контев
Участник
 
118 / 31 (2) +++
Регистрация: 28.12.2001
Адрес: Барнаул
Еще раз о скорости обработки с/ф
При обработке с/ф по накладной очень долго вызывается форма "Обработка счета-фактуры".
При анализе выяснилось, что максимальная задержка в методе
FactureEditLinesEngineVend_RU\dsExecuteMarkup
Там стоит такой загадочный код:
Код:
    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
              );
После изменеия его на
Код:
    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;
форма вызывается на порядок быстрее.
Т.к. я не проограммист, у меня вопрос - одинаковый результат у этих запросов, или я в чем -то ошибся.
Спасибо.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
СФ по агентскому договору 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

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

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

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