07.11.2008, 11:37 | #1 |
MCTS
|
Ошибка при запуске InventParameters
Привет всем. При запуске формы InventParameters появляется ошибка
Цитата:
Error Сообщение (13:34:35) Невозможно выбрать запись в "Параметры склада" ("InventParameters")
Временные таблицы должны быть вложенными (inner), когда вы объединяете их оператором join с постоянными таблицами. Info Сообщение (13:34:35) (C) \Classes\QueryRun\next (C) \Classes\FormDataSource\executeQuery Ax 3.0 SP5 Oracle 10g Сервис паки накатывал поочередно. При этом для датасорса WMSParameters указан JoinSource InventParameters. Ошибка исчезает, если очистить это свойство. Это как понимать? Последний раз редактировалось Eldar9x; 07.11.2008 в 11:40. |
|
|
За это сообщение автора поблагодарили: kashperuk (5). |
07.11.2008, 11:55 | #2 |
Member
|
Грубая бага, не исправленная даже в 5.0. Между таблицами не существует связи.
__________________
С уважением, glibs® |
|
|
За это сообщение автора поблагодарили: Eldar9x (1). |
07.11.2008, 11:56 | #3 |
MCTS
|
Понятно, спасибо! Кстати, для BOMParameters, тоже надо связь удалить.
|
|
07.11.2008, 12:21 | #4 |
Участник
|
Проблема, насколько я понял, не в отсутствии связи между таблицами, а в том, что для WMSParameters нужен конфигурационный ключ WMSBasic.
Eldar9x: Видимо, он выключен? |
|
07.11.2008, 12:25 | #5 |
Member
|
Ну, модуль может быть просто не закуплен.
__________________
С уважением, glibs® |
|
07.11.2008, 12:45 | #6 |
Участник
|
Только что проверил, удалив код для LicenceKey WMSAdvanced и WMSBasic.
Форма нормально открывается и работает. Поля из WMSParameters просто не видны. Eldar9x, gilibs Расскажите, как именно вы воспроизводите эту проблему. Или это только на Оракле происходит? (это врядли) |
|
07.11.2008, 13:01 | #7 |
MCTS
|
Ставил на MS SQL 2000 и на 2005-й, так же 3-ку, но такой проблемы не припомню. Видимо оракл все-таки... А воспроизводится просто, после установки пытаюсь запустить форму, при пустом лицензионном коде. И ошибка такого рода на форуме проскакивала неоднократно, причем решали ее всегда по разному.
PS. Нее, бд тут не причем. Последний раз редактировалось Eldar9x; 07.11.2008 в 13:08. |
|
07.11.2008, 13:24 | #8 |
MCTS
|
X++: static void Job1(Args _args) { WMSParameters p; ; if (p.isTmp()) info("is tmp"); else info("not tmp"); } |
|
07.11.2008, 13:31 | #9 |
Member
|
У меня была проблема в 3.0 сп3. В 3.0 сп6 связи убрали, как я погляжу.
В 5.0 форма открывается. Но запрос формируется... X++: SELECT A.DEL_INVENTTRANSASPICKED,A.INVENTTRANSFEROVERDELIVERY,A.RESERVEONORDERED,A.ADDTRANSACT,A.INVENTTRANSFERUNDERDELIVERY,A.PACKINGMATERIALENABLED,A.COSTPRICEPCSMAXVALUE,A.COSTBREAKDOWN,A.USEQUALITYMANAGEMENT,A.TESTHOURLYRATE,A.MULTISITEDIMENSIONLINK,A.MULTISITEDIMENSION,A.PRODSTANDARDCOSTVARIANCE,A.FISCALLIFOJOURNALNAMEIDINTER16,A.FISCALLIFOJOURNALNAMEIDFINAL,A.FISCALLIFOCALCPERIOD,A.BOMJOURNALNAMEID,A.COUNTJOURNALNAMEID,A.TRANSFERJOURNALNAMEID,A.LOSSPROFITJOURNALNAMEID,A.MOVEMENTJOURNALNAMEID,A.FISCALLIFODEVIATIONPERCENT,A.FISCALLIFOWIPPERIOD,A.DEL_MINAVERAGESETTLE,A.TRANSFERORDERPICKROUTESTATUS27,A.DEFAULTUNITID,A.KEY_,A.LOCKCOUNTING,A.TAGCOUNTINGJOURNALNAMEID,A.POSTESTIMATESPERIODIC,A.POSTPHYSICALTAX,A.INVENTTRANSFERAUTORESERVATION,A.AUTOENDORDERPICK,A.LASTPRICEHISTORY,A.SHIPCARRIERRETURNTO,A.MANDATORYITEMTAXGROUP,A.MULTISITEACTIVATED,A.CLOSEBATCHGROUPID,A.CLOSEBATCHHELPERS,A.MULTISITEDEFAULTINVENTSITEID,A.MULTISITEDEFAULTINVENTLOCATI65,A.MODIFIEDDATETIME,A.MODIFIEDBY,A.RECVERSION,A.RECID,B.DEL_PURCHPRICE,B.BOMMAXLEVEL,B.CHECKBOMWHEN,B.KEY_,B.DEL_PRICEMODEL,B.MANDATORYQTYANDDATE,B.BLOCKREMOVEAPPROVAL,B.BLOCKEDITING,B.BOMCALCGROUPID,B.MODIFIEDDATETIME,B.DEL_MODIFIEDTIME,B.MODIFIEDBY,B.RECVERSION,B.RECID,C.KEY_,C.DEL_ARRIVALJOURNAL,C.EPCMANAGER,C.EPCPARTITION,C.EPCTAGTYPE,C.COMMUNICATIONLOGFILE,C.COMMUNICATIONLOGGINGLEVEL,C.RECVERSION,C.RECID,D.INVOICEREGISTERJOURNALNAME,D.DOCUTYPEID,D.SPECQTY,D.CHECKCREDITMAX,D.STORNO,D.CREDITREMAINING,D.CALCULATEMULTILINEDISCOUNT,D.CALCULATETOTALDISCOUNT,D.REDUCEONHAND,D.UPDATENOW,D.PRINTOUT,D.PRINTPACKINGSLIP,D.PRINTCALLTAG,D.PRINTCODLABEL,D.PRINTSHIPPINGLABEL,D.SALESTYPE,D.KEY_,D.CHECKCREDITLIMIT,D.CREDITLINEERROR,D.CUSTTABLEUPDATECURRENCY,D.ROUTECARDJOURNALNAMEID,D.PRODPICKINGLISTJOURNALNAMEID,D.ROUTECARDAUTOPOSTING,D.PRODPICKINGLISTAUTOPOSTING,D.PROJJOURNALNAMEID,D.PRICEDISCJOURNALNAME,D.PROFITLOSSJOURNALNAMEID,D.COUNTJOURNALNAMEID,D.TRANSFERJOURNALNAMEID,D.CHECKMULTIPLEWAREHOUSES,D.FREETEXTINVOICELEDGERACCOUNT,D.CUSTPAYMJOURNALNAMEID,D.MODIFIEDDATETIME,D.DEL_MODIFIEDTIME,D.MODIFIEDBY,D.RECVERSION,D.RECID FROM INVENTPARAMETERS A,BOMPARAMETERS B,RFIDPARAMETERS C,AXDDOCUMENTPARAMETERS D WHERE (A.DATAAREAID=?) AND (B.DATAAREAID=?) AND (C.DATAAREAID=?) AND (D.DATAAREAID=?) ORDER BY A.DATAAREAID,A.KEY_ OPTION(FAST 1)
__________________
С уважением, glibs® |
|
07.11.2008, 13:31 | #10 |
MCTS
|
то же самое происходит, если конф. ключ отключить для таблицы (А как раз это происходит при удалении лицензионного кода, КК считается выключенным). Свойство temporary меняется на yes. Видимо, отсюда и ошибка соответствующая, значит все таки не баг.
Последний раз редактировалось Eldar9x; 07.11.2008 в 13:37. |
|
07.11.2008, 13:35 | #11 |
Участник
|
Цитата:
Цитата:
Сообщение от glibs
У меня была проблема в 3.0 сп3. В 3.0 сп6 связи убрали, как я погляжу.
В 5.0 форма открывается. Но запрос формируется... " SELECT A.DEL_INVENTTRANSASPICKED,..TETIME,D.DEL_MODIFIEDTIME,D.MODIFIEDBY,D.RECVERSION,D.RECID FROM INVENTPARAMETERS A,BOMPARAMETERS B,RFIDPARAMETERS C,AXDDOCUMENTPARAMETERS D WHERE (A.DATAAREAID=?) AND (B.DATAAREAID=?) AND (C.DATAAREAID=?) AND (D.DATAAREAID=?) ORDER BY A.DATAAREAID,A.KEY_ OPTION(FAST 1) " |
|
07.11.2008, 13:48 | #12 |
Member
|
А должно работать кэширование таблиц, по идее.
__________________
С уважением, glibs® |
|
07.11.2008, 13:53 | #13 |
Member
|
Цитата:
Сообщение от kashperuk
...
работает? ...
__________________
С уважением, glibs® |
|
07.11.2008, 14:14 | #14 |
Участник
|
У меня в DAX4 этот принцип не всегда срабатывает. Из-за него время от времени происходила ошибка переполнения стека рекурсивных вызовов при открытии формы плана счетов. В этой форме есть поиск по таблице COSParameters, а он написан несколько странно. Лицензии на модуль у нас нет, то есть в методе find этой таблицы вроде бы должен срабатывать метод isTmp(), но почему-то это происходит не всегда. Пришлось вписать заплатку и ориентироваться не на isTmp, а на активность ключа, повешенного на таблицу COSParameters.
|
|
07.11.2008, 14:35 | #15 |
MCTS
|
Цитата:
У меня в DAX4 этот принцип не всегда срабатывает.
X++: WMSParameters p; int i = 1000000; int c; ; while (i) { if (p.isTmp()) c++; else c--; i--; } info(int2str(c)); |
|
07.11.2008, 15:06 | #16 |
Участник
|
Цитата:
Сценарий, описанный eldar9x работает в 5.0. То есть при отсутствии лицензии форму удастся нормально открыть и с ней работать. Теперь к вопросу о том, что между таблицами нет связи, но при этом они join-ятся на форме. То есть, если в какой-то из таблиц будет более одной записи - произойдет "неприятность" их полного перемножения. Ты об этом говоришь, когда пишешь, что "и так сойдет"? Если да, то этим вопросом я занялся. Если про то, что описано выше, то давай тогда пробовать воспроизвести сценарий, потому как у меня не получилось.. |
|
07.11.2008, 15:18 | #17 |
Member
|
Я имею в виду некорректную связь.
__________________
С уважением, glibs® |
|
|
Похожие темы | ||||
Тема | Ответов | |||
ошибка при запуске | 5 | |||
Ошибка при запуске | 14 | |||
Ошибка при запуске 3-tier | 3 | |||
Ошибка в формате числа. | 7 | |||
Русская локализация Axapta 3 ? | 59 |
|