![]() |
#421 |
Участник
|
Оптимизировал немного кастомный код в плане как производительности, так и удобочитаемости
X++: public Boolean ppoContainerActive(InventDimGroupId _dimGroup) { // > Modified by ---------- ----- (-------@----------------.com), 01-21-2020, zzz_CHG0033895_SFWrkCtrAssignToWasteCode InventDimSetup inventDimSetup; select firstonly RecId from inventDimSetup where inventDimSetup.DimGroupId == _dimGroup && inventDimSetup.Active && inventDimSetup.DimFieldId == fieldnum(InventDim, AFCInventContainerId); return inventDimSetup.RecId != 0; // < Modified by ---------- ----- (-------@----------------.com), 01-21-2020, zzz_CHG0033895_SFWrkCtrAssignToWasteCode //InventDimGroup inventDimGroup; //InventDimSetup inventDimSetup; //Boolean doContainer; //; // //inventDimGroup = InventDimGroup::find(_dimGroup); //while select inventDimSetup where inventDimSetup.dimGroupId == _dimGroup //{ // if (inventDimSetup.Active == NoYes::Yes) // { // if (inventDimSetup.DimFieldId == fieldnum(InventDim, afcInventContainerId)) // { // doContainer = true; // } // } //} // //return doContainer; // < Modified by ---------- ----- (-------@----------------.com), 01-21-2020, zzz_CHG0033895_SFWrkCtrAssignToWasteCode }
__________________
// no comments |
|
|
За это сообщение автора поблагодарили: S.Kuskov (2). |
![]() |
#422 |
Участник
|
strange russian code
X++: vendTrans = this.transBuffer(); vendTransOpen = this.transOpenBuffer(); while select sum(AmountMST) from vendTransOpen group by RefRecId where vendTransOpen.AccountNum == this.AccountNum && vendTransOpen.TransDate >= _fromDate && vendTransOpen.TransDate <= _toDate join vendTrans where vendTrans.RecId == vendTransOpen.RefRecId && (vendTrans.Invoice != '' || (vendTrans.Invoice == '' && vendTrans.AmountMST < 0)) { openBalanceMST += vendTransOpen.AmountMST; } Последний раз редактировалось axm2017; 13.03.2020 в 10:17. |
|
![]() |
#423 |
Участник
|
|
|
![]() |
#424 |
Участник
|
Цитата:
![]() Последний раз редактировалось axm2017; 13.03.2020 в 11:18. |
|
![]() |
#425 |
Участник
|
Наткнулся в недрах класса JournalRunBaseBatch
X++: public container pack() { throw error(Error::missingOverload(funcName())); } Здесь как бы разница есть, перегружен метод, или переопределен. Причем в Х++ сроду не было перегруженных методов. Видимо, не сильно-то и важно. Заходим внутрь и видим: X++: //Do not use! //Declare method as abstract instead or call Error::missingOverride(); #obsolete static LabelType missingOverload(str name) { return Error::missingOverride(name); } Но что мешало сразу использовать missingOverride()? Напомню, кто может не въехал. Override - переопределение метода в рамках наследования. Overload - перегрузка метода, т.е. в теле одного класса мы можем разместить дофига методов с одним и тем же именем, но разными параметрами. Что очень распространено в C#, Java и Delphi. Такое чувство, что разработчики MS просто сами не сильно понимают в чем разница.
__________________
// no comments |
|
![]() |
#426 |
Модератор
|
Гендерно- и расово-нейтральный новояз прекрасен
__________________
-ТСЯ или -ТЬСЯ ? |
|
![]() |
#427 |
Участник
|
В этом месте у пользователя происходит раздвоение личности. Ошибки нет, но журнал не разносится.
Все-таки какая Аксапта прикольная, смеялся несколько минут над этим.
__________________
Мои утилиты для Аксапты версий 3.0-2012: http://aceofdatabase.blogspot.com/ |
|