|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от Gustav
Причем, когда я делаю подобное под своим логином, мне позволено добавлять и удалять эти "Складские проводки". И у меня слева на этих "Проводках" присутствует "стрелочка" - как знак ярлыка. У пользователя такой "стрелочки" нет, и при щелчке правой кнопкой у него отсутствует пункт "Удаление", а присутствют только пункты "1:n" и "n:1".
Подкачала реализация работы с queryRun в классе RAssetProposal Проблема в том, что форма SysQueryForm не может отделить датасоурсы, добавленные пользователем, от "оригинальных", т.е. добавленных в дизайне или программно. Если посмотреть метод Init() класса SysQueryEdit, то видно, что для выделения этих датасоурсов используется queryNextUniqueId = Query().nextUniqueId(). При этом Query() берется у текущего QueryRun, т.е. при загрузке из SysLastValue получится, что добавленные датасоурсы стали "оригинальными". Для того, чтобы эту ситуацию исправить, надо сохранить "оригинальный" запрос - а для этого необходимо использовать класс SysQueryRun (замечу, что в ClassDeclaration класса RAssetProposal queryRun определен как объект класса QueryRun, а при распаковке queryRun присваивается уже new SysQueryRun()). Что необходимо сделать в классе RAssetProposal 1. Переопределить в Class Declaration queryRun как SysQueryRun X++: SysQueryRun queryRun; X++: // поменять queryRun = new QueryRun(querystr(RassetTable)); // на queryRun = new SysQueryRun(querystr(RassetTable)); queryRun.origQueryPack(queryRun.query().pack()); X++: Query q; ; ... if (queryIsPackedOk(packedQuery)) { q = new Query(packedQuery); QueryRun.Query(q); } ...
__________________
Axapta v.3.0 sp5 kr2 Последний раз редактировалось AndyD; 22.06.2006 в 23:11. |
|
|
За это сообщение автора поблагодарили: NataLee (1), Lemming (2), Hammer (1). |
![]() |
#2 |
Moderator
|
AndyD, большое спасибо за подробный "разбор полётов".
Пока, увы, очков добавить не могу - Форум говорит: "Вы должны добавить отзыв кому-то еще, прежде чем сможете снова добавить ее AndyD." (хотя в очередной раз мне до конца не совсем понятно почему - я уже добавлял "кому-то еще"). Поэтому откладываю "материальную" благодарность на будущее ![]() P.S. To whom it may concern: "добавить ОТЗЫВ... прежде чем снова добавить ЕЕ..." - пофиксите, пожал-та! Последний раз редактировалось Gustav; 23.06.2006 в 12:25. |
|