AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen Alle Foren als gelesen markieren

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 05.06.2008, 14:20   #1  
egorych ist offline
egorych
Участник
Самостоятельные клиенты AX
Oracle
 
761 / 154 (7) ++++++
Registriert seit: 09.11.2006
Ort: Краснодарский край
? Ошибка в методе или я что-то не понимаю ?
Имеется стандартный метод класса - WMSJournalCheckPostReception.checkPalletZone
в строке 34 написано -
X++:
                inventItemLocation = InventItemLocation::find(otherTrans.itemId, this.destinationInventLocationId(otherTrans));
что мне непонятно - метод InventItemLocation::find требует на вход переменные
X++:
static InventItemLocation find(ItemId               _itemId,
                               InventDimId          _inventDimId,
                               boolean              _forUpdate = false)
а ему передается ItemId и InventLocationId.
Почему тогда компиляция не выдает ошибку ? Или я не понимаю как это работет ?
Alt 05.06.2008, 14:32   #2  
Eldar9x ist offline
Eldar9x
MCTS
Benutzerbild von Eldar9x
Oracle
MCBMSS
 
1.064 / 166 (8) ++++++
Registriert seit: 29.09.2006
Ort: Казань
последняя переменная (_forUpdate) передается по умолчанию, поэтому не обязательна. Вторая переменная также стринговая, как и InventDimId.
Alt 05.06.2008, 14:33   #3  
TasmanianDevil ist offline
TasmanianDevil
Мрачный тип
Benutzerbild von TasmanianDevil
Злыдни
 
887 / 389 (14) ++++++
Registriert seit: 24.01.2005
Ort: Томск
В первом приближении - да хоть Voucher, главное что бы тип и размер совпали.
Оба созданы на основе примитивного string и , несмотря на разные родительские EDT(Num и SysGroup), имеют один и тот же размер. Хотя во втором приближении очевидна необходимость все-таки соблюсти строгость - не дай бог поменяют у одного из типов родительский EDT по размеру. Тогда начнется всякое интересное
__________________
Мы летаем, кружимся, нагоняем ужасы ...

Geändert von TasmanianDevil (05.06.2008 um 14:40 Uhr)
Alt 05.06.2008, 14:34   #4  
EAlex ist offline
EAlex
Участник
 
27 / 14 (1) ++
Registriert seit: 30.01.2004
3-й параметр - _forUpdate = false необязательный, и если не указан в вызове явно, инициализируется еще в загололовке метода InventItemLocation::find как false.
Alt 05.06.2008, 14:39   #5  
Eldar9x ist offline
Eldar9x
MCTS
Benutzerbild von Eldar9x
Oracle
MCBMSS
 
1.064 / 166 (8) ++++++
Registriert seit: 29.09.2006
Ort: Казань
Zitat:
P.S. Eldar9x, речь идет о том , что передается переменная типа c EDT InventLocationId, а принимается c EDT InventDimId - что вообще-то не есть хорошо
Вопрос о том почему не ругается компилятор, соотв., потому что:

Zitat:
Вторая переменная также стринговая, как и InventDimId.
ну, или:

Zitat:
Оба созданы на основе примитивного string

Geändert von Eldar9x (05.06.2008 um 14:41 Uhr)
Alt 05.06.2008, 14:40   #6  
Raven Melancholic ist offline
Raven Melancholic
Участник
Benutzerbild von Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2.164 / 1296 (48) ++++++++
Registriert seit: 21.03.2005
Ort: Москва-Петушки
Там действительно ошибка. Проверки вообще не происходит, так как в итоге находится настройка для пустой аналитики, а в ней поле зоны хранения пустое, соответственно, не проверяется подходит ли зона.
А компилятор не ругается вполне понятно почему: и код склада и код аналитики имеют строковый формат.
Alt 05.06.2008, 14:48   #7  
egorych ist offline
egorych
Участник
Самостоятельные клиенты AX
Oracle
 
761 / 154 (7) ++++++
Registriert seit: 09.11.2006
Ort: Краснодарский край
про 3-й параметр это понятно. Со 2-м вопрос!
То что они оба string - я тож так подумал, но логически - явный глюк!
Что тогда туда передать - otherTrans.InventDimId ?
Alt 05.06.2008, 15:02   #8  
belugin ist offline
belugin
Участник
Benutzerbild von belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4.622 / 2925 (107) +++++++++
Registriert seit: 16.01.2004
Blog-Einträge: 5
В 5:

X++:
                inventDimTemp.data(otherTrans.inventDim());
                inventDimTemp.InventLocationId = this.destinationInventLocationId(otherTrans);
                inventDimTemp.InventSiteId = ''; // No reason to default Site as InventLocation is unique across sites
                inventDimTemp = InventDim::findOrCreate(inventDimTemp);

                inventItemLocation = this.inventItemLocation(otherTrans, inventDimTemp);
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ошибка (?) при печати приходного ордера в DAX 4.0 SP2 Ivanhoe DAX: Программирование 7 19.01.2021 14:13
Ошибка в методе vendInvoice4PaymJour() таблицы VendInvoice4PaymTrans_RU kvg6 DAX: Функционал 7 30.08.2007 12:45
Ошибка в формате числа. 36AC DAX: Программирование 7 19.10.2006 10:04
Ошибка при обработке С-Ф Sergo DAX: Программирование 7 20.01.2006 11:56
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 04:10 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.