19.04.2013, 12:19 | #1 |
Участник
|
Проверка возможности разноски документов в заказах на продажу. DAX 2012
Вот такой чудесный метод есть в DAX 2012 R2, перед разноской документов по заказу на продажу SalesFormletterProvider\checkJournal.
X++: /// <summary> /// Determines whether the journal is valid. /// </summary> /// <returns> /// true if the journal is valid; otherwise, false. /// </returns> public boolean checkJournal() { boolean ok = true; salesTotals = this.parmTotals(); ttsbegin; // In transactions in order to get enforce selection of eg. CustTable if (! this.checkHeading() || ! this.checkBlockedLevel() || ! this.checkLines()) { ok = false; } setPrefix(strFmt("@SYS76767", salesTable.SalesId)); if (! this.creditMaxOk(salesTotals)) { // <GEERU> if (isCountryRegionRU) { if (CustParameters::find().CreditLineError == CreditLineErrorType::Error) { return false; } else { ok = true; // needs to reach the commit below } } else { // </GEERU> if (ok && CustParameters::find().CreditLineError == CreditLineErrorType::Error) { ok = false; } // <GEERU> } // </GEERU> } // <GIN> if (TaxParameters::checkTaxParameters_IN() && this.parmDocumentStatus() == DocumentStatus::ShippingBill_IN) { ok = this.checkFormLetterId_IN(); } // </GIN> ttscommit; return ok; } И во всех версиях одно и тоже, в самом начале метода не проходит проверка по стандартным параметрам и ok = false, а затем есть замечательные строки вида X++: ok = true; // needs to reach the commit below X++: ok = this.checkFormLetterId_IN();
__________________
Sergey Nefedov |
|
19.04.2013, 12:47 | #2 |
Участник
|
X++: if (isCountryRegionRU) // мы русские, нам плевать на проверки { ... }
__________________
// no comments Последний раз редактировалось dech; 19.04.2013 в 12:50. |
|
19.04.2013, 12:56 | #3 |
Участник
|
Цитата:
X++: return false; X++: ok = false; // needs to reach the commit below
__________________
Sergey Nefedov |
|
19.04.2013, 13:06 | #4 |
Участник
|
Меня больше волнует, что транзакцию не закрывают здесь:
X++: if (CustParameters::find().CreditLineError == CreditLineErrorType::Error) { return false; }
__________________
// no comments |
|