18.07.2014, 19:38 | #161 |
Участник
|
X++: //First of all, I'd like to appologise to whoever is going to maintain this code. //It was originally created for the Loan management system (and is works perfectly for that), but //because of time constraints this class will also be used for investment register //- which has never been properly spec'ed. //So allot of things are being thrown to the AxnLRCreateJournals class to that class's main method //to make it work for investment register. //Again, I am sorry - CL |
|
|
За это сообщение автора поблагодарили: Logger (1). |
28.07.2014, 17:21 | #162 |
Участник
|
X++: // Calculate the number of years and the number for (monthCounter = month; monthCounter > 12; monthCounter -= 12) { yr += 1; } |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
29.07.2014, 14:47 | #163 |
Участник
|
skuull, эта пять!
|
|
29.07.2014, 17:36 | #164 |
Участник
|
|
|
30.07.2014, 05:53 | #165 |
NavAx
|
Так ты посмотри, что этот код делает. Судя по аббревиатуре, это заглушка для польской локализации. Насколько помню, там так грязно было, что по другому никак.
__________________
Isn't it nice when things just work? |
|
30.07.2014, 08:09 | #166 |
Участник
|
Это имя компании
|
|
|
За это сообщение автора поблагодарили: macklakov (1). |
28.10.2014, 18:46 | #167 |
Участник
|
Цитата:
hi there
Thanks for reading my message. I have no IT backgroung and only CAN use email and web surfing. I want to become ms dynamics ax consultant ( not programmer). So anyone kind enough to tell me the study route from scratch to become ms dynamics ax consultant. Also how long it can be take without any IT background. THANKS. |
|
21.11.2014, 15:55 | #168 |
Дмитрий Ерин
|
AX2009, AX2012, sys слой:
X++: final class TaxSalesInvoice extends Tax { SalesCalcTax salesFormLetter; ... } Аналогичные объявления в классах TaxSales, TaxPurch, TaxPurchInvoice, может еще где-то... Наверно я чего-то не догоняю, но эта невинная "шутка" стоила битого часа впустую потерянного времени
__________________
|
|
|
За это сообщение автора поблагодарили: macklakov (1), Logger (2), ivas (3). |
21.11.2014, 16:14 | #169 |
Участник
|
Цитата:
Сообщение от Ruff
AX2009, AX2012, sys слой:
X++: final class TaxSalesInvoice extends Tax { SalesCalcTax salesFormLetter; ... } Аналогичные объявления в классах TaxSales, TaxPurch, TaxPurchInvoice, может еще где-то... Наверно я чего-то не догоняю, но эта невинная "шутка" стоила битого часа впустую потерянного времени Вон в самом \Classes\ClassFactory\queryRunClass написали : X++: public QueryRun queryRunClass(Args _args) { SysQueryRun ret; ret = new SysQueryRun(_args); return ret; } Версия - любая. |
|
|
За это сообщение автора поблагодарили: macklakov (1), AraraT® (4), Товарищ ♂uatr (1). |
15.12.2014, 10:38 | #170 |
Модератор
|
\Forms\EmplAdvLineCreate_RU\Data Sources\EmplTrans\Methods\init
X++: qbdsTransCredit.addRange(fieldNum(EmplTrans_RU, AmountCur)).value("@GLS111254");
__________________
-ТСЯ или -ТЬСЯ ? |
|
23.02.2015, 21:12 | #171 |
Читатель
|
Тестировали норм
\Data Dictionary\Maps\CustVendTrans\exchRateCurToMst
X++: public ExchRate exchRateCurToMst() { ExchRate combinedRate; CustTrans custTrans; VendTrans vendTrans; switch (this.TableId) { case tableNum(CustTrans): combinedRate = custTrans.exchRateCurToMst(); break; case tableNum(VendTrans): combinedRate = vendTrans.exchRateCurToMst(); break; default: Debug::assert(false); } return combinedRate; } Последний раз редактировалось b_nosoff; 23.02.2015 в 21:16. |
|
10.03.2015, 17:30 | #172 |
Молодой, подающий надежды
|
2012 R3 (думаю в прошлых версиях аналогично)
Если делать лукап по временной таблице на основе постоянной и при этом не вставить никаких записей во времянку, что-то типа X++: InventTable inventTableTmp; SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(InventTable), _ctrl); inventTableTmp.setTmp() /* заполняем времянку по какому-то алгоритму, но записей не нашли и ничего не вставили */ sysTableLookup.addLookupfield(fieldNum(InventTable, ItemId)); sysTableLookup.parmTmpBuffer(inventTableTmp); sysTableLookup.performFormLookup(); Берем напильник, чиним класс SysTableLookupBase. Заводим глобальную переменную boolean useTmpBuffer X++: Common parmTmpBuffer(Common _buffer = tmpBuffer) { tmpBuffer = _buffer; //--> if (! prmisDefault(_buffer)) { useTmpBuffer = true; } //<-- return tmpBuffer; } protected FormRun formRun() { //...строка 55 //--> //if(useLookupValue && !tmpBuffer) if(useLookupValue && ! tmpBuffer && ! useTmpBuffer) //<-- { } //...строка 117 //--> //if (tmpBuffer) if (tmpBuffer || useTmpBuffer) //<-- }
__________________
Кононов Пётр |
|
|
За это сообщение автора поблагодарили: gl00mie (5), Kabardian (4). |
10.03.2015, 20:28 | #173 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: pedrozzz (4). |
03.04.2015, 14:45 | #174 |
Moderator
|
DAX2012 (проверялось для DAX2012R3CU8, но было и раньше). Из непонятных соображений, разработчики запретили маркировку складских проводок по номенклатуре со стандартной себестоимостью. (Новым вариантом стандартной, а не fixed receipt price). В методе tmpInventTransMark:: packTmpMark(), который собственно и строит временную таблицу кандидатов на маркировку, есть следующий замечательный код:
X++: includeAll = inventTable.modelGroup().inventModelType().isSettled(); InventDimGroupSetup::newInventTable(inventTable).inventDimParmActiveFinancialInventory(inventDimParmFinancial); while select forceplaceholders inventTrans where inventTrans.ValueOpen == InventTransOpen::Yes && inventTrans.TransChildType == InventTransChildType::None && inventTrans.PackingSlipReturned == NoYes::No && (inventTrans.MarkingRefInventTransOrigin || includeAll) && (!inventTrans.MarkingRefInventTransOrigin || inventTrans.MarkingRefInventTransOrigin == _inventTransOrigin.RecId // marked with reference || inventTrans.InventTransOrigin == _inventTransOrigin.RecId) // is reference itself join inventTransOrigin where inventTransOrigin.ItemId == _inventTransOrigin.ItemId && inventTransOrigin.RecId == inventTrans.InventTransOrigin #inventDimExistsJoin(inventTrans.inventDimId, inventDim, _inventDimCriteria, inventDimParmFinancial) Во первых, похоже что авторы кода забыли что маркировка используется не только для себестоимости, но и для резервирования в заказанных и манипуляций со сводным планом. (Собственно мы и налетели на эту проблему, после того как я консам посоветовал менять маркировку чтобы повлиять на покрытие в сводном плане). Во вторых - даже для рассчета себестоимости по модели стандартной себестоимости, маркировка безвредна. В момент вычисления мгновенной себестоимости списания, маркировка игнорируется; Закрытие и пересчет аналогично игнорируют номенклатуру со стандартной себестоимости. Ну и вообще - уже очень и очень давно напрашивается разделение маркировки для себестоимости и маркировки для сводного/планирования. |
|
03.04.2015, 14:53 | #175 |
Участник
|
Последнее надо бы на Connect и всем миром за это проголосовать.
__________________
Ivanhoe as is.. |
|
22.04.2015, 03:36 | #176 |
NavAx
|
DAX2012R3CU8, \Classes\SubledgerJournalizer\validateSubledgerJournalAccountEntry
X++: mainAccount = null; // consider adding a cache if (mainAccount == null) { ... }
__________________
Isn't it nice when things just work? |
|
22.04.2015, 10:46 | #177 |
Участник
|
AX3.0 SP4
Данный код при компиляции вызывает ошибку "Переполнение во внутреннем стеке компилятора". Помогает разбиение на несколько маленьких контейнеров, которые надо сложить между собой, чтобы получить большой контейнер. До 48 элементов компилятор проглатывает, на 49-м спотыкается. X++: //какие поля копировать из плательщика в филиалы static container fieldsToCopy() { ; return [ fieldNum(CustTable, INN_RU), fieldNum(CustTable, CodeOKDP_RU), fieldNum(CustTable, CodeOKPO_RU), fieldNum(CustTable, OKATO_RU), fieldNum(CustTable, KPP_RU), fieldNum(CustTable, GM_OKONH), fieldNum(CustTable, GM_SortIncorporatedId), fieldNum(CustTable, GM_Partner_Vend), fieldNum(CustTable, GM_Partner_Producer), fieldNum(CustTable, GM_Partner_Carrier), fieldNum(CustTable, GM_Partner_Cust), fieldNum(CustTable, GM_IsInventLocation), fieldNum(CustTable, CustItemGroupId), fieldNum(CustTable, GM_UnionPartnerPriceId), fieldNum(CustTable, GM_UnionStatusGroupId), fieldNum(CustTable, Address), fieldNum(CustTable, GM_ManagerCustomerId), fieldNum(CustTable, zBankAccountId), fieldNum(CustTable, zPrintAccount), fieldNum(CustTable, PaymTermId), fieldNum(CustTable, PaymDayId), fieldNum(CustTable, BankAccount), fieldNum(CustTable, TaxItemGroupPrepayment), fieldNum(CustTable, TaxGroupPrepayment), fieldNum(CustTable, PostingProfilePrepayment), fieldNum(CustTable, GM_VolumePurchId), fieldNum(CustTable, GM_PriorityCustomerId), fieldNum(CustTable, GM_CalcInventLocation), fieldNum(CustTable, GM_DeliveryType), fieldNum(CustTable, GM_IsVat), fieldNum(CustTable, GM_AddMarking), fieldNum(CustTable, GM_PrintCertificate), fieldNum(CustTable, zCFOId), fieldNum(CustTable, GM_FactureNotMake), fieldNum(CustTable, zPartnerStatus), fieldNum(CustTable, GM_VendNumNet), fieldNum(CustTable, zSalesPart), fieldNum(CustTable, zFactureCorrection), fieldNum(CustTable, zFactureAutoPrintChanged), fieldNum(CustTable, zFactureNotAutoPrintReturnChanged), fieldNum(CustTable, zFactureKeepVersions), fieldNum(CustTable, zInventPalletTypeCust), fieldNum(CustTable, zCPPCheckEnable), fieldNum(CustTable, zOGRN), fieldNum(CustTable, zRegistrationDate), fieldNum(CustTable, zRegistrationPlace), fieldNum(CustTable, zPrintReturnForClient), fieldNum(CustTable, Blocked), fieldNum(CustTable, zJunkByDeliveryPrice) ]; } Последний раз редактировалось Ace of Database; 22.04.2015 в 10:50. |
|
22.04.2015, 11:30 | #178 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: mazzy (2), Ace of Database (1). |
14.05.2015, 14:23 | #179 |
Участник
|
AX 2012 R2 CU7, \Classes\LedgerUtils_RU\createLedgerTransStorno_RU
X++: /// Creates storno ledger transactions based on _transDate, _voucher parameters. public static void createLedgerTransStorno_RU( LedgerVoucherObject _voucherObject, TransDate _transDate, Voucher _voucher, TaxTransGeneralJournalAccountEntry _taxLinks = null, LedgerPostingType _ledgerPostingType = LedgerPostingType::None) // ... while select RecId from localSubledgerVoucherGeneralJournalEntry where localSubledgerVoucherGeneralJournalEntry.Voucher == _voucher && localSubledgerVoucherGeneralJournalEntry.VoucherDataAreaId == curext() && localSubledgerVoucherGeneralJournalEntry.AccountingDate == _transDate join RecId, PostingLayer, JournalCategory from localGeneralJournalEntry // ... _voucherObject.parmPostingLayer(localGeneralJournalEntry.PostingLayer); _voucherObject.parmJournalCategory(localGeneralJournalEntry.JournalCategory); _voucherObject.addTrans(ledgerVoucherTransObject); |
|
|
За это сообщение автора поблагодарили: Logger (3). |
05.06.2015, 05:41 | #180 |
Участник
|
Форма SysRecordInfo метод buildForm:
X++: ... showAllFieldsForm = new Form(); showAllFieldsForm.name('_ShowAllRecords_'+dictTable.name()); ... Правда на R3 уже починили. |
|
|
За это сообщение автора поблагодарили: S.Kuskov (2). |