03.02.2014, 20:54 | #1 |
Участник
|
AX2012 - как правильно передать purchParmTable
Одно из полей purchParmTable мне нужно заполнить программно и передать в при разноске закупки
Как это правильно сделать в ax2012, вроде там все запихнуто теперь в контракты вроде. работает вот так X++: purchFormLetter = PurchFormLetter::construct(DocumentStatus::); num = NumberSeq::newGetNum(PurchParameters::numRefPurchaseOrderId()).num(); purchFormLetter.purchTable(purchTable); purchFormLetter.parmParmTableNum (num); ( + transDate , specQty proforma printFormLetter usePrintManagement creditRemaining) purchParmUpdate = purchFormLetter.purchParmUpdate(); purchParmUpdate.SumNum = num; purchFormLetter.initParameters(purchParmUpdate, Printout::Current); // Printout purchFormLetter.chooseLines(true); PurchParmTable = purchFormLetter.currentPurchParmTable(); PurchParmTable.[ ] = 'ААА' PurchParmTable.insert(); purchFormLetter.run(); Последний раз редактировалось kitty; 03.02.2014 в 20:57. |
|
04.02.2014, 10:38 | #2 |
Участник
|
Ни каких гласных правил в коде, вроде, не нарушено...
Работает? Тогда все ок. |
|
04.02.2014, 12:52 | #3 |
Участник
|
Посмотрите какой-нить метод типа initFromPurchTable - и добавьте по аналогии (или туда же).
__________________
Ivanhoe as is.. |
|
04.02.2014, 15:34 | #4 |
Участник
|
Где такой метод ? В иерархии FormLetter такого нет
|
|
04.02.2014, 16:20 | #5 |
Участник
|
Цитата:
Одно из полей purchParmTable
__________________
Ivanhoe as is.. |
|
04.02.2014, 16:40 | #6 |
Участник
|
Цитата:
в 2012 он не используется при разноске и поля прямо в коде нигде не присваиваются, т.е. в это не посмотришь т.е. для выполнения присваивания PurchParmTable.MyField = PurchTable.MyField надо изменить несколько классов наследников и методов. попробуйте потрассировать начиная где нибудь с \Data Dictionary\Maps\VendDocumentTableMap\Methods\defaultRow ну и посмотрите класс AxVendDocumentTableMap |
|
|
За это сообщение автора поблагодарили: kitty (1), Ivanhoe (1), Kabardian (2). |
04.02.2014, 16:52 | #7 |
Участник
|
Как раз таки это хороший пример, я считаю. Посмотрите в код этого метода - сам метод, действительно, наследие из прошлого, но внутри он переписан на новый лад (мало ли кто-то им воспользуется). И как раз внутри мы очень быстро выходим на класс VendDocumentTableType и его методы с определением ряда стандартных полей. Вот в этом и надо разобраться и "добавить по аналогии".
__________________
Ivanhoe as is.. |
|
|
За это сообщение автора поблагодарили: S.Kuskov (1). |
Теги |
ax2012 |
|
|