11.06.2019, 10:11 | #381 |
Участник
|
Не только им, для русских в одном случае дважды, а в другом ни разу (нечего баловать). DAX2012, метод priceDate таблицы salesLine.
В начале метода: X++: // <GEERU> #ISOCountryRegionCodes if (this.PriceAgreementDate_RU && SysCountryRegionCode::isLegalEntityInCountryRegion([ #isoRU ])) { return this.PriceAgreementDate_RU; } // <GEERU> X++: // <GEERU> if (SysCountryRegionCode::isLegalEntityInCountryRegion([#isoRU]) && this.PriceAgreementDate_RU) { priceDate = this.PriceAgreementDate_RU; } // </GEERU> |
|
|
За это сообщение автора поблагодарили: Logger (1). |
11.06.2019, 11:12 | #382 |
Участник
|
Цитата:
Сообщение от fed
Сломали то ли систему кэширования, то ли систему записи в БД. Воспроизводить пока не пытались - времени не было.
P.S. Добавлю что это был Productive Instance, поэтому простые домашние средства типа рестарта IIS были не доступны. Оставалось либо ждать часиков 8, либо бороться с поддержкой (вероятно - более 8 часов). Могли остаться средства для этого в x++ (надеюсь они не все там выпилили). Повесить это на кнопку и дать людям поюзать. |
|
11.06.2019, 11:42 | #383 |
Moderator
|
|
|
18.06.2019, 14:31 | #384 |
Участник
|
|
|
18.06.2019, 14:38 | #385 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: Stitch_MS (1). |
18.06.2019, 14:44 | #386 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: EVGL (1). |
02.07.2019, 16:00 | #387 |
Участник
|
Смотрю очередной SSRS отчет PSAManageInvoice
порадовало что на каждой строке отчета вызывается (в классе дата провайдера) X++: protected void initPSAManageInvoiceTmp(TableId _tableID) { Notes lineNotes; ProjTable projTable; ProjInvoiceEmplDetail projInvoiceEmplDetail; ProjInvoiceCostDetail projInvoiceCostDetail; ProjInvoiceItemDetail projInvoiceItemDetail; ProjInvoiceRevenueDetail projInvoiceRevenueDetail; ProjInvoiceOnAccDetail projInvoiceOnAccDetail; ProjInvoiceRevenue projInvoiceRev; ProjProposalJour projProposalJour = ProjProposalJour::find(projInvoiceJour.ProposalId); tmpPSAManageInvoice.clear(); if (printDocuLine && docuRef != null) { lineNotes = Docu::concatDocuRefNotes(docuRef); } tmpPSAManageInvoice.CompanyPhone = companyInfo.phone(); tmpPSAManageInvoice.CompanyTelefax = companyInfo.teleFax(); tmpPSAManageInvoice.CompanyGiro = companyInfo.Giro; tmpPSAManageInvoice.CompanyCoRegNum = companyInfo.CoRegNum; tmpPSAManageInvoice.CompanyDebitDirectId = BankAccountTable::findByCompany(companyInfo.DataArea, companyInfo.Bank).DebitDirectId; tmpPSAManageInvoice.DeliveryName = companyInfo.Name; tmpPSAManageInvoice.DeliveryAddress = companyInfo.postalAddress().Address; tmpPSAManageInvoice.InvoiceNum = projInvoiceJour.ProjInvoiceId; tmpPSAManageInvoice.InvoiceDate = projInvoiceJour.InvoiceDate; tmpPSAManageInvoice.DueDate = projInvoiceJour.DueDate; tmpPSAManageInvoice.CustAccountExt = projInvoiceJour.InvoiceAccount; tmpPSAManageInvoice.CustCompanyName = projInvoiceJour.DeliveryName; tmpPSAManageInvoice.CustCompanyAddress = custTable.address(); tmpPSAManageInvoice.CustCompanyPhone = custTable.phone(); tmpPSAManageInvoice.CustCompanyTelefax = custTable.telefax(); tmpPSAManageInvoice.PaymTermId = custTable.PaymTermId; tmpPSAManageInvoice.ContractId = projInvoiceJour.ProjInvoiceProjId; tmpPSAManageInvoice.OurAccountNum = projInvoiceJour.ourAccountNum(); tmpPSAManageInvoice.CurrencyCode = projInvoiceJour.CurrencyId; tmpPSAManageInvoice.CompanyLogo = FormLetter::companyLogo(); tmpPSAManageInvoice.TotalDisc = projInvoiceJour.EndDisc; tmpPSAManageInvoice.LineTxt = projInvoiceDetailLine.Txt; |
|
05.07.2019, 10:59 | #388 |
Участник
|
Табличка AssetTrans
метод updateDocument_W собратья по разуму из Восточной Европы оторвались с данным методом. По виду данный метод используется чуть ли не исключительно при печати отчетов. Менять данные в табличке Trans при печати? Риски блокировок и все все все? И так сойдет. |
|
09.08.2019, 08:57 | #389 |
Участник
|
Опять разбираюсь с SSRS
класс VendInvoiceDocumentDP X++: protected void enableProductDimensionColumns(VendInvoiceDocumentTmp _vendInvoiceDocumentTmp, FieldId _inventDimFieldId) { #InventDimDevelop switch (_inventDimFieldId) { case fieldNum(InventDim, InventSizeId): _vendInvoiceDocumentTmp.ShowInventDimSize = 1; break; case fieldNum(InventDim, InventColorId): _vendInvoiceDocumentTmp.ShowInventDimColor = 1; break; case fieldNum(InventDim, ConfigId): _vendInvoiceDocumentTmp.ShowInventDimConfigId = 1; break; case fieldNum(InventDim, InventStyleId): _vendInvoiceDocumentTmp.ShowInventDimStyleId = 1; break; } } ЗЫ чем больше разбираю SSRS тем больше осознаю что "место проклято" проще снести и писать заново. Рукожопы разных стран и цвета кожи херачили каждый во что горазд в одни таблички крыжики только по одним им ведомым законам и правилам надиктованных видимо чем то тяжелым. Последний раз редактировалось axm2017; 09.08.2019 в 09:05. |
|
30.08.2019, 09:10 | #390 |
Участник
|
Там полно таких перлов. Вот еще пример похлеще:
X++: private boolean printTaxTrans() { if (taxInvoiceItemType == ItemType::Item) { return TaxTable::find(taxSpec.taxCode()).UnrealizedTax == NoYes::No; } else { return TaxTable::find(taxSpec.taxCode()).UnrealizedTax == NoYes::Yes; } } X++: private void inventDimLine() { insertInventDim = true; }
__________________
// no comments Последний раз редактировалось dech; 30.08.2019 в 09:13. |
|
30.08.2019, 09:28 | #391 |
Модератор
|
|
|
30.08.2019, 11:06 | #392 |
Участник
|
Я не про тип, а про название. В названии должен быть хотя бы префикс set, иначе метод выглядит как возвращающий нечто (в данном случае похожее на запись InventDim).
Второе, зачем в private-метод пихать единственную операцию присваивания? В контексте вызов подобного метода только дизориентирует. Другое дело, если бы метод вызывался наследниками, хотя все равно над названием надо было лучше думать. Еще нарыл в VendInvoiceDocument.main() 2 условия по Voucher X++: select firstOnly TableId, RecId from taxEngineLedgerJournalTransHeader join RecId from ledgerJournalTransLoc where ledgerJournalTransLoc.AccountType == LedgerJournalACType::Vend && ledgerJournalTransLoc.JournalNum == taxEngineLedgerJournalTransHeader.JournalNum && ledgerJournalTransLoc.Voucher == taxEngineLedgerJournalTransHeader.Voucher && ledgerJournalTransLoc.Invoice == vendInvoiceJournal.InvoiceId && ledgerJournalTransLoc.Voucher == vendInvoiceJournal.LedgerVoucher;
__________________
// no comments Последний раз редактировалось dech; 30.08.2019 в 11:10. |
|
21.10.2019, 15:42 | #393 |
Участник
|
X++: /// <summary> /// Inserts data into <c>VendInvoiceDocumentTmp_IN</c> table. /// </summary> private void insertDataInVendInvoiceDocumentTmp_IN() { this.populateDataInVendInvoiceDocumentTmp_IN(); vendInvoiceDocumentTmp_IN.insert(); vendInvoiceDocumentTmp_IN.clear(); } Формально все хорошо, но осадочек и взрыв мозга остается. |
|
22.10.2019, 14:17 | #394 |
Участник
|
https://vc.ru/flood/12050-microsoft-test-trouble
:0 куда катится мир... |
|
23.10.2019, 09:54 | #395 |
Участник
|
Цитата:
Сообщение от axm2017
https://vc.ru/flood/12050-microsoft-test-trouble
:0 куда катится мир...
__________________
Любую техническую проблему можно решить, если есть достаточно времени и денег. |
|
23.10.2019, 10:30 | #396 |
Участник
|
Ну это же песец.
Я за наличие автотестов (их кстати крайне не хватает в ер особенно с учетом крайне кривого представления best practics) но зачастую отработать более менее сложные сценарии автоматически в акс проблематично. Последний раз редактировалось axm2017; 23.10.2019 в 10:52. |
|
23.10.2019, 14:06 | #397 |
MCTS
|
Это новость четырехлетней давности.
__________________
I could tell you, but then I would have to bill you. |
|
23.10.2019, 14:13 | #398 |
Участник
|
Актуальность от этого не исчезла.
Как понял из статьи тестировщики, как класс истреблены в MS: меня это шокировало. Последний раз редактировалось axm2017; 23.10.2019 в 14:17. |
|
23.10.2019, 16:14 | #399 |
Участник
|
|
|
23.10.2019, 16:27 | #400 |
Участник
|
Спасибо успокоили. Этим людям я конечно доверяю. |
|