|
03.07.2007, 18:14 | #1 |
Пенсионер
|
Цитата:
Сообщение от maze
Добрый день, всезнающий All!!!
Никто не сталкивался с проблемой, когда при переходе к основной таблице (например таблице номенклатурного справочника), курсор не устанавливается на нужную позицию (номенклатуру) , а показывает любую другую номенклатуру из этого справочника! Если сталкивались, как с этим бороться? Да, AX3 SP3 KR3 При попытке перейти из строки спецификации по номенклатуре, которой нет в справочнике, переход осуществлялся, но выбирала первуюопавшуюся!
__________________
Законы природы еще никто не отменял! А еще у меня растет 2 внучки!!! Кому интересно подробности тут: http://www.baby-shine.com/ |
|
03.07.2007, 18:38 | #2 |
Участник
|
Цитата:
Сообщение от blokva
Бывали таки моменты, когда напрмер некорректно грузились справочники, например спецификации, конфигурации и т.д. в другую базу, например из рабочей базы, в тестовую, при этом "забывали" обновить и номенклатурный справочник!
При попытке перейти из строки спецификации по номенклатуре, которой нет в справочнике, переход осуществлялся, но выбирала первуюопавшуюся! |
|
03.07.2007, 19:33 | #3 |
Moderator
|
Цитата:
Сообщение от blokva
Бывали таки моменты, когда напрмер некорректно грузились справочники, например спецификации, конфигурации и т.д. в другую базу, например из рабочей базы, в тестовую, при этом "забывали" обновить и номенклатурный справочник!
При попытке перейти из строки спецификации по номенклатуре, которой нет в справочнике, переход осуществлялся, но выбирала первуюопавшуюся! У нас были такие случаи пользовательского недовольства. В таблице "Номера серий/лотов" существует запись с инв.номером ОС, которого нет в справочнике основных средств (ну, бывают и такие "издержки"). При попытке перейти по правой кнопке мышки в меню "Перейти к основной таблице" из поля "Инв. номер ОС" переход осуществляется в таблицу "Основные средства", но не на этот несуществующий код ОС , а на следующий существующий в этой таблице. Причем, коды ОС могут отличаться лишь в последнем знаке, и пользователь, наметивший конкретное действие для несуществующего ОСа, не обратив внимания, начинает осуществлять это действие совсем с другим ОС. Покумекав, сваял такое нехитрое перекрытие для jumpRef поля "Инв.номер ОС" формы "Номера серий/лотов" (\Forms\InventSerial\Data Sources\InventSerial\Fields\RassetId\Methods\jumpRef): X++: public void jumpRef() { Args args; FormRun formRun; RAssetTable assetTable; ; select assetTable where assetTable.AccountNum == element.design().controlName('Add_RassetId').valueStr(); args = new Args(formstr(RAssetTable)); if (assetTable) { args.lookupField(fieldNum(RAssetTable, AccountNum)); args.lookupValue(assetTable.AccountNum); } else { box::warning('В основной таблице отсутствует значение, на которое можно было бы перейти!','Нет совпадения'); args.record(assetTable); // будет пустая форма } formRun = classFactory.formRunClass(args); formRun.init(); formRun.run(); formRun.detach(); //super(); } Для себя вынес следующее. К сожалению, управлять этой фичей нужно в каждом отдельном случае. Невозможно создать такую универсальную процедуру, которая бы срабатывала в каждой такой ситуации. Наверное, можно попробовать создать подобную процедуру, но прописывать ее вызов нужно будет во всех интересующих местах по отдельности. P.S. Еще на заметку по теме (и для себя тоже): JumpRef в диалоге Спозиционироваться на запись Как реализовать опцию Go to the Main Table Последний раз редактировалось Gustav; 04.07.2007 в 09:27. Причина: добавил ссылки |
|
Теги |
ax3.0 |
|
|