02.11.2018, 14:11 | #1 |
Участник
|
d365technext: Default parameters can be wrapped In extension classes COC
Источник: http://d365technext.blogspot.com/201...rapped-in.html
============== Default parameters can be wrapped In extension classes In Build-8.1 you can override the default parameter by using class extension COC. Code reference There is the method in HCMWORKER table isEmployee in which you can see the default value set with _validFrom & _validto. publicHcmIsEmployee isEmployee( utcdatetime _validFrom = DateTimeUtil::utcNow(), utcdatetime _validTo = _validFrom ) { HcmIsEmployee hcmIsEmployee = NoYes::No; HcmEmployment hcmEmployment; unchecked(Uncheck::XDS) { if (prmisDefault(_validFrom) && prmisDefault(_validTo)) { selectfirstonly RecId from hcmEmployment where hcmEmployment.Worker == this.RecId && hcmEmployment.EmploymentType == HcmEmploymentType::Employee; } elseif (_validFrom == _validTo) { selectfirstonly ValidTimeState(_validFrom) RecId from hcmEmployment where hcmEmployment.Worker == this.RecId && hcmEmployment.EmploymentType == HcmEmploymentType::Employee; } else { selectfirstonly ValidTimeState(_validFrom, _validTo) RecId from hcmEmployment where hcmEmployment.Worker == this.RecId && hcmEmployment.EmploymentType == HcmEmploymentType::Employee; } if (hcmEmployment.RecId != 0) { hcmIsEmployee = NoYes::Yes; } return hcmIsEmployee; } } So we created extension class of Hcmworker with name of Demo_Extension and override the method using COC. [ExtensionOf(tableStr(HcmWorker))] finalclassDemo_Extension { publicHcmIsEmployee isEmployee( utcdatetime _validFrom, utcdatetime _validTo ) { HcmIsEmployee hcmIsEmployee = NoYes::No; HcmEmployment hcmEmployment; next isEmployee(_validFrom,_validTo); unchecked(Uncheck::XDS) { if (_validFrom == _validTo) { selectfirstonlyValidTimeState(_validFrom) RecId from hcmEmployment where hcmEmployment.Worker == this.RecId && hcmEmployment.EmploymentType == HcmEmploymentType::Employee; } else { selectfirstonlyValidTimeState(_validFrom, _validTo) RecId from hcmEmployment where hcmEmployment.Worker == this.RecId && hcmEmployment.EmploymentType == HcmEmploymentType::Employee; } if (hcmEmployment.RecId != 0) { hcmIsEmployee = NoYes::Yes; } return hcmIsEmployee; } } } Now perform build & Sync on your module.. Источник: http://d365technext.blogspot.com/201...rapped-in.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|