23.11.2005, 15:48 | #1 |
Участник
|
как сделать следующее
В Axapta есть форма LedgerJournalTable из нее вызывается LedgerJournalTransDaily
Вопрос как открыть вторую форму из кода?? p.s. Если кто не в курсе проблема с классом LedgerJournalFormTrans |
|
23.11.2005, 15:53 | #2 |
Участник
|
через menuItem LedgerJournalTransDaily пробовали?
|
|
23.11.2005, 16:34 | #3 |
Участник
|
Цитата:
Сообщение от kashperuk
через menuItem LedgerJournalTransDaily пробовали?
|
|
23.11.2005, 17:15 | #4 |
Участник
|
Во первых непонятно, зачем вторую форму открывать!? Во вторых, если уж так хочется, ну и открывай её как любую, только не забудь, что при вызове формы не забудь передать LedgerJournalTable в параметрах, ведь при вызове ledgerJournalTransDaily в методе InitLedger() идет проверка:
if (element.args().dataset() == tablenum(LedgerJournalTable)) { ledgerJournalTable = element.args().record(); ledgerJournalId = ledgerJournalTable.journalNum; Так что проблем не вижу. Могу и код накидать, но только завтра, пора домой бежать... |
|
23.11.2005, 17:41 | #5 |
Участник
|
Нужно по jumpRef перейти в эту форму с одной строкой
p.s. именно в эту форму так как нужна ее функциональность и обратите внимание на класс LedgerJournalFormTrans с которым работает форма именно с ним у меня и проблемы |
|
23.11.2005, 20:47 | #6 |
Участник
|
Вам надо открыть форму LedgerJournalTransDaily не из формы LedgerJournalTable, а независимо от нее?
__________________
Axapta v.3.0 sp5 kr2 |
|
23.11.2005, 23:02 | #7 |
Administrator
|
2 BVN: Там не все так просто... форма LedgerJournalTransDaily при открытии хочет поиметь экземпляр класса LedgerJournalFormTrans, который в свою очередь хочет получить экземпляр аналогичного класса, но для журнала - LedgerJournalFormTable (ну точнее - игра идет между наследниками). А у этих классов должна очевидно быть инициализирована переменная formRun, которая содержит в себе экземпляр формы - соответственно у одного класса - это форма LedgerJournalTransDaily, а у другого - LedgerJournalTable. Это помимо того, что еще хочется иметь курсор на LedgerJournalTable
2 6apcyk: Я не знаю изначальной постановки задачи, но как мне кажется у Вас программно генерится ЖГК (журнал главной книги) и проставляется в неком Вашем поле - ваучер (Voucher) совместно в кодом журнала. И Вам хочется перейти к основной таблице сразу к форме строк журнала, минуя форму пакетов журнала (LedgerJournalTable). И возможно там чего-то поделать. В свяхи с вышеизложенным (что нормальное функционирование формы LedgerJournalTransDaily невозможно без запущенной формы LedgerJournalTable) - скажу - что сделать этого нельзя (не, ну конечно же можно, однако игра не стоит свеч). Предлагаю сделать обходной маневр - в своей форме, из которой Вы заполняете ЖГК - сделайте возможность заполнения всех полей ЖГК (точнее только нужных; остальные сами программно заполните). А потом программно заполните таблички LedgerJournalTable и LedgerJournalTrans и можете даже программно разнести их (класс LedgerJournalCheckPost, метод run()) - по своей кнопке Разноска. Переход к основной таблице - возможен через тип LedgerJournalId (в вашей таблице д.б. поле этого типа), и через поле типа Voucher (у вас в табл д.б. поле этого типа, куда попадает значение этого поля из LedgerJournalTrans). На поле Voucher д.б. настроен табличный relation совместно с полем TransDate на табличку LedgerTrans (очевидно это уже относится к разнесенным документам). Оттуда, из открывшейся формы можно попасть сразу в проводки. Хочу отметить, что даже оттуда, через кнопку Исходный документ Вы попадете сначала в журнал (LedgerJournalTable), и только потом уже в строки журнала
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 23.11.2005 в 23:15. |
|