04.03.2008, 14:43 | #1 |
Участник
|
Класс RHRMJournalCheckUnPost_Vacation как это понимать?
В этом чудном классе есть единственный метод checkTrans:
X++: protected boolean checkTrans(JournalTransData _journalTransData) { boolean ret; RHRMOrderTrans rHRMOrderTrans = _journalTransData.journalTrans(); ; ret = super(_journalTransData); if ((select firstonly rpayTrans where rpayTrans.Emplid == rHRMOrderTrans.EmplId && rpayTrans.PayPeriod >= rHRMOrderTrans.StartDate).RecId) { ret = ret && checkFailed(strfmt("@HRP1834", rHRMOrderTrans.EmplId, EmplTable::find(rHRMOrderTrans.EmplId).Name)); } return ret; } Каким образом проходит компиляция и в принципе как это может работать при выполнении? DAX 4.0 Последний раз редактировалось sparur; 04.03.2008 в 14:57. |
|
04.03.2008, 15:04 | #2 |
SAP
|
Не ну это нормально, этот чудестный способ используется фактически во всех статических методах exists. Только не могу понять что вы тут увидили странного.
|
|
04.03.2008, 15:36 | #3 |
Участник
|
Цитата:
Вот и хочется понять почему компилятор, да и вообще Ахапта проглатывает это... |
|
04.03.2008, 15:58 | #4 |
Программатор
|
Все тут нормально и нечему удивляться. Я часто использую такой прием, чтоб не объявлять лишних переменных
|
|
04.03.2008, 16:01 | #5 |
Участник
|
Это правильный синтаксис: объявлдения не требуется, но и нельзя джоинить.
Expressions |
|
04.03.2008, 16:05 | #6 |
Участник
|
Field select
It is also possible to use a select statement in a lookup on a field. After a select statement that fetched a record in a table, you can write .field name to reference a field in the table. Below you will find examples of this field select. Note, that these selects must be used in expressions! X++: void selectFieldExamples () { // prints the NameRef field from the selected customer (which is CBS) print (select Custtable order by NameRef).NameRef; // Uses the balance field from the customer with accountNo 5000 (Pentagon). // Prints a message. if ((select Custtable where AccountNo == ).Balance > 500000) print This customer has a balance above $500,; } |
|
04.03.2008, 16:27 | #7 |
Участник
|
капец. я ответил в эту тему минут 15 назад, а мое сообщение еще так и не пришло
|
|