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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.01.2012, 20:50   #1  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,996 / 3293 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Добрый день.
При работе лукапа в строках используется запрос
custVendInvoiceTrans::queryCorrectedTrans_RU()

В нем есть условие по SalesParmLine и SalesParmTable c фильтром по статусу - ParmJobStatus::Waiting

Разработчики, подскажите, какой смысл у этого фильтра ?
Это защита от того чтобы одновременно не сделать с разных рабочих мест одну и ту же корректировку ?

Мне показалось что она не всегда корректно работает. Если начать обработку документа, открыв форму SalesEdiLine, указать все корректируемые параметры, а потом отказаться от проведения документа, то при попытке повторной обработки искомые записи в фильтр уже не попадают из-за того что остались записи в parm табличках. Приходится их вычищать. Есть ощущение, что это баг. Либо я не до конца понимаю задумку.
Старый 16.01.2012, 00:53   #2  
Jabberwocky is offline
Jabberwocky
Microsoft Dynamics
Аватар для Jabberwocky
Сотрудники Microsoft Dynamics
 
274 / 307 (11) ++++++
Регистрация: 02.09.2005
Адрес: Москва
Цитата:
Сообщение от Logger Посмотреть сообщение
Добрый день.
При работе лукапа в строках используется запрос
custVendInvoiceTrans::queryCorrectedTrans_RU()

В нем есть условие по SalesParmLine и SalesParmTable c фильтром по статусу - ParmJobStatus::Waiting

Разработчики, подскажите, какой смысл у этого фильтра ?
Это защита от того чтобы одновременно не сделать с разных рабочих мест одну и ту же корректировку ?

Мне показалось что она не всегда корректно работает. Если начать обработку документа, открыв форму SalesEdiLine, указать все корректируемые параметры, а потом отказаться от проведения документа, то при попытке повторной обработки искомые записи в фильтр уже не попадают из-за того что остались записи в parm табличках. Приходится их вычищать. Есть ощущение, что это баг. Либо я не до конца понимаю задумку.
Записи в SalesParmLine со статусом ParmJobStatus::Waiting при отмене обработки очищаются, поэтому при повторном заходе в форму обработки соответствующие строки накладных доступны для выбора из лукапа (см. \Classes\SalesFormLetter\cleanupDialog и далее по стеку вызовов). Данный фильтр решает несколько иную проблему - при возникновении ошибки при обработке в SalesParmLine остаются записи со статусом ParmJobStatus::ContainErrors, но этот фильтр как раз позволяет выбрать такие записи повторно, без очистки SalesParmLine. Уточните пожалуйста действия, после которых такие записи остаются заблокированными.
__________________
You should use Bing before asking dumb questions.
За это сообщение автора поблагодарили: Logger (7).
Старый 02.02.2012, 12:39   #3  
Daiver is offline
Daiver
Участник
Самостоятельные клиенты AX
 
177 / 44 (2) +++
Регистрация: 19.07.2005
Адрес: Москва
Заказы на продажу. Создали кредит-ноту штатными средствами. При обработке Накладной на закладке Дополнительно ставим галку Корректирующий документ. Аксапта подвисает на долго
Стал разбираться, дошел SalesParmLine::initCorrectedInvoiceLines_RU() от туда вызывается CustVendInvoiceTrans::queryCorrectedTrans_RU() для формирования query.
Получаем такой запрос:
X++:
SELECT FIRSTFAST * FROM CustInvoiceTrans 
	WHERE ((ItemId = N'item1')) AND ((SalesUnit = N'шт')) AND ((TaxGroup = N'НДС')) AND ((TaxItemGroup = N'18')) 
NOTEXISTS JOIN FIRSTFAST * FROM CustInvoiceTrans 
	WHERE CustInvoiceTrans.RecId = CustInvoiceTrans.RefAdjustedInvoiceTrans_RU 
NOTEXISTS JOIN FIRSTFAST * FROM SalesParmLine 
	WHERE CustInvoiceTrans.RecId = SalesParmLine.RefAdjustedInvoiceTrans_RU 
EXISTS JOIN FIRSTFAST * FROM SalesParmTable 
	WHERE SalesParmLine.ParmId = SalesParmTable.ParmId AND SalesParmLine.TableRefId = SalesParmTable.TableRefId AND ((ParmJobStatus = 2)) 
EXISTS JOIN FIRSTFAST * FROM CustInvoiceJour 
	WHERE CustInvoiceTrans.SalesId = CustInvoiceJour.SalesId AND
 CustInvoiceTrans.InvoiceId = CustInvoiceJour.InvoiceId AND CustInvoiceTrans.InvoiceDate = CustInvoiceJour.InvoiceDate AND
	CustInvoiceTrans.numberSequenceGroup = CustInvoiceJour.numberSequenceGroup 
AND ((CurrencyCode = N'RUR')) AND ((RefOriginalInvoice_RU = 5637447983)) 
EXISTS JOIN FIRSTFAST * FROM InventDim 
	WHERE CustInvoiceTrans.InventDimId = InventDim.inventDimId AND ((configId = ' ')) AND ((InventSizeId = ' ')) AND ((InventColorId = ' '))
У всех быстро отрабатывает данный запрос? Может кто-то сталкивался с этой проблемой?
Теги
ax2009, корректировочный счет-фактура, локализация, счет-фактура

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Счет фактура по строке общего журнала Starling DAX: Функционал 2 28.09.2011 18:31
Счет-фактура по авансовой разнице Andrux DAX: Функционал 2 11.04.2011 10:32
Сторно накладных? Счет-фактура с минусом? Проводки по отборочной накладной? Geo DAX: Функционал 16 24.11.2010 10:18
Не разносится счет-фактура! Verena DAX: Функционал 3 21.11.2008 10:14
DAX 4 SP1 Счет-фактура не может включать различные ставки НДС Daiver DAX: Функционал 3 01.10.2007 15:31

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

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

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